From f7dd569c872ae9910c43062d6bbbff41532839f3 Mon Sep 17 00:00:00 2001 From: jose-torquato Date: Thu, 29 Jan 2026 11:17:37 -0300 Subject: [PATCH 1/4] feat: add openapi.yaml v4 specification --- openapi.yaml | 22955 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 22955 insertions(+) create mode 100644 openapi.yaml diff --git a/openapi.yaml b/openapi.yaml new file mode 100644 index 0000000..fcc7cd9 --- /dev/null +++ b/openapi.yaml @@ -0,0 +1,22955 @@ +openapi: 3.0.0 +info: + title: azion-api + version: 4.0.0 + description: The AZION v4 REST API. + license: + name: MIT + url: https://github.com/aziontech/azionapi-v4-openapi/blob/main/LICENSE + contact: + name: Azion Support + url: https://www.azion.com/en/support/ + email: support@azion.com +servers: +- url: https://api.azion.com/v4 +tags: +- name: Applications + description: Manage Applications and their configurations. +- name: Applications - Cache Settings + description: Configure cache settings for Applications. +- name: Applications - Device Groups + description: Manage device groups for Applications. +- name: Applications - Function + description: Manage Functions attached to Applications. +- name: Applications - Request Rules + description: Configure request rules for Applications. +- name: Applications - Response Rules + description: Configure response rules for Applications. +- name: Auth - Login + description: Authentication endpoints for user login. +- name: Auth - MFA TOTP Device + description: Manage Multi-Factor Authentication TOTP devices. +- name: Auth - Refresh Access Token + description: Refresh access tokens for continued authentication. +- name: Auth - Revoke + description: Revoke authentication tokens. +- name: Connectors + description: Manage Connectors. +- name: Custom Pages + description: Manage custom error pages. +- name: DNS - DNSSEC + description: Manage DNSSEC configuration for DNS zones. +- name: DNS - Records + description: Manage DNS records within zones. +- name: DNS - Zones + description: Manage DNS zones. +- name: Data Stream - Data Sources + description: Manage data sources for Data Stream. +- name: Data Stream - Streams + description: Manage data streams. +- name: Data Stream - Templates + description: Manage templates for Data Stream. +- name: Digital Certificates - Certificate Revocation Lists + description: Manage Certificate Revocation Lists (CRLs). +- name: Digital Certificates - Certificate Signing Requests + description: Manage Certificate Signing Requests (CSRs). +- name: Digital Certificates - Certificates + description: Manage digital certificates. +- name: Digital Certificates - Request a Certificate + description: Request new digital certificates. +- name: Firewalls + description: Manage Firewalls. +- name: Firewalls - Function + description: Manage Functions attached to Firewalls. +- name: Firewalls - Rules Engine + description: Configure rules engine for Firewalls. +- name: Functions + description: Manage Functions. +- name: Network Lists + description: Manage network lists for access control. +- name: Purge + description: Purge cached content. +- name: SQL + description: Execute SQL queries on databases. +- name: Storage - Buckets + description: Manage Storage buckets. +- name: Storage - Credentials + description: Manage credentials for Storage. +- name: Storage - Objects + description: Manage objects within Storage buckets. +- name: WAFs + description: Manage Web Application Firewalls. +- name: WAFs - Exceptions + description: Manage WAF exceptions and allowed rules. +- name: Workload Deployments + description: Manage workload deployments. +- name: Workloads + description: Manage workloads. +x-tagGroups: +- name: Authentication + tags: + - Auth - Login + - Auth - MFA TOTP Device + - Auth - Refresh Access Token + - Auth - Revoke +- name: Applications + tags: + - Applications + - Applications - Cache Settings + - Applications - Device Groups + - Applications - Function + - Applications - Request Rules + - Applications - Response Rules + - Custom Pages +- name: Firewall + tags: + - Firewalls + - Firewalls - Function + - Firewalls - Rules Engine + - Network Lists + - WAFs + - WAFs - Exceptions +- name: Functions + tags: + - Functions +- name: SQL + tags: + - SQL +- name: Storage + tags: + - Storage - Buckets + - Storage - Credentials + - Storage - Objects +- name: Intelligent DNS + tags: + - DNS - DNSSEC + - DNS - Records + - DNS - Zones +- name: Digital Certificates + tags: + - Digital Certificates - Certificate Revocation Lists + - Digital Certificates - Certificate Signing Requests + - Digital Certificates - Certificates + - Digital Certificates - Request a Certificate +- name: Data Stream + tags: + - Connectors + - Data Stream - Data Sources + - Data Stream - Streams + - Data Stream - Templates +- name: Real-Time Purge + tags: + - Purge +- name: Workloads + tags: + - Workloads +- name: Workload Deployments + tags: + - Workload Deployments +paths: + /workspace/applications: + get: + operationId: list_applications + description: List all Applications owned by your account. + summary: List Applications + parameters: + - in: query + name: active + schema: + type: boolean + description: Filter by active status. + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - in: query + name: last_editor + schema: + type: string + description: Filter by last editor (case-insensitive, partial match). + - in: query + name: last_modified__gte + schema: + type: string + format: date-time + description: Filter by last modified date (greater than or equal). + - in: query + name: last_modified__lte + schema: + type: string + format: date-time + description: Filter by last modified date (less than or equal). + - in: query + name: name + schema: + type: string + description: Filter by name (case-insensitive, partial match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + tags: + - Applications + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedApplicationList' + description: List of applications retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_application + description: Create a new Application in your account. + summary: Create an Application + tags: + - Applications + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationResponse' + description: Application created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/applications/{application_id}: + get: + operationId: retrieve_application + description: Retrieve details of a specific Application in your account. + summary: Retrieve details of an Application + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - $ref: '#/components/parameters/FieldsParam' + tags: + - Applications + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationResponse' + description: Application details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_application + description: Update an existing Application. This replaces the entire Application + with the new data provided. + summary: Update an Application + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + tags: + - Applications + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationResponse' + description: Application updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_application + description: Update one or more fields of an existing Application without affecting + other fields. + summary: Partially update an Application + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + tags: + - Applications + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedApplicationRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationResponse' + description: Application partially updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_application + description: Delete a specific Application in your account. + summary: Delete an Application + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + tags: + - Applications + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Application deleted successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/applications/{application_id}/clone: + post: + operationId: clone_application + description: Create a new Application by performing a deep copy of an existing + Application, including its Cache Settings, Origins, Error Responses, Function + Instances, and Rules Engine. + summary: Clone an Application + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + tags: + - Applications + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CloneApplicationRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationResponse' + description: Application cloned successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/applications/{application_id}/cache_settings: + get: + operationId: list_cache_settings + description: List all Cache Settings owned by your account. + summary: List all Applications Cache Settings + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - in: query + name: name + schema: + type: string + description: Filter by name (case-insensitive, partial match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + tags: + - Applications - Cache Settings + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedCacheSettingList' + description: List of cache settings retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_cache_setting + description: Create a new Cache Setting in your account. + summary: Create an Applications Cache Setting + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + tags: + - Applications - Cache Settings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CacheSettingRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/CacheSettingResponse' + description: Cache setting created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/applications/{application_id}/cache_settings/{cache_setting_id}: + get: + operationId: retrieve_cache_setting + description: Retrieve details of a specific Cache Setting in your account. + summary: Retrieve details of an Applications Cache Setting + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - in: path + name: cache_setting_id + schema: + type: integer + description: A unique integer value identifying the cache setting. + required: true + - $ref: '#/components/parameters/FieldsParam' + tags: + - Applications - Cache Settings + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CacheSetting' + description: Cache setting details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_cache_setting + description: Update an existing Cache Setting. This replaces the entire Cache + Setting with the new data provided. + summary: Update an Applications Cache Setting + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - in: path + name: cache_setting_id + schema: + type: integer + description: A unique integer value identifying the cache setting. + required: true + tags: + - Applications - Cache Settings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CacheSettingRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CacheSettingResponse' + description: Cache setting updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_cache_setting + description: Update one or more fields of an existing Cache Setting without + affecting other fields. + summary: Partially update an Applications Cache Setting + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - in: path + name: cache_setting_id + schema: + type: integer + description: A unique integer value identifying the cache setting. + required: true + tags: + - Applications - Cache Settings + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedCacheSettingRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CacheSettingResponse' + description: Cache setting partially updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_cache_setting + description: Delete a specific Cache Setting in your account. + summary: Delete an Applications Cache Setting + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - in: path + name: cache_setting_id + schema: + type: integer + description: A unique integer value identifying the cache setting. + required: true + tags: + - Applications - Cache Settings + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Cache setting deleted successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/applications/{application_id}/device_groups: + get: + operationId: list_device_groups + description: List all Device Groups owned by your account. + summary: List Applications Device Groups + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - in: query + name: name + schema: + type: string + description: Filter by name (case-insensitive, partial match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + - in: query + name: user_agent + schema: + type: string + description: Filter by user agent (case-insensitive, partial match). + tags: + - Applications - Device Groups + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedDeviceGroupList' + description: List of device groups retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_device_group + description: Create a new Device Group in your account. + summary: Create an Applications Device Group + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + tags: + - Applications - Device Groups + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceGroupRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceGroupResponse' + description: Device group created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/applications/{application_id}/device_groups/{device_group_id}: + get: + operationId: retrieve_device_group + description: Retrieve details of a specific Device Group in your account. + summary: Retrieve details of a Device Group + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - in: path + name: device_group_id + schema: + type: integer + description: A unique integer value identifying the device group. + required: true + - $ref: '#/components/parameters/FieldsParam' + tags: + - Applications - Device Groups + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceGroupResponse' + description: Device group details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_device_group + description: Update an existing Device Group. This replaces the entire Device + Group with the new data provided. + summary: Update an Applications Device Group + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - in: path + name: device_group_id + schema: + type: integer + description: A unique integer value identifying the device group. + required: true + tags: + - Applications - Device Groups + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceGroupRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceGroupResponse' + description: Device group updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_device_group + description: Update one or more fields of an existing Device Group without affecting + other fields. + summary: Partially update an Applications Device Group + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - in: path + name: device_group_id + schema: + type: integer + description: A unique integer value identifying the device group. + required: true + tags: + - Applications - Device Groups + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedDeviceGroupRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeviceGroupResponse' + description: Device group partially updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_device_group + description: Delete a specific Device Group in your account. + summary: Delete an Applications Device Group + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - in: path + name: device_group_id + schema: + type: integer + description: A unique integer value identifying the device group. + required: true + tags: + - Applications - Device Groups + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Device group deleted successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/applications/{application_id}/functions: + get: + operationId: list_application_function_instances + description: List all Function Instances for a specific Application owned by + your account. + summary: List Function Instances + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - in: query + name: last_editor + schema: + type: string + description: Filter by last editor (case-insensitive, partial match). + - in: query + name: last_modified__gte + schema: + type: string + format: date-time + description: Filter by last modified date (greater than or equal). + - in: query + name: last_modified__lte + schema: + type: string + format: date-time + description: Filter by last modified date (less than or equal). + - in: query + name: name + schema: + type: string + description: Filter by name (case-insensitive, partial match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + tags: + - Applications - Function + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedFunctionInstanceList' + description: List of application function instances retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_application_function_instance + description: Create a new Function Instance for a specific Application in your + account. + summary: Create an Application Function Instance + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + tags: + - Applications - Function + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FunctionInstanceRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/FunctionInstanceResponse' + description: Application function instance created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/applications/{application_id}/functions/{function_id}: + get: + operationId: retrieve_application_function_instance + description: Retrieve details of a specific Application Function Instance in + your account. + summary: Retrieve details of an Application Function Instance + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - $ref: '#/components/parameters/FieldsParam' + - in: path + name: function_id + schema: + type: integer + description: A unique integer value identifying the function instance. + required: true + tags: + - Applications - Function + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FunctionInstanceResponse' + description: Application function instance details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_application_function_instance + description: Update an existing Application Function Instance. This replaces + the entire Function Instance with the new data provided. + summary: Update an Application Function Instance + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - in: path + name: function_id + schema: + type: integer + description: A unique integer value identifying the function instance. + required: true + tags: + - Applications - Function + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FunctionInstanceRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FunctionInstanceResponse' + description: Application function instance updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_application_function_instance + description: Update one or more fields of an existing Application Function Instance + without affecting other fields. + summary: Partially update an Application Function Instance + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - in: path + name: function_id + schema: + type: integer + description: A unique integer value identifying the function instance. + required: true + tags: + - Applications - Function + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedFunctionInstanceRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FunctionInstanceResponse' + description: Application function instance partially updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_application_function_instance + description: Delete a specific Application Function Instance in your account. + summary: Delete an Application Function Instance + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - in: path + name: function_id + schema: + type: integer + description: A unique integer value identifying the function instance. + required: true + tags: + - Applications - Function + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Application function instance deleted successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/applications/{application_id}/request_rules: + get: + operationId: list_application_request_rules + description: List all Rules for a specific Application owned by your account. + summary: List Application Request Rules + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - in: query + name: description + schema: + type: string + description: Filter by description (case-insensitive, partial match). + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - in: query + name: last_editor + schema: + type: string + description: Filter by last editor (case-insensitive, partial match). + - in: query + name: last_modified__gte + schema: + type: string + format: date-time + description: Filter by last modified date (greater than or equal). + - in: query + name: last_modified__lte + schema: + type: string + format: date-time + description: Filter by last modified date (less than or equal). + - in: query + name: name + schema: + type: string + description: Filter by name (case-insensitive, partial match). + - in: query + name: order__gte + schema: + type: integer + description: Filter by order (greater than or equal). + - in: query + name: order__lte + schema: + type: integer + description: Filter by order (less than or equal). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + tags: + - Applications - Request Rules + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedRequestPhaseRuleList' + description: List of application request rules retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_application_request_rule + description: Create a new Rule for a specific Application in your account. + summary: Create an Application Request Rule + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + tags: + - Applications - Request Rules + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RequestPhaseRule2' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/RequestPhaseRuleResponse' + description: Application request rule created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/applications/{application_id}/request_rules/{request_rule_id}: + get: + operationId: retrieve_application_request_rule + description: Retrieve details of a specific Rule in your account. + summary: Retrieve details of an Application Request Rule + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - $ref: '#/components/parameters/FieldsParam' + - in: path + name: request_rule_id + schema: + type: integer + description: A unique integer value identifying the request rule. + required: true + tags: + - Applications - Request Rules + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RequestPhaseRuleResponse' + description: Application request rule details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_application_request_rule + description: Update an existing Rule. This replaces the entire Rule with the + new data provided. + summary: Update an Application Request Rule + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - in: path + name: request_rule_id + schema: + type: integer + description: A unique integer value identifying the request rule. + required: true + tags: + - Applications - Request Rules + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RequestPhaseRule2' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RequestPhaseRuleResponse' + description: Application request rule updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_application_request_rule + description: Update one or more fields of an existing Application Rule without + affecting other fields. + summary: Partially update an Application Request Rule + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - in: path + name: request_rule_id + schema: + type: integer + description: A unique integer value identifying the request rule. + required: true + tags: + - Applications - Request Rules + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedRequestPhaseRule' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RequestPhaseRuleResponse' + description: Application request rule partially updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_application_request_rule + description: Delete a specific Rule in your account. + summary: Delete an Application Request Rule + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - in: path + name: request_rule_id + schema: + type: integer + description: A unique integer value identifying the request rule. + required: true + tags: + - Applications - Request Rules + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Application request rule deleted successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/applications/{application_id}/request_rules/order: + put: + operationId: update_application_request_rules_order + description: Reoder all Rules for a specific Application owned by your account. + summary: Ordering Application Request Rules + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - $ref: '#/components/parameters/SearchParam' + tags: + - Applications - Request Rules + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationRequestPhaseRuleEngineOrder' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedRequestPhaseRuleList' + description: Application request rules order updated successfully. + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/applications/{application_id}/response_rules: + get: + operationId: list_application_response_rules + description: List all Rules for a specific Application owned by your account. + summary: List Application Response Rules + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - in: query + name: description + schema: + type: string + description: Filter by description (case-insensitive, partial match). + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - in: query + name: last_editor + schema: + type: string + description: Filter by last editor (case-insensitive, partial match). + - in: query + name: last_modified__gte + schema: + type: string + format: date-time + description: Filter by last modified date (greater than or equal). + - in: query + name: last_modified__lte + schema: + type: string + format: date-time + description: Filter by last modified date (less than or equal). + - in: query + name: name + schema: + type: string + description: Filter by name (case-insensitive, partial match). + - in: query + name: order__gte + schema: + type: integer + description: Filter by order (greater than or equal). + - in: query + name: order__lte + schema: + type: integer + description: Filter by order (less than or equal). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + tags: + - Applications - Response Rules + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedResponsePhaseRuleList' + description: List of application response rules retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_application_response_rule + description: Create a new Rule for a specific Application in your account. + summary: Create an Application Response Rule + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + tags: + - Applications - Response Rules + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ResponsePhaseRuleRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponsePhaseRuleResponse' + description: Application response rule created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/applications/{application_id}/response_rules/{response_rule_id}: + get: + operationId: retrieve_application_response_rule + description: Retrieve details of a specific Rule in your account. + summary: Retrieve details of an Application Response Rule + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - $ref: '#/components/parameters/FieldsParam' + - in: path + name: response_rule_id + schema: + type: integer + description: A unique integer value identifying the response rule. + required: true + tags: + - Applications - Response Rules + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RequestPhaseRuleResponse' + description: Application response rule details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_application_response_rule + description: Update an existing Rule. This replaces the entire Rule with the + new data provided. + summary: Update an Application Response Rule + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - in: path + name: response_rule_id + schema: + type: integer + description: A unique integer value identifying the response rule. + required: true + tags: + - Applications - Response Rules + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ResponsePhaseRuleRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponsePhaseRuleResponse' + description: Application response rule updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_application_response_rule + description: Update one or more fields of an existing Application Rule without + affecting other fields. + summary: Partially update an Application Response Rule + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - in: path + name: response_rule_id + schema: + type: integer + description: A unique integer value identifying the response rule. + required: true + tags: + - Applications - Response Rules + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedResponsePhaseRuleRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponsePhaseRuleResponse' + description: Application response rule partially updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_application_response_rule + description: Delete a specific Rule in your account. + summary: Delete an Application Response Rule + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - in: path + name: response_rule_id + schema: + type: integer + description: A unique integer value identifying the response rule. + required: true + tags: + - Applications - Response Rules + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Application response rule deleted successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/applications/{application_id}/response_rules/order: + put: + operationId: update_application_response_rules_order + description: Reoder all Rules for a specific Application owned by your account. + summary: Ordering Application Response Rules + parameters: + - in: path + name: application_id + schema: + type: integer + description: A unique integer value identifying the application. + required: true + - $ref: '#/components/parameters/SearchParam' + tags: + - Applications - Response Rules + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ApplicationResponsePhaseRuleEngineOrderRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedResponsePhaseRuleList' + description: Application response rules order updated successfully. + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + /account/auth/login: + post: + operationId: auth_user_login + description: "This endpoint performs user authentication and issues the user's\ + \ JWT tokens.The response depends on whether multi-factor authentication (MFA)\ + \ is enabled for the user:\n - If the user does not have MFA enabled, the\ + \ API returns a TokenPair object containing the access_token and refresh_token,\ + \ allowing immediate authentication.\n - If the user has MFA enabled, the\ + \ response returns an MFAToken object.This temporary token must be used in\ + \ the MFA verification endpoint to complete authentication.After successful\ + \ verification of the second factor, the TokenPair is issued." + summary: "User Login \u2013 Generate JWT Tokens" + tags: + - Auth - Login + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/LoginRequest' + required: true + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseLogin' + description: User authenticated successfully. Returns JWT tokens or MFA + token if MFA is enabled. + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + security: [] + /account/auth/login/method: + get: + operationId: auth_user_login_method + description: 'Returns the login type configured for the user. This indicates + whether the user authenticates directly via Azion credentials (login) or via + a federated Identity Provider (federated) linked to their account. + + This endpoint allows clients to determine whether to proceed with Azion''s + native login flow or redirect the user to the Identity Provider (IdP) for + authentication.' + summary: Check User Authentication Method + parameters: + - in: query + name: email + schema: + type: string + format: email + description: Email address of the user + - $ref: '#/components/parameters/FieldsParam' + tags: + - Auth - Login + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/UserLoginMethodResponse' + examples: + ExampleResponseForLoginMethod.: + value: + method: login + url: http://localhost:9999/login + summary: Example response for login method. + ExampleResponseForFederatedLoginMethod.: + value: + method: federated + url: http://localhost:8000/login + summary: Example response for federated login method. + description: User authentication method retrieved successfully. + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + security: [] + /account/auth/mfa/totp: + get: + operationId: list_totp_devices + description: List all totp devices for user account and descendant accounts. + summary: List of TOTP devices + parameters: + - in: query + name: confirmed + schema: + type: boolean + description: Filter by confirmed status. + - in: query + name: email + schema: + type: string + description: Filter by user's email (case-insensitive, partial match). + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: string + description: Filter by id (accepts comma-separated values). + - in: query + name: name + schema: + type: string + description: Filter by user's first name (case-insensitive, partial match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + tags: + - Auth - MFA TOTP Device + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedTOTPDeviceList' + description: List of TOTP devices retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_totp_device + description: Create a new TOTP device for your account. + summary: Create a TOTP device + tags: + - Auth - MFA TOTP Device + requestBody: + content: + application/json: + schema: {} + security: + - JwtMfaAuthentication: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/TOTPDeviceResponse' + description: TOTP device created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /account/auth/token: + post: + operationId: auth_user_refresh_token + description: Refresh JWT access token, via a POST request. + summary: Refresh user JWT access token + tags: + - Auth - Refresh Access Token + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TokenRequest' + security: + - JwtRefreshAuthentication: [] + - {} + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/TokenResponse' + description: Refresh token generated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /account/auth/revoke: + post: + operationId: auth_user_revoke + description: Revoke refresh token via a POST request. + summary: Revoke user JWT refresh token + tags: + - Auth - Revoke + requestBody: + content: + application/json: + schema: {} + security: + - JwtRefreshAuthentication: [] + - {} + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/StateExecutedResponse' + examples: + Executed: + value: + state: executed + description: Revoke successfully executed. + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/connectors: + get: + operationId: list_connectors + description: List all Connectors owned by your account. + summary: List Connectors + parameters: + - in: query + name: active + schema: + type: boolean + description: Filter by active status. + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - in: query + name: last_editor + schema: + type: string + description: Filter by last editor (case-insensitive, partial match). + - in: query + name: last_modified__gte + schema: + type: string + format: date-time + description: Filter by last modified date (greater than or equal). + - in: query + name: last_modified__lte + schema: + type: string + format: date-time + description: Filter by last modified date (less than or equal). + - in: query + name: name + schema: + type: string + description: Filter by name (case-insensitive, partial match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + - in: query + name: type__in + schema: + type: string + description: Filter by type (accepts comma-separated values). + tags: + - Connectors + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedConnectorList' + description: List of connectors retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_connector + description: Create a new Connector in your account. + summary: Create an Connector + tags: + - Connectors + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectorRequest2' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectorResponse' + description: Connector created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/connectors/{connector_id}: + get: + operationId: retrieve_connector + description: Retrieve details of a specific Connector in your account. + summary: Retrieve details of an Connector + parameters: + - in: path + name: connector_id + schema: + type: integer + description: A unique integer value identifying the connector. + required: true + - $ref: '#/components/parameters/FieldsParam' + tags: + - Connectors + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectorResponse' + description: Connector details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_connector + description: Update an existing Connector. This replaces the entire Connector + with the new data provided. + summary: Update an Connector + parameters: + - in: path + name: connector_id + schema: + type: integer + description: A unique integer value identifying the connector. + required: true + tags: + - Connectors + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectorRequest2' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectorResponse' + description: Connector updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_connector + description: Update one or more fields of an existing Connector without affecting + other fields. + summary: Partially update an Connector + parameters: + - in: path + name: connector_id + schema: + type: integer + description: A unique integer value identifying the connector. + required: true + tags: + - Connectors + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedConnectorRequest2' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ConnectorResponse' + description: Connector partially updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_connector + description: Delete a specific Connector in your account. + summary: Delete an Connector + parameters: + - in: path + name: connector_id + schema: + type: integer + description: A unique integer value identifying the connector. + required: true + tags: + - Connectors + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Connector deleted successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/custom_pages: + get: + operationId: list_custom_pages + description: List all Custom Pages owned by your account. + summary: List Custom Pages + parameters: + - in: query + name: active + schema: + type: boolean + description: Filter by active status. + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - in: query + name: last_editor + schema: + type: string + description: Filter by last editor (case-insensitive, partial match). + - in: query + name: last_modified__gte + schema: + type: string + format: date-time + description: Filter by last modified date (greater than or equal). + - in: query + name: last_modified__lte + schema: + type: string + format: date-time + description: Filter by last modified date (less than or equal). + - in: query + name: name + schema: + type: string + description: Filter by name (case-insensitive, partial match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + tags: + - Custom Pages + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedCustomPageList' + description: List of custom pages retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_custom_page + description: Create a new Custom Page in your account. + summary: Create a Custom Page + tags: + - Custom Pages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomPageRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/CustomPageResponse' + description: Custom page created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/custom_pages/{custom_page_id}: + get: + operationId: retrieve_custom_page + description: Retrieve details of a specific Custom Page in your account. + summary: Retrieve details of a Custom Page + parameters: + - in: path + name: custom_page_id + schema: + type: integer + description: A unique integer value identifying the custom page. + required: true + - $ref: '#/components/parameters/FieldsParam' + tags: + - Custom Pages + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CustomPageResponse' + description: Custom page details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_custom_page + description: Update an existing Custom Page. This replaces the entire Custom + Page with the new data provided. + summary: Update a Custom Page + parameters: + - in: path + name: custom_page_id + schema: + type: integer + description: A unique integer value identifying the custom page. + required: true + tags: + - Custom Pages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CustomPageRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CustomPageResponse' + description: Custom page updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_custom_page + description: Update one or more fields of an existing Custom Page without affecting + other fields. + summary: Partially update a Custom Page + parameters: + - in: path + name: custom_page_id + schema: + type: integer + description: A unique integer value identifying the custom page. + required: true + tags: + - Custom Pages + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedCustomPageRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CustomPageResponse' + description: Custom page partially updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_custom_page + description: Delete a specific Custom Page in your account. + summary: Delete a Custom Page + parameters: + - in: path + name: custom_page_id + schema: + type: integer + description: A unique integer value identifying the custom page. + required: true + tags: + - Custom Pages + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Custom page deleted successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/dns/zones/{zone_id}/dnssec: + get: + operationId: retrieve_dnssec + description: Retrieve details of a specific DNSSEC from a DNS Zone in your account. + summary: Retrieve details of a DNSSEC + parameters: + - $ref: '#/components/parameters/FieldsParam' + - in: path + name: zone_id + schema: + type: integer + description: A unique integer value identifying the DNS Zone. + required: true + tags: + - DNS - DNSSEC + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DNSSECResponse' + description: DNSSEC details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_dnssec + description: Update an existing a DNSSEC. This replaces the entire DNSSEC with + the new data provided. + summary: Update a DNSSEC + parameters: + - in: path + name: zone_id + schema: + type: integer + description: A unique integer value identifying the DNS Zone. + required: true + tags: + - DNS - DNSSEC + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DNSSECRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DNSSECResponse' + description: DNSSEC updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_dnssec + description: Update one or more fields of an existing DNSSEC without affecting + other fields. + summary: Partially update a DNSSEC + parameters: + - in: path + name: zone_id + schema: + type: integer + description: A unique integer value identifying the DNS Zone. + required: true + tags: + - DNS - DNSSEC + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedDNSSECRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DNSSECResponse' + description: DNSSEC partially updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/dns/zones/{zone_id}/records: + get: + operationId: list_dns_records + description: List all DNS Records from a DNS Zone owned by your account. + summary: List DNS Records + parameters: + - $ref: '#/components/parameters/FieldsParam' + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + - in: path + name: zone_id + schema: + type: integer + description: A unique integer value identifying the DNS Zone. + required: true + tags: + - DNS - Records + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedRecordList' + description: List of DNS records retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_dns_record + description: Create a new DNS Record in a DNS Zone for your account. + summary: Create a DNS Record + parameters: + - in: path + name: zone_id + schema: + type: integer + description: A unique integer value identifying the DNS Zone. + required: true + tags: + - DNS - Records + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RecordRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/RecordResponse' + description: DNS record created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/dns/zones/{zone_id}/records/{record_id}: + get: + operationId: retrieve_dns_record + description: Retrieve details of a specific DNS Record from a DNS Zone in your + account. + summary: Retrieve details of a DNS Record + parameters: + - $ref: '#/components/parameters/FieldsParam' + - in: path + name: record_id + schema: + type: integer + description: A unique integer value identifying the DNS Record. + required: true + - in: path + name: zone_id + schema: + type: integer + description: A unique integer value identifying the DNS Zone. + required: true + tags: + - DNS - Records + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RecordResponse' + description: DNS record details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_dns_record + description: Update an existing a DNS Record. This replaces the entire DNS Record + with the new data provided. + summary: Update a DNS Record + parameters: + - in: path + name: record_id + schema: + type: integer + description: A unique integer value identifying the DNS Record. + required: true + - in: path + name: zone_id + schema: + type: integer + description: A unique integer value identifying the DNS Zone. + required: true + tags: + - DNS - Records + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/RecordRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RecordResponse' + description: DNS record updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_dns_record + description: Update one or more fields of an existing DNS Record without affecting + other fields. + summary: Partially update a DNS Record + parameters: + - in: path + name: record_id + schema: + type: integer + description: A unique integer value identifying the DNS Record. + required: true + - in: path + name: zone_id + schema: + type: integer + description: A unique integer value identifying the DNS Zone. + required: true + tags: + - DNS - Records + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedRecordRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/RecordResponse' + description: DNS record partially updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_dns_record + description: Delete a specific DNS Record from a DNS Zone in your account. + summary: Delete a DNS Record + parameters: + - in: path + name: record_id + schema: + type: integer + description: A unique integer value identifying the DNS Record. + required: true + - in: path + name: zone_id + schema: + type: integer + description: A unique integer value identifying the DNS Zone. + required: true + tags: + - DNS - Records + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: DNS record deletion accepted and processing asynchronously. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/dns/zones: + get: + operationId: list_dns_zones + description: List all DNS Zones owned by your account. + summary: List DNS Zones + parameters: + - in: query + name: active + schema: + type: boolean + description: Filter by active status. + - in: query + name: domain + schema: + type: string + description: Filter by domain (exact match). + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: name + schema: + type: string + description: Filter by name (exact match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + tags: + - DNS - Zones + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedZoneList' + description: List of DNS zones retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_dns_zone + description: Create a new DNS Zone for your account. + summary: Create a DNS Zone + tags: + - DNS - Zones + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/ZoneRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/ZoneResponse' + description: DNS zone created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/dns/zones/{zone_id}: + get: + operationId: retrieve_dns_zone + description: Retrieve details of a specific DNS Zone in your account. + summary: Retrieve details of a DNS Zone + parameters: + - $ref: '#/components/parameters/FieldsParam' + - in: path + name: zone_id + schema: + type: integer + description: A unique integer value identifying the DNS Zone. + required: true + tags: + - DNS - Zones + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ZoneResponse' + description: DNS zone details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_dns_zone + description: Update an existing a DNS Zone. This replaces the entire DNS Zone + with the new data provided. + summary: Update a DNS Zone + parameters: + - in: path + name: zone_id + schema: + type: integer + description: A unique integer value identifying the DNS Zone. + required: true + tags: + - DNS - Zones + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/UpdateZoneRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ZoneResponse' + description: DNS zone updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_dns_zone + description: Update one or more fields of an existing DNS Zone without affecting + other fields. + summary: Partially update a DNS Zone + parameters: + - in: path + name: zone_id + schema: + type: integer + description: A unique integer value identifying the DNS Zone. + required: true + tags: + - DNS - Zones + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedUpdateZoneRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ZoneResponse' + description: DNS zone partially updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_dns_zone + description: Delete a specific DNS Zone in your account. + summary: Delete a DNS Zone + parameters: + - in: path + name: zone_id + schema: + type: integer + description: A unique integer value identifying the DNS Zone. + required: true + tags: + - DNS - Zones + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: DNS zone deletion accepted and processing asynchronously. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/stream/data_sources: + get: + operationId: list_data_sources + description: List all Data Sources. + summary: List of Data Sources + parameters: + - in: query + name: active + schema: + type: boolean + description: Filter by active status. + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: name + schema: + type: string + description: Filter by name (case-insensitive, partial match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + - in: query + name: slug + schema: + type: string + description: Filter by slug (case-insensitive, exact match). + tags: + - Data Stream - Data Sources + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedDataSourceList' + description: Ok + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/stream/streams: + get: + operationId: list_data_streams + description: List all Data Streams owned by your account. + summary: List Data Streams + parameters: + - in: query + name: active + schema: + type: boolean + description: Filter by active status. + - in: query + name: data_set_id + schema: + type: integer + description: Filter by data set id (accepts comma-separated values). + - in: query + name: data_source + schema: + type: string + description: Filter by data source (accepts comma-separated values). + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - in: query + name: last_editor + schema: + type: string + description: Filter by last editor (case-insensitive, partial match). + - in: query + name: last_modified__gte + schema: + type: string + format: date-time + description: Filter by last modified date (greater than or equal). + - in: query + name: last_modified__lte + schema: + type: string + format: date-time + description: Filter by last modified date (less than or equal). + - in: query + name: name + schema: + type: string + description: Filter by name (case-insensitive, partial match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + tags: + - Data Stream - Streams + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedDataStreamList' + description: Ok + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_data_stream + description: Create a new Data Stream in your account. + summary: Create a Data Stream + tags: + - Data Stream - Streams + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataStreamRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/DataStreamResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/stream/streams/{stream_id}: + get: + operationId: retrieve_data_stream + description: Retrieve details from a specific Data Stream in your account. + summary: Retrieve details of a Data Stream + parameters: + - $ref: '#/components/parameters/FieldsParam' + - in: path + name: stream_id + schema: + type: integer + description: A unique integer value identifying the data stream. + required: true + tags: + - Data Stream - Streams + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DataStreamResponse' + description: Ok + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_data_stream + description: Update an existing Data Stream. + summary: Update a Data Stream + parameters: + - in: path + name: stream_id + schema: + type: integer + description: A unique integer value identifying the data stream. + required: true + tags: + - Data Stream - Streams + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DataStreamRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DataStreamResponse' + description: Ok + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_data_stream + description: Update one or more fields of an existing Data Stream. + summary: Partially update a Data Stream + parameters: + - in: path + name: stream_id + schema: + type: integer + description: A unique integer value identifying the data stream. + required: true + tags: + - Data Stream - Streams + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedDataStreamRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DataStreamResponse' + description: Ok + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_data_stream + description: Delete a specific Data Stream in your account. + summary: Delete a Data Stream + parameters: + - in: path + name: stream_id + schema: + type: integer + description: A unique integer value identifying the data stream. + required: true + tags: + - Data Stream - Streams + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Ok + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/stream/templates: + get: + operationId: list_templates + description: List all Templates owned by your account. + summary: List Templates + parameters: + - in: query + name: active + schema: + type: boolean + description: Filter by active status. + - in: query + name: custom + schema: + type: boolean + description: Filter by custom status (true for custom templates, false for + default templates). + - in: query + name: data_set + schema: + type: string + description: Filter by data set (case-insensitive, partial match). + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - in: query + name: last_editor + schema: + type: string + description: Filter by last editor (case-insensitive, partial match). + - in: query + name: last_modified__gte + schema: + type: string + format: date-time + description: Filter by last modified date (greater than or equal). + - in: query + name: last_modified__lte + schema: + type: string + format: date-time + description: Filter by last modified date (less than or equal). + - in: query + name: name + schema: + type: string + description: Filter by name (case-insensitive, partial match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + tags: + - Data Stream - Templates + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedTemplateList' + description: Ok + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_template + description: Create a new custom Template in your account. + summary: Create a Template + tags: + - Data Stream - Templates + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TemplateRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/TemplateResponse' + description: Created + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/stream/templates/{template_id}: + get: + operationId: retrieve_template + description: Retrieve details from a specific Template in your account. + summary: Retrieve details of a Template + parameters: + - $ref: '#/components/parameters/FieldsParam' + - in: path + name: template_id + schema: + type: integer + description: A unique integer value identifying the template. + required: true + tags: + - Data Stream - Templates + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TemplateResponse' + description: Ok + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_template + description: Update an existing custom Template. + summary: Update a Template + parameters: + - in: path + name: template_id + schema: + type: integer + description: A unique integer value identifying the template. + required: true + tags: + - Data Stream - Templates + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/TemplateRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TemplateResponse' + description: Ok + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_template + description: Update one or more fields of an existing custom Template. + summary: Partially update a Template + parameters: + - in: path + name: template_id + schema: + type: integer + description: A unique integer value identifying the template. + required: true + tags: + - Data Stream - Templates + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedTemplateRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/TemplateResponse' + description: Ok + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_template + description: Delete a specific custom Template in your account. + summary: Delete a Template + parameters: + - in: path + name: template_id + schema: + type: integer + description: A unique integer value identifying the template. + required: true + tags: + - Data Stream - Templates + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Ok + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/tls/crls: + get: + operationId: list_certificate_revocation_lists + description: List all certificate revocation lists (CRL) owned by your account. + summary: List certificate revocation lists (CRL) + parameters: + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by CRL ID (accepts comma-separated values). + - in: query + name: issuer + schema: + type: string + pattern: ^.*$ + description: Filter by issuer (case-insensitive, partial match). + - in: query + name: last_modified + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by exact last modified date and time. + - in: query + name: last_modified__gte + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by last modified date (greater than or equal). + - in: query + name: last_modified__lte + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by last modified date (less than or equal). + - in: query + name: last_update + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by exact last update date and time. + - in: query + name: last_update__gte + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by last update date (greater than or equal). + - in: query + name: last_update__lte + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by last update date (less than or equal). + - in: query + name: name + schema: + type: string + pattern: ^.*$ + description: Filter by CRL name (case-insensitive, partial match). + - in: query + name: next_update + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by exact next update date and time. + - in: query + name: next_update__gte + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by next update date (greater than or equal). + - in: query + name: next_update__lte + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by next update date (less than or equal). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + tags: + - Digital Certificates - Certificate Revocation Lists + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedCertificateRevocationList' + description: List of certificate revocation lists retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_certificate_revocation_list + description: Create a new certificate revocation lists (CRL) for your account. + summary: Create a certificate revocation lists (CRL) + tags: + - Digital Certificates - Certificate Revocation Lists + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateRevocationList' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateRevocationListResponse' + description: Certificate revocation list created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/tls/crls/{crl_id}: + get: + operationId: retrieve_certificate_revocation_list + description: Retrieve details from a specific certificate revocation lists (CRL) + in your account. + summary: Retrieve details from a certificate revocation lists (CRL) + parameters: + - in: path + name: crl_id + schema: + type: integer + description: The unique identifier of the certificate revocation list + required: true + - $ref: '#/components/parameters/FieldsParam' + tags: + - Digital Certificates - Certificate Revocation Lists + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateRevocationListResponse' + description: Certificate revocation list details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_certificate_revocation_list + description: Update an existing certificate revocation lists (CRL). This replaces + the entire certificate with the new data provided. + summary: Update a certificate revocation lists (CRL) + parameters: + - in: path + name: crl_id + schema: + type: integer + description: The unique identifier of the certificate revocation list + required: true + tags: + - Digital Certificates - Certificate Revocation Lists + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateRevocationList' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateRevocationListResponse' + description: Certificate revocation list updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_certificate_revocation_list + description: Update one or more fields of an existing certificate revocation + lists (CRL) without affecting other fields. + summary: Update a certificate revocation lists (CRL) + parameters: + - in: path + name: crl_id + schema: + type: integer + description: The unique identifier of the certificate revocation list + required: true + tags: + - Digital Certificates - Certificate Revocation Lists + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedCertificateRevocationList' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateRevocationListResponse' + description: Certificate revocation list partially updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_certificate_revocation_list + description: Delete a specific certificate revocation list in your account. + summary: Delete a certificate revocation list + parameters: + - in: path + name: crl_id + schema: + type: integer + description: The unique identifier of the certificate revocation list + required: true + tags: + - Digital Certificates - Certificate Revocation Lists + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Certificate revocation list deleted successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/tls/csr: + post: + operationId: create_certificate_signing_request + description: Create a new certificate signing request (CSR) for your account. + summary: Create a certificate signing request (CSR) + tags: + - Digital Certificates - Certificate Signing Requests + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateSigningRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateResponse' + description: Certificate signing request created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/tls/certificates: + get: + operationId: list_certificates + description: List all certificates owned by your account. + summary: List certificates + parameters: + - in: query + name: certificate_type + schema: + type: string + pattern: ^.*$ + description: Filter by certificate type (accepts comma-separated values). + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by certificate ID (accepts comma-separated values). + - in: query + name: issuer + schema: + type: string + pattern: ^.*$ + description: Filter by issuer (case-insensitive, partial match). + - in: query + name: last_modified + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by exact last modified date and time. + - in: query + name: last_modified__gte + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by last modified date (greater than or equal). + - in: query + name: last_modified__lte + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by last modified date (less than or equal). + - in: query + name: managed + schema: + type: boolean + description: Filter by managed status. + - in: query + name: name + schema: + type: string + pattern: ^.*$ + description: Filter by certificate name (case-insensitive, partial match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - in: query + name: renewed_at + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by exact renewed date and time. + - in: query + name: renewed_at__gte + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by renewed date (greater than or equal). + - in: query + name: renewed_at__lte + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by renewed date (less than or equal). + - $ref: '#/components/parameters/SearchParam' + tags: + - Digital Certificates - Certificates + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedCertificateList' + description: List of certificates retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_certificate + description: Create a new certificate for your account. + summary: Create a certificate + tags: + - Digital Certificates - Certificates + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Certificate' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateResponse' + description: Certificate created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/tls/certificates/{certificate_id}: + get: + operationId: retrieve_certificate + description: Retrieve details from a specific certificate in your account. + summary: Retrieve details from a certificate + parameters: + - in: path + name: certificate_id + schema: + type: integer + description: The unique identifier of the certificate + required: true + - $ref: '#/components/parameters/FieldsParam' + tags: + - Digital Certificates - Certificates + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateResponse' + description: Certificate details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_certificate + description: Update an existing certificate. This replaces the entire certificate + with the new data provided. + summary: Update a certificate + parameters: + - in: path + name: certificate_id + schema: + type: integer + description: The unique identifier of the certificate + required: true + tags: + - Digital Certificates - Certificates + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/Certificate' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateResponse' + description: Ok + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_certificate + description: Update one or more fields of an existing certificate without affecting + other fields. + summary: Partially update a certificate + parameters: + - in: path + name: certificate_id + schema: + type: integer + description: The unique identifier of the certificate + required: true + tags: + - Digital Certificates - Certificates + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedCertificate' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateResponse' + description: Ok + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_certificate + description: Delete a specific certificate in your account. + summary: Delete a certificate + parameters: + - in: path + name: certificate_id + schema: + type: integer + description: The unique identifier of the certificate + required: true + tags: + - Digital Certificates - Certificates + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Certificate deleted successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/tls/certificates/request: + post: + operationId: request_certificate + description: Request a new certificate for your account. + summary: Request a certificate + tags: + - Digital Certificates - Request a Certificate + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/CertificateResponse' + description: Certificate request submitted successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/firewalls: + get: + operationId: list_firewalls + description: List all Firewalls owned by your account. + summary: List Firewalls + parameters: + - in: query + name: active + schema: + type: boolean + description: Filter by active status. + - in: query + name: debug + schema: + type: boolean + description: Filter by debug rules status. + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - in: query + name: last_editor + schema: + type: string + description: Filter by last editor (case-insensitive, partial match). + - in: query + name: last_modified__gte + schema: + type: string + format: date-time + description: Filter by last modified date (greater than or equal). + - in: query + name: last_modified__lte + schema: + type: string + format: date-time + description: Filter by last modified date (less than or equal). + - in: query + name: name + schema: + type: string + description: Filter by name (case-insensitive, partial match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + tags: + - Firewalls + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedFirewallList' + description: List of firewalls retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_firewall + description: Create a new Firewall for your account. + summary: Create a Firewall + tags: + - Firewalls + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FirewallRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/FirewallResponse' + description: Firewall created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/firewalls/{firewall_id}: + get: + operationId: retrieve_firewall + description: Retrieve details from a specific Firewall in your account. + summary: Retrieve details from a Firewall + parameters: + - $ref: '#/components/parameters/FieldsParam' + - in: path + name: firewall_id + schema: + type: integer + description: A unique integer value identifying the firewall. + required: true + tags: + - Firewalls + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FirewallResponse' + description: Firewall details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_firewall + description: Update an existing Firewall. This replaces the entire Firewall + with the new data provided. + summary: Update a Firewall + parameters: + - in: path + name: firewall_id + schema: + type: integer + description: A unique integer value identifying the firewall. + required: true + tags: + - Firewalls + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FirewallRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FirewallResponse' + description: Firewall updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_firewall + description: Update one or more fields of an existing Firewall without affecting + other fields. + summary: Partially update a Firewall + parameters: + - in: path + name: firewall_id + schema: + type: integer + description: A unique integer value identifying the firewall. + required: true + tags: + - Firewalls + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedFirewallRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FirewallResponse' + description: Firewall partially updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_firewall + description: Delete a specific Firewall in your account. + summary: Delete a Firewall + parameters: + - in: path + name: firewall_id + schema: + type: integer + description: A unique integer value identifying the firewall. + required: true + tags: + - Firewalls + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Firewall deleted successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/firewalls/{firewall_id}/clone: + post: + operationId: clone_firewall + description: Create a new Firewall by performing a deep copy of an existing + Firewall, including its Function Instances and Rules Engine. + summary: Clone a Firewall + parameters: + - in: path + name: firewall_id + schema: + type: integer + description: A unique integer value identifying the firewall. + required: true + tags: + - Firewalls + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CloneFirewallRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/FirewallResponse' + description: Firewall cloned successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/firewalls/{firewall_id}/functions: + get: + operationId: list_firewall_function + description: List all Function Instances for a specific Firewall owned by your + account. + summary: List Firewall Function + parameters: + - $ref: '#/components/parameters/FieldsParam' + - in: path + name: firewall_id + schema: + type: integer + description: A unique integer value identifying the firewall. + required: true + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - in: query + name: last_editor + schema: + type: string + description: Filter by last editor (case-insensitive, partial match). + - in: query + name: last_modified__gte + schema: + type: string + format: date-time + description: Filter by last modified date (greater than or equal). + - in: query + name: last_modified__lte + schema: + type: string + format: date-time + description: Filter by last modified date (less than or equal). + - in: query + name: name + schema: + type: string + description: Filter by name (case-insensitive, partial match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + tags: + - Firewalls - Function + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedFirewallFunctionInstanceList' + description: List of firewall function instances retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_firewall_function + description: Create a new Function Instance for a specific Firewall in your + account. + summary: Create an Firewall Function + parameters: + - in: path + name: firewall_id + schema: + type: integer + description: A unique integer value identifying the firewall. + required: true + tags: + - Firewalls - Function + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FirewallFunctionInstanceRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/FirewallFunctionInstanceResponse' + description: Firewall function instance created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/firewalls/{firewall_id}/functions/{function_id}: + get: + operationId: retrieve_firewall_function + description: Retrieve details of a specific Firewall Function Instance in your + account. + summary: Retrieve details of an Firewall Function + parameters: + - $ref: '#/components/parameters/FieldsParam' + - in: path + name: firewall_id + schema: + type: integer + description: A unique integer value identifying the firewall. + required: true + - in: path + name: function_id + schema: + type: integer + description: A unique integer value identifying the function instance. + required: true + tags: + - Firewalls - Function + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FirewallFunctionInstanceResponse' + description: Firewall function instance details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_firewall_function + description: Update an existing Firewall Function Instance. This replaces the + entire Function Instance with the new data provided. + summary: Update an Firewall Function + parameters: + - in: path + name: firewall_id + schema: + type: integer + description: A unique integer value identifying the firewall. + required: true + - in: path + name: function_id + schema: + type: integer + description: A unique integer value identifying the function instance. + required: true + tags: + - Firewalls - Function + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FirewallFunctionInstanceRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FirewallFunctionInstanceResponse' + description: Firewall function instance updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_firewall_function + description: Update one or more fields of an existing Firewall Function Instance + without affecting other fields. + summary: Partially update an Firewall Function + parameters: + - in: path + name: firewall_id + schema: + type: integer + description: A unique integer value identifying the firewall. + required: true + - in: path + name: function_id + schema: + type: integer + description: A unique integer value identifying the function instance. + required: true + tags: + - Firewalls - Function + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedFirewallFunctionInstanceRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FirewallFunctionInstanceResponse' + description: Firewall function instance partially updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_firewall_function + description: Delete a specific Firewall Function Instance in your account. + summary: Delete an Firewall Function + parameters: + - in: path + name: firewall_id + schema: + type: integer + description: A unique integer value identifying the firewall. + required: true + - in: path + name: function_id + schema: + type: integer + description: A unique integer value identifying the function instance. + required: true + tags: + - Firewalls - Function + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Firewall function instance deleted successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/firewalls/{firewall_id}/request_rules: + get: + operationId: list_firewall_rules + description: List all Rules for a specific Firewall owned by your account. + summary: List Firewall Rules + parameters: + - in: query + name: description + schema: + type: string + description: Filter by description (case-insensitive, partial match). + - $ref: '#/components/parameters/FieldsParam' + - in: path + name: firewall_id + schema: + type: integer + description: A unique integer value identifying the firewall. + required: true + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - in: query + name: last_editor + schema: + type: string + description: Filter by last editor (case-insensitive, partial match). + - in: query + name: last_modified__gte + schema: + type: string + format: date-time + description: Filter by last modified date (greater than or equal). + - in: query + name: last_modified__lte + schema: + type: string + format: date-time + description: Filter by last modified date (less than or equal). + - in: query + name: name + schema: + type: string + description: Filter by name (case-insensitive, partial match). + - in: query + name: order__gte + schema: + type: integer + description: Filter by order (greater than or equal). + - in: query + name: order__lte + schema: + type: integer + description: Filter by order (less than or equal). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + tags: + - Firewalls - Rules Engine + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedFirewallRuleList' + description: List of firewall rules retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_firewall_rule + description: Create a new Rule for a specific Firewall in your account. + summary: Create an Firewall Rule + parameters: + - in: path + name: firewall_id + schema: + type: integer + description: A unique integer value identifying the firewall. + required: true + tags: + - Firewalls - Rules Engine + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FirewallRuleRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/FirewallRuleResponse' + description: Firewall rule created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/firewalls/{firewall_id}/request_rules/{request_rule_id}: + get: + operationId: retrieve_firewall_rule + description: Retrieve details of a specific Rule in your account. + summary: Retrieve details of an Firewall Rule + parameters: + - $ref: '#/components/parameters/FieldsParam' + - in: path + name: firewall_id + schema: + type: integer + description: A unique integer value identifying the firewall. + required: true + - in: path + name: request_rule_id + schema: + type: integer + description: A unique integer value identifying the request rule. + required: true + tags: + - Firewalls - Rules Engine + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FirewallRuleResponse' + description: Firewall rule details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_firewall_rule + description: Update an existing Rule. This replaces the entire Rule with the + new data provided. + summary: Update an Firewall Rule + parameters: + - in: path + name: firewall_id + schema: + type: integer + description: A unique integer value identifying the firewall. + required: true + - in: path + name: request_rule_id + schema: + type: integer + description: A unique integer value identifying the request rule. + required: true + tags: + - Firewalls - Rules Engine + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FirewallRuleRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FirewallRuleResponse' + description: Firewall rule updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_firewall_rule + description: Update one or more fields of an existing Firewall Rule without + affecting other fields. + summary: Partially update an Firewall Rule + parameters: + - in: path + name: firewall_id + schema: + type: integer + description: A unique integer value identifying the firewall. + required: true + - in: path + name: request_rule_id + schema: + type: integer + description: A unique integer value identifying the request rule. + required: true + tags: + - Firewalls - Rules Engine + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedFirewallRuleRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FirewallRuleResponse' + description: Firewall rule partially updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_firewall_rule + description: Delete a specific Rule in your account. + summary: Delete an Firewall Rule + parameters: + - in: path + name: firewall_id + schema: + type: integer + description: A unique integer value identifying the firewall. + required: true + - in: path + name: request_rule_id + schema: + type: integer + description: A unique integer value identifying the request rule. + required: true + tags: + - Firewalls - Rules Engine + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Firewall rule deleted successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/firewalls/{firewall_id}/request_rules/order: + put: + operationId: order_firewall_rules + description: Reoder all Rules for a specific Firewall owned by your account. + summary: Ordering Firewall Rules + parameters: + - in: path + name: firewall_id + schema: + type: integer + description: A unique integer value identifying the firewall. + required: true + - $ref: '#/components/parameters/SearchParam' + tags: + - Firewalls - Rules Engine + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FirewallRuleEngineOrderRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedFirewallRuleList' + description: Firewall rules order updated successfully. + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/functions: + get: + operationId: list_functions + description: List all Functions owned by your account. + summary: List Functions + parameters: + - in: query + name: active + schema: + type: boolean + description: Filter by active status. + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - in: query + name: language__in + schema: + type: string + description: Filter by language (accepts comma-separated values). + - in: query + name: last_editor + schema: + type: string + description: Filter by last editor (case-insensitive, partial match). + - in: query + name: last_modified__gte + schema: + type: string + format: date-time + description: Filter by last modified date (greater than or equal). + - in: query + name: last_modified__lte + schema: + type: string + format: date-time + description: Filter by last modified date (less than or equal). + - in: query + name: name + schema: + type: string + description: Filter by name (case-insensitive, partial match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - in: query + name: runtime_environment__in + schema: + type: string + description: Filter by runtime environment (accepts comma-separated values). + - $ref: '#/components/parameters/SearchParam' + tags: + - Functions + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedFunctionsList' + description: List of functions retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_function + description: Create a new Function in your account. + summary: Create an Function + tags: + - Functions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FunctionsRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/FunctionResponse' + description: Function created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/functions/{function_id}: + get: + operationId: retrieve_function + description: Retrieve details of a specific Function in your account. + summary: Retrieve details of an Function + parameters: + - $ref: '#/components/parameters/FieldsParam' + - in: path + name: function_id + schema: + type: integer + description: A unique integer value identifying the function. + required: true + tags: + - Functions + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FunctionResponse' + description: Function details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_function + description: Update an existing Function. This replaces the entire Function + with the new data provided. + summary: Update an Function + parameters: + - in: path + name: function_id + schema: + type: integer + description: A unique integer value identifying the function. + required: true + tags: + - Functions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/FunctionsRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FunctionResponse' + description: Function updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_function + description: Update one or more fields of an existing Function without affecting + other fields. + summary: Partially update an Function + parameters: + - in: path + name: function_id + schema: + type: integer + description: A unique integer value identifying the function. + required: true + tags: + - Functions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedFunctionsRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/FunctionResponse' + description: Function partially updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_function + description: Delete a specific Function in your account. + summary: Delete an Function + parameters: + - in: path + name: function_id + schema: + type: integer + description: A unique integer value identifying the function. + required: true + tags: + - Functions + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Function deleted successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/network_lists: + get: + operationId: list_network_lists + description: List all Network Lists owned by your account. + summary: List Network Lists + parameters: + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - in: query + name: last_editor + schema: + type: string + description: Filter by last editor (case-insensitive, partial match). + - in: query + name: last_modified__gte + schema: + type: string + format: date-time + description: Filter by last modified date (greater than or equal). + - in: query + name: last_modified__lte + schema: + type: string + format: date-time + description: Filter by last modified date (less than or equal). + - in: query + name: list_type__in + schema: + type: string + description: Filter by list type (accepts comma-separated values). + - in: query + name: name + schema: + type: string + description: Filter by name (case-insensitive, partial match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + tags: + - Network Lists + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedNetworkListSummaryList' + description: List of network lists retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_network_list + description: Create a new Network List in your account. + summary: Create a Network List + tags: + - Network Lists + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkListRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkListResponse' + description: Network list created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/network_lists/{network_list_id}: + get: + operationId: retrieve_network_list + description: Retrieve details of a specific Network List in your account. + summary: Retrieve details of a Network List + parameters: + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: ipv4 + schema: + type: boolean + description: Filter by IPv4. Only applicable for network lists of type 'ip_cidr'. + - in: query + name: ipv6 + schema: + type: boolean + description: Filter by IPv6. Only applicable for network lists of type 'ip_cidr'. + - in: path + name: network_list_id + schema: + type: integer + description: A unique integer value identifying the network list. + required: true + tags: + - Network Lists + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkListResponse' + description: Network list details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_network_list + description: Update an existing Network List. This replaces the entire Network + List with the new data provided. + summary: Update a Network List + parameters: + - in: path + name: network_list_id + schema: + type: integer + description: A unique integer value identifying the network list. + required: true + tags: + - Network Lists + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkListRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkListResponse' + description: Network list updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_network_list + description: Update one or more fields of an existing Network List without affecting + other fields. + summary: Partially update a Network List + parameters: + - in: path + name: network_list_id + schema: + type: integer + description: A unique integer value identifying the network list. + required: true + tags: + - Network Lists + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedNetworkListRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/NetworkListResponse' + description: Network list partially updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_network_list + description: Delete a specific Network List in your account. + summary: Delete a Network List + parameters: + - in: path + name: network_list_id + schema: + type: integer + description: A unique integer value identifying the network list. + required: true + tags: + - Network Lists + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Network list deleted successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/purge/{purge_type}: + post: + operationId: create_purge_request + description: Create a new Purge Request in your account. + summary: Create a Purge Request + parameters: + - in: path + name: purge_type + schema: + type: string + enum: + - cachekey + - url + - wildcard + x-extensible-enum: + - cachekey + - url + - wildcard + description: 'type of purge: URL, Wildcard or Cachekey' + required: true + tags: + - Purge + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PurgeRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/PurgeResponse' + description: Purge request created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/sql/databases: + get: + operationId: list_databases + description: List all databases owned by your account. + summary: List databases + parameters: + - in: query + name: active + schema: + type: boolean + description: Filter by active status. + - in: query + name: created_at__gte + schema: + type: string + format: date-time + description: Filter by created_at (greater than or equal). + - in: query + name: created_at__lte + schema: + type: string + format: date-time + description: Filter by created_at (less than or equal). + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - in: query + name: last_editor + schema: + type: string + description: Filter by last editor (case-insensitive, partial match). + - in: query + name: name + schema: + type: string + description: Filter by name (case-insensitive, partial match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + - in: query + name: status + schema: + type: string + description: Filter by status (accepts comma-separated values). + - in: query + name: updated_at__gte + schema: + type: string + format: date-time + description: Filter by updated_at (greater than or equal). + - in: query + name: updated_at__lte + schema: + type: string + format: date-time + description: Filter by updated_at (less than or equal). + tags: + - SQL + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedDatabaseDetailList' + description: List of databases retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_database + description: Create a new database for your account. + summary: Create a database + tags: + - SQL + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/DatabaseRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/DatabaseDetailResponse' + description: Database created successfully. + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/DatabaseDetailResponse' + description: Database creation request accepted and is being processed asynchronously. + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + Error-10073: + value: + errors: + - status: '422' + code: '10073' + title: Unprocessable Entity + detail: Unprocessable entity. + summary: Unprocessable Entity + description: Unprocessable entity. + description: Unprocessable Entity + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/sql/databases/{database_id}: + get: + operationId: retrieve_database + description: Retrieve details from a specific database in your account. + summary: Retrieve details from a database + parameters: + - in: path + name: database_id + schema: + type: integer + description: A unique integer value identifying this database. + required: true + - $ref: '#/components/parameters/FieldsParam' + tags: + - SQL + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DatabaseDetailResponse' + description: Database details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_database + description: Schedule the deletion of a specific database in your account. + summary: Delete a database + parameters: + - in: path + name: database_id + schema: + type: integer + description: A unique integer value identifying this database. + required: true + tags: + - SQL + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Database deleted successfully. + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Database deletion request accepted and is being processed asynchronously. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/sql/databases/{database_id}/query: + post: + operationId: execute_query + description: Execute a query into a database for your account. + summary: Execute a query into a database + parameters: + - in: path + name: database_id + schema: + type: integer + description: A unique integer value identifying this database. + required: true + tags: + - SQL + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/SQLStatementsRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SQLResultResponse' + description: SQL query executed successfully. + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/SQLResultResponse' + description: SQL query execution request accepted and is being processed + asynchronously. + '422': + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + Error-10073: + value: + errors: + - status: '422' + code: '10073' + title: Unprocessable Entity + detail: Unprocessable entity. + summary: Unprocessable Entity + description: Unprocessable entity. + description: Unprocessable Entity + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/storage/buckets: + get: + operationId: list_buckets + description: List all buckets. + summary: List buckets + parameters: + - in: query + name: bucket + schema: + type: string + pattern: ^.*$ + description: Filter by bucket (exact match). + - in: query + name: created + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by creation date (exact match). + - in: query + name: created__gte + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by creation date (greater than or equal). + - in: query + name: created__lte + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by creation date (less than or equal). + - in: query + name: description + schema: + type: string + pattern: ^.*$ + description: Filter by description (case-insensitive, partial match). + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: last_editor + schema: + type: string + pattern: ^.*$ + description: Filter by last editor (case-insensitive, partial match). + - in: query + name: last_modified + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by last modified date (exact match). + - in: query + name: last_modified__gte + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by last modified date (greater than or equal). + - in: query + name: last_modified__lte + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by last modified date (less than or equal). + - in: query + name: name + schema: + type: string + pattern: ^.*$ + description: Filter by name (case-insensitive, partial match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + - in: query + name: status + schema: + type: string + pattern: ^.*$ + description: Filter by status (accepts comma-separated values). + - in: query + name: workloads_access + schema: + type: string + pattern: ^.*$ + description: Filter by workloads access (accepts comma-separated values). + tags: + - Storage - Buckets + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedBucketList' + description: List of buckets retrieved successfully. + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_bucket + description: Create a new bucket. + summary: Create a new bucket + tags: + - Storage - Buckets + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/BucketCreateRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/BucketCreateResponse' + description: Bucket created successfully. + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/BucketCreateResponse' + description: Bucket creation request accepted and is being processed. + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/storage/buckets/{bucket_name}: + get: + operationId: retrieve_bucket + description: Retrieve details from a specific bucket. + summary: Retrieve a bucket + parameters: + - in: path + name: bucket_name + schema: + type: string + pattern: ^.*$ + description: The name of the bucket + required: true + - $ref: '#/components/parameters/FieldsParam' + tags: + - Storage - Buckets + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/BucketCreateResponse' + description: Bucket details retrieved successfully. + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: update_bucket + description: Update bucket information (bucket name cannot be changed) + summary: Update bucket info + parameters: + - in: path + name: bucket_name + schema: + type: string + pattern: ^.*$ + description: The name of the bucket + required: true + tags: + - Storage - Buckets + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedBucketRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/BucketCreateResponse' + description: Bucket updated successfully. + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/BucketCreateResponse' + description: Bucket update request accepted and is being processed. + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_bucket + description: Delete a specific bucket. + summary: Delete a bucket + parameters: + - in: path + name: bucket_name + schema: + type: string + pattern: ^.*$ + description: The name of the bucket + required: true + tags: + - Storage - Buckets + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Bucket deleted successfully. + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Bucket deletion request accepted and is being processed. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/storage/credentials: + get: + operationId: list_credentials + description: List all credentials. + summary: List credentials + parameters: + - in: query + name: access_key + schema: + type: string + pattern: ^.*$ + description: Filter by access key (exact match). + - in: query + name: buckets + schema: + type: string + pattern: ^.*$ + description: Filter by bucket name (exact match). + - in: query + name: buckets__in + schema: + type: string + pattern: ^.*$ + description: Filter by multiple bucket names (comma-separated). + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - in: query + name: last_editor + schema: + type: string + pattern: ^.*$ + description: Filter by last editor (case-insensitive, partial match). + - in: query + name: last_modified + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by last modified date (exact match). + - in: query + name: last_modified__gte + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by last modified date (greater than or equal). + - in: query + name: last_modified__lte + schema: + type: string + format: date-time + pattern: ^.*$ + description: Filter by last modified date (less than or equal). + - in: query + name: name + schema: + type: string + pattern: ^.*$ + description: Filter by name (case-insensitive, partial match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + tags: + - Storage - Credentials + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedCredentialList' + description: List of credentials retrieved successfully. + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_credential + description: Create a new credential. + summary: Create a new credential + tags: + - Storage - Credentials + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CredentialCreateRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/CredentialResponse' + description: Credential created successfully. + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/CredentialResponse' + description: Credential creation request accepted and is being processed. + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/storage/credentials/{credential_id}: + get: + operationId: retrieve_credential + description: Retrieve details from a specific credential. + summary: Retrieve details from a credential + parameters: + - in: path + name: credential_id + schema: + type: integer + description: The unique identifier of the credential + required: true + - $ref: '#/components/parameters/FieldsParam' + tags: + - Storage - Credentials + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/CredentialResponse' + description: Credential details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_credential + description: Delete a specific credential. + summary: Delete a credential + parameters: + - in: path + name: credential_id + schema: + type: integer + description: The unique identifier of the credential + required: true + tags: + - Storage - Credentials + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Credential deleted successfully. + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Credential deletion request accepted and is being processed. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/storage/buckets/{bucket_name}/objects: + get: + operationId: list_objects + description: List objects from bucket + summary: List objects from bucket + parameters: + - in: query + name: all_levels + schema: + type: boolean + default: true + description: 'If true, lists objects recursively. If false, lists only the + first level using Delimiter=''/'' (default: true).' + - in: path + name: bucket_name + schema: + type: string + pattern: ^.*$ + description: The name of the bucket + required: true + - in: query + name: continuation_token + schema: + type: string + pattern: ^.*$ + description: A continuation token for the next page of records. + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: max_object_count + schema: + type: integer + description: Number of results to be returned on the page. Limited to 1000 + objects. + - in: query + name: prefix + schema: + type: string + default: '' + pattern: ^.*$ + description: 'Filter objects by key prefix. If empty, lists from the bucket + root (default: empty).' + tags: + - Storage - Objects + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/ResponseBucketObject' + description: List of bucket objects retrieved successfully. + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/storage/buckets/{bucket_name}/objects/{object_key}: + get: + operationId: download_object + description: Download the object key from bucket. + summary: Download object + parameters: + - in: path + name: bucket_name + schema: + type: string + pattern: ^.*$ + description: The name of the bucket + required: true + - $ref: '#/components/parameters/FieldsParam' + - in: path + name: object_key + schema: + type: string + pattern: ^.*$ + description: The key/path of the object within the bucket + required: true + tags: + - Storage - Objects + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/octet-stream: + schema: + type: string + format: binary + pattern: ^.*$ + description: Object downloaded successfully. + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_object_key + description: Create a new object key in the bucket. The object's Content-Type + is defined by the Content-Type header. If this header is not included, the + Content-Type will be automatically detected. + summary: Create new object key. + parameters: + - in: path + name: bucket_name + schema: + type: string + pattern: ^.*$ + description: The name of the bucket + required: true + - in: path + name: object_key + schema: + type: string + pattern: ^.*$ + description: The key/path of the object within the bucket + required: true + - in: header + name: Content-Type + schema: + type: string + description: The MIME type of the object being uploaded + required: false + tags: + - Storage - Objects + requestBody: + content: + application/octet-stream: + schema: + type: string + format: binary + pattern: ^.*$ + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/SuccessObjectOperation' + description: Object created successfully. + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/SuccessObjectOperationAsync' + description: Object creation request accepted and is being processed. + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_object_key + description: Update the object key from bucket. The object's Content-Type is + defined by the Content-Type header. If this header is not included, the Content-Type + will be automatically detected. + summary: Update the object key. + parameters: + - in: path + name: bucket_name + schema: + type: string + pattern: ^.*$ + description: The name of the bucket + required: true + - in: path + name: object_key + schema: + type: string + pattern: ^.*$ + description: The key/path of the object within the bucket + required: true + - in: header + name: Content-Type + schema: + type: string + description: The MIME type of the object being uploaded + required: false + tags: + - Storage - Objects + requestBody: + content: + application/octet-stream: + schema: + type: string + format: binary + pattern: ^.*$ + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/SuccessObjectOperation' + description: Object updated successfully. + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/SuccessObjectOperationAsync' + description: Object update request accepted and is being processed. + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_object_key + description: Upon a successful deletion request, the object will be permanentlydeleted + after a 24-hour grace period. + summary: Delete object key + parameters: + - in: path + name: bucket_name + schema: + type: string + pattern: ^.*$ + description: The name of the bucket + required: true + - in: path + name: object_key + schema: + type: string + pattern: ^.*$ + description: The key/path of the object within the bucket + required: true + tags: + - Storage - Objects + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Object deleted successfully. + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Object deletion request accepted and is being processed. + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/storage/buckets/{bucket_name}/objects/{object_key}/copy/{new_object_key}: + post: + operationId: copy_object_key + description: Copy an object to a new key within the same bucket. + summary: Copy object to new key + parameters: + - in: path + name: bucket_name + schema: + type: string + pattern: ^.*$ + description: The name of the bucket + required: true + - in: path + name: new_object_key + schema: + type: string + pattern: ^.*$ + description: The key/path of the destination object within the bucket + required: true + - in: path + name: object_key + schema: + type: string + pattern: ^.*$ + description: The key/path of the source object within the bucket + required: true + tags: + - Storage - Objects + requestBody: + content: + application/json: + schema: {} + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + description: Object copied successfully + description: '' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/wafs: + get: + operationId: list_wafs + description: List all WAFs owned by your account. + summary: List Web Application Firewalls (WAFs) + parameters: + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - in: query + name: name + schema: + type: string + description: Filter by name (case-insensitive, partial match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + tags: + - WAFs + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedWAFList' + description: List of WAFs retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_waf + description: Create a new WAF for your account. + summary: Create a Web Application Firewall (WAF) + tags: + - WAFs + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WAFRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/WAFResponse' + description: WAF created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/wafs/{waf_id}: + get: + operationId: retrieve_waf + description: Retrieve details from a specific WAF in your account. + summary: Retrieve details from a Web Application Firewall (WAF) + parameters: + - $ref: '#/components/parameters/FieldsParam' + - in: path + name: waf_id + schema: + type: integer + description: A unique integer value identifying the WAF. + required: true + tags: + - WAFs + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/WAFResponse' + description: WAF details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_waf + description: Update an existing WAF. This replaces the entire WAF with the new + data provided. + summary: Update a Web Application Firewall (WAF) + parameters: + - in: path + name: waf_id + schema: + type: integer + description: A unique integer value identifying the WAF. + required: true + tags: + - WAFs + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WAFRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/WAFResponse' + description: WAF updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_waf + description: Update one or more fields of an existing WAF without affecting + other fields. + summary: Partially update a Web Application Firewall (WAF) + parameters: + - in: path + name: waf_id + schema: + type: integer + description: A unique integer value identifying the WAF. + required: true + tags: + - WAFs + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedWAFRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/WAFResponse' + description: WAF partially updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_waf + description: Delete a specific WAF in your account. + summary: Delete a Web Application Firewall (WAF) + parameters: + - in: path + name: waf_id + schema: + type: integer + description: A unique integer value identifying the WAF. + required: true + tags: + - WAFs + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: WAF deleted successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/wafs/{waf_id}/clone: + post: + operationId: clone_waf + description: Create a new WAF by performing a deep copy of an existing WAF, + including its Exceptions. + summary: Clone a Web Application Firewall (WAF) + parameters: + - in: path + name: waf_id + schema: + type: integer + description: A unique integer value identifying the WAF. + required: true + tags: + - WAFs + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/CloneWAFRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/WAFResponse' + description: WAF cloned successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/wafs/{waf_id}/exceptions: + get: + operationId: list_waf_exceptions + description: List all Exceptions associated with a specific WAF owned by your + account. + summary: List Exceptions for a Web Application Firewall (WAF) + parameters: + - in: query + name: created_at__gte + schema: + type: string + format: date-time + description: Filter by creation date (greater than or equal). + - in: query + name: created_at__lte + schema: + type: string + format: date-time + description: Filter by creation date (less than or equal). + - in: query + name: description + schema: + type: string + description: Filter by description (case-insensitive, partial match). + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - in: query + name: last_editor + schema: + type: string + description: Filter by last editor (case-insensitive, partial match). + - in: query + name: last_modified__gte + schema: + type: string + format: date-time + description: Filter by last modified date (greater than or equal). + - in: query + name: last_modified__lte + schema: + type: string + format: date-time + description: Filter by last modified date (less than or equal). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - in: query + name: path + schema: + type: string + description: Filter by path (case-insensitive, partial match). + - $ref: '#/components/parameters/SearchParam' + - in: path + name: waf_id + schema: + type: integer + description: A unique integer value identifying the WAF. + required: true + tags: + - WAFs - Exceptions + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedWAFRuleList' + description: List of WAF rules retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_waf_exception + description: Create a new Exception for a specific WAF in your account. + summary: Create an Exception for a Web Application Firewall (WAF) + parameters: + - in: path + name: waf_id + schema: + type: integer + description: A unique integer value identifying the WAF. + required: true + tags: + - WAFs - Exceptions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WAFRuleRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/WAFRuleResponse' + description: WAF rule created successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/wafs/{waf_id}/exceptions/{exception_id}: + get: + operationId: retrieve_waf_exception + description: Retrieve details of a specific Exception from a WAF in your account. + summary: Retrieve details of an Exception from a Web Application Firewall (WAF) + parameters: + - in: path + name: exception_id + schema: + type: integer + description: A unique integer value identifying the WAF exception. + required: true + - $ref: '#/components/parameters/FieldsParam' + - in: path + name: waf_id + schema: + type: integer + description: A unique integer value identifying the WAF. + required: true + tags: + - WAFs - Exceptions + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/WAFRuleResponse' + description: WAF rule details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_waf_exception + description: Update an existing Exception for a WAF. This replaces the entire + rule with the new data provided. + summary: Update an Exception for a Web Application Firewall (WAF) + parameters: + - in: path + name: exception_id + schema: + type: integer + description: A unique integer value identifying the WAF exception. + required: true + - in: path + name: waf_id + schema: + type: integer + description: A unique integer value identifying the WAF. + required: true + tags: + - WAFs - Exceptions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WAFRuleRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/WAFRuleResponse' + description: WAF rule updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_waf_exception + description: Update one or more fields of an existing exception for a WAF without + affecting other fields. + summary: Partially update an Exception for a Web Application Firewall (WAF) + parameters: + - in: path + name: exception_id + schema: + type: integer + description: A unique integer value identifying the WAF exception. + required: true + - in: path + name: waf_id + schema: + type: integer + description: A unique integer value identifying the WAF. + required: true + tags: + - WAFs - Exceptions + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedWAFRuleRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/WAFRuleResponse' + description: WAF rule partially updated successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_waf_exception + description: Remove a specific Exception from a WAF in your account. + summary: Delete an Exception from a Web Application Firewall (WAF) + parameters: + - in: path + name: exception_id + schema: + type: integer + description: A unique integer value identifying the WAF exception. + required: true + - in: path + name: waf_id + schema: + type: integer + description: A unique integer value identifying the WAF. + required: true + tags: + - WAFs - Exceptions + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: WAF rule deleted successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/workloads/{workload_id}/deployments: + get: + operationId: list_workload_deployments + description: List all Workload Deployments related to your account's Workloads. + summary: List Workload Deployments + parameters: + - in: query + name: current + schema: + type: boolean + description: Filter by current status. + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + - in: query + name: tag + schema: + type: string + description: Filter by tag (case-insensitive, partial match). + - in: path + name: workload_id + schema: + type: integer + description: A unique integer value identifying the workload. + required: true + tags: + - Workload Deployments + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedWorkloadDeploymentList' + description: List of workload deployments retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_workload_deployment + description: Create a new Workload Deployment in your account. + summary: Create a Workload Deployment + parameters: + - in: path + name: workload_id + schema: + type: integer + description: A unique integer value identifying the workload. + required: true + tags: + - Workload Deployments + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WorkloadDeploymentRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/WorkloadDeploymentResponse' + description: Workload deployment created successfully. + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/WorkloadDeploymentResponse' + description: Workload deployment creation accepted and processing asynchronously. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/workloads/{workload_id}/deployments/{deployment_id}: + get: + operationId: retrieve_workload_deployment + description: Retrieve details of a specific Workload Deployment in your account. + summary: Retrieve details of a Workload Deployment + parameters: + - in: path + name: deployment_id + schema: + type: integer + description: A unique integer value identifying the deployment. + required: true + - $ref: '#/components/parameters/FieldsParam' + - in: path + name: workload_id + schema: + type: integer + description: A unique integer value identifying the workload. + required: true + tags: + - Workload Deployments + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/WorkloadDeploymentResponse' + description: Workload deployment details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_workload_deployment + description: Update an existing Workload Deployment. This replaces the entire + Workload Deployment with the new data provided. + summary: Update a Workload Deployment + parameters: + - in: path + name: deployment_id + schema: + type: integer + description: A unique integer value identifying the deployment. + required: true + - in: path + name: workload_id + schema: + type: integer + description: A unique integer value identifying the workload. + required: true + tags: + - Workload Deployments + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WorkloadDeploymentRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/WorkloadDeploymentResponse' + description: Workload deployment updated successfully. + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/WorkloadDeploymentResponse' + description: Workload deployment update accepted and processing asynchronously. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_workload_deployment + description: Update one or more fields of an existing Workload Deployment without + affecting other fields. + summary: Partially update a Workload Deployment + parameters: + - in: path + name: deployment_id + schema: + type: integer + description: A unique integer value identifying the deployment. + required: true + - in: path + name: workload_id + schema: + type: integer + description: A unique integer value identifying the workload. + required: true + tags: + - Workload Deployments + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedWorkloadDeploymentRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/WorkloadDeploymentResponse' + description: Workload deployment partially updated successfully. + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/WorkloadDeploymentResponse' + description: Workload deployment partial update accepted and processing + asynchronously. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_workload_deployment + description: Delete a specific Workload Deployment in your account. + summary: Delete a Workload Deployment + parameters: + - in: path + name: deployment_id + schema: + type: integer + description: A unique integer value identifying the deployment. + required: true + - in: path + name: workload_id + schema: + type: integer + description: A unique integer value identifying the workload. + required: true + tags: + - Workload Deployments + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Workload deployment deleted successfully. + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Workload deployment deletion accepted and processing asynchronously. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/workloads: + get: + operationId: list_workloads + description: List all Workloads owned by your account. + summary: List Workloads + parameters: + - in: query + name: active + schema: + type: boolean + description: Filter by active status. + - in: query + name: digital_certificate_id + schema: + type: integer + description: Filter by digital certificate id (accepts comma-separated values). + - $ref: '#/components/parameters/FieldsParam' + - in: query + name: id + schema: + type: integer + description: Filter by id (accepts comma-separated values). + - in: query + name: infrastructure + schema: + type: string + description: Filter by infrastructure (accepts comma-separated values). + - in: query + name: last_editor + schema: + type: string + description: Filter by last editor (case-insensitive, partial match). + - in: query + name: last_modified__gte + schema: + type: string + format: date-time + description: Filter by last modified date (greater than or equal). + - in: query + name: last_modified__lte + schema: + type: string + format: date-time + description: Filter by last modified date (less than or equal). + - in: query + name: map_name + schema: + type: string + description: Filter by map name (case-insensitive, partial match). + - in: query + name: mtls_trusted_ca_certificate_id + schema: + type: integer + description: Filter by mTLS trusted CA certificate id (accepts comma-separated + values). + - in: query + name: name + schema: + type: string + description: Filter by name (case-insensitive, partial match). + - $ref: '#/components/parameters/OrderingParam' + - $ref: '#/components/parameters/PageParam' + - $ref: '#/components/parameters/PageSizeParam' + - $ref: '#/components/parameters/SearchParam' + tags: + - Workloads + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/PaginatedWorkloadList' + description: List of workloads retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + post: + operationId: create_workload + description: Create a new Workload in your account. + summary: Create an Workload + tags: + - Workloads + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WorkloadRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '201': + content: + application/json: + schema: + $ref: '#/components/schemas/WorkloadResponse' + description: Workload created successfully. + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/WorkloadResponse' + description: Workload creation accepted and processing asynchronously. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + /workspace/workloads/{workload_id}: + get: + operationId: retrieve_workload + description: Retrieve details of a specific Workload in your account. + summary: Retrieve details of an Workload + parameters: + - $ref: '#/components/parameters/FieldsParam' + - in: path + name: workload_id + schema: + type: integer + description: A unique integer value identifying the workload. + required: true + tags: + - Workloads + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/WorkloadResponse' + description: Workload details retrieved successfully. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + put: + operationId: update_workload + description: Update an existing Workload. This replaces the entire Workload + with the new data provided. + summary: Update an Workload + parameters: + - in: path + name: workload_id + schema: + type: integer + description: A unique integer value identifying the workload. + required: true + tags: + - Workloads + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/WorkloadRequest' + required: true + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/WorkloadResponse' + description: Workload updated successfully. + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/WorkloadResponse' + description: Workload update accepted and processing asynchronously. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + patch: + operationId: partial_update_workload + description: Update one or more fields of an existing Workload without affecting + other fields. + summary: Partially update an Workload + parameters: + - in: path + name: workload_id + schema: + type: integer + description: A unique integer value identifying the workload. + required: true + tags: + - Workloads + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/PatchedWorkloadRequest' + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/WorkloadResponse' + description: Workload partially updated successfully. + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/WorkloadResponse' + description: Workload partial update accepted and processing asynchronously. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' + delete: + operationId: delete_workload + description: Delete a specific Workload in your account. + summary: Delete an Workload + parameters: + - in: path + name: workload_id + schema: + type: integer + description: A unique integer value identifying the workload. + required: true + tags: + - Workloads + security: + - TokenAuth: [] + - BearerAuth: [] + responses: + '200': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Workload deleted successfully. + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/DeleteResponse' + description: Workload deletion accepted and processing asynchronously. + '401': + $ref: '#/components/responses/Unauthorized' + '403': + $ref: '#/components/responses/Forbidden' + '400': + $ref: '#/components/responses/BadRequest' + '404': + $ref: '#/components/responses/NotFound' + '405': + $ref: '#/components/responses/MethodNotAllowed' + '406': + $ref: '#/components/responses/NotAcceptable' + '429': + $ref: '#/components/responses/TooManyRequests' + '500': + $ref: '#/components/responses/InternalServerError' +components: + schemas: + DeleteResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + title: DeleteResponse + additionalProperties: false + LockoutPolicy: + type: object + properties: + active: + type: boolean + max_attempts: + type: integer + maximum: 100 + minimum: 1 + description: Maximum number of failed login attempts before lockout + blocking_period: + type: integer + maximum: 1440 + minimum: 1 + description: Blocking period in minutes + required: + - active + - blocking_period + - max_attempts + LockoutPolicyRequest: + type: object + properties: + active: + type: boolean + max_attempts: + type: integer + maximum: 100 + minimum: 1 + description: Maximum number of failed login attempts before lockout + blocking_period: + type: integer + maximum: 1440 + minimum: 1 + description: Blocking period in minutes + required: + - active + - blocking_period + - max_attempts + LockoutPolicyResponse: + type: object + properties: + data: + $ref: '#/components/schemas/LockoutPolicy' + required: + - data + LoginRequest: + type: object + properties: + email: + type: string + format: email + writeOnly: true + minLength: 1 + password: + type: string + writeOnly: true + minLength: 1 + maxLength: 128 + pattern: ^.+$ + description: User password + account_id: + type: integer + writeOnly: true + nullable: true + required: + - email + - password + LoginResponse: + oneOf: + - $ref: '#/components/schemas/TokenPair' + - $ref: '#/components/schemas/MFAToken' + discriminator: + propertyName: response_type + mapping: + TokenPair: '#/components/schemas/TokenPair' + MFAToken: '#/components/schemas/MFAToken' + additionalProperties: false + MFAToken: + type: object + description: 'Used when user has MFA enabled. Returns a temporary MFA token + that must be + + verified with a TOTP code before receiving full access tokens.' + properties: + access_token: + type: string + readOnly: true + description: 'The access_token is a short-lived token (e.g., 10 minutes) + used for API authentication in the Authorization: Bearer + header.' + two_factor_required: + type: boolean + readOnly: true + description: Specifies the type of two-factor authentication configured. + Currently supports 'TOTP' (Time-based One-Time Password). + two_factor_type: + type: string + readOnly: true + description: Indicates whether the user has an active TOTP device configured. + If false, the user must register a device before using MFA authentication. + has_active_device: + type: boolean + readOnly: true + description: Indicates whether the user already has an active TOTP device + configured.If false, the user needs to set up a new device before using + MFA authentication. + response_type: + type: string + enum: + - MFAToken + description: Discriminator field for LoginResponse + required: + - access_token + - has_active_device + - two_factor_required + - two_factor_type + - response_type + PaginatedPolicyList: + type: object + properties: + count: + type: integer + minimum: 0 + maximum: 2147483647 + example: 123 + description: Total number of items + total_pages: + type: integer + minimum: 1 + maximum: 2147483647 + example: 10 + description: Total number of pages + page: + type: integer + minimum: 1 + maximum: 2147483647 + example: 1 + description: Current page number + page_size: + type: integer + minimum: 1 + maximum: 100 + example: 10 + description: Number of items per page + results: + type: array + items: + $ref: '#/components/schemas/Policy' + PatchedPolicyRequest: + type: object + properties: + name: + type: string + minLength: 1 + pattern: .* + maxLength: 255 + active: + type: boolean + rules: + type: array + items: + $ref: '#/components/schemas/PolicyRuleRequest' + Policy: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + pattern: .* + maxLength: 255 + minLength: 1 + last_editor: + type: string + readOnly: true + pattern: .* + last_modified: + type: string + format: date-time + readOnly: true + active: + type: boolean + rules: + type: array + items: + $ref: '#/components/schemas/PolicyRule' + required: + - active + - id + - last_editor + - last_modified + - name + - rules + PolicyRequest: + type: object + properties: + name: + type: string + minLength: 1 + pattern: .* + maxLength: 255 + active: + type: boolean + rules: + type: array + items: + $ref: '#/components/schemas/PolicyRuleRequest' + required: + - active + - name + - rules + PolicyResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/Policy' + required: + - data + PolicyRule: + type: object + properties: + name: + type: string + pattern: .* + maxLength: 255 + minLength: 1 + effect: + enum: + - allow + - deny + type: string + description: '* `allow` - allow + + * `deny` - deny' + x-extensible-enum: + - allow + - deny + resource: + type: string + description: Resource pattern (regex supported) + maxLength: 500 + minLength: 1 + pattern: ^.+$ + actions: + type: array + items: + type: string + condition: + $ref: '#/components/schemas/PolicyRuleCondition' + required: + - actions + - condition + - effect + - name + - resource + PolicyRuleCondition: + type: object + properties: + ip_address: + type: array + items: + type: string + minItems: 1 + required: + - ip_address + PolicyRuleConditionRequest: + type: object + properties: + ip_address: + type: array + items: + type: string + minLength: 1 + minItems: 1 + required: + - ip_address + PolicyRuleRequest: + type: object + properties: + name: + type: string + minLength: 1 + pattern: .* + maxLength: 255 + effect: + enum: + - allow + - deny + type: string + description: '* `allow` - allow + + * `deny` - deny' + x-extensible-enum: + - allow + - deny + resource: + type: string + minLength: 1 + description: Resource pattern (regex supported) + maxLength: 500 + pattern: ^.+$ + actions: + type: array + items: + type: string + minLength: 1 + condition: + $ref: '#/components/schemas/PolicyRuleConditionRequest' + required: + - actions + - condition + - effect + - name + - resource + ResponseLogin: + type: object + properties: + data: + $ref: '#/components/schemas/LoginResponse' + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + required: + - data + SessionTimeoutPolicy: + type: object + properties: + max_idle_time: + type: integer + maximum: 1440 + minimum: 1 + max_session_time: + type: integer + maximum: 21600 + minimum: 5 + required: + - max_idle_time + - max_session_time + SessionTimeoutPolicyRequest: + type: object + properties: + max_idle_time: + type: integer + maximum: 1440 + minimum: 1 + max_session_time: + type: integer + maximum: 21600 + minimum: 5 + required: + - max_idle_time + - max_session_time + SessionTimeoutPolicyResponse: + type: object + properties: + data: + $ref: '#/components/schemas/SessionTimeoutPolicy' + required: + - data + StateExecutedResponse: + type: object + properties: + state: + type: string + default: executed + description: State of the operation (lowercase with underscores) + maxLength: 50 + minLength: 1 + pattern: ^[a-z_]+$ + TOTPDevice: + type: object + properties: + url: + type: string + readOnly: true + pattern: .* + maxLength: 255 + minLength: 0 + required: + - url + TOTPDeviceList: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + description: User's full name (alphanumeric, spaces, hyphens, dots) + maxLength: 255 + minLength: 1 + pattern: ^[\w\s\-\.]+$ + email: + type: string + format: email + description: User's email address + maxLength: 255 + minLength: 5 + confirmed: + type: boolean + description: Is this device ready for use? + user_id: + type: integer + description: The user that this device belongs to. + readOnly: true + required: + - email + - id + - name + - user_id + TOTPDeviceResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/TOTPDevice' + required: + - data + TOTPVerificationRequest: + type: object + description: 'Serializer for TOTP verification process. + + + Handles the verification of TOTP codes for MFA-enabled users. + + On successful verification, returns access and refresh tokens.' + properties: + code: + type: string + writeOnly: true + minLength: 6 + maxLength: 6 + pattern: ^\d{6}$ + description: 6-digit TOTP code + required: + - code + Token: + type: object + properties: + access_token: + type: string + readOnly: true + pattern: .* + maxLength: 255 + minLength: 0 + required: + - access_token + TokenPair: + type: object + description: 'Used when user does not have MFA enabled or after successful MFA + verification. + + Returns both access and refresh tokens for API authentication.' + properties: + access_token: + type: string + readOnly: true + description: 'The access_token is a short-lived token (e.g., 10 minutes) + used for API authentication in the Authorization: Bearer + header.' + refresh_token: + type: string + readOnly: true + description: A long-lived JWT token used to refresh the access_token without + requiring the user to authenticate again. + response_type: + type: string + enum: + - TokenPair + description: Discriminator field for LoginResponse + required: + - access_token + - refresh_token + - response_type + TokenPairResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/TokenPair' + required: + - data + TokenRequest: + type: object + properties: + account_id: + type: integer + writeOnly: true + nullable: true + TokenResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/Token' + required: + - data + UserLoginMethodResponse: + type: object + properties: + method: + type: string + minLength: 1 + maxLength: 50 + pattern: ^[a-z_]+$ + description: Login method type (lowercase with underscores) + url: + type: string + format: uri + required: + - method + - url + PaginatedTOTPDeviceList: + type: object + properties: + count: + type: integer + minimum: 0 + maximum: 2147483647 + example: 123 + description: Total number of items + total_pages: + type: integer + minimum: 1 + maximum: 2147483647 + example: 10 + description: Total number of pages + page: + type: integer + minimum: 1 + maximum: 2147483647 + example: 1 + description: Current page number + page_size: + type: integer + minimum: 1 + maximum: 100 + example: 10 + description: Number of items per page + results: + type: array + items: + $ref: '#/components/schemas/TOTPDeviceList' + AWSKinesisFirehoseEndpoint: + type: object + properties: + access_key: + type: string + maxLength: 150 + minLength: 1 + pattern: ^.*$ + stream_name: + type: string + maxLength: 64 + minLength: 1 + pattern: ^.*$ + region: + type: string + maxLength: 50 + minLength: 1 + pattern: ^.*$ + secret_key: + type: string + maxLength: 150 + minLength: 1 + pattern: ^.*$ + type: + type: string + enum: + - aws_kinesis_firehose + description: Type identifier for this endpoint (aws_kinesis_firehose) + pattern: ^.*$ + x-extensible-enum: + - aws_kinesis_firehose + required: + - type + - access_key + - region + - secret_key + - stream_name + title: AWSKinesisFirehoseEndpoint + additionalProperties: false + AWSKinesisFirehoseEndpointRequest: + type: object + properties: + access_key: + type: string + minLength: 1 + maxLength: 150 + pattern: ^.*$ + stream_name: + type: string + minLength: 1 + maxLength: 64 + pattern: ^.*$ + region: + type: string + minLength: 1 + maxLength: 50 + pattern: ^.*$ + secret_key: + type: string + minLength: 1 + maxLength: 150 + pattern: ^.*$ + type: + type: string + enum: + - aws_kinesis_firehose + description: Type identifier for this endpoint (aws_kinesis_firehose) + pattern: ^.*$ + x-extensible-enum: + - aws_kinesis_firehose + required: + - type + - access_key + - region + - secret_key + - stream_name + title: AWSKinesisFirehoseEndpointRequest + additionalProperties: false + AzureBlobStorageEndpoint: + type: object + properties: + storage_account: + type: string + maxLength: 100 + minLength: 1 + pattern: ^.*$ + container_name: + type: string + maxLength: 150 + minLength: 1 + pattern: ^.*$ + blob_sas_token: + type: string + maxLength: 250 + minLength: 1 + pattern: ^.*$ + type: + type: string + enum: + - azure_blob_storage + description: Type identifier for this endpoint (azure_blob_storage) + pattern: ^.*$ + x-extensible-enum: + - azure_blob_storage + required: + - type + - blob_sas_token + - container_name + - storage_account + title: AzureBlobStorageEndpoint + additionalProperties: false + AzureBlobStorageEndpointRequest: + type: object + properties: + storage_account: + type: string + minLength: 1 + maxLength: 100 + pattern: ^.*$ + container_name: + type: string + minLength: 1 + maxLength: 150 + pattern: ^.*$ + blob_sas_token: + type: string + minLength: 1 + maxLength: 250 + pattern: ^.*$ + type: + type: string + enum: + - azure_blob_storage + description: Type identifier for this endpoint (azure_blob_storage) + pattern: ^.*$ + x-extensible-enum: + - azure_blob_storage + required: + - type + - blob_sas_token + - container_name + - storage_account + title: AzureBlobStorageEndpointRequest + additionalProperties: false + AzureMonitorEndpoint: + type: object + properties: + log_type: + type: string + maxLength: 100 + minLength: 1 + pattern: ^.*$ + shared_key: + type: string + maxLength: 150 + minLength: 1 + pattern: ^.*$ + time_generated_field: + type: string + nullable: true + maxLength: 50 + minLength: 1 + pattern: ^.*$ + workspace_id: + type: string + maxLength: 150 + minLength: 1 + pattern: ^.*$ + type: + type: string + enum: + - azure_monitor + description: Type identifier for this endpoint (azure_monitor) + pattern: ^.*$ + x-extensible-enum: + - azure_monitor + required: + - type + - log_type + - shared_key + - workspace_id + title: AzureMonitorEndpoint + additionalProperties: false + AzureMonitorEndpointRequest: + type: object + properties: + log_type: + type: string + minLength: 1 + maxLength: 100 + pattern: ^.*$ + shared_key: + type: string + minLength: 1 + maxLength: 150 + pattern: ^.*$ + time_generated_field: + type: string + nullable: true + minLength: 1 + maxLength: 50 + pattern: ^.*$ + workspace_id: + type: string + minLength: 1 + maxLength: 150 + pattern: ^.*$ + type: + type: string + enum: + - azure_monitor + description: Type identifier for this endpoint (azure_monitor) + pattern: ^.*$ + x-extensible-enum: + - azure_monitor + required: + - type + - log_type + - shared_key + - workspace_id + title: AzureMonitorEndpointRequest + additionalProperties: false + BigQueryEndpoint: + type: object + properties: + dataset_id: + type: string + maxLength: 1024 + minLength: 1 + pattern: ^.*$ + project_id: + type: string + maxLength: 100 + minLength: 1 + pattern: ^.*$ + table_id: + type: string + maxLength: 1024 + minLength: 1 + pattern: ^.*$ + service_account_key: + type: string + maxLength: 65535 + minLength: 1 + pattern: ^.*$ + type: + type: string + enum: + - big_query + description: Type identifier for this endpoint (big_query) + pattern: ^.*$ + x-extensible-enum: + - big_query + required: + - type + - dataset_id + - project_id + - service_account_key + - table_id + title: BigQueryEndpoint + additionalProperties: false + BigQueryEndpointRequest: + type: object + properties: + dataset_id: + type: string + minLength: 1 + maxLength: 1024 + pattern: ^.*$ + project_id: + type: string + minLength: 1 + maxLength: 100 + pattern: ^.*$ + table_id: + type: string + minLength: 1 + maxLength: 1024 + pattern: ^.*$ + service_account_key: + type: string + minLength: 1 + maxLength: 65535 + pattern: ^.*$ + type: + type: string + enum: + - big_query + description: Type identifier for this endpoint (big_query) + pattern: ^.*$ + x-extensible-enum: + - big_query + required: + - type + - dataset_id + - project_id + - service_account_key + - table_id + title: BigQueryEndpointRequest + additionalProperties: false + ContentTypeEnum: + enum: + - plain/text + - application/gzip + type: string + description: '* `plain/text` - plain/text + + * `application/gzip` - application/gzip' + title: ContentTypeEnum + x-extensible-enum: + - plain/text + - application/gzip + DataSource: + type: object + properties: + slug: + type: string + readOnly: true + pattern: ^[-a-zA-Z0-9_]+$ + name: + type: string + readOnly: true + title: DataSource Name + pattern: ^.*$ + active: + type: boolean + readOnly: true + title: Is Active + required: + - active + - name + - slug + title: DataSource + additionalProperties: false + DataSourceEnum: + enum: + - http + - waf + - functions + - activity + type: string + description: '* `http` - Applications + + * `waf` - WAF Events + + * `functions` - Functions + + * `activity` - Activity History' + title: DataSourceEnum + x-extensible-enum: + - http + - waf + - functions + - activity + DataStream: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + pattern: .* + maxLength: 100 + minLength: 1 + last_editor: + type: string + readOnly: true + pattern: .* + maxLength: 100 + minLength: 1 + last_modified: + type: string + format: date-time + readOnly: true + pattern: ^.*$ + product_version: + type: string + readOnly: true + pattern: .* + maxLength: 50 + minLength: 1 + active: + type: boolean + default: true + inputs: + type: array + items: + $ref: '#/components/schemas/Input' + transform: + type: array + items: + $ref: '#/components/schemas/Transform' + outputs: + type: array + items: + $ref: '#/components/schemas/Output' + required: + - id + - inputs + - last_editor + - last_modified + - name + - outputs + - product_version + - transform + title: DataStream + additionalProperties: false + DataStreamRequest: + type: object + properties: + name: + type: string + minLength: 1 + pattern: .* + maxLength: 100 + active: + type: boolean + default: true + inputs: + type: array + items: + $ref: '#/components/schemas/InputRequest' + transform: + type: array + items: + $ref: '#/components/schemas/TransformRequest' + outputs: + type: array + items: + $ref: '#/components/schemas/OutputRequest' + required: + - inputs + - name + - outputs + - transform + title: DataStreamRequest + additionalProperties: false + DataStreamResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/DataStream' + required: + - data + title: DataStreamResponse + additionalProperties: false + DatadogEndpoint: + type: object + properties: + url: + type: string + format: uri + pattern: ^.*$ + api_key: + type: string + maxLength: 255 + minLength: 1 + pattern: ^.*$ + type: + type: string + enum: + - datadog + description: Type identifier for this endpoint (datadog) + pattern: ^.*$ + x-extensible-enum: + - datadog + required: + - type + - api_key + - url + title: DatadogEndpoint + additionalProperties: false + DatadogEndpointRequest: + type: object + properties: + url: + type: string + format: uri + minLength: 1 + pattern: ^.*$ + api_key: + type: string + minLength: 1 + maxLength: 255 + pattern: ^.*$ + type: + type: string + enum: + - datadog + description: Type identifier for this endpoint (datadog) + pattern: ^.*$ + x-extensible-enum: + - datadog + required: + - type + - api_key + - url + title: DatadogEndpointRequest + additionalProperties: false + ElasticsearchEndpoint: + type: object + properties: + url: + type: string + format: uri + pattern: ^.*$ + api_key: + type: string + maxLength: 255 + minLength: 1 + pattern: ^.*$ + type: + type: string + enum: + - elasticsearch + description: Type identifier for this endpoint (elasticsearch) + pattern: ^.*$ + x-extensible-enum: + - elasticsearch + required: + - type + - api_key + - url + title: ElasticsearchEndpoint + additionalProperties: false + ElasticsearchEndpointRequest: + type: object + properties: + url: + type: string + format: uri + minLength: 1 + pattern: ^.*$ + api_key: + type: string + minLength: 1 + maxLength: 255 + pattern: ^.*$ + type: + type: string + enum: + - elasticsearch + description: Type identifier for this endpoint (elasticsearch) + pattern: ^.*$ + x-extensible-enum: + - elasticsearch + required: + - type + - api_key + - url + title: ElasticsearchEndpointRequest + additionalProperties: false + HttpPostEndpoint: + type: object + properties: + url: + type: string + format: uri + pattern: ^.*$ + log_line_separator: + type: string + maxLength: 100 + minLength: 1 + pattern: ^.*$ + payload_format: + type: string + maxLength: 250 + minLength: 1 + pattern: ^.*$ + max_size: + type: integer + maximum: 2147483647 + minimum: 1000000 + nullable: true + headers: + type: object + additionalProperties: + type: string + pattern: .* + maxLength: 1024 + minLength: 1 + type: + type: string + enum: + - standard + description: Type identifier for this endpoint (standard) + pattern: ^.*$ + x-extensible-enum: + - standard + required: + - type + - headers + - url + title: HttpPostEndpoint + additionalProperties: false + HttpPostEndpointRequest: + type: object + properties: + url: + type: string + format: uri + minLength: 1 + pattern: ^.*$ + log_line_separator: + type: string + maxLength: 100 + minLength: 1 + pattern: ^.*$ + payload_format: + type: string + minLength: 1 + maxLength: 250 + pattern: ^.*$ + max_size: + type: integer + maximum: 2147483647 + minimum: 1000000 + nullable: true + headers: + type: object + additionalProperties: + type: string + minLength: 1 + pattern: .* + maxLength: 1024 + type: + type: string + enum: + - standard + description: Type identifier for this endpoint (standard) + pattern: ^.*$ + x-extensible-enum: + - standard + required: + - type + - headers + - url + title: HttpPostEndpointRequest + additionalProperties: false + InputDataSource: + type: object + properties: + data_source: + $ref: '#/components/schemas/DataSourceEnum' + required: + - data_source + title: InputDataSource + additionalProperties: false + InputDataSourceAttributes: + type: object + properties: + type: + $ref: '#/components/schemas/InputDataSourceAttributesTypeEnum' + attributes: + $ref: '#/components/schemas/InputDataSource' + required: + - attributes + - type + title: InputDataSourceAttributes + additionalProperties: true + InputDataSourceAttributesRequest: + type: object + properties: + type: + $ref: '#/components/schemas/InputDataSourceAttributesTypeEnum' + attributes: + $ref: '#/components/schemas/InputDataSourceRequest' + required: + - attributes + - type + title: InputDataSourceAttributesRequest + additionalProperties: true + InputDataSourceAttributesTypeEnum: + enum: + - raw_logs + type: string + description: '* `raw_logs` - Raw Logs' + title: InputDataSourceAttributesTypeEnum + x-extensible-enum: + - raw_logs + InputDataSourceRequest: + type: object + properties: + data_source: + $ref: '#/components/schemas/DataSourceEnum' + required: + - data_source + title: InputDataSourceRequest + additionalProperties: false + KafkaEndpoint: + type: object + properties: + bootstrap_servers: + type: string + maxLength: 150 + minLength: 1 + pattern: ^.*$ + kafka_topic: + type: string + maxLength: 150 + minLength: 1 + pattern: ^.*$ + use_tls: + type: boolean + type: + type: string + enum: + - kafka + description: Type identifier for this endpoint (kafka) + pattern: ^.*$ + x-extensible-enum: + - kafka + required: + - type + - bootstrap_servers + - kafka_topic + - use_tls + title: KafkaEndpoint + additionalProperties: false + KafkaEndpointRequest: + type: object + properties: + bootstrap_servers: + type: string + minLength: 1 + maxLength: 150 + pattern: ^.*$ + kafka_topic: + type: string + minLength: 1 + maxLength: 150 + pattern: ^.*$ + use_tls: + type: boolean + type: + type: string + enum: + - kafka + description: Type identifier for this endpoint (kafka) + pattern: ^.*$ + x-extensible-enum: + - kafka + required: + - type + - bootstrap_servers + - kafka_topic + - use_tls + title: KafkaEndpointRequest + additionalProperties: false + Output: + type: object + properties: + type: + $ref: '#/components/schemas/OutputTypeEnum' + attributes: + $ref: '#/components/schemas/Output2' + required: + - attributes + - type + title: Output + additionalProperties: false + OutputRequest: + type: object + properties: + type: + $ref: '#/components/schemas/OutputTypeEnum' + attributes: + $ref: '#/components/schemas/OutputRequest2' + required: + - attributes + - type + title: OutputRequest + additionalProperties: false + OutputTypeEnum: + enum: + - standard + - kafka + - s3 + - big_query + - elasticsearch + - splunk + - aws_kinesis_firehose + - datadog + - qradar + - azure_monitor + - azure_blob_storage + type: string + description: '* `standard` - Standard HTTP/HTTPS POST + + * `kafka` - Apache Kafka + + * `s3` - Simple Storage Service (S3) + + * `big_query` - Google BigQuery + + * `elasticsearch` - Elasticsearch + + * `splunk` - Splunk + + * `aws_kinesis_firehose` - AWS Kinesis Data Firehose + + * `datadog` - Datadog + + * `qradar` - IBM QRadar + + * `azure_monitor` - Azure Monitor + + * `azure_blob_storage` - Azure Blob Storage' + title: OutputTypeEnum + x-extensible-enum: + - standard + - kafka + - s3 + - big_query + - elasticsearch + - splunk + - aws_kinesis_firehose + - datadog + - qradar + - azure_monitor + - azure_blob_storage + PaginatedDataSourceList: + type: object + properties: + count: + type: integer + minimum: 0 + maximum: 2147483647 + example: 123 + description: Total number of items + total_pages: + type: integer + minimum: 1 + maximum: 2147483647 + example: 10 + description: Total number of pages + page: + type: integer + minimum: 1 + maximum: 2147483647 + example: 1 + description: Current page number + page_size: + type: integer + minimum: 1 + maximum: 100 + example: 10 + description: Number of items per page + results: + type: array + items: + $ref: '#/components/schemas/DataSource' + title: PaginatedDataSourceList + additionalProperties: false + PaginatedDataStreamList: + type: object + properties: + count: + type: integer + minimum: 0 + maximum: 2147483647 + example: 123 + description: Total number of items + total_pages: + type: integer + minimum: 1 + maximum: 2147483647 + example: 10 + description: Total number of pages + page: + type: integer + minimum: 1 + maximum: 2147483647 + example: 1 + description: Current page number + page_size: + type: integer + minimum: 1 + maximum: 100 + example: 10 + description: Number of items per page + results: + type: array + items: + $ref: '#/components/schemas/DataStream' + title: PaginatedDataStreamList + additionalProperties: false + PaginatedTemplateList: + type: object + properties: + count: + type: integer + minimum: 0 + maximum: 2147483647 + example: 123 + description: Total number of items + total_pages: + type: integer + minimum: 1 + maximum: 2147483647 + example: 10 + description: Total number of pages + page: + type: integer + minimum: 1 + maximum: 2147483647 + example: 1 + description: Current page number + page_size: + type: integer + minimum: 1 + maximum: 100 + example: 10 + description: Number of items per page + results: + type: array + items: + $ref: '#/components/schemas/Template' + title: PaginatedTemplateList + additionalProperties: false + PatchedDataStreamRequest: + type: object + properties: + name: + type: string + minLength: 1 + pattern: .* + maxLength: 100 + active: + type: boolean + default: true + inputs: + type: array + items: + $ref: '#/components/schemas/InputRequest' + transform: + type: array + items: + $ref: '#/components/schemas/TransformRequest' + title: PatchedDataStreamRequest + additionalProperties: false + PatchedTemplateRequest: + type: object + properties: + name: + type: string + minLength: 1 + pattern: .* + maxLength: 100 + active: + type: boolean + default: true + data_set: + type: string + minLength: 1 + pattern: .* + maxLength: 65535 + title: PatchedTemplateRequest + additionalProperties: false + QRadarEndpoint: + type: object + properties: + url: + type: string + format: uri + pattern: ^.*$ + type: + type: string + enum: + - qradar + description: Type identifier for this endpoint (qradar) + pattern: ^.*$ + x-extensible-enum: + - qradar + required: + - type + - url + title: QRadarEndpoint + additionalProperties: false + QRadarEndpointRequest: + type: object + properties: + url: + type: string + format: uri + minLength: 1 + pattern: ^.*$ + type: + type: string + enum: + - qradar + description: Type identifier for this endpoint (qradar) + pattern: ^.*$ + x-extensible-enum: + - qradar + required: + - type + - url + title: QRadarEndpointRequest + additionalProperties: false + S3Endpoint: + type: object + properties: + access_key: + type: string + maxLength: 150 + minLength: 1 + pattern: ^.*$ + secret_key: + type: string + maxLength: 150 + minLength: 1 + pattern: ^.*$ + region: + type: string + maxLength: 50 + minLength: 1 + pattern: ^.*$ + object_key_prefix: + type: string + nullable: true + maxLength: 150 + minLength: 1 + pattern: ^.*$ + bucket_name: + type: string + maxLength: 150 + minLength: 1 + pattern: ^.*$ + content_type: + $ref: '#/components/schemas/ContentTypeEnum' + host_url: + type: string + format: uri + maxLength: 200 + pattern: ^.*$ + type: + type: string + enum: + - s3 + description: Type identifier for this endpoint (s3) + pattern: ^.*$ + x-extensible-enum: + - s3 + required: + - type + - access_key + - bucket_name + - content_type + - host_url + - region + - secret_key + title: S3Endpoint + additionalProperties: false + S3EndpointRequest: + type: object + properties: + access_key: + type: string + minLength: 1 + maxLength: 150 + pattern: ^.*$ + secret_key: + type: string + minLength: 1 + maxLength: 150 + pattern: ^.*$ + region: + type: string + minLength: 1 + maxLength: 50 + pattern: ^.*$ + object_key_prefix: + type: string + nullable: true + minLength: 1 + maxLength: 150 + pattern: ^.*$ + bucket_name: + type: string + minLength: 1 + maxLength: 150 + pattern: ^.*$ + content_type: + $ref: '#/components/schemas/ContentTypeEnum' + host_url: + type: string + format: uri + minLength: 1 + maxLength: 200 + pattern: ^.*$ + type: + type: string + enum: + - s3 + description: Type identifier for this endpoint (s3) + pattern: ^.*$ + x-extensible-enum: + - s3 + required: + - type + - access_key + - bucket_name + - content_type + - host_url + - region + - secret_key + title: S3EndpointRequest + additionalProperties: false + SplunkEndpoint: + type: object + properties: + url: + type: string + format: uri + pattern: ^.*$ + api_key: + type: string + maxLength: 255 + minLength: 1 + pattern: ^.*$ + type: + type: string + enum: + - splunk + description: Type identifier for this endpoint (splunk) + pattern: ^.*$ + x-extensible-enum: + - splunk + required: + - type + - api_key + - url + title: SplunkEndpoint + additionalProperties: false + SplunkEndpointRequest: + type: object + properties: + url: + type: string + format: uri + minLength: 1 + pattern: ^.*$ + api_key: + type: string + minLength: 1 + maxLength: 255 + pattern: ^.*$ + type: + type: string + enum: + - splunk + description: Type identifier for this endpoint (splunk) + pattern: ^.*$ + x-extensible-enum: + - splunk + required: + - type + - api_key + - url + title: SplunkEndpointRequest + additionalProperties: false + Template: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + pattern: .* + maxLength: 100 + minLength: 1 + last_editor: + type: string + readOnly: true + pattern: .* + maxLength: 100 + minLength: 1 + last_modified: + type: string + format: date-time + readOnly: true + pattern: ^.*$ + custom: + type: boolean + readOnly: true + active: + type: boolean + default: true + data_set: + type: string + pattern: .* + maxLength: 65535 + minLength: 1 + required: + - custom + - data_set + - id + - last_editor + - last_modified + - name + title: Template + additionalProperties: false + TemplateRequest: + type: object + properties: + name: + type: string + minLength: 1 + pattern: .* + maxLength: 100 + active: + type: boolean + default: true + data_set: + type: string + minLength: 1 + pattern: .* + maxLength: 65535 + required: + - data_set + - name + title: TemplateRequest + additionalProperties: false + TemplateResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/Template' + required: + - data + title: TemplateResponse + additionalProperties: false + TransformFilterWorkloads: + type: object + description: Serializer for filter_workloads transform attributes. + properties: + workloads: + type: array + items: + type: integer + minimum: 1 + maxItems: 600 + minItems: 1 + required: + - workloads + title: TransformFilterWorkloads + additionalProperties: false + TransformFilterWorkloadsAttributes: + type: object + properties: + type: + $ref: '#/components/schemas/TransformFilterWorkloadsAttributesTypeEnum' + attributes: + $ref: '#/components/schemas/TransformFilterWorkloads' + required: + - attributes + - type + title: TransformFilterWorkloadsAttributes + additionalProperties: true + TransformFilterWorkloadsAttributesRequest: + type: object + properties: + type: + $ref: '#/components/schemas/TransformFilterWorkloadsAttributesTypeEnum' + attributes: + $ref: '#/components/schemas/TransformFilterWorkloadsRequest' + required: + - attributes + - type + title: TransformFilterWorkloadsAttributesRequest + additionalProperties: true + TransformFilterWorkloadsAttributesTypeEnum: + enum: + - filter_workloads + type: string + description: '* `filter_workloads` - Filter Workloads' + title: TransformFilterWorkloadsAttributesTypeEnum + x-extensible-enum: + - filter_workloads + TransformFilterWorkloadsRequest: + type: object + description: Serializer for filter_workloads transform attributes. + properties: + workloads: + type: array + items: + type: integer + minimum: 1 + maxItems: 600 + minItems: 1 + required: + - workloads + title: TransformFilterWorkloadsRequest + additionalProperties: false + TransformRenderTemplate: + type: object + description: Serializer for render_template transform attributes. + properties: + template: + type: integer + maximum: 2147483647 + minimum: 1 + required: + - template + title: TransformRenderTemplate + additionalProperties: false + TransformRenderTemplateAttributes: + type: object + properties: + type: + $ref: '#/components/schemas/TransformRenderTemplateAttributesTypeEnum' + attributes: + $ref: '#/components/schemas/TransformRenderTemplate' + required: + - attributes + - type + title: TransformRenderTemplateAttributes + additionalProperties: true + TransformRenderTemplateAttributesRequest: + type: object + properties: + type: + $ref: '#/components/schemas/TransformRenderTemplateAttributesTypeEnum' + attributes: + $ref: '#/components/schemas/TransformRenderTemplateRequest' + required: + - attributes + - type + title: TransformRenderTemplateAttributesRequest + additionalProperties: true + TransformRenderTemplateAttributesTypeEnum: + enum: + - render_template + type: string + description: '* `render_template` - Render Template' + title: TransformRenderTemplateAttributesTypeEnum + x-extensible-enum: + - render_template + TransformRenderTemplateRequest: + type: object + description: Serializer for render_template transform attributes. + properties: + template: + type: integer + maximum: 2147483647 + minimum: 1 + required: + - template + title: TransformRenderTemplateRequest + additionalProperties: false + TransformSampling: + type: object + description: Serializer for sampling transform attributes. + properties: + rate: + type: integer + maximum: 100 + minimum: 1 + required: + - rate + title: TransformSampling + additionalProperties: false + TransformSamplingAttributes: + type: object + properties: + type: + $ref: '#/components/schemas/TransformSamplingAttributesTypeEnum' + attributes: + $ref: '#/components/schemas/TransformSampling' + required: + - attributes + - type + title: TransformSamplingAttributes + additionalProperties: true + TransformSamplingAttributesRequest: + type: object + properties: + type: + $ref: '#/components/schemas/TransformSamplingAttributesTypeEnum' + attributes: + $ref: '#/components/schemas/TransformSamplingRequest' + required: + - attributes + - type + title: TransformSamplingAttributesRequest + additionalProperties: true + TransformSamplingAttributesTypeEnum: + enum: + - sampling + type: string + description: '* `sampling` - Sampling' + title: TransformSamplingAttributesTypeEnum + x-extensible-enum: + - sampling + TransformSamplingRequest: + type: object + description: Serializer for sampling transform attributes. + properties: + rate: + type: integer + maximum: 100 + minimum: 1 + required: + - rate + title: TransformSamplingRequest + additionalProperties: false + Input: + oneOf: + - $ref: '#/components/schemas/InputInputDataSourceAttributes' + discriminator: + propertyName: type + mapping: + raw_logs: '#/components/schemas/InputInputDataSourceAttributes' + title: Input + additionalProperties: false + InputInputDataSourceAttributes: + allOf: + - $ref: '#/components/schemas/InputShared' + - $ref: '#/components/schemas/InputDataSourceAttributes' + title: InputInputDataSourceAttributes + additionalProperties: true + properties: + type: + type: string + enum: + - raw_logs + description: Type identifier for this endpoint (raw_logs) + pattern: ^.*$ + x-extensible-enum: + - raw_logs + required: + - type + InputInputDataSourceAttributesRequest: + allOf: + - $ref: '#/components/schemas/InputShared' + - $ref: '#/components/schemas/InputDataSourceAttributesRequest' + title: InputInputDataSourceAttributesRequest + additionalProperties: true + properties: + type: + type: string + enum: + - raw_logs + description: Type identifier for this endpoint (raw_logs) + pattern: ^.*$ + x-extensible-enum: + - raw_logs + required: + - type + InputRequest: + oneOf: + - $ref: '#/components/schemas/InputInputDataSourceAttributesRequest' + discriminator: + propertyName: type + mapping: + raw_logs: '#/components/schemas/InputInputDataSourceAttributesRequest' + title: InputRequest + additionalProperties: false + InputShared: + type: object + properties: + type: + type: string + pattern: ^.*$ + minLength: 1 + maxLength: 255 + required: + - type + title: InputShared + additionalProperties: true + Output2: + oneOf: + - $ref: '#/components/schemas/HttpPostEndpoint' + - $ref: '#/components/schemas/KafkaEndpoint' + - $ref: '#/components/schemas/S3Endpoint' + - $ref: '#/components/schemas/BigQueryEndpoint' + - $ref: '#/components/schemas/ElasticsearchEndpoint' + - $ref: '#/components/schemas/AWSKinesisFirehoseEndpoint' + - $ref: '#/components/schemas/DatadogEndpoint' + - $ref: '#/components/schemas/QRadarEndpoint' + - $ref: '#/components/schemas/AzureMonitorEndpoint' + - $ref: '#/components/schemas/AzureBlobStorageEndpoint' + - $ref: '#/components/schemas/SplunkEndpoint' + discriminator: + propertyName: type + mapping: + standard: '#/components/schemas/HttpPostEndpoint' + kafka: '#/components/schemas/KafkaEndpoint' + s3: '#/components/schemas/S3Endpoint' + big_query: '#/components/schemas/BigQueryEndpoint' + elasticsearch: '#/components/schemas/ElasticsearchEndpoint' + aws_kinesis_firehose: '#/components/schemas/AWSKinesisFirehoseEndpoint' + datadog: '#/components/schemas/DatadogEndpoint' + qradar: '#/components/schemas/QRadarEndpoint' + azure_monitor: '#/components/schemas/AzureMonitorEndpoint' + azure_blob_storage: '#/components/schemas/AzureBlobStorageEndpoint' + splunk: '#/components/schemas/SplunkEndpoint' + title: Output2 + additionalProperties: false + OutputRequest2: + oneOf: + - $ref: '#/components/schemas/HttpPostEndpointRequest' + - $ref: '#/components/schemas/KafkaEndpointRequest' + - $ref: '#/components/schemas/S3EndpointRequest' + - $ref: '#/components/schemas/BigQueryEndpointRequest' + - $ref: '#/components/schemas/ElasticsearchEndpointRequest' + - $ref: '#/components/schemas/AWSKinesisFirehoseEndpointRequest' + - $ref: '#/components/schemas/DatadogEndpointRequest' + - $ref: '#/components/schemas/QRadarEndpointRequest' + - $ref: '#/components/schemas/AzureMonitorEndpointRequest' + - $ref: '#/components/schemas/AzureBlobStorageEndpointRequest' + - $ref: '#/components/schemas/SplunkEndpointRequest' + discriminator: + propertyName: type + mapping: + standard: '#/components/schemas/HttpPostEndpointRequest' + kafka: '#/components/schemas/KafkaEndpointRequest' + s3: '#/components/schemas/S3EndpointRequest' + big_query: '#/components/schemas/BigQueryEndpointRequest' + elasticsearch: '#/components/schemas/ElasticsearchEndpointRequest' + aws_kinesis_firehose: '#/components/schemas/AWSKinesisFirehoseEndpointRequest' + datadog: '#/components/schemas/DatadogEndpointRequest' + qradar: '#/components/schemas/QRadarEndpointRequest' + azure_monitor: '#/components/schemas/AzureMonitorEndpointRequest' + azure_blob_storage: '#/components/schemas/AzureBlobStorageEndpointRequest' + splunk: '#/components/schemas/SplunkEndpointRequest' + title: OutputRequest2 + additionalProperties: false + Transform: + oneOf: + - $ref: '#/components/schemas/TransformTransformSamplingAttributes' + - $ref: '#/components/schemas/TransformTransformFilterWorkloadsAttributes' + - $ref: '#/components/schemas/TransformTransformRenderTemplateAttributes' + discriminator: + propertyName: type + mapping: + sampling: '#/components/schemas/TransformTransformSamplingAttributes' + filter_workloads: '#/components/schemas/TransformTransformFilterWorkloadsAttributes' + render_template: '#/components/schemas/TransformTransformRenderTemplateAttributes' + title: Transform + additionalProperties: false + TransformRequest: + oneOf: + - $ref: '#/components/schemas/TransformTransformSamplingAttributesRequest' + - $ref: '#/components/schemas/TransformTransformFilterWorkloadsAttributesRequest' + - $ref: '#/components/schemas/TransformTransformRenderTemplateAttributesRequest' + discriminator: + propertyName: type + mapping: + sampling: '#/components/schemas/TransformTransformSamplingAttributesRequest' + filter_workloads: '#/components/schemas/TransformTransformFilterWorkloadsAttributesRequest' + render_template: '#/components/schemas/TransformTransformRenderTemplateAttributesRequest' + title: TransformRequest + additionalProperties: false + TransformShared: + type: object + properties: + type: + type: string + pattern: ^.*$ + minLength: 1 + maxLength: 255 + required: + - type + title: TransformShared + additionalProperties: true + TransformTransformFilterWorkloadsAttributes: + allOf: + - $ref: '#/components/schemas/TransformShared' + - $ref: '#/components/schemas/TransformFilterWorkloadsAttributes' + title: TransformTransformFilterWorkloadsAttributes + additionalProperties: true + properties: + type: + type: string + enum: + - filter_workloads + description: Type identifier for this endpoint (filter_workloads) + pattern: ^.*$ + x-extensible-enum: + - filter_workloads + required: + - type + TransformTransformFilterWorkloadsAttributesRequest: + allOf: + - $ref: '#/components/schemas/TransformShared' + - $ref: '#/components/schemas/TransformFilterWorkloadsAttributesRequest' + title: TransformTransformFilterWorkloadsAttributesRequest + additionalProperties: true + properties: + type: + type: string + enum: + - filter_workloads + description: Type identifier for this endpoint (filter_workloads) + pattern: ^.*$ + x-extensible-enum: + - filter_workloads + required: + - type + TransformTransformRenderTemplateAttributes: + allOf: + - $ref: '#/components/schemas/TransformShared' + - $ref: '#/components/schemas/TransformRenderTemplateAttributes' + title: TransformTransformRenderTemplateAttributes + additionalProperties: true + properties: + type: + type: string + enum: + - render_template + description: Type identifier for this endpoint (render_template) + pattern: ^.*$ + x-extensible-enum: + - render_template + required: + - type + TransformTransformRenderTemplateAttributesRequest: + allOf: + - $ref: '#/components/schemas/TransformShared' + - $ref: '#/components/schemas/TransformRenderTemplateAttributesRequest' + title: TransformTransformRenderTemplateAttributesRequest + additionalProperties: true + properties: + type: + type: string + enum: + - render_template + description: Type identifier for this endpoint (render_template) + pattern: ^.*$ + x-extensible-enum: + - render_template + required: + - type + TransformTransformSamplingAttributes: + allOf: + - $ref: '#/components/schemas/TransformShared' + - $ref: '#/components/schemas/TransformSamplingAttributes' + title: TransformTransformSamplingAttributes + additionalProperties: true + properties: + type: + type: string + enum: + - sampling + description: Type identifier for this endpoint (sampling) + pattern: ^.*$ + x-extensible-enum: + - sampling + required: + - type + TransformTransformSamplingAttributesRequest: + allOf: + - $ref: '#/components/schemas/TransformShared' + - $ref: '#/components/schemas/TransformSamplingAttributesRequest' + title: TransformTransformSamplingAttributesRequest + additionalProperties: true + properties: + type: + type: string + enum: + - sampling + description: Type identifier for this endpoint (sampling) + pattern: ^.*$ + x-extensible-enum: + - sampling + required: + - type + AlgType: + type: object + properties: + id: + type: integer + maximum: 4294967295 + minimum: 1 + format: int64 + slug: + type: string + maxLength: 100 + minLength: 1 + pattern: \w + required: + - id + - slug + DNSSEC: + type: object + properties: + enabled: + type: boolean + status: + enum: + - unconfigured + - waiting + - ready + type: string + description: '* `unconfigured` - unconfigured + + * `waiting` - waiting + + * `ready` - ready' + readOnly: true + x-extensible-enum: + - unconfigured + - waiting + - ready + delegation_signer: + allOf: + - $ref: '#/components/schemas/DelegationSigner' + readOnly: true + nullable: true + type: object + required: + - delegation_signer + - enabled + - status + DNSSECRequest: + type: object + properties: + enabled: + type: boolean + required: + - enabled + DNSSECResponse: + type: object + properties: + data: + $ref: '#/components/schemas/DNSSEC' + required: + - data + DelegationSigner: + type: object + properties: + algorithm_type: + $ref: '#/components/schemas/AlgType' + digest: + type: string + maxLength: 100 + minLength: 1 + pattern: \w + digest_type: + $ref: '#/components/schemas/AlgType' + key_tag: + type: integer + maximum: 65535 + minimum: 1 + required: + - algorithm_type + - digest + - digest_type + - key_tag + PaginatedRecordList: + type: object + properties: + count: + type: integer + minimum: 0 + maximum: 2147483647 + example: 123 + description: Total number of items + total_pages: + type: integer + minimum: 1 + maximum: 2147483647 + example: 10 + description: Total number of pages + page: + type: integer + minimum: 1 + maximum: 2147483647 + example: 1 + description: Current page number + page_size: + type: integer + minimum: 1 + maximum: 100 + example: 10 + description: Number of items per page + results: + type: array + items: + $ref: '#/components/schemas/Record' + PaginatedZoneList: + type: object + properties: + count: + type: integer + minimum: 0 + maximum: 2147483647 + example: 123 + description: Total number of items + total_pages: + type: integer + minimum: 1 + maximum: 2147483647 + example: 10 + description: Total number of pages + page: + type: integer + minimum: 1 + maximum: 2147483647 + example: 1 + description: Current page number + page_size: + type: integer + minimum: 1 + maximum: 100 + example: 10 + description: Number of items per page + results: + type: array + items: + $ref: '#/components/schemas/Zone' + PatchedDNSSECRequest: + type: object + properties: + enabled: + type: boolean + PatchedRecordRequest: + type: object + properties: + description: + type: string + default: '' + pattern: .* + maxLength: 45 + minLength: 0 + name: + type: string + minLength: 1 + maxLength: 255 + pattern: ^(?:(?:(?!-)[a-zA-Z0-9-_*]{1,63}(? + + 1 - Validation of protocol compliance: weird request, unable to parse
+ + 2 - Request too big, stored on disk and not parsed
+ + 10 - Validation of protocol compliance: invalid HEX encoding (null bytes)
+ + 11 - Validation of protocol compliance: missing or unknown Content-Type + header in a POST (this rule applies only to Request Body match zone)
+ + 12 - Validation of protocol compliance: invalid formatted URL
+ + 13 - Validation of protocol compliance: invalid POST format
+ + 14 - Validation of protocol compliance: invalid POST boundary
+ + 15 - Validation of protocol compliance: invalid JSON
+ + 16 - Validation of protocol compliance: POST with no body
+ + 17 - Possible SQL Injection attack: validation with libinjection_sql
+ + 18 - Possible XSS attack: validation with libinjection_xss
+ + 1000 - Possible SQL Injection attack: SQL keywords found in Body, Path, + Query String or Cookies
+ + 1001 - Possible SQL Injection or XSS attack: double quote (") found in + Body, Path, Query String or Cookies
+ + 1002 - Possible SQL Injection attack: possible hex encoding (0x) found + in Body, Path, Query String or Cookies
+ + 1003 - Possible SQL Injection attack: MySQL comment (/*) found in Body, + Path, Query String or Cookies
+ + 1004 - Possible SQL Injection attack: MySQL comment (*/) found in Body, + Path, Query String or Cookies
+ + 1005 - Possible SQL Injection attack: MySQL keyword (|) found in Body, + Path, Query String or Cookies
+ + 1006 - Possible SQL Injection attack: MySQL keyword (&&) found in Body, + Path, Query String or Cookies
+ + 1007 - Possible SQL Injection attack: MySQL comment (--) found in Body, + Path, Query String or Cookies
+ + 1008 - Possible SQL Injection or XSS attack: semicolon (;) found in Body, + Path or Query String
+ + 1009 - Possible SQL Injection attack: equal sign (=) found in Body or + Query String
+ + 1010 - Possible SQL Injection or XSS attack: open parenthesis [(] found + in Body, Path, Query String or Cookies
+ + 1011 - Possible SQL Injection or XSS attack: close parenthesis [)] found + in Body, Path, Query String or Cookies
+ + 1013 - Possible SQL Injection or XSS attack: apostrophe ('') found in + Body, Path, Query String or Cookies
+ + 1015 - Possible SQL Injection attack: comma (,) found in Body, Path, Query + String or Cookies
+ + 1016 - Possible SQL Injection attack: MySQL comment (#) found in Body, + Path, Query String or Cookies
+ + 1017 - Possible SQL Injection attack: double at sign (@@) found in Body, + Path, Query String or Cookies
+ + 1100 - Possible RFI attack: scheme "http://" found in Body, Query String + or Cookies
+ + 1101 - Possible RFI attack: scheme "https://" found in Body, Query String + or Cookies
+ + 1102 - Possible RFI attack: scheme "ftp://" found in Body, Query String + or Cookies
+ + 1103 - Possible RFI attack: scheme "php://" found in Body, Query String + or Cookies
+ + 1104 - Possible RFI attack: scheme "sftp://" found in Body, Query String + or Cookies
+ + 1105 - Possible RFI attack: scheme "zlib://" found in Body, Query String + or Cookies
+ + 1106 - Possible RFI attack: scheme "data://" found in Body, Query String + or Cookies
+ + 1107 - Possible RFI attack: scheme "glob://" found in Body, Query String + or Cookies
+ + 1108 - Possible RFI attack: scheme "phar://" found in Body, Query String + or Cookies
+ + 1109 - Possible RFI attack: scheme "file://" found in Body, Query String + or Cookies
+ + 1110 - Possible RFI attack: scheme "gopher://" found in Body, Query String + or Cookies
+ + 1198 - Possible RCE attack: validation with log4j (Log4Shell) in HEADERS_VAR
+ + 1199 - Possible RCE attack: validation with log4j (Log4Shell) in Body, + Path, Query String, Headers or Cookies
+ + 1200 - Possible Directory Traversal attack: double dot (..) found in Body, + Path, Query String or Cookies
+ + 1202 - Possible Directory Traversal attack: obvious probe (/etc/passwd) + found in Body, Path, Query String or Cookies
+ + 1203 - Possible Directory Traversal attack: obvious windows path (c:\) + found in Body, Path, Query String or Cookies
+ + 1204 - Possible Directory Traversal attack: obvious probe (cmd.exe) found + in Body, Path, Query String or Cookies
+ + 1205 - Possible Directory Traversal attack: backslash (\) found in Body, + Path, Query String or Cookies
+ + 1206 - Possible Directory Traversal attack: slash (/) found in Body, Query + String or Cookies
+ + 1207 - Possible Directory Traversal attack: obvious path probe (/..;/) + found in Body, Query String or Cookies
+ + 1208 - Possible Directory Traversal attack: obvious path probe (/.;/) + found in Body, Query String or Cookies
+ + 1209 - Possible Directory Traversal attack: obvious path probe (/.%2e/) + found in Body, Query String or Cookies
+ + 1210 - Possible Directory Traversal attack: obvious path probe (/%2e./) + found in Body, Query String or Cookies
+ + 1302 - Possible XSS attack: html open tag (<) found in Body, Path, Query + String or Cookies
+ + 1303 - Possible XSS attack: html close tag (>) found in Body, Path, Query + String or Cookies
+ + 1310 - Possible XSS attack: open square bracket ([) found in Body, Path, + Query String or Cookies
+ + 1311 - Possible XSS attack: close square bracket (]) found in Body, Path, + Query String or Cookies
+ + 1312 - Possible XSS attack: tilde character (~) found in Body, Path, Query + String or Cookies
+ + 1314 - Possible XSS attack: back quote ( `) found in Body, Path, Query + String or Cookies
+ + 1315 - Possible XSS attack: double encoding (%[2|3]) found in Body, Path, + Query String or Cookies
+ + 1400 - Possible trick to evade protection: UTF7/8 encoding (&#) found + in Body, Path, Query String or Cookies
+ + 1401 - Possible trick to evade protection: MS encoding (%U) found in Body, + Path, Query String or Cookies
+ + 1402 - Possible trick to evade protection: encoded chars (%20-%3F) found + in Body, Query String or Cookies
+ + 1500 - Possible File Upload attempt: asp/php (.ph, .asp or .ht) found + in filename in a multipart POST containing a file
+ + 2001 - Possible CVE-2022-22965 attack: Tomcat Pipeline Context tampering + + + * `0` - All Rules + + * `1` - Validation of protocol compliance: weird request, unable to parse + + * `2` - Request too big, stored on disk and not parsed + + * `10` - Validation of protocol compliance: invalid HEX encoding (null + bytes) + + * `11` - Validation of protocol compliance: missing or unknown Content-Type + header in a POST (this rule applies only to Request Body match zone) + + * `12` - Validation of protocol compliance: invalid formatted URL + + * `13` - Validation of protocol compliance: invalid POST format + + * `14` - Validation of protocol compliance: invalid POST boundary + + * `15` - Validation of protocol compliance: invalid JSON + + * `16` - Validation of protocol compliance: POST with no body + + * `17` - Possible SQL Injection attack: validation with libinjection_sql + + * `18` - Possible XSS attack: validation with libinjection_xss + + * `1000` - Possible SQL Injection attack: SQL keywords found in Body, + Path, Query String or Cookies + + * `1001` - Possible SQL Injection or XSS attack: double quote (") found + in Body, Path, Query String or Cookies + + * `1002` - Possible SQL Injection attack: possible hex encoding (0x) found + in Body, Path, Query String or Cookies + + * `1003` - Possible SQL Injection attack: MySQL comment (/*) found in + Body, Path, Query String or Cookies + + * `1004` - Possible SQL Injection attack: MySQL comment (*/) found in + Body, Path, Query String or Cookies + + * `1005` - Possible SQL Injection attack: MySQL keyword (|) found in Body, + Path, Query String or Cookies + + * `1006` - Possible SQL Injection attack: MySQL keyword (&&) found in + Body, Path, Query String or Cookies + + * `1007` - Possible SQL Injection attack: MySQL comment (--) found in + Body, Path, Query String or Cookies + + * `1008` - Possible SQL Injection or XSS attack: semicolon (;) found in + Body, Path or Query String + + * `1009` - Possible SQL Injection attack: equal sign (=) found in Body + or Query String + + * `1010` - Possible SQL Injection or XSS attack: open parenthesis [(] + found in Body, Path, Query String or Cookies + + * `1011` - Possible SQL Injection or XSS attack: close parenthesis [)] + found in Body, Path, Query String or Cookies + + * `1013` - Possible SQL Injection or XSS attack: apostrophe ('') found + in Body, Path, Query String or Cookies + + * `1015` - Possible SQL Injection attack: comma (,) found in Body, Path, + Query String or Cookies + + * `1016` - Possible SQL Injection attack: MySQL comment (#) found in Body, + Path, Query String or Cookies + + * `1017` - Possible SQL Injection attack: double at sign (@@) found in + Body, Path, Query String or Cookies + + * `1100` - Possible RFI attack: scheme "http://" found in Body, Query + String or Cookies + + * `1101` - Possible RFI attack: scheme "https://" found in Body, Query + String or Cookies + + * `1102` - Possible RFI attack: scheme "ftp://" found in Body, Query String + or Cookies + + * `1103` - Possible RFI attack: scheme "php://" found in Body, Query String + or Cookies + + * `1104` - Possible RFI attack: scheme "sftp://" found in Body, Query + String or Cookies + + * `1105` - Possible RFI attack: scheme "zlib://" found in Body, Query + String or Cookies + + * `1106` - Possible RFI attack: scheme "data://" found in Body, Query + String or Cookies + + * `1107` - Possible RFI attack: scheme "glob://" found in Body, Query + String or Cookies + + * `1108` - Possible RFI attack: scheme "phar://" found in Body, Query + String or Cookies + + * `1109` - Possible RFI attack: scheme "file://" found in Body, Query + String or Cookies + + * `1110` - Possible RFI attack: scheme "gopher://" found in Body, Query + String or Cookies + + * `1198` - Possible RCE attack: validation with log4j (Log4Shell) in HEADERS_VAR + + * `1199` - Possible RCE attack: validation with log4j (Log4Shell) in Body, + Path, Query String, Headers or Cookies + + * `1200` - Possible Directory Traversal attack: double dot (..) found + in Body, Path, Query String or Cookies + + * `1202` - Possible Directory Traversal attack: obvious probe (/etc/passwd) + found in Body, Path, Query String or Cookies + + * `1203` - Possible Directory Traversal attack: obvious windows path (c:\) + found in Body, Path, Query String or Cookies + + * `1204` - Possible Directory Traversal attack: obvious probe (cmd.exe) + found in Body, Path, Query String or Cookies + + * `1205` - Possible Directory Traversal attack: backslash (\) found in + Body, Path, Query String or Cookies + + * `1206` - Possible Directory Traversal attack: slash (/) found in Body, + Query String or Cookies + + * `1207` - Possible Directory Traversal attack: obvious path probe (/..;/) + found in Body, Query String or Cookies + + * `1208` - Possible Directory Traversal attack: obvious path probe (/.;/) + found in Body, Query String or Cookies + + * `1209` - Possible Directory Traversal attack: obvious path probe (/.%2e/) + found in Body, Query String or Cookies + + * `1210` - Possible Directory Traversal attack: obvious path probe (/%2e./) + found in Body, Query String or Cookies + + * `1302` - Possible XSS attack: html open tag (<) found in Body, Path, + Query String or Cookies + + * `1303` - Possible XSS attack: html close tag (>) found in Body, Path, + Query String or Cookies + + * `1310` - Possible XSS attack: open square bracket ([) found in Body, + Path, Query String or Cookies + + * `1311` - Possible XSS attack: close square bracket (]) found in Body, + Path, Query String or Cookies + + * `1312` - Possible XSS attack: tilde character (~) found in Body, Path, + Query String or Cookies + + * `1314` - Possible XSS attack: back quote ( `) found in Body, Path, Query + String or Cookies + + * `1315` - Possible XSS attack: double encoding (%[2|3]) found in Body, + Path, Query String or Cookies + + * `1400` - Possible trick to evade protection: UTF7/8 encoding (&#) found + in Body, Path, Query String or Cookies + + * `1401` - Possible trick to evade protection: MS encoding (%U) found + in Body, Path, Query String or Cookies + + * `1402` - Possible trick to evade protection: encoded chars (%20-%3F) + found in Body, Query String or Cookies + + * `1500` - Possible File Upload attempt: asp/php (.ph, .asp or .ht) found + in filename in a multipart POST containing a file + + * `2001` - Possible CVE-2022-22965 attack: Tomcat Pipeline Context tampering' + name: + type: string + minLength: 1 + pattern: .* + maxLength: 255 + path: + type: string + nullable: true + pattern: ^[^|]*$ + maxLength: 255 + minLength: 0 + conditions: + type: array + items: + $ref: '#/components/schemas/WAFExceptionConditionRequest' + minItems: 1 + operator: + allOf: + - $ref: '#/components/schemas/WAFRuleOperatorEnum' + default: contains + active: + type: boolean + default: true + title: PatchedWAFRuleRequest + additionalProperties: false + PatchedWorkloadDeploymentRequest: + type: object + properties: + name: + type: string + minLength: 1 + pattern: .* + maxLength: 254 + current: + type: boolean + default: true + active: + type: boolean + default: true + strategy: + $ref: '#/components/schemas/DeploymentStrategyRequest' + title: PatchedWorkloadDeploymentRequest + additionalProperties: false + PatchedWorkloadRequest: + type: object + properties: + name: + type: string + minLength: 1 + pattern: .* + maxLength: 100 + active: + type: boolean + default: true + infrastructure: + allOf: + - $ref: '#/components/schemas/InfrastructureEnum' + default: 1 + tls: + allOf: + - $ref: '#/components/schemas/TLSWorkloadRequest' + default: {} + protocols: + allOf: + - $ref: '#/components/schemas/ProtocolsRequest' + default: {} + mtls: + allOf: + - $ref: '#/components/schemas/MTLSRequest' + default: + config: null + domains: + type: array + items: + type: string + minLength: 1 + workload_domain_allow_access: + type: boolean + title: PatchedWorkloadRequest + additionalProperties: false + Protocols: + type: object + properties: + http: + allOf: + - $ref: '#/components/schemas/HttpProtocol' + default: + versions: + - http1 + - http2 + http_ports: + - 80 + https_ports: + - 443 + quic_ports: null + title: Protocols + additionalProperties: false + ProtocolsRequest: + type: object + properties: + http: + allOf: + - $ref: '#/components/schemas/HttpProtocolRequest' + default: + versions: + - http1 + - http2 + http_ports: + - 80 + https_ports: + - 443 + quic_ports: null + title: ProtocolsRequest + additionalProperties: false + Purge: + type: object + description: Serialize the incoming purge request. + properties: + items: + type: array + items: + type: string + format: uri + minLength: 1 + minItems: 1 + layer: + allOf: + - $ref: '#/components/schemas/LayerEnum' + default: cache + required: + - items + title: Purge + additionalProperties: false + PurgeRequest: + type: object + description: Serialize the incoming purge request. + properties: + items: + type: array + items: + type: string + minLength: 1 + format: uri + minItems: 1 + layer: + allOf: + - $ref: '#/components/schemas/LayerEnum' + default: cache + required: + - items + title: PurgeRequest + additionalProperties: false + PurgeResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/Purge' + required: + - data + title: PurgeResponse + additionalProperties: false + RequestPhaseBehavior: + oneOf: + - $ref: '#/components/schemas/BehaviorNoArgs' + - $ref: '#/components/schemas/BehaviorArgs' + - $ref: '#/components/schemas/BehaviorCapture' + discriminator: + propertyName: type + mapping: + deny: '#/components/schemas/BehaviorNoArgs' + no_content: '#/components/schemas/BehaviorNoArgs' + deliver: '#/components/schemas/BehaviorNoArgs' + finish_request_phase: '#/components/schemas/BehaviorNoArgs' + forward_cookies: '#/components/schemas/BehaviorNoArgs' + optimize_images: '#/components/schemas/BehaviorNoArgs' + bypass_cache: '#/components/schemas/BehaviorNoArgs' + enable_gzip: '#/components/schemas/BehaviorNoArgs' + redirect_http_to_https: '#/components/schemas/BehaviorNoArgs' + redirect_to_301: '#/components/schemas/BehaviorArgs' + redirect_to_302: '#/components/schemas/BehaviorArgs' + rewrite_request: '#/components/schemas/BehaviorArgs' + add_request_header: '#/components/schemas/BehaviorArgs' + filter_request_header: '#/components/schemas/BehaviorArgs' + add_request_cookie: '#/components/schemas/BehaviorArgs' + filter_request_cookie: '#/components/schemas/BehaviorArgs' + set_origin: '#/components/schemas/BehaviorArgs' + run_function: '#/components/schemas/BehaviorArgs' + set_connector: '#/components/schemas/BehaviorArgs' + set_cache_policy: '#/components/schemas/BehaviorArgs' + capture_match_groups: '#/components/schemas/BehaviorCapture' + title: RequestPhaseBehavior + additionalProperties: true + RequestPhaseRule: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + pattern: .* + maxLength: 250 + minLength: 1 + active: + type: boolean + default: true + criteria: + type: array + items: + type: array + items: + $ref: '#/components/schemas/ApplicationCriterionField' + maxItems: 10 + minItems: 1 + maxItems: 5 + minItems: 1 + behaviors: + type: array + items: + $ref: '#/components/schemas/RequestPhaseBehavior' + maxItems: 10 + minItems: 1 + description: + type: string + pattern: .* + maxLength: 1000 + minLength: 0 + order: + type: integer + maximum: 199 + minimum: 0 + readOnly: true + last_editor: + type: string + readOnly: true + nullable: true + pattern: .* + maxLength: 255 + last_modified: + type: string + format: date-time + readOnly: true + nullable: true + required: + - behaviors + - criteria + - id + - last_editor + - last_modified + - name + - order + title: RequestPhaseRule + additionalProperties: false + RequestPhaseRuleResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/RequestPhaseRule' + required: + - data + title: RequestPhaseRuleResponse + additionalProperties: false + ResponsePhaseBehavior: + oneOf: + - $ref: '#/components/schemas/BehaviorNoArgs' + - $ref: '#/components/schemas/BehaviorArgs' + - $ref: '#/components/schemas/BehaviorCapture' + discriminator: + propertyName: type + mapping: + enable_gzip: '#/components/schemas/BehaviorNoArgs' + deliver: '#/components/schemas/BehaviorNoArgs' + redirect_to_301: '#/components/schemas/BehaviorArgs' + redirect_to_302: '#/components/schemas/BehaviorArgs' + filter_response_cookie: '#/components/schemas/BehaviorArgs' + set_cookie: '#/components/schemas/BehaviorArgs' + add_response_header: '#/components/schemas/BehaviorArgs' + filter_response_header: '#/components/schemas/BehaviorArgs' + run_function: '#/components/schemas/BehaviorArgs' + capture_match_groups: '#/components/schemas/BehaviorCapture' + title: ResponsePhaseBehavior + additionalProperties: true + ResponsePhaseBehaviorRequest: + oneOf: + - $ref: '#/components/schemas/BehaviorNoArgs' + - $ref: '#/components/schemas/BehaviorArgs' + - $ref: '#/components/schemas/BehaviorCapture' + discriminator: + propertyName: type + mapping: + enable_gzip: '#/components/schemas/BehaviorNoArgs' + deliver: '#/components/schemas/BehaviorNoArgs' + redirect_to_301: '#/components/schemas/BehaviorArgs' + redirect_to_302: '#/components/schemas/BehaviorArgs' + filter_response_cookie: '#/components/schemas/BehaviorArgs' + set_cookie: '#/components/schemas/BehaviorArgs' + add_response_header: '#/components/schemas/BehaviorArgs' + filter_response_header: '#/components/schemas/BehaviorArgs' + run_function: '#/components/schemas/BehaviorArgs' + capture_match_groups: '#/components/schemas/BehaviorCapture' + title: ResponsePhaseBehaviorRequest + additionalProperties: true + ResponsePhaseRule: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + pattern: .* + maxLength: 250 + minLength: 1 + active: + type: boolean + default: true + criteria: + type: array + items: + type: array + items: + $ref: '#/components/schemas/ApplicationCriterionField' + maxItems: 10 + minItems: 1 + maxItems: 5 + minItems: 1 + behaviors: + type: array + items: + $ref: '#/components/schemas/ResponsePhaseBehavior' + maxItems: 10 + minItems: 1 + description: + type: string + pattern: .* + maxLength: 1000 + minLength: 0 + order: + type: integer + maximum: 199 + minimum: 0 + readOnly: true + last_editor: + type: string + readOnly: true + nullable: true + pattern: .* + maxLength: 255 + last_modified: + type: string + format: date-time + readOnly: true + nullable: true + required: + - behaviors + - criteria + - id + - last_editor + - last_modified + - name + - order + title: ResponsePhaseRule + additionalProperties: false + ResponsePhaseRuleRequest: + type: object + properties: + name: + type: string + minLength: 1 + pattern: .* + maxLength: 250 + active: + type: boolean + default: true + criteria: + type: array + items: + type: array + items: + $ref: '#/components/schemas/ApplicationCriterionFieldRequest' + maxItems: 10 + minItems: 1 + maxItems: 5 + minItems: 1 + behaviors: + type: array + items: + $ref: '#/components/schemas/ResponsePhaseBehaviorRequest' + maxItems: 10 + minItems: 1 + description: + type: string + pattern: .* + maxLength: 1000 + minLength: 0 + required: + - behaviors + - criteria + - name + title: ResponsePhaseRuleRequest + additionalProperties: false + ResponsePhaseRuleResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/ResponsePhaseRule' + required: + - data + title: ResponsePhaseRuleResponse + additionalProperties: false + RuleIdEnum: + enum: + - 0 + - 1 + - 2 + - 10 + - 11 + - 12 + - 13 + - 14 + - 15 + - 16 + - 17 + - 18 + - 1000 + - 1001 + - 1002 + - 1003 + - 1004 + - 1005 + - 1006 + - 1007 + - 1008 + - 1009 + - 1010 + - 1011 + - 1013 + - 1015 + - 1016 + - 1017 + - 1100 + - 1101 + - 1102 + - 1103 + - 1104 + - 1105 + - 1106 + - 1107 + - 1108 + - 1109 + - 1110 + - 1198 + - 1199 + - 1200 + - 1202 + - 1203 + - 1204 + - 1205 + - 1206 + - 1207 + - 1208 + - 1209 + - 1210 + - 1302 + - 1303 + - 1310 + - 1311 + - 1312 + - 1314 + - 1315 + - 1400 + - 1401 + - 1402 + - 1500 + - 2001 + type: integer + description: '* `0` - All Rules + + * `1` - Validation of protocol compliance: weird request, unable to parse + + * `2` - Request too big, stored on disk and not parsed + + * `10` - Validation of protocol compliance: invalid HEX encoding (null bytes) + + * `11` - Validation of protocol compliance: missing or unknown Content-Type + header in a POST (this rule applies only to Request Body match zone) + + * `12` - Validation of protocol compliance: invalid formatted URL + + * `13` - Validation of protocol compliance: invalid POST format + + * `14` - Validation of protocol compliance: invalid POST boundary + + * `15` - Validation of protocol compliance: invalid JSON + + * `16` - Validation of protocol compliance: POST with no body + + * `17` - Possible SQL Injection attack: validation with libinjection_sql + + * `18` - Possible XSS attack: validation with libinjection_xss + + * `1000` - Possible SQL Injection attack: SQL keywords found in Body, Path, + Query String or Cookies + + * `1001` - Possible SQL Injection or XSS attack: double quote (") found in + Body, Path, Query String or Cookies + + * `1002` - Possible SQL Injection attack: possible hex encoding (0x) found + in Body, Path, Query String or Cookies + + * `1003` - Possible SQL Injection attack: MySQL comment (/*) found in Body, + Path, Query String or Cookies + + * `1004` - Possible SQL Injection attack: MySQL comment (*/) found in Body, + Path, Query String or Cookies + + * `1005` - Possible SQL Injection attack: MySQL keyword (|) found in Body, + Path, Query String or Cookies + + * `1006` - Possible SQL Injection attack: MySQL keyword (&&) found in Body, + Path, Query String or Cookies + + * `1007` - Possible SQL Injection attack: MySQL comment (--) found in Body, + Path, Query String or Cookies + + * `1008` - Possible SQL Injection or XSS attack: semicolon (;) found in Body, + Path or Query String + + * `1009` - Possible SQL Injection attack: equal sign (=) found in Body or + Query String + + * `1010` - Possible SQL Injection or XSS attack: open parenthesis [(] found + in Body, Path, Query String or Cookies + + * `1011` - Possible SQL Injection or XSS attack: close parenthesis [)] found + in Body, Path, Query String or Cookies + + * `1013` - Possible SQL Injection or XSS attack: apostrophe ('') found in + Body, Path, Query String or Cookies + + * `1015` - Possible SQL Injection attack: comma (,) found in Body, Path, Query + String or Cookies + + * `1016` - Possible SQL Injection attack: MySQL comment (#) found in Body, + Path, Query String or Cookies + + * `1017` - Possible SQL Injection attack: double at sign (@@) found in Body, + Path, Query String or Cookies + + * `1100` - Possible RFI attack: scheme "http://" found in Body, Query String + or Cookies + + * `1101` - Possible RFI attack: scheme "https://" found in Body, Query String + or Cookies + + * `1102` - Possible RFI attack: scheme "ftp://" found in Body, Query String + or Cookies + + * `1103` - Possible RFI attack: scheme "php://" found in Body, Query String + or Cookies + + * `1104` - Possible RFI attack: scheme "sftp://" found in Body, Query String + or Cookies + + * `1105` - Possible RFI attack: scheme "zlib://" found in Body, Query String + or Cookies + + * `1106` - Possible RFI attack: scheme "data://" found in Body, Query String + or Cookies + + * `1107` - Possible RFI attack: scheme "glob://" found in Body, Query String + or Cookies + + * `1108` - Possible RFI attack: scheme "phar://" found in Body, Query String + or Cookies + + * `1109` - Possible RFI attack: scheme "file://" found in Body, Query String + or Cookies + + * `1110` - Possible RFI attack: scheme "gopher://" found in Body, Query String + or Cookies + + * `1198` - Possible RCE attack: validation with log4j (Log4Shell) in HEADERS_VAR + + * `1199` - Possible RCE attack: validation with log4j (Log4Shell) in Body, + Path, Query String, Headers or Cookies + + * `1200` - Possible Directory Traversal attack: double dot (..) found in Body, + Path, Query String or Cookies + + * `1202` - Possible Directory Traversal attack: obvious probe (/etc/passwd) + found in Body, Path, Query String or Cookies + + * `1203` - Possible Directory Traversal attack: obvious windows path (c:\) + found in Body, Path, Query String or Cookies + + * `1204` - Possible Directory Traversal attack: obvious probe (cmd.exe) found + in Body, Path, Query String or Cookies + + * `1205` - Possible Directory Traversal attack: backslash (\) found in Body, + Path, Query String or Cookies + + * `1206` - Possible Directory Traversal attack: slash (/) found in Body, Query + String or Cookies + + * `1207` - Possible Directory Traversal attack: obvious path probe (/..;/) + found in Body, Query String or Cookies + + * `1208` - Possible Directory Traversal attack: obvious path probe (/.;/) + found in Body, Query String or Cookies + + * `1209` - Possible Directory Traversal attack: obvious path probe (/.%2e/) + found in Body, Query String or Cookies + + * `1210` - Possible Directory Traversal attack: obvious path probe (/%2e./) + found in Body, Query String or Cookies + + * `1302` - Possible XSS attack: html open tag (<) found in Body, Path, Query + String or Cookies + + * `1303` - Possible XSS attack: html close tag (>) found in Body, Path, Query + String or Cookies + + * `1310` - Possible XSS attack: open square bracket ([) found in Body, Path, + Query String or Cookies + + * `1311` - Possible XSS attack: close square bracket (]) found in Body, Path, + Query String or Cookies + + * `1312` - Possible XSS attack: tilde character (~) found in Body, Path, Query + String or Cookies + + * `1314` - Possible XSS attack: back quote ( `) found in Body, Path, Query + String or Cookies + + * `1315` - Possible XSS attack: double encoding (%[2|3]) found in Body, Path, + Query String or Cookies + + * `1400` - Possible trick to evade protection: UTF7/8 encoding (&#) found + in Body, Path, Query String or Cookies + + * `1401` - Possible trick to evade protection: MS encoding (%U) found in Body, + Path, Query String or Cookies + + * `1402` - Possible trick to evade protection: encoded chars (%20-%3F) found + in Body, Query String or Cookies + + * `1500` - Possible File Upload attempt: asp/php (.ph, .asp or .ht) found + in filename in a multipart POST containing a file + + * `2001` - Possible CVE-2022-22965 attack: Tomcat Pipeline Context tampering' + title: RuleIdEnum + x-extensible-enum: + - 0 + - 1 + - 2 + - 10 + - 11 + - 12 + - 13 + - 14 + - 15 + - 16 + - 17 + - 18 + - 1000 + - 1001 + - 1002 + - 1003 + - 1004 + - 1005 + - 1006 + - 1007 + - 1008 + - 1009 + - 1010 + - 1011 + - 1013 + - 1015 + - 1016 + - 1017 + - 1100 + - 1101 + - 1102 + - 1103 + - 1104 + - 1105 + - 1106 + - 1107 + - 1108 + - 1109 + - 1110 + - 1198 + - 1199 + - 1200 + - 1202 + - 1203 + - 1204 + - 1205 + - 1206 + - 1207 + - 1208 + - 1209 + - 1210 + - 1302 + - 1303 + - 1310 + - 1311 + - 1312 + - 1314 + - 1315 + - 1400 + - 1401 + - 1402 + - 1500 + - 2001 + RulesetsEnum: + enum: + - 1 + type: integer + description: '* `1` - Azion WAF Score Ruleset' + title: RulesetsEnum + x-extensible-enum: + - 1 + RuntimeEnum: + enum: + - azion_js + type: string + description: '* `azion_js` - Azion JavaScript' + title: RuntimeEnum + x-extensible-enum: + - azion_js + SensitivityEnum: + enum: + - highest + - high + - medium + - low + - lowest + type: string + description: '* `highest` - Highest + + * `high` - High + + * `medium` - Medium + + * `low` - Low + + * `lowest` - Lowest' + title: SensitivityEnum + x-extensible-enum: + - highest + - high + - medium + - low + - lowest + ServerRoleEnum: + enum: + - primary + - backup + type: string + description: '* `primary` - Primary + + * `backup` - Backup' + title: ServerRoleEnum + x-extensible-enum: + - primary + - backup + StateCacheModule: + type: object + properties: + enabled: + type: boolean + default: false + title: StateCacheModule + additionalProperties: false + StateCacheModuleRequest: + type: object + properties: + enabled: + type: boolean + default: false + title: StateCacheModuleRequest + additionalProperties: false + TLSWorkload: + type: object + properties: + certificate: + type: integer + minimum: 1 + nullable: true + ciphers: + allOf: + - $ref: '#/components/schemas/CiphersEnum' + description: 'Allow to configure which set of ciphers will be used when + TLS ciphers negotiation. + + + * `1` - TLSv1.2_2018 - TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-SHA384:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256 + + * `2` - TLSv1.2_2019 - ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA256:TLS_AES_256_GCM_SHA384:ECDHE-RSA-AES128-GCM-SHA256:TLS_CHACHA20_POLY1305_SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:TLS_AES_128_GCM_SHA256 + + * `3` - TLSv1.3_2022 - ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256 + + * `4` - TLSv1.2_2021 - ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:TLS_AES_128_GCM_SHA256 + + * `5` - Legacy_v2025Q1 - TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA + + * `6` - Compatible_v2025Q1 - TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256 + + * `7` - Modern_v2025Q1 - TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305 + + * `8` - Legacy_v2017Q1 - AES128-CCM:AES128-CCM8:AES128-GCM-SHA256:AES128-SHA:AES128-SHA256:AES256-CCM:AES256-CCM8:AES256-GCM-SHA384:AES256-SHA:AES256-SHA256:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES128-CCM8:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES256-CCM8:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES256-SHA384:TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256' + minimum_version: + default: tls_1_3 + oneOf: + - $ref: '#/components/schemas/MinimumVersionEnum' + - $ref: '#/components/schemas/BlankEnum' + - $ref: '#/components/schemas/NullEnum' + title: TLSWorkload + additionalProperties: false + TLSWorkloadRequest: + type: object + properties: + certificate: + type: integer + minimum: 1 + nullable: true + ciphers: + allOf: + - $ref: '#/components/schemas/CiphersEnum' + description: 'Allow to configure which set of ciphers will be used when + TLS ciphers negotiation. + + + * `1` - TLSv1.2_2018 - TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-SHA384:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-SHA256 + + * `2` - TLSv1.2_2019 - ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-SHA256:TLS_AES_256_GCM_SHA384:ECDHE-RSA-AES128-GCM-SHA256:TLS_CHACHA20_POLY1305_SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:TLS_AES_128_GCM_SHA256 + + * `3` - TLSv1.3_2022 - ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-RSA-AES128-GCM-SHA256 + + * `4` - TLSv1.2_2021 - ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:TLS_AES_128_GCM_SHA256 + + * `5` - Legacy_v2025Q1 - TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA + + * `6` - Compatible_v2025Q1 - TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256 + + * `7` - Modern_v2025Q1 - TLS_AES_256_GCM_SHA384:TLS_AES_128_GCM_SHA256:TLS_CHACHA20_POLY1305_SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-CHACHA20-POLY1305 + + * `8` - Legacy_v2017Q1 - AES128-CCM:AES128-CCM8:AES128-GCM-SHA256:AES128-SHA:AES128-SHA256:AES256-CCM:AES256-CCM8:AES256-GCM-SHA384:AES256-SHA:AES256-SHA256:ECDHE-ECDSA-AES128-CCM:ECDHE-ECDSA-AES128-CCM8:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES256-CCM:ECDHE-ECDSA-AES256-CCM8:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES256-SHA384:TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256' + minimum_version: + default: tls_1_3 + oneOf: + - $ref: '#/components/schemas/MinimumVersionEnum' + - $ref: '#/components/schemas/BlankEnum' + - $ref: '#/components/schemas/NullEnum' + title: TLSWorkloadRequest + additionalProperties: false + ThreatEnum: + enum: + - cross_site_scripting + - directory_traversal + - evading_tricks + - file_upload + - identified_attack + - remote_file_inclusion + - sql_injection + - unwanted_access + type: string + description: '* `cross_site_scripting` - cross_site_scripting + + * `directory_traversal` - directory_traversal + + * `evading_tricks` - evading_tricks + + * `file_upload` - file_upload + + * `identified_attack` - identified_attack + + * `remote_file_inclusion` - remote_file_inclusion + + * `sql_injection` - sql_injection + + * `unwanted_access` - unwanted_access' + title: ThreatEnum + x-extensible-enum: + - cross_site_scripting + - directory_traversal + - evading_tricks + - file_upload + - identified_attack + - remote_file_inclusion + - sql_injection + - unwanted_access + ThresholdsConfigField: + type: object + properties: + threat: + $ref: '#/components/schemas/ThreatEnum' + sensitivity: + allOf: + - $ref: '#/components/schemas/SensitivityEnum' + default: medium + required: + - threat + title: ThresholdsConfigField + additionalProperties: false + ThresholdsConfigFieldRequest: + type: object + properties: + threat: + $ref: '#/components/schemas/ThreatEnum' + sensitivity: + allOf: + - $ref: '#/components/schemas/SensitivityEnum' + default: medium + required: + - threat + title: ThresholdsConfigFieldRequest + additionalProperties: false + TopologyEnum: + enum: + - nearest-region + - br-east-1 + - us-east-1 + type: string + description: '* `nearest-region` - nearest-region + + * `br-east-1` - br-east-1 + + * `us-east-1` - us-east-1' + title: TopologyEnum + x-extensible-enum: + - nearest-region + - br-east-1 + - us-east-1 + TransportPolicyEnum: + enum: + - preserve + - force_https + - force_http + type: string + description: '* `preserve` - Preserve + + * `force_https` - Force HTTPS + + * `force_http` - Force HTTP' + title: TransportPolicyEnum + x-extensible-enum: + - preserve + - force_https + - force_http + VerificationEnum: + enum: + - enforce + - permissive + type: string + description: '* `enforce` - Enforce + + * `permissive` - Permissive' + title: VerificationEnum + x-extensible-enum: + - enforce + - permissive + WAF: + type: object + properties: + id: + type: integer + readOnly: true + active: + type: boolean + default: true + name: + type: string + pattern: .* + maxLength: 250 + minLength: 1 + last_editor: + type: string + readOnly: true + pattern: .* + maxLength: 250 + minLength: 1 + last_modified: + type: string + format: date-time + readOnly: true + product_version: + type: string + nullable: true + default: '1.0' + pattern: \d+\.\d+ + maxLength: 50 + minLength: 3 + engine_settings: + $ref: '#/components/schemas/WAFEngineSettingsField' + required: + - id + - last_editor + - last_modified + - name + title: WAF + additionalProperties: false + WAFEngineSettingsAttributesField: + type: object + properties: + rulesets: + type: array + items: + $ref: '#/components/schemas/RulesetsEnum' + default: + - 1 + thresholds: + type: array + items: + $ref: '#/components/schemas/ThresholdsConfigField' + default: + - threat: cross_site_scripting + sensitivity: medium + - threat: directory_traversal + sensitivity: medium + - threat: evading_tricks + sensitivity: medium + - threat: file_upload + sensitivity: medium + - threat: identified_attack + sensitivity: medium + - threat: remote_file_inclusion + sensitivity: medium + - threat: sql_injection + sensitivity: medium + - threat: unwanted_access + sensitivity: medium + maxItems: 8 + title: WAFEngineSettingsAttributesField + additionalProperties: false + WAFEngineSettingsAttributesFieldRequest: + type: object + properties: + rulesets: + type: array + items: + $ref: '#/components/schemas/RulesetsEnum' + default: + - 1 + thresholds: + type: array + items: + $ref: '#/components/schemas/ThresholdsConfigFieldRequest' + default: + - threat: cross_site_scripting + sensitivity: medium + - threat: directory_traversal + sensitivity: medium + - threat: evading_tricks + sensitivity: medium + - threat: file_upload + sensitivity: medium + - threat: identified_attack + sensitivity: medium + - threat: remote_file_inclusion + sensitivity: medium + - threat: sql_injection + sensitivity: medium + - threat: unwanted_access + sensitivity: medium + maxItems: 8 + title: WAFEngineSettingsAttributesFieldRequest + additionalProperties: false + WAFEngineSettingsField: + type: object + properties: + engine_version: + allOf: + - $ref: '#/components/schemas/EngineVersionEnum' + default: 2021-Q3 + type: + allOf: + - $ref: '#/components/schemas/WAFEngineSettingsFieldTypeEnum' + default: score + attributes: + $ref: '#/components/schemas/WAFEngineSettingsAttributesField' + title: WAFEngineSettingsField + additionalProperties: false + WAFEngineSettingsFieldRequest: + type: object + properties: + engine_version: + allOf: + - $ref: '#/components/schemas/EngineVersionEnum' + default: 2021-Q3 + type: + allOf: + - $ref: '#/components/schemas/WAFEngineSettingsFieldTypeEnum' + default: score + attributes: + $ref: '#/components/schemas/WAFEngineSettingsAttributesFieldRequest' + title: WAFEngineSettingsFieldRequest + additionalProperties: false + WAFEngineSettingsFieldTypeEnum: + enum: + - score + type: string + description: '* `score` - score' + title: WAFEngineSettingsFieldTypeEnum + x-extensible-enum: + - score + WAFExceptionGenericCondition: + type: object + properties: + match: + $ref: '#/components/schemas/WAFExceptionGenericConditionMatchEnum' + required: + - match + title: WAFExceptionGenericCondition + additionalProperties: false + WAFExceptionGenericConditionMatchEnum: + enum: + - any_http_header_name + - any_http_header_value + - any_query_string_name + - any_query_string_value + - any_url + - body_form_field_name + - body_form_field_value + - file_extension + - raw_body + type: string + description: '* `any_http_header_name` - any_http_header_name + + * `any_http_header_value` - any_http_header_value + + * `any_query_string_name` - any_query_string_name + + * `any_query_string_value` - any_query_string_value + + * `any_url` - any_url + + * `body_form_field_name` - body_form_field_name + + * `body_form_field_value` - body_form_field_value + + * `file_extension` - file_extension + + * `raw_body` - raw_body' + title: WAFExceptionGenericConditionMatchEnum + x-extensible-enum: + - any_http_header_name + - any_http_header_value + - any_query_string_name + - any_query_string_value + - any_url + - body_form_field_name + - body_form_field_value + - file_extension + - raw_body + WAFExceptionGenericConditionRequest: + type: object + properties: + match: + $ref: '#/components/schemas/WAFExceptionGenericConditionMatchEnum' + required: + - match + title: WAFExceptionGenericConditionRequest + additionalProperties: false + WAFExceptionSpecificConditionOnName: + type: object + properties: + match: + $ref: '#/components/schemas/WAFExceptionSpecificConditionOnNameMatchEnum' + name: + type: string + pattern: '[a-zA-Z0-9<>?().*]+' + maxLength: 255 + minLength: 1 + required: + - match + - name + title: WAFExceptionSpecificConditionOnName + additionalProperties: false + WAFExceptionSpecificConditionOnNameMatchEnum: + enum: + - specific_body_form_field_name + - specific_http_header_name + - specific_query_string_name + type: string + description: '* `specific_body_form_field_name` - specific_body_form_field_name + + * `specific_http_header_name` - specific_http_header_name + + * `specific_query_string_name` - specific_query_string_name' + title: WAFExceptionSpecificConditionOnNameMatchEnum + x-extensible-enum: + - specific_body_form_field_name + - specific_http_header_name + - specific_query_string_name + WAFExceptionSpecificConditionOnNameRequest: + type: object + properties: + match: + $ref: '#/components/schemas/WAFExceptionSpecificConditionOnNameMatchEnum' + name: + type: string + minLength: 1 + pattern: '[a-zA-Z0-9<>?().*]+' + maxLength: 255 + required: + - match + - name + title: WAFExceptionSpecificConditionOnNameRequest + additionalProperties: false + WAFExceptionSpecificConditionOnValue: + type: object + properties: + match: + $ref: '#/components/schemas/WAFExceptionSpecificConditionOnValueMatchEnum' + value: + type: string + pattern: '[a-zA-Z0-9<>?().*]+' + maxLength: 255 + minLength: 1 + required: + - match + - value + title: WAFExceptionSpecificConditionOnValue + additionalProperties: false + WAFExceptionSpecificConditionOnValueMatchEnum: + enum: + - specific_body_form_field_value + - specific_http_header_value + - specific_query_string_value + type: string + description: '* `specific_body_form_field_value` - specific_body_form_field_value + + * `specific_http_header_value` - specific_http_header_value + + * `specific_query_string_value` - specific_query_string_value' + title: WAFExceptionSpecificConditionOnValueMatchEnum + x-extensible-enum: + - specific_body_form_field_value + - specific_http_header_value + - specific_query_string_value + WAFExceptionSpecificConditionOnValueRequest: + type: object + properties: + match: + $ref: '#/components/schemas/WAFExceptionSpecificConditionOnValueMatchEnum' + value: + type: string + minLength: 1 + pattern: '[a-zA-Z0-9<>?().*]+' + maxLength: 255 + required: + - match + - value + title: WAFExceptionSpecificConditionOnValueRequest + additionalProperties: false + WAFRequest: + type: object + properties: + active: + type: boolean + default: true + name: + type: string + minLength: 1 + pattern: .* + maxLength: 250 + product_version: + type: string + nullable: true + minLength: 3 + default: '1.0' + pattern: \d+\.\d+ + maxLength: 50 + engine_settings: + $ref: '#/components/schemas/WAFEngineSettingsFieldRequest' + required: + - name + title: WAFRequest + additionalProperties: false + WAFResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/WAF' + required: + - data + title: WAFResponse + additionalProperties: false + WAFRule: + type: object + properties: + id: + type: integer + readOnly: true + rule_id: + allOf: + - $ref: '#/components/schemas/RuleIdEnum' + default: 0 + description: '0 - All Rules
+ + 1 - Validation of protocol compliance: weird request, unable to parse
+ + 2 - Request too big, stored on disk and not parsed
+ + 10 - Validation of protocol compliance: invalid HEX encoding (null bytes)
+ + 11 - Validation of protocol compliance: missing or unknown Content-Type + header in a POST (this rule applies only to Request Body match zone)
+ + 12 - Validation of protocol compliance: invalid formatted URL
+ + 13 - Validation of protocol compliance: invalid POST format
+ + 14 - Validation of protocol compliance: invalid POST boundary
+ + 15 - Validation of protocol compliance: invalid JSON
+ + 16 - Validation of protocol compliance: POST with no body
+ + 17 - Possible SQL Injection attack: validation with libinjection_sql
+ + 18 - Possible XSS attack: validation with libinjection_xss
+ + 1000 - Possible SQL Injection attack: SQL keywords found in Body, Path, + Query String or Cookies
+ + 1001 - Possible SQL Injection or XSS attack: double quote (") found in + Body, Path, Query String or Cookies
+ + 1002 - Possible SQL Injection attack: possible hex encoding (0x) found + in Body, Path, Query String or Cookies
+ + 1003 - Possible SQL Injection attack: MySQL comment (/*) found in Body, + Path, Query String or Cookies
+ + 1004 - Possible SQL Injection attack: MySQL comment (*/) found in Body, + Path, Query String or Cookies
+ + 1005 - Possible SQL Injection attack: MySQL keyword (|) found in Body, + Path, Query String or Cookies
+ + 1006 - Possible SQL Injection attack: MySQL keyword (&&) found in Body, + Path, Query String or Cookies
+ + 1007 - Possible SQL Injection attack: MySQL comment (--) found in Body, + Path, Query String or Cookies
+ + 1008 - Possible SQL Injection or XSS attack: semicolon (;) found in Body, + Path or Query String
+ + 1009 - Possible SQL Injection attack: equal sign (=) found in Body or + Query String
+ + 1010 - Possible SQL Injection or XSS attack: open parenthesis [(] found + in Body, Path, Query String or Cookies
+ + 1011 - Possible SQL Injection or XSS attack: close parenthesis [)] found + in Body, Path, Query String or Cookies
+ + 1013 - Possible SQL Injection or XSS attack: apostrophe ('') found in + Body, Path, Query String or Cookies
+ + 1015 - Possible SQL Injection attack: comma (,) found in Body, Path, Query + String or Cookies
+ + 1016 - Possible SQL Injection attack: MySQL comment (#) found in Body, + Path, Query String or Cookies
+ + 1017 - Possible SQL Injection attack: double at sign (@@) found in Body, + Path, Query String or Cookies
+ + 1100 - Possible RFI attack: scheme "http://" found in Body, Query String + or Cookies
+ + 1101 - Possible RFI attack: scheme "https://" found in Body, Query String + or Cookies
+ + 1102 - Possible RFI attack: scheme "ftp://" found in Body, Query String + or Cookies
+ + 1103 - Possible RFI attack: scheme "php://" found in Body, Query String + or Cookies
+ + 1104 - Possible RFI attack: scheme "sftp://" found in Body, Query String + or Cookies
+ + 1105 - Possible RFI attack: scheme "zlib://" found in Body, Query String + or Cookies
+ + 1106 - Possible RFI attack: scheme "data://" found in Body, Query String + or Cookies
+ + 1107 - Possible RFI attack: scheme "glob://" found in Body, Query String + or Cookies
+ + 1108 - Possible RFI attack: scheme "phar://" found in Body, Query String + or Cookies
+ + 1109 - Possible RFI attack: scheme "file://" found in Body, Query String + or Cookies
+ + 1110 - Possible RFI attack: scheme "gopher://" found in Body, Query String + or Cookies
+ + 1198 - Possible RCE attack: validation with log4j (Log4Shell) in HEADERS_VAR
+ + 1199 - Possible RCE attack: validation with log4j (Log4Shell) in Body, + Path, Query String, Headers or Cookies
+ + 1200 - Possible Directory Traversal attack: double dot (..) found in Body, + Path, Query String or Cookies
+ + 1202 - Possible Directory Traversal attack: obvious probe (/etc/passwd) + found in Body, Path, Query String or Cookies
+ + 1203 - Possible Directory Traversal attack: obvious windows path (c:\) + found in Body, Path, Query String or Cookies
+ + 1204 - Possible Directory Traversal attack: obvious probe (cmd.exe) found + in Body, Path, Query String or Cookies
+ + 1205 - Possible Directory Traversal attack: backslash (\) found in Body, + Path, Query String or Cookies
+ + 1206 - Possible Directory Traversal attack: slash (/) found in Body, Query + String or Cookies
+ + 1207 - Possible Directory Traversal attack: obvious path probe (/..;/) + found in Body, Query String or Cookies
+ + 1208 - Possible Directory Traversal attack: obvious path probe (/.;/) + found in Body, Query String or Cookies
+ + 1209 - Possible Directory Traversal attack: obvious path probe (/.%2e/) + found in Body, Query String or Cookies
+ + 1210 - Possible Directory Traversal attack: obvious path probe (/%2e./) + found in Body, Query String or Cookies
+ + 1302 - Possible XSS attack: html open tag (<) found in Body, Path, Query + String or Cookies
+ + 1303 - Possible XSS attack: html close tag (>) found in Body, Path, Query + String or Cookies
+ + 1310 - Possible XSS attack: open square bracket ([) found in Body, Path, + Query String or Cookies
+ + 1311 - Possible XSS attack: close square bracket (]) found in Body, Path, + Query String or Cookies
+ + 1312 - Possible XSS attack: tilde character (~) found in Body, Path, Query + String or Cookies
+ + 1314 - Possible XSS attack: back quote ( `) found in Body, Path, Query + String or Cookies
+ + 1315 - Possible XSS attack: double encoding (%[2|3]) found in Body, Path, + Query String or Cookies
+ + 1400 - Possible trick to evade protection: UTF7/8 encoding (&#) found + in Body, Path, Query String or Cookies
+ + 1401 - Possible trick to evade protection: MS encoding (%U) found in Body, + Path, Query String or Cookies
+ + 1402 - Possible trick to evade protection: encoded chars (%20-%3F) found + in Body, Query String or Cookies
+ + 1500 - Possible File Upload attempt: asp/php (.ph, .asp or .ht) found + in filename in a multipart POST containing a file
+ + 2001 - Possible CVE-2022-22965 attack: Tomcat Pipeline Context tampering + + + * `0` - All Rules + + * `1` - Validation of protocol compliance: weird request, unable to parse + + * `2` - Request too big, stored on disk and not parsed + + * `10` - Validation of protocol compliance: invalid HEX encoding (null + bytes) + + * `11` - Validation of protocol compliance: missing or unknown Content-Type + header in a POST (this rule applies only to Request Body match zone) + + * `12` - Validation of protocol compliance: invalid formatted URL + + * `13` - Validation of protocol compliance: invalid POST format + + * `14` - Validation of protocol compliance: invalid POST boundary + + * `15` - Validation of protocol compliance: invalid JSON + + * `16` - Validation of protocol compliance: POST with no body + + * `17` - Possible SQL Injection attack: validation with libinjection_sql + + * `18` - Possible XSS attack: validation with libinjection_xss + + * `1000` - Possible SQL Injection attack: SQL keywords found in Body, + Path, Query String or Cookies + + * `1001` - Possible SQL Injection or XSS attack: double quote (") found + in Body, Path, Query String or Cookies + + * `1002` - Possible SQL Injection attack: possible hex encoding (0x) found + in Body, Path, Query String or Cookies + + * `1003` - Possible SQL Injection attack: MySQL comment (/*) found in + Body, Path, Query String or Cookies + + * `1004` - Possible SQL Injection attack: MySQL comment (*/) found in + Body, Path, Query String or Cookies + + * `1005` - Possible SQL Injection attack: MySQL keyword (|) found in Body, + Path, Query String or Cookies + + * `1006` - Possible SQL Injection attack: MySQL keyword (&&) found in + Body, Path, Query String or Cookies + + * `1007` - Possible SQL Injection attack: MySQL comment (--) found in + Body, Path, Query String or Cookies + + * `1008` - Possible SQL Injection or XSS attack: semicolon (;) found in + Body, Path or Query String + + * `1009` - Possible SQL Injection attack: equal sign (=) found in Body + or Query String + + * `1010` - Possible SQL Injection or XSS attack: open parenthesis [(] + found in Body, Path, Query String or Cookies + + * `1011` - Possible SQL Injection or XSS attack: close parenthesis [)] + found in Body, Path, Query String or Cookies + + * `1013` - Possible SQL Injection or XSS attack: apostrophe ('') found + in Body, Path, Query String or Cookies + + * `1015` - Possible SQL Injection attack: comma (,) found in Body, Path, + Query String or Cookies + + * `1016` - Possible SQL Injection attack: MySQL comment (#) found in Body, + Path, Query String or Cookies + + * `1017` - Possible SQL Injection attack: double at sign (@@) found in + Body, Path, Query String or Cookies + + * `1100` - Possible RFI attack: scheme "http://" found in Body, Query + String or Cookies + + * `1101` - Possible RFI attack: scheme "https://" found in Body, Query + String or Cookies + + * `1102` - Possible RFI attack: scheme "ftp://" found in Body, Query String + or Cookies + + * `1103` - Possible RFI attack: scheme "php://" found in Body, Query String + or Cookies + + * `1104` - Possible RFI attack: scheme "sftp://" found in Body, Query + String or Cookies + + * `1105` - Possible RFI attack: scheme "zlib://" found in Body, Query + String or Cookies + + * `1106` - Possible RFI attack: scheme "data://" found in Body, Query + String or Cookies + + * `1107` - Possible RFI attack: scheme "glob://" found in Body, Query + String or Cookies + + * `1108` - Possible RFI attack: scheme "phar://" found in Body, Query + String or Cookies + + * `1109` - Possible RFI attack: scheme "file://" found in Body, Query + String or Cookies + + * `1110` - Possible RFI attack: scheme "gopher://" found in Body, Query + String or Cookies + + * `1198` - Possible RCE attack: validation with log4j (Log4Shell) in HEADERS_VAR + + * `1199` - Possible RCE attack: validation with log4j (Log4Shell) in Body, + Path, Query String, Headers or Cookies + + * `1200` - Possible Directory Traversal attack: double dot (..) found + in Body, Path, Query String or Cookies + + * `1202` - Possible Directory Traversal attack: obvious probe (/etc/passwd) + found in Body, Path, Query String or Cookies + + * `1203` - Possible Directory Traversal attack: obvious windows path (c:\) + found in Body, Path, Query String or Cookies + + * `1204` - Possible Directory Traversal attack: obvious probe (cmd.exe) + found in Body, Path, Query String or Cookies + + * `1205` - Possible Directory Traversal attack: backslash (\) found in + Body, Path, Query String or Cookies + + * `1206` - Possible Directory Traversal attack: slash (/) found in Body, + Query String or Cookies + + * `1207` - Possible Directory Traversal attack: obvious path probe (/..;/) + found in Body, Query String or Cookies + + * `1208` - Possible Directory Traversal attack: obvious path probe (/.;/) + found in Body, Query String or Cookies + + * `1209` - Possible Directory Traversal attack: obvious path probe (/.%2e/) + found in Body, Query String or Cookies + + * `1210` - Possible Directory Traversal attack: obvious path probe (/%2e./) + found in Body, Query String or Cookies + + * `1302` - Possible XSS attack: html open tag (<) found in Body, Path, + Query String or Cookies + + * `1303` - Possible XSS attack: html close tag (>) found in Body, Path, + Query String or Cookies + + * `1310` - Possible XSS attack: open square bracket ([) found in Body, + Path, Query String or Cookies + + * `1311` - Possible XSS attack: close square bracket (]) found in Body, + Path, Query String or Cookies + + * `1312` - Possible XSS attack: tilde character (~) found in Body, Path, + Query String or Cookies + + * `1314` - Possible XSS attack: back quote ( `) found in Body, Path, Query + String or Cookies + + * `1315` - Possible XSS attack: double encoding (%[2|3]) found in Body, + Path, Query String or Cookies + + * `1400` - Possible trick to evade protection: UTF7/8 encoding (&#) found + in Body, Path, Query String or Cookies + + * `1401` - Possible trick to evade protection: MS encoding (%U) found + in Body, Path, Query String or Cookies + + * `1402` - Possible trick to evade protection: encoded chars (%20-%3F) + found in Body, Query String or Cookies + + * `1500` - Possible File Upload attempt: asp/php (.ph, .asp or .ht) found + in filename in a multipart POST containing a file + + * `2001` - Possible CVE-2022-22965 attack: Tomcat Pipeline Context tampering' + name: + type: string + pattern: .* + maxLength: 255 + minLength: 0 + path: + type: string + nullable: true + pattern: ^[^|]*$ + maxLength: 255 + minLength: 0 + conditions: + type: array + items: + $ref: '#/components/schemas/WAFExceptionCondition' + minItems: 1 + operator: + allOf: + - $ref: '#/components/schemas/WAFRuleOperatorEnum' + default: contains + active: + type: boolean + default: true + last_editor: + type: string + readOnly: true + last_modified: + type: string + format: date-time + readOnly: true + required: + - conditions + - id + - last_editor + - last_modified + - name + title: WAFRule + additionalProperties: false + WAFRuleOperatorEnum: + enum: + - regex + - contains + type: string + description: '* `regex` - regex + + * `contains` - contains' + title: WAFRuleOperatorEnum + x-extensible-enum: + - regex + - contains + WAFRuleRequest: + type: object + properties: + rule_id: + allOf: + - $ref: '#/components/schemas/RuleIdEnum' + default: 0 + description: '0 - All Rules
+ + 1 - Validation of protocol compliance: weird request, unable to parse
+ + 2 - Request too big, stored on disk and not parsed
+ + 10 - Validation of protocol compliance: invalid HEX encoding (null bytes)
+ + 11 - Validation of protocol compliance: missing or unknown Content-Type + header in a POST (this rule applies only to Request Body match zone)
+ + 12 - Validation of protocol compliance: invalid formatted URL
+ + 13 - Validation of protocol compliance: invalid POST format
+ + 14 - Validation of protocol compliance: invalid POST boundary
+ + 15 - Validation of protocol compliance: invalid JSON
+ + 16 - Validation of protocol compliance: POST with no body
+ + 17 - Possible SQL Injection attack: validation with libinjection_sql
+ + 18 - Possible XSS attack: validation with libinjection_xss
+ + 1000 - Possible SQL Injection attack: SQL keywords found in Body, Path, + Query String or Cookies
+ + 1001 - Possible SQL Injection or XSS attack: double quote (") found in + Body, Path, Query String or Cookies
+ + 1002 - Possible SQL Injection attack: possible hex encoding (0x) found + in Body, Path, Query String or Cookies
+ + 1003 - Possible SQL Injection attack: MySQL comment (/*) found in Body, + Path, Query String or Cookies
+ + 1004 - Possible SQL Injection attack: MySQL comment (*/) found in Body, + Path, Query String or Cookies
+ + 1005 - Possible SQL Injection attack: MySQL keyword (|) found in Body, + Path, Query String or Cookies
+ + 1006 - Possible SQL Injection attack: MySQL keyword (&&) found in Body, + Path, Query String or Cookies
+ + 1007 - Possible SQL Injection attack: MySQL comment (--) found in Body, + Path, Query String or Cookies
+ + 1008 - Possible SQL Injection or XSS attack: semicolon (;) found in Body, + Path or Query String
+ + 1009 - Possible SQL Injection attack: equal sign (=) found in Body or + Query String
+ + 1010 - Possible SQL Injection or XSS attack: open parenthesis [(] found + in Body, Path, Query String or Cookies
+ + 1011 - Possible SQL Injection or XSS attack: close parenthesis [)] found + in Body, Path, Query String or Cookies
+ + 1013 - Possible SQL Injection or XSS attack: apostrophe ('') found in + Body, Path, Query String or Cookies
+ + 1015 - Possible SQL Injection attack: comma (,) found in Body, Path, Query + String or Cookies
+ + 1016 - Possible SQL Injection attack: MySQL comment (#) found in Body, + Path, Query String or Cookies
+ + 1017 - Possible SQL Injection attack: double at sign (@@) found in Body, + Path, Query String or Cookies
+ + 1100 - Possible RFI attack: scheme "http://" found in Body, Query String + or Cookies
+ + 1101 - Possible RFI attack: scheme "https://" found in Body, Query String + or Cookies
+ + 1102 - Possible RFI attack: scheme "ftp://" found in Body, Query String + or Cookies
+ + 1103 - Possible RFI attack: scheme "php://" found in Body, Query String + or Cookies
+ + 1104 - Possible RFI attack: scheme "sftp://" found in Body, Query String + or Cookies
+ + 1105 - Possible RFI attack: scheme "zlib://" found in Body, Query String + or Cookies
+ + 1106 - Possible RFI attack: scheme "data://" found in Body, Query String + or Cookies
+ + 1107 - Possible RFI attack: scheme "glob://" found in Body, Query String + or Cookies
+ + 1108 - Possible RFI attack: scheme "phar://" found in Body, Query String + or Cookies
+ + 1109 - Possible RFI attack: scheme "file://" found in Body, Query String + or Cookies
+ + 1110 - Possible RFI attack: scheme "gopher://" found in Body, Query String + or Cookies
+ + 1198 - Possible RCE attack: validation with log4j (Log4Shell) in HEADERS_VAR
+ + 1199 - Possible RCE attack: validation with log4j (Log4Shell) in Body, + Path, Query String, Headers or Cookies
+ + 1200 - Possible Directory Traversal attack: double dot (..) found in Body, + Path, Query String or Cookies
+ + 1202 - Possible Directory Traversal attack: obvious probe (/etc/passwd) + found in Body, Path, Query String or Cookies
+ + 1203 - Possible Directory Traversal attack: obvious windows path (c:\) + found in Body, Path, Query String or Cookies
+ + 1204 - Possible Directory Traversal attack: obvious probe (cmd.exe) found + in Body, Path, Query String or Cookies
+ + 1205 - Possible Directory Traversal attack: backslash (\) found in Body, + Path, Query String or Cookies
+ + 1206 - Possible Directory Traversal attack: slash (/) found in Body, Query + String or Cookies
+ + 1207 - Possible Directory Traversal attack: obvious path probe (/..;/) + found in Body, Query String or Cookies
+ + 1208 - Possible Directory Traversal attack: obvious path probe (/.;/) + found in Body, Query String or Cookies
+ + 1209 - Possible Directory Traversal attack: obvious path probe (/.%2e/) + found in Body, Query String or Cookies
+ + 1210 - Possible Directory Traversal attack: obvious path probe (/%2e./) + found in Body, Query String or Cookies
+ + 1302 - Possible XSS attack: html open tag (<) found in Body, Path, Query + String or Cookies
+ + 1303 - Possible XSS attack: html close tag (>) found in Body, Path, Query + String or Cookies
+ + 1310 - Possible XSS attack: open square bracket ([) found in Body, Path, + Query String or Cookies
+ + 1311 - Possible XSS attack: close square bracket (]) found in Body, Path, + Query String or Cookies
+ + 1312 - Possible XSS attack: tilde character (~) found in Body, Path, Query + String or Cookies
+ + 1314 - Possible XSS attack: back quote ( `) found in Body, Path, Query + String or Cookies
+ + 1315 - Possible XSS attack: double encoding (%[2|3]) found in Body, Path, + Query String or Cookies
+ + 1400 - Possible trick to evade protection: UTF7/8 encoding (&#) found + in Body, Path, Query String or Cookies
+ + 1401 - Possible trick to evade protection: MS encoding (%U) found in Body, + Path, Query String or Cookies
+ + 1402 - Possible trick to evade protection: encoded chars (%20-%3F) found + in Body, Query String or Cookies
+ + 1500 - Possible File Upload attempt: asp/php (.ph, .asp or .ht) found + in filename in a multipart POST containing a file
+ + 2001 - Possible CVE-2022-22965 attack: Tomcat Pipeline Context tampering + + + * `0` - All Rules + + * `1` - Validation of protocol compliance: weird request, unable to parse + + * `2` - Request too big, stored on disk and not parsed + + * `10` - Validation of protocol compliance: invalid HEX encoding (null + bytes) + + * `11` - Validation of protocol compliance: missing or unknown Content-Type + header in a POST (this rule applies only to Request Body match zone) + + * `12` - Validation of protocol compliance: invalid formatted URL + + * `13` - Validation of protocol compliance: invalid POST format + + * `14` - Validation of protocol compliance: invalid POST boundary + + * `15` - Validation of protocol compliance: invalid JSON + + * `16` - Validation of protocol compliance: POST with no body + + * `17` - Possible SQL Injection attack: validation with libinjection_sql + + * `18` - Possible XSS attack: validation with libinjection_xss + + * `1000` - Possible SQL Injection attack: SQL keywords found in Body, + Path, Query String or Cookies + + * `1001` - Possible SQL Injection or XSS attack: double quote (") found + in Body, Path, Query String or Cookies + + * `1002` - Possible SQL Injection attack: possible hex encoding (0x) found + in Body, Path, Query String or Cookies + + * `1003` - Possible SQL Injection attack: MySQL comment (/*) found in + Body, Path, Query String or Cookies + + * `1004` - Possible SQL Injection attack: MySQL comment (*/) found in + Body, Path, Query String or Cookies + + * `1005` - Possible SQL Injection attack: MySQL keyword (|) found in Body, + Path, Query String or Cookies + + * `1006` - Possible SQL Injection attack: MySQL keyword (&&) found in + Body, Path, Query String or Cookies + + * `1007` - Possible SQL Injection attack: MySQL comment (--) found in + Body, Path, Query String or Cookies + + * `1008` - Possible SQL Injection or XSS attack: semicolon (;) found in + Body, Path or Query String + + * `1009` - Possible SQL Injection attack: equal sign (=) found in Body + or Query String + + * `1010` - Possible SQL Injection or XSS attack: open parenthesis [(] + found in Body, Path, Query String or Cookies + + * `1011` - Possible SQL Injection or XSS attack: close parenthesis [)] + found in Body, Path, Query String or Cookies + + * `1013` - Possible SQL Injection or XSS attack: apostrophe ('') found + in Body, Path, Query String or Cookies + + * `1015` - Possible SQL Injection attack: comma (,) found in Body, Path, + Query String or Cookies + + * `1016` - Possible SQL Injection attack: MySQL comment (#) found in Body, + Path, Query String or Cookies + + * `1017` - Possible SQL Injection attack: double at sign (@@) found in + Body, Path, Query String or Cookies + + * `1100` - Possible RFI attack: scheme "http://" found in Body, Query + String or Cookies + + * `1101` - Possible RFI attack: scheme "https://" found in Body, Query + String or Cookies + + * `1102` - Possible RFI attack: scheme "ftp://" found in Body, Query String + or Cookies + + * `1103` - Possible RFI attack: scheme "php://" found in Body, Query String + or Cookies + + * `1104` - Possible RFI attack: scheme "sftp://" found in Body, Query + String or Cookies + + * `1105` - Possible RFI attack: scheme "zlib://" found in Body, Query + String or Cookies + + * `1106` - Possible RFI attack: scheme "data://" found in Body, Query + String or Cookies + + * `1107` - Possible RFI attack: scheme "glob://" found in Body, Query + String or Cookies + + * `1108` - Possible RFI attack: scheme "phar://" found in Body, Query + String or Cookies + + * `1109` - Possible RFI attack: scheme "file://" found in Body, Query + String or Cookies + + * `1110` - Possible RFI attack: scheme "gopher://" found in Body, Query + String or Cookies + + * `1198` - Possible RCE attack: validation with log4j (Log4Shell) in HEADERS_VAR + + * `1199` - Possible RCE attack: validation with log4j (Log4Shell) in Body, + Path, Query String, Headers or Cookies + + * `1200` - Possible Directory Traversal attack: double dot (..) found + in Body, Path, Query String or Cookies + + * `1202` - Possible Directory Traversal attack: obvious probe (/etc/passwd) + found in Body, Path, Query String or Cookies + + * `1203` - Possible Directory Traversal attack: obvious windows path (c:\) + found in Body, Path, Query String or Cookies + + * `1204` - Possible Directory Traversal attack: obvious probe (cmd.exe) + found in Body, Path, Query String or Cookies + + * `1205` - Possible Directory Traversal attack: backslash (\) found in + Body, Path, Query String or Cookies + + * `1206` - Possible Directory Traversal attack: slash (/) found in Body, + Query String or Cookies + + * `1207` - Possible Directory Traversal attack: obvious path probe (/..;/) + found in Body, Query String or Cookies + + * `1208` - Possible Directory Traversal attack: obvious path probe (/.;/) + found in Body, Query String or Cookies + + * `1209` - Possible Directory Traversal attack: obvious path probe (/.%2e/) + found in Body, Query String or Cookies + + * `1210` - Possible Directory Traversal attack: obvious path probe (/%2e./) + found in Body, Query String or Cookies + + * `1302` - Possible XSS attack: html open tag (<) found in Body, Path, + Query String or Cookies + + * `1303` - Possible XSS attack: html close tag (>) found in Body, Path, + Query String or Cookies + + * `1310` - Possible XSS attack: open square bracket ([) found in Body, + Path, Query String or Cookies + + * `1311` - Possible XSS attack: close square bracket (]) found in Body, + Path, Query String or Cookies + + * `1312` - Possible XSS attack: tilde character (~) found in Body, Path, + Query String or Cookies + + * `1314` - Possible XSS attack: back quote ( `) found in Body, Path, Query + String or Cookies + + * `1315` - Possible XSS attack: double encoding (%[2|3]) found in Body, + Path, Query String or Cookies + + * `1400` - Possible trick to evade protection: UTF7/8 encoding (&#) found + in Body, Path, Query String or Cookies + + * `1401` - Possible trick to evade protection: MS encoding (%U) found + in Body, Path, Query String or Cookies + + * `1402` - Possible trick to evade protection: encoded chars (%20-%3F) + found in Body, Query String or Cookies + + * `1500` - Possible File Upload attempt: asp/php (.ph, .asp or .ht) found + in filename in a multipart POST containing a file + + * `2001` - Possible CVE-2022-22965 attack: Tomcat Pipeline Context tampering' + name: + type: string + minLength: 1 + pattern: .* + maxLength: 255 + path: + type: string + nullable: true + pattern: ^[^|]*$ + maxLength: 255 + minLength: 0 + conditions: + type: array + items: + $ref: '#/components/schemas/WAFExceptionConditionRequest' + minItems: 1 + operator: + allOf: + - $ref: '#/components/schemas/WAFRuleOperatorEnum' + default: contains + active: + type: boolean + default: true + required: + - conditions + - name + title: WAFRuleRequest + additionalProperties: false + WAFRuleResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/WAFRule' + required: + - data + title: WAFRuleResponse + additionalProperties: false + Workload: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + pattern: .* + maxLength: 100 + minLength: 1 + active: + type: boolean + default: true + last_editor: + type: string + readOnly: true + pattern: .* + maxLength: 250 + minLength: 1 + last_modified: + type: string + format: date-time + readOnly: true + infrastructure: + allOf: + - $ref: '#/components/schemas/InfrastructureEnum' + default: 1 + tls: + allOf: + - $ref: '#/components/schemas/TLSWorkload' + default: + certificate: null + minimum_version: tls_1_3 + protocols: + allOf: + - $ref: '#/components/schemas/Protocols' + default: + http: + versions: + - http1 + - http2 + http_ports: + - 80 + https_ports: + - 443 + quic_ports: null + mtls: + allOf: + - $ref: '#/components/schemas/MTLS' + default: + enabled: false + config: null + domains: + type: array + items: + type: string + workload_domain_allow_access: + type: boolean + workload_domain: + type: string + readOnly: true + default: '' + pattern: .* + product_version: + type: string + readOnly: true + pattern: ^(custom|\d+\.\d+)$ + required: + - id + - last_editor + - last_modified + - name + - product_version + - workload_domain + title: Workload + additionalProperties: false + WorkloadDeployment: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + pattern: .* + maxLength: 254 + minLength: 1 + current: + type: boolean + default: true + active: + type: boolean + default: true + strategy: + $ref: '#/components/schemas/DeploymentStrategy' + last_editor: + type: string + readOnly: true + pattern: .* + maxLength: 250 + minLength: 1 + last_modified: + type: string + format: date-time + readOnly: true + required: + - id + - last_editor + - last_modified + - name + - strategy + title: WorkloadDeployment + additionalProperties: false + WorkloadDeploymentRequest: + type: object + properties: + name: + type: string + minLength: 1 + pattern: .* + maxLength: 254 + current: + type: boolean + default: true + active: + type: boolean + default: true + strategy: + $ref: '#/components/schemas/DeploymentStrategyRequest' + required: + - name + - strategy + title: WorkloadDeploymentRequest + additionalProperties: false + WorkloadDeploymentResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/WorkloadDeployment' + required: + - data + title: WorkloadDeploymentResponse + additionalProperties: false + WorkloadRequest: + type: object + properties: + name: + type: string + minLength: 1 + pattern: .* + maxLength: 100 + active: + type: boolean + default: true + infrastructure: + allOf: + - $ref: '#/components/schemas/InfrastructureEnum' + default: 1 + tls: + allOf: + - $ref: '#/components/schemas/TLSWorkloadRequest' + default: + certificate: null + minimum_version: tls_1_3 + protocols: + allOf: + - $ref: '#/components/schemas/ProtocolsRequest' + default: + http: + versions: + - http1 + - http2 + http_ports: + - 80 + https_ports: + - 443 + quic_ports: null + mtls: + allOf: + - $ref: '#/components/schemas/MTLSRequest' + default: + enabled: false + config: null + domains: + type: array + items: + type: string + minLength: 1 + workload_domain_allow_access: + type: boolean + required: + - name + title: WorkloadRequest + additionalProperties: false + WorkloadResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/Workload' + required: + - data + title: WorkloadResponse + additionalProperties: false + BehaviorArgsAttributes: + type: object + description: Behavior attributes containing the value parameter + properties: + value: + oneOf: + - type: string + - type: integer + format: int64 + minimum: 1 + maximum: 9223372036854775807 + description: Value can be string or integer depending on the behavior type + required: + - value + additionalProperties: false + BehaviorArgs: + type: object + title: BehaviorArgs + description: Behaviors with arguments (string or integer) + properties: + type: + type: string + enum: + - add_request_cookie + - add_request_header + - add_response_header + - filter_request_cookie + - filter_request_header + - filter_response_cookie + - filter_response_header + - redirect_to_301 + - redirect_to_302 + - rewrite_request + - run_function + - set_cache_policy + - set_connector + - set_cookie + - set_origin + x-enum-descriptions: + add_request_cookie: Expects string value + add_request_header: Expects string value + add_response_header: Expects string value + filter_request_cookie: Expects string value + filter_request_header: Expects string value + filter_response_cookie: Expects string value + filter_response_header: Expects string value + redirect_to_301: Expects string value + redirect_to_302: Expects string value + rewrite_request: Expects string value + run_function: Expects integer value + set_cache_policy: Expects integer value + set_connector: Expects integer value + set_cookie: Expects string value + set_origin: Expects integer value + description: Behavior type + x-extensible-enum: + - add_request_cookie + - add_request_header + - add_response_header + - filter_request_cookie + - filter_request_header + - filter_response_cookie + - filter_response_header + - redirect_to_301 + - redirect_to_302 + - rewrite_request + - run_function + - set_cache_policy + - set_connector + - set_cookie + - set_origin + attributes: + $ref: '#/components/schemas/BehaviorArgsAttributes' + required: + - type + - attributes + additionalProperties: false + BehaviorCapture: + type: object + title: BehaviorCapture + description: Behaviors for capturing match groups + properties: + type: + type: string + enum: + - capture_match_groups + x-extensible-enum: + - capture_match_groups + attributes: + $ref: '#/components/schemas/BehaviorCaptureMatchGroupsAttributes' + required: + - type + - attributes + additionalProperties: true + FirewallBehaviorModeEnum: + enum: + - ignore + - all + - allowlist + - denylist + type: string + description: '* `ignore` - ignore + + * `all` - all + + * `allowlist` - allowlist + + * `denylist` - denylist' + title: FirewallBehaviorModeEnum + x-extensible-enum: + - ignore + - all + - allowlist + - denylist + CriterionOperatorEnum: + enum: + - does_not_exist + - does_not_match + - does_not_start_with + - exists + - is_equal + - is_in_list + - is_not_equal + - is_not_in_list + - matches + - starts_with + type: string + description: '* `does_not_exist` - does_not_exist + + * `does_not_match` - does_not_match + + * `does_not_start_with` - does_not_start_with + + * `exists` - exists + + * `is_equal` - is_equal + + * `is_in_list` - is_in_list + + * `is_not_equal` - is_not_equal + + * `is_not_in_list` - is_not_in_list + + * `matches` - matches + + * `starts_with` - starts_with' + title: CriterionOperatorEnum + x-extensible-enum: + - does_not_exist + - does_not_match + - does_not_start_with + - exists + - is_equal + - is_in_list + - is_not_equal + - is_not_in_list + - matches + - starts_with + OriginTypeEnum: + enum: + - http + - storage + - live_ingest + type: string + description: '* `http` - HTTP + + * `storage` - Storage + + * `live_ingest` - Live Ingest' + title: OriginTypeEnum + x-extensible-enum: + - http + - storage + - live_ingest + NetworkListTypeEnum: + enum: + - asn + - countries + - ip_cidr + type: string + description: '* `asn` - ASN + + * `countries` - Countries + + * `ip_cidr` - IP/CIDR' + title: NetworkListTypeEnum + x-extensible-enum: + - asn + - countries + - ip_cidr + BehaviorTypeEnum: + enum: + - run_function + type: string + description: '* `run_function` - run_function' + title: BehaviorTypeEnum + x-extensible-enum: + - run_function + ApplicationRequestPhaseRuleEngineOrder: + type: object + properties: + order: + type: array + items: + type: integer + maximum: 9223372036854775807 + minimum: 1 + format: int64 + required: + - order + title: ApplicationRequestPhaseRuleEngineOrder + additionalProperties: false + Connector2: + oneOf: + - $ref: '#/components/schemas/ConnectorHTTP' + - $ref: '#/components/schemas/Connector' + - $ref: '#/components/schemas/Connector' + discriminator: + propertyName: type + mapping: + http: '#/components/schemas/ConnectorHTTP' + storage: '#/components/schemas/Connector' + live_ingest: '#/components/schemas/Connector' + title: Connector2 + additionalProperties: true + ConnectorRequest2: + oneOf: + - $ref: '#/components/schemas/ConnectorHTTPRequest' + - $ref: '#/components/schemas/ConnectorRequest' + - $ref: '#/components/schemas/ConnectorRequest' + discriminator: + propertyName: type + mapping: + http: '#/components/schemas/ConnectorHTTPRequest' + storage: '#/components/schemas/ConnectorRequest' + live_ingest: '#/components/schemas/ConnectorRequest' + title: ConnectorRequest2 + additionalProperties: true + ConnectorResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/Connector2' + required: + - data + title: ConnectorResponse + additionalProperties: false + ApplicationCriterionField: + type: object + description: 'The criterion which will be evaluated to define if the configured + behaviors for this rule can be executed. + + + | Variable | Description | Phase | Operators | Argument | + + | -------- | ----------- | ----- | --------- | ---------| + + | ${arg_<name>} | Use this variable to match a query param. Replace + <name> with the specific query param you want to match, replacing any + ''-'' with ''_''. Examples: ${arg_search}, ${arg_next}. | default, request, + response | is_equal, is_not_equal, starts_with, does_not_start_with, matches, + does_not_match, exists, does_not_exist | string | + + | ${args} | | default, request, response | is_equal, is_not_equal, starts_with, + does_not_start_with, matches, does_not_match, exists, does_not_exist | string + | + + | ${cookie_<name>} | Use this variable to match cookies sent by the + browser Cookie headers.Replace <name> with the specific cookie name + you want to match, replacing any ''-'' with ''_''. Examples: cookie_session_id, + cookie_user_pref. | default, request, response | is_equal, is_not_equal, starts_with, + does_not_start_with, matches, does_not_match, exists, does_not_exist | string + | + + | ${device_group} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${geoip_city_continent_code} | | default, request, response | is_equal, + is_not_equal, starts_with, does_not_start_with, matches, does_not_match, exists, + does_not_exist | string | + + | ${geoip_city_country_code} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${geoip_city_country_name} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${geoip_city} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${geoip_continent_code} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${geoip_country_code} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${geoip_country_name} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${geoip_region_name} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${geoip_region} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${host} | | default, request, response | is_equal, is_not_equal, starts_with, + does_not_start_with, matches, does_not_match, exists, does_not_exist | string + | + + | ${domain} | | default, request, response | is_equal, is_not_equal, starts_with, + does_not_start_with, matches, does_not_match, exists, does_not_exist | string + | + + | ${http_<header_name>} | Use this variable to match HTTP headers. Replace + <header_name> with the specific header you want to match, replacing + any ''-'' with ''_''. Examples: http_authorization, http_accept, http_x_debug. + | default, request, response | is_equal, is_not_equal, starts_with, does_not_start_with, + matches, does_not_match, exists, does_not_exist | string | + + | ${remote_addr} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${remote_user} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${request_method} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${request_uri} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${request} | | default, request, response | is_equal, is_not_equal, starts_with, + does_not_start_with, matches, does_not_match, exists, does_not_exist | string + | + + | ${scheme} | | default, request, response | is_equal, is_not_equal, starts_with, + does_not_start_with, matches, does_not_match, exists, does_not_exist | string + | + + | ${sent_http_<header_name>} | Use this variable to match HTTP headers + sent to origin server. Replace <header_name> with the specific header + you want to match, replacing any ''-'' with ''_''. Examples: http_authorization, + http_accept, http_x_debug. | response | is_equal, is_not_equal, starts_with, + does_not_start_with, matches, does_not_match, exists, does_not_exist | string + | + + | ${status} | | response | is_equal, is_not_equal, starts_with, does_not_start_with, + matches, does_not_match, exists, does_not_exist | string | + + | ${upstream_addr} | | response | is_equal, is_not_equal, starts_with, does_not_start_with, + matches, does_not_match, exists, does_not_exist | string | + + | ${upstream_cookie_<name>} | Use this variable to match cookies sent + by the origin server in Set-Cookie headers.Replace <name> with the specific + cookie you want to match, replacing any ''-'' with ''_''. Examples: ${upstream_cookie_mycookie}, + ${upstream_cookie_user_info}. | response | is_equal, is_not_equal, starts_with, + does_not_start_with, matches, does_not_match, exists, does_not_exist | string + | + + | ${upstream_http_<header_name>} | Use this variable to match origin + HTTP headers. Replace <header_name> with the specific header you want + to match, replacing any ''-'' with ''_''. If many origins are consulted while + the request is processed, only headers from the last origin are stored. Examples: + http_authorization, http_accept, http_x_debug. | response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${upstream_status} | | response | is_equal, is_not_equal, starts_with, + does_not_start_with, matches, does_not_match, exists, does_not_exist | string + | + + | ${uri} | The normalized (urldecoded) URI of the request. | default, request, + response | is_equal, is_not_equal, starts_with, does_not_start_with, matches, + does_not_match, exists, does_not_exist | string | + + | ${server_addr} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${server_port} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_cert} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_escaped_cert} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_fingerprint} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_i_dn} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_s_dn_parsed} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_s_dn} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_serial} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_v_end} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_v_remain} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_v_start} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_verify} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${tcpinfo_rtt} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${remote_port} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${request_body} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + + + About `operator` field: it''s the operator to be used to evaluate the current + criterion. When used in the first criterion of a block it should be always + the `if` operator.' + properties: + conditional: + $ref: '#/components/schemas/ConditionalEnum' + variable: + $ref: '#/components/schemas/ApplicationCriterionFieldVariableEnum' + operator: + $ref: '#/components/schemas/CriterionOperatorEnum' + argument: + allOf: + - $ref: '#/components/schemas/ApplicationCriterionArgument' + nullable: true + type: object + required: + - conditional + - operator + - variable + title: ApplicationCriterionField + additionalProperties: false + ApplicationCriterionFieldRequest: + type: object + description: 'The criterion which will be evaluated to define if the configured + behaviors for this rule can be executed. + + + | Variable | Description | Phase | Operators | Argument | + + | -------- | ----------- | ----- | --------- | ---------| + + | ${arg_<name>} | Use this variable to match a query param. Replace + <name> with the specific query param you want to match, replacing any + ''-'' with ''_''. Examples: ${arg_search}, ${arg_next}. | default, request, + response | is_equal, is_not_equal, starts_with, does_not_start_with, matches, + does_not_match, exists, does_not_exist | string | + + | ${args} | | default, request, response | is_equal, is_not_equal, starts_with, + does_not_start_with, matches, does_not_match, exists, does_not_exist | string + | + + | ${cookie_<name>} | Use this variable to match cookies sent by the + browser Cookie headers.Replace <name> with the specific cookie name + you want to match, replacing any ''-'' with ''_''. Examples: cookie_session_id, + cookie_user_pref. | default, request, response | is_equal, is_not_equal, starts_with, + does_not_start_with, matches, does_not_match, exists, does_not_exist | string + | + + | ${device_group} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${geoip_city_continent_code} | | default, request, response | is_equal, + is_not_equal, starts_with, does_not_start_with, matches, does_not_match, exists, + does_not_exist | string | + + | ${geoip_city_country_code} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${geoip_city_country_name} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${geoip_city} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${geoip_continent_code} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${geoip_country_code} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${geoip_country_name} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${geoip_region_name} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${geoip_region} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${host} | | default, request, response | is_equal, is_not_equal, starts_with, + does_not_start_with, matches, does_not_match, exists, does_not_exist | string + | + + | ${domain} | | default, request, response | is_equal, is_not_equal, starts_with, + does_not_start_with, matches, does_not_match, exists, does_not_exist | string + | + + | ${http_<header_name>} | Use this variable to match HTTP headers. Replace + <header_name> with the specific header you want to match, replacing + any ''-'' with ''_''. Examples: http_authorization, http_accept, http_x_debug. + | default, request, response | is_equal, is_not_equal, starts_with, does_not_start_with, + matches, does_not_match, exists, does_not_exist | string | + + | ${remote_addr} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${remote_user} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${request_method} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${request_uri} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${request} | | default, request, response | is_equal, is_not_equal, starts_with, + does_not_start_with, matches, does_not_match, exists, does_not_exist | string + | + + | ${scheme} | | default, request, response | is_equal, is_not_equal, starts_with, + does_not_start_with, matches, does_not_match, exists, does_not_exist | string + | + + | ${sent_http_<header_name>} | Use this variable to match HTTP headers + sent to origin server. Replace <header_name> with the specific header + you want to match, replacing any ''-'' with ''_''. Examples: http_authorization, + http_accept, http_x_debug. | response | is_equal, is_not_equal, starts_with, + does_not_start_with, matches, does_not_match, exists, does_not_exist | string + | + + | ${status} | | response | is_equal, is_not_equal, starts_with, does_not_start_with, + matches, does_not_match, exists, does_not_exist | string | + + | ${upstream_addr} | | response | is_equal, is_not_equal, starts_with, does_not_start_with, + matches, does_not_match, exists, does_not_exist | string | + + | ${upstream_cookie_<name>} | Use this variable to match cookies sent + by the origin server in Set-Cookie headers.Replace <name> with the specific + cookie you want to match, replacing any ''-'' with ''_''. Examples: ${upstream_cookie_mycookie}, + ${upstream_cookie_user_info}. | response | is_equal, is_not_equal, starts_with, + does_not_start_with, matches, does_not_match, exists, does_not_exist | string + | + + | ${upstream_http_<header_name>} | Use this variable to match origin + HTTP headers. Replace <header_name> with the specific header you want + to match, replacing any ''-'' with ''_''. If many origins are consulted while + the request is processed, only headers from the last origin are stored. Examples: + http_authorization, http_accept, http_x_debug. | response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${upstream_status} | | response | is_equal, is_not_equal, starts_with, + does_not_start_with, matches, does_not_match, exists, does_not_exist | string + | + + | ${uri} | The normalized (urldecoded) URI of the request. | default, request, + response | is_equal, is_not_equal, starts_with, does_not_start_with, matches, + does_not_match, exists, does_not_exist | string | + + | ${server_addr} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${server_port} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_cert} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_escaped_cert} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_fingerprint} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_i_dn} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_s_dn_parsed} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_s_dn} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_serial} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_v_end} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_v_remain} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_v_start} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${ssl_client_verify} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${tcpinfo_rtt} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${remote_port} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + | ${request_body} | | default, request, response | is_equal, is_not_equal, + starts_with, does_not_start_with, matches, does_not_match, exists, does_not_exist + | string | + + + + About `operator` field: it''s the operator to be used to evaluate the current + criterion. When used in the first criterion of a block it should be always + the `if` operator.' + properties: + conditional: + $ref: '#/components/schemas/ConditionalEnum' + variable: + $ref: '#/components/schemas/ApplicationCriterionFieldVariableEnum' + operator: + $ref: '#/components/schemas/CriterionOperatorEnum' + argument: + allOf: + - $ref: '#/components/schemas/ApplicationCriterionArgumentRequest' + nullable: true + type: object + required: + - conditional + - operator + - variable + title: ApplicationCriterionFieldRequest + additionalProperties: false + ApplicationCriterionFieldVariableEnum: + enum: + - ${arg_} + - ${args} + - ${cookie_} + - ${device_group} + - ${geoip_city_continent_code} + - ${geoip_city_country_code} + - ${geoip_city_country_name} + - ${geoip_city} + - ${geoip_continent_code} + - ${geoip_country_code} + - ${geoip_country_name} + - ${geoip_region_name} + - ${geoip_region} + - ${host} + - ${domain} + - ${http_} + - ${remote_addr} + - ${remote_user} + - ${request_method} + - ${request_uri} + - ${request} + - ${scheme} + - ${sent_http_} + - ${status} + - ${upstream_addr} + - ${upstream_cookie_} + - ${upstream_http_} + - ${upstream_status} + - ${uri} + - ${server_addr} + - ${server_port} + - ${ssl_client_cert} + - ${ssl_client_escaped_cert} + - ${ssl_client_fingerprint} + - ${ssl_client_i_dn} + - ${ssl_client_s_dn_parsed} + - ${ssl_client_s_dn} + - ${ssl_client_serial} + - ${ssl_client_v_end} + - ${ssl_client_v_remain} + - ${ssl_client_v_start} + - ${ssl_client_verify} + - ${tcpinfo_rtt} + - ${remote_port} + - ${request_body} + type: string + description: '* `${arg_}` - ${arg_} + + * `${args}` - ${args} + + * `${cookie_}` - ${cookie_} + + * `${device_group}` - ${device_group} + + * `${geoip_city_continent_code}` - ${geoip_city_continent_code} + + * `${geoip_city_country_code}` - ${geoip_city_country_code} + + * `${geoip_city_country_name}` - ${geoip_city_country_name} + + * `${geoip_city}` - ${geoip_city} + + * `${geoip_continent_code}` - ${geoip_continent_code} + + * `${geoip_country_code}` - ${geoip_country_code} + + * `${geoip_country_name}` - ${geoip_country_name} + + * `${geoip_region_name}` - ${geoip_region_name} + + * `${geoip_region}` - ${geoip_region} + + * `${host}` - ${host} + + * `${domain}` - ${domain} + + * `${http_}` - ${http_} + + * `${remote_addr}` - ${remote_addr} + + * `${remote_user}` - ${remote_user} + + * `${request_method}` - ${request_method} + + * `${request_uri}` - ${request_uri} + + * `${request}` - ${request} + + * `${scheme}` - ${scheme} + + * `${sent_http_}` - ${sent_http_} + + * `${status}` - ${status} + + * `${upstream_addr}` - ${upstream_addr} + + * `${upstream_cookie_}` - ${upstream_cookie_} + + * `${upstream_http_}` - ${upstream_http_} + + * `${upstream_status}` - ${upstream_status} + + * `${uri}` - ${uri} + + * `${server_addr}` - ${server_addr} + + * `${server_port}` - ${server_port} + + * `${ssl_client_cert}` - ${ssl_client_cert} + + * `${ssl_client_escaped_cert}` - ${ssl_client_escaped_cert} + + * `${ssl_client_fingerprint}` - ${ssl_client_fingerprint} + + * `${ssl_client_i_dn}` - ${ssl_client_i_dn} + + * `${ssl_client_s_dn_parsed}` - ${ssl_client_s_dn_parsed} + + * `${ssl_client_s_dn}` - ${ssl_client_s_dn} + + * `${ssl_client_serial}` - ${ssl_client_serial} + + * `${ssl_client_v_end}` - ${ssl_client_v_end} + + * `${ssl_client_v_remain}` - ${ssl_client_v_remain} + + * `${ssl_client_v_start}` - ${ssl_client_v_start} + + * `${ssl_client_verify}` - ${ssl_client_verify} + + * `${tcpinfo_rtt}` - ${tcpinfo_rtt} + + * `${remote_port}` - ${remote_port} + + * `${request_body}` - ${request_body}' + title: ApplicationCriterionFieldVariableEnum + x-extensible-enum: + - ${arg_} + - ${args} + - ${cookie_} + - ${device_group} + - ${geoip_city_continent_code} + - ${geoip_city_country_code} + - ${geoip_city_country_name} + - ${geoip_city} + - ${geoip_continent_code} + - ${geoip_country_code} + - ${geoip_country_name} + - ${geoip_region_name} + - ${geoip_region} + - ${host} + - ${domain} + - ${http_} + - ${remote_addr} + - ${remote_user} + - ${request_method} + - ${request_uri} + - ${request} + - ${scheme} + - ${sent_http_} + - ${status} + - ${upstream_addr} + - ${upstream_cookie_} + - ${upstream_http_} + - ${upstream_status} + - ${uri} + - ${server_addr} + - ${server_port} + - ${ssl_client_cert} + - ${ssl_client_escaped_cert} + - ${ssl_client_fingerprint} + - ${ssl_client_i_dn} + - ${ssl_client_s_dn_parsed} + - ${ssl_client_s_dn} + - ${ssl_client_serial} + - ${ssl_client_v_end} + - ${ssl_client_v_remain} + - ${ssl_client_v_start} + - ${ssl_client_verify} + - ${tcpinfo_rtt} + - ${remote_port} + - ${request_body} + ApplicationCriterionArgument: + oneOf: + - type: integer + nullable: true + - type: string + nullable: true + title: ApplicationCriterionArgument + additionalProperties: false + ApplicationCriterionArgumentRequest: + oneOf: + - type: integer + nullable: true + - type: string + nullable: true + title: ApplicationCriterionArgumentRequest + additionalProperties: false + FirewallCriterionField: + type: object + description: 'The criterion which will be evaluated to define if the configured + behaviors for this rule can be executed. + + + | Variable | Description | Operators | Argument | + + | -------- | ----------- | --------- | ---------| + + | ${header_accept} | | matches, does_not_match | string | + + | ${header_accept_encoding} | | matches, does_not_match | string | + + | ${header_accept_language} | | matches, does_not_match | string | + + | ${header_cookie} | | matches, does_not_match | string | + + | ${header_origin} | | matches, does_not_match | string | + + | ${header_referer} | | matches, does_not_match | string | + + | ${header_user_agent} | | matches, does_not_match | string | + + | ${host} | | is_equal, is_not_equal, matches, does_not_match | string | + + | ${network} | | is_in_list, is_not_in_list | string | + + | ${request_args} | | is_equal, is_not_equal, matches, does_not_match, exists, + does_not_exist | string | + + | ${request_method} | | is_equal, is_not_equal | string | + + | ${request_uri} | | starts_with, does_not_starts_with, is_equal, is_not_equal, + matches, does_not_match | string | + + | ${scheme} | | is_equal, is_not_equal | string | + + | ${ssl_verification_status} | | is_equal, is_not_equal | SUCCESS, CERTIFICATE_VERIFICATION_ERROR, + MISSING_CLIENT_CERTIFICATE | + + | ${client_certificate_validation} | | is_equal, is_not_equal | string | + + + + About `operator` field: it''s the operator to be used to evaluate the current + criterion. When used in the first criterion of a block it should be always + the `if` operator.' + properties: + conditional: + $ref: '#/components/schemas/ConditionalEnum' + variable: + $ref: '#/components/schemas/FirewallCriterionFieldVariableEnum' + operator: + $ref: '#/components/schemas/CriterionOperatorEnum' + argument: + allOf: + - $ref: '#/components/schemas/FirewallCriterionArgument' + nullable: true + type: object + required: + - conditional + - operator + - variable + title: FirewallCriterionField + additionalProperties: false + FirewallCriterionFieldRequest: + type: object + description: 'The criterion which will be evaluated to define if the configured + behaviors for this rule can be executed. + + + | Variable | Description | Operators | Argument | + + | -------- | ----------- | --------- | ---------| + + | ${header_accept} | | matches, does_not_match | string | + + | ${header_accept_encoding} | | matches, does_not_match | string | + + | ${header_accept_language} | | matches, does_not_match | string | + + | ${header_cookie} | | matches, does_not_match | string | + + | ${header_origin} | | matches, does_not_match | string | + + | ${header_referer} | | matches, does_not_match | string | + + | ${header_user_agent} | | matches, does_not_match | string | + + | ${host} | | is_equal, is_not_equal, matches, does_not_match | string | + + | ${network} | | is_in_list, is_not_in_list | string | + + | ${request_args} | | is_equal, is_not_equal, matches, does_not_match, exists, + does_not_exist | string | + + | ${request_method} | | is_equal, is_not_equal | string | + + | ${request_uri} | | starts_with, does_not_starts_with, is_equal, is_not_equal, + matches, does_not_match | string | + + | ${scheme} | | is_equal, is_not_equal | string | + + | ${ssl_verification_status} | | is_equal, is_not_equal | SUCCESS, CERTIFICATE_VERIFICATION_ERROR, + MISSING_CLIENT_CERTIFICATE | + + | ${client_certificate_validation} | | is_equal, is_not_equal | string | + + + + About `operator` field: it''s the operator to be used to evaluate the current + criterion. When used in the first criterion of a block it should be always + the `if` operator.' + properties: + conditional: + $ref: '#/components/schemas/ConditionalEnum' + variable: + $ref: '#/components/schemas/FirewallCriterionFieldVariableEnum' + operator: + $ref: '#/components/schemas/CriterionOperatorEnum' + argument: + allOf: + - $ref: '#/components/schemas/FirewallCriterionArgumentRequest' + nullable: true + type: object + required: + - conditional + - operator + - variable + title: FirewallCriterionFieldRequest + additionalProperties: false + FirewallCriterionFieldVariableEnum: + enum: + - ${header_accept} + - ${header_accept_encoding} + - ${header_accept_language} + - ${header_cookie} + - ${header_origin} + - ${header_referer} + - ${header_user_agent} + - ${host} + - ${network} + - ${request_args} + - ${request_method} + - ${request_uri} + - ${scheme} + - ${ssl_verification_status} + - ${client_certificate_validation} + type: string + description: '* `${header_accept}` - ${header_accept} + + * `${header_accept_encoding}` - ${header_accept_encoding} + + * `${header_accept_language}` - ${header_accept_language} + + * `${header_cookie}` - ${header_cookie} + + * `${header_origin}` - ${header_origin} + + * `${header_referer}` - ${header_referer} + + * `${header_user_agent}` - ${header_user_agent} + + * `${host}` - ${host} + + * `${network}` - ${network} + + * `${request_args}` - ${request_args} + + * `${request_method}` - ${request_method} + + * `${request_uri}` - ${request_uri} + + * `${scheme}` - ${scheme} + + * `${ssl_verification_status}` - ${ssl_verification_status} + + * `${client_certificate_validation}` - ${client_certificate_validation}' + title: FirewallCriterionFieldVariableEnum + x-extensible-enum: + - ${header_accept} + - ${header_accept_encoding} + - ${header_accept_language} + - ${header_cookie} + - ${header_origin} + - ${header_referer} + - ${header_user_agent} + - ${host} + - ${network} + - ${request_args} + - ${request_method} + - ${request_uri} + - ${scheme} + - ${ssl_verification_status} + - ${client_certificate_validation} + FirewallCriterionArgument: + oneOf: + - enum: + - SUCCESS + - CERTIFICATE_VERIFICATION_ERROR + - MISSING_CLIENT_CERTIFICATE + type: string + description: These values are only valid when using ${ssl_verification_status} + variable. + x-extensible-enum: + - SUCCESS + - CERTIFICATE_VERIFICATION_ERROR + - MISSING_CLIENT_CERTIFICATE + nullable: true + - type: integer + nullable: true + - type: string + nullable: true + title: FirewallCriterionArgument + additionalProperties: false + FirewallCriterionArgumentRequest: + oneOf: + - enum: + - SUCCESS + - CERTIFICATE_VERIFICATION_ERROR + - MISSING_CLIENT_CERTIFICATE + type: string + description: These values are only valid when using ${ssl_verification_status} + variable. + x-extensible-enum: + - SUCCESS + - CERTIFICATE_VERIFICATION_ERROR + - MISSING_CLIENT_CERTIFICATE + nullable: true + - type: integer + nullable: true + - type: string + nullable: true + title: FirewallCriterionArgumentRequest + additionalProperties: false + Page2: + oneOf: + - $ref: '#/components/schemas/PageConnector' + discriminator: + propertyName: type + mapping: + page_connector: '#/components/schemas/PageConnector' + title: Page2 + additionalProperties: true + PageRequest2: + oneOf: + - $ref: '#/components/schemas/PageConnectorRequest' + discriminator: + propertyName: type + mapping: + page_connector: '#/components/schemas/PageConnectorRequest' + title: PageRequest2 + additionalProperties: true + PaginatedConnectorList: + type: object + properties: + count: + type: integer + minimum: 0 + maximum: 2147483647 + example: 123 + description: Total number of items + total_pages: + type: integer + minimum: 1 + maximum: 2147483647 + example: 10 + description: Total number of pages + page: + type: integer + minimum: 1 + maximum: 2147483647 + example: 1 + description: Current page number + page_size: + type: integer + minimum: 1 + maximum: 100 + example: 10 + description: Number of items per page + next: + type: string + nullable: true + format: uri + example: https://api.example.com/items?page=3 + description: URL to the next page of results + previous: + type: string + nullable: true + format: uri + example: https://api.example.com/items?page=1 + description: URL to the previous page of results + results: + type: array + items: + $ref: '#/components/schemas/Connector2' + title: PaginatedConnectorList + additionalProperties: false + PatchedConnectorRequest2: + oneOf: + - $ref: '#/components/schemas/PatchedConnectorHTTPRequest' + - $ref: '#/components/schemas/PatchedConnectorRequest' + - $ref: '#/components/schemas/PatchedConnectorRequest' + discriminator: + propertyName: type + mapping: + http: '#/components/schemas/PatchedConnectorHTTPRequest' + storage: '#/components/schemas/PatchedConnectorRequest' + live_ingest: '#/components/schemas/PatchedConnectorRequest' + title: PatchedConnectorRequest2 + additionalProperties: true + PatchedRequestPhaseRule: + type: object + properties: + name: + type: string + minLength: 1 + pattern: .* + maxLength: 250 + active: + type: boolean + default: true + criteria: + type: array + items: + type: array + items: + $ref: '#/components/schemas/ApplicationCriterionFieldRequest' + maxItems: 10 + minItems: 1 + maxItems: 5 + minItems: 1 + behaviors: + type: array + items: + $ref: '#/components/schemas/RequestPhaseBehavior2' + maxItems: 10 + minItems: 1 + description: + type: string + pattern: .* + maxLength: 1000 + minLength: 0 + title: PatchedRequestPhaseRule + additionalProperties: false + RequestPhaseBehavior2: + oneOf: + - $ref: '#/components/schemas/BehaviorNoArgs' + - $ref: '#/components/schemas/BehaviorArgs' + - $ref: '#/components/schemas/BehaviorCapture' + discriminator: + propertyName: type + mapping: + deny: '#/components/schemas/BehaviorNoArgs' + no_content: '#/components/schemas/BehaviorNoArgs' + deliver: '#/components/schemas/BehaviorNoArgs' + finish_request_phase: '#/components/schemas/BehaviorNoArgs' + forward_cookies: '#/components/schemas/BehaviorNoArgs' + optimize_images: '#/components/schemas/BehaviorNoArgs' + bypass_cache: '#/components/schemas/BehaviorNoArgs' + enable_gzip: '#/components/schemas/BehaviorNoArgs' + redirect_http_to_https: '#/components/schemas/BehaviorNoArgs' + redirect_to_301: '#/components/schemas/BehaviorArgs' + redirect_to_302: '#/components/schemas/BehaviorArgs' + rewrite_request: '#/components/schemas/BehaviorArgs' + add_request_header: '#/components/schemas/BehaviorArgs' + filter_request_header: '#/components/schemas/BehaviorArgs' + add_request_cookie: '#/components/schemas/BehaviorArgs' + filter_request_cookie: '#/components/schemas/BehaviorArgs' + set_origin: '#/components/schemas/BehaviorArgs' + run_function: '#/components/schemas/BehaviorArgs' + set_connector: '#/components/schemas/BehaviorArgs' + set_cache_policy: '#/components/schemas/BehaviorArgs' + capture_match_groups: '#/components/schemas/BehaviorCapture' + title: RequestPhaseBehavior2 + additionalProperties: true + RequestPhaseRule2: + type: object + properties: + name: + type: string + minLength: 1 + pattern: .* + maxLength: 250 + active: + type: boolean + default: true + criteria: + type: array + items: + type: array + items: + $ref: '#/components/schemas/ApplicationCriterionFieldRequest' + maxItems: 10 + minItems: 1 + maxItems: 5 + minItems: 1 + behaviors: + type: array + items: + $ref: '#/components/schemas/RequestPhaseBehavior2' + maxItems: 10 + minItems: 1 + description: + type: string + pattern: .* + maxLength: 1000 + minLength: 0 + required: + - behaviors + - criteria + - name + title: RequestPhaseRule2 + additionalProperties: false + WAFExceptionCondition: + oneOf: + - $ref: '#/components/schemas/WAFExceptionGenericCondition' + - $ref: '#/components/schemas/WAFExceptionSpecificConditionOnName' + - $ref: '#/components/schemas/WAFExceptionSpecificConditionOnValue' + discriminator: + propertyName: match + mapping: + any_http_header_name: '#/components/schemas/WAFExceptionGenericCondition' + any_http_header_value: '#/components/schemas/WAFExceptionGenericCondition' + any_query_string_name: '#/components/schemas/WAFExceptionGenericCondition' + any_query_string_value: '#/components/schemas/WAFExceptionGenericCondition' + any_url: '#/components/schemas/WAFExceptionGenericCondition' + body_form_field_name: '#/components/schemas/WAFExceptionGenericCondition' + body_form_field_value: '#/components/schemas/WAFExceptionGenericCondition' + file_extension: '#/components/schemas/WAFExceptionGenericCondition' + raw_body: '#/components/schemas/WAFExceptionGenericCondition' + specific_body_form_field_name: '#/components/schemas/WAFExceptionSpecificConditionOnName' + specific_body_form_field_value: '#/components/schemas/WAFExceptionSpecificConditionOnValue' + specific_http_header_name: '#/components/schemas/WAFExceptionSpecificConditionOnName' + specific_http_header_value: '#/components/schemas/WAFExceptionSpecificConditionOnValue' + specific_query_string_name: '#/components/schemas/WAFExceptionSpecificConditionOnName' + specific_query_string_value: '#/components/schemas/WAFExceptionSpecificConditionOnValue' + title: WAFExceptionCondition + additionalProperties: true + WAFExceptionConditionRequest: + oneOf: + - $ref: '#/components/schemas/WAFExceptionGenericConditionRequest' + - $ref: '#/components/schemas/WAFExceptionSpecificConditionOnNameRequest' + - $ref: '#/components/schemas/WAFExceptionSpecificConditionOnValueRequest' + discriminator: + propertyName: match + mapping: + any_http_header_name: '#/components/schemas/WAFExceptionGenericConditionRequest' + any_http_header_value: '#/components/schemas/WAFExceptionGenericConditionRequest' + any_query_string_name: '#/components/schemas/WAFExceptionGenericConditionRequest' + any_query_string_value: '#/components/schemas/WAFExceptionGenericConditionRequest' + any_url: '#/components/schemas/WAFExceptionGenericConditionRequest' + body_form_field_name: '#/components/schemas/WAFExceptionGenericConditionRequest' + body_form_field_value: '#/components/schemas/WAFExceptionGenericConditionRequest' + file_extension: '#/components/schemas/WAFExceptionGenericConditionRequest' + raw_body: '#/components/schemas/WAFExceptionGenericConditionRequest' + specific_body_form_field_name: '#/components/schemas/WAFExceptionSpecificConditionOnNameRequest' + specific_body_form_field_value: '#/components/schemas/WAFExceptionSpecificConditionOnValueRequest' + specific_http_header_name: '#/components/schemas/WAFExceptionSpecificConditionOnNameRequest' + specific_http_header_value: '#/components/schemas/WAFExceptionSpecificConditionOnValueRequest' + specific_query_string_name: '#/components/schemas/WAFExceptionSpecificConditionOnNameRequest' + specific_query_string_value: '#/components/schemas/WAFExceptionSpecificConditionOnValueRequest' + title: WAFExceptionConditionRequest + additionalProperties: true + DatabaseDetail: + type: object + description: Detailed database representation with extended status information. + properties: + id: + type: integer + readOnly: true + description: Unique identifier for the database + name: + type: string + description: Name of the database + pattern: ^[A-Za-z0-9-]{6,50}$ + maxLength: 50 + minLength: 6 + status: + enum: + - creating + - created + - deleting + type: string + readOnly: true + default: creating + description: 'Current status of the database + + + * `creating` - creating + + * `created` - created + + * `deleting` - deleting' + x-extensible-enum: + - creating + - created + - deleting + active: + type: boolean + default: true + description: Whether the database is active + last_modified: + type: string + format: date-time + readOnly: true + description: Last modification timestamp + last_editor: + type: string + readOnly: true + nullable: true + description: Last editor of the schema. + product_version: + type: string + readOnly: true + description: Product version + required: + - id + - last_editor + - last_modified + - name + - product_version + - status + DatabaseDetailResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/DatabaseDetail' + required: + - data + DatabaseRequest: + type: object + properties: + name: + type: string + minLength: 6 + description: Name of the database + pattern: ^[A-Za-z0-9-]{6,50}$ + maxLength: 50 + active: + type: boolean + default: true + description: Whether the database is active + required: + - name + JSONAPIErrorObject: + type: object + description: Serializer for a single JSON:API error object. + properties: + status: + type: string + description: The HTTP status code applicable to this problem + pattern: ^\d{3}$ + maxLength: 3 + minLength: 3 + code: + type: string + description: An application-specific error code + pattern: ^\d{5}$ + maxLength: 5 + minLength: 5 + title: + type: string + description: A short, human-readable summary of the problem + pattern: ^.*$ + maxLength: 4096 + minLength: 1 + detail: + type: string + description: A human-readable explanation specific to this occurrence of + the problem + pattern: ^.*$ + maxLength: 4096 + minLength: 1 + source: + allOf: + - $ref: '#/components/schemas/JSONAPIErrorSource' + description: References to the primary source of the error + meta: + type: object + additionalProperties: {} + description: Non-standard meta-information about the error + JSONAPIErrorSource: + type: object + description: Serializer for the 'source' object in a JSON:API error. + properties: + pointer: + type: string + description: JSON Pointer to the value in the request document that caused + the error + pattern: ^(/[^/]+)+$ + maxLength: 4096 + minLength: 1 + parameter: + type: string + description: URI query parameter that caused the error + pattern: ^.*$ + maxLength: 4096 + minLength: 1 + header: + type: string + description: Request header name that caused the error + pattern: ^.*$ + maxLength: 4096 + minLength: 1 + PaginatedDatabaseDetailList: + type: object + properties: + count: + type: integer + minimum: 0 + maximum: 2147483647 + example: 123 + description: Total number of items + total_pages: + type: integer + minimum: 1 + maximum: 2147483647 + example: 10 + description: Total number of pages + page: + type: integer + minimum: 1 + maximum: 2147483647 + example: 1 + description: Current page number + page_size: + type: integer + minimum: 1 + maximum: 100 + example: 10 + description: Number of items per page + results: + type: array + items: + $ref: '#/components/schemas/DatabaseDetail' + SQLResult: + type: object + properties: + columns: + type: array + items: {} + description: List of column names + rows: + type: array + items: {} + description: List of result rows + required: + - columns + - rows + SQLResultResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/SQLResult' + required: + - data + SQLStatementsRequest: + type: object + properties: + statements: + type: array + items: + type: string + minLength: 1 + description: List of SQL statements to execute + maxItems: 1000 + required: + - statements + ErrorResponse: + type: object + description: Serializer for a JSON:API error response. + properties: + errors: + type: array + items: + $ref: '#/components/schemas/JSONAPIErrorObject' + description: Array of error objects + required: + - errors + Bucket: + type: object + properties: + name: + type: string + readOnly: true + maxLength: 63 + minLength: 6 + pattern: ^.*$ + workloads_access: + enum: + - read_only + - read_write + - restricted + type: string + description: '* `read_only` - read_only + + * `read_write` - read_write + + * `restricted` - restricted' + x-extensible-enum: + - read_only + - read_write + - restricted + last_editor: + type: string + readOnly: true + pattern: ^.*$ + last_modified: + type: string + format: date-time + readOnly: true + pattern: ^.*$ + product_version: + type: string + readOnly: true + default: '1.0' + pattern: \d+\.\d+ + maxLength: 50 + minLength: 3 + required: + - last_editor + - last_modified + - name + - product_version + - workloads_access + BucketCreate: + type: object + properties: + name: + type: string + pattern: .{6,63} + maxLength: 63 + minLength: 6 + workloads_access: + enum: + - read_only + - read_write + - restricted + type: string + description: '* `read_only` - read_only + + * `read_write` - read_write + + * `restricted` - restricted' + x-extensible-enum: + - read_only + - read_write + - restricted + last_editor: + type: string + readOnly: true + pattern: ^.*$ + last_modified: + type: string + format: date-time + readOnly: true + pattern: ^.*$ + product_version: + type: string + readOnly: true + default: '1.0' + pattern: \d+\.\d+ + maxLength: 50 + minLength: 3 + required: + - last_editor + - last_modified + - name + - product_version + - workloads_access + BucketCreateRequest: + type: object + properties: + name: + type: string + minLength: 6 + pattern: .{6,63} + maxLength: 63 + workloads_access: + enum: + - read_only + - read_write + - restricted + type: string + description: '* `read_only` - read_only + + * `read_write` - read_write + + * `restricted` - restricted' + x-extensible-enum: + - read_only + - read_write + - restricted + required: + - name + - workloads_access + BucketCreateResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/BucketCreate' + required: + - data + BucketObject: + type: object + properties: + key: + type: string + readOnly: true + pattern: ^.*$ + last_modified: + type: string + format: date-time + readOnly: true + pattern: ^.*$ + size: + type: integer + readOnly: true + description: Size of the object in bytes + is_folder: + type: boolean + readOnly: true + description: Whether this entry represents a folder + required: + - is_folder + - key + - last_modified + - size + Credential: + type: object + properties: + name: + type: string + pattern: ^[a-zA-Z0-9\-]+$ + maxLength: 100 + minLength: 1 + access_key: + type: string + readOnly: true + pattern: ^.*$ + secret_key: + type: string + readOnly: true + pattern: ^.*$ + capabilities: + type: array + items: + type: string + enum: + - listFiles + - readFiles + - writeFiles + - deleteFiles + - listAllBucketNames + - listBuckets + x-extensible-enum: + - listFiles + - readFiles + - writeFiles + - deleteFiles + - listAllBucketNames + - listBuckets + buckets: + type: array + items: + type: string + pattern: ^.*$ + readOnly: true + expiration_date: + type: string + format: date-time + pattern: ^.*$ + last_editor: + type: string + readOnly: true + nullable: true + pattern: ^.*$ + last_modified: + type: string + format: date-time + pattern: ^.*$ + required: + - access_key + - buckets + - capabilities + - last_editor + - last_modified + - name + - secret_key + CredentialCreateRequest: + type: object + properties: + name: + type: string + minLength: 1 + pattern: ^[a-zA-Z0-9\-]+$ + maxLength: 100 + capabilities: + type: array + items: + type: string + enum: + - listFiles + - readFiles + - writeFiles + - deleteFiles + - listAllBucketNames + - listBuckets + x-extensible-enum: + - listFiles + - readFiles + - writeFiles + - deleteFiles + - listAllBucketNames + - listBuckets + buckets: + type: array + items: + type: string + minLength: 6 + maxLength: 63 + pattern: ^.*$ + description: List of bucket names to associate with this credential. + expiration_date: + type: string + format: date-time + pattern: ^.*$ + required: + - capabilities + - name + CredentialResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/Credential' + required: + - data + ObjectResponseAsyncData: + type: object + properties: + object_key: + type: string + pattern: ^[0-9a-zA-Z!\"\~\-\_\.\*\'\(\)\&\$\@\=\;\/\:\+\,\\\{\}\^\`\[\]\>\<\|\ + \%\u00c0\u00c1\u00c2\u00c3\u00c4\u00c7\u00c8\u00c9\u00ca\u00cb\u00cc\u00cd\u00ce\u00cf\u00d1\u00d2\u00d3\u00d4\u00d5\u00d6\u00d9\u00da\u00db\u00dc\u00dd\u00e0\u00e1\u00e2\u00e3\u00e4\u00e7\u00e8\u00e9\u00ea\u00ec\u00ed\u00ee\u00f1\u00f2\u00f3\u00f4\u00f5\u00f6\u00f9\u00fa\u00fb\u00fc\u00fd\u00eb\u00ef]+$ + maxLength: 1024 + minLength: 1 + required: + - object_key + ObjectResponseData: + type: object + properties: + object_key: + type: string + pattern: ^[0-9a-zA-Z!\"\~\-\_\.\*\'\(\)\&\$\@\=\;\/\:\+\,\\\{\}\^\`\[\]\>\<\|\ + \%\u00c0\u00c1\u00c2\u00c3\u00c4\u00c7\u00c8\u00c9\u00ca\u00cb\u00cc\u00cd\u00ce\u00cf\u00d1\u00d2\u00d3\u00d4\u00d5\u00d6\u00d9\u00da\u00db\u00dc\u00dd\u00e0\u00e1\u00e2\u00e3\u00e4\u00e7\u00e8\u00e9\u00ea\u00ec\u00ed\u00ee\u00f1\u00f2\u00f3\u00f4\u00f5\u00f6\u00f9\u00fa\u00fb\u00fc\u00fd\u00eb\u00ef]+$ + maxLength: 1024 + minLength: 1 + required: + - object_key + PaginatedBucketList: + type: object + properties: + count: + type: integer + minimum: 0 + maximum: 2147483647 + example: 123 + description: Total number of items + total_pages: + type: integer + minimum: 1 + maximum: 2147483647 + example: 10 + description: Total number of pages + page: + type: integer + minimum: 1 + maximum: 2147483647 + example: 1 + description: Current page number + page_size: + type: integer + minimum: 1 + maximum: 100 + example: 10 + description: Number of items per page + results: + type: array + items: + $ref: '#/components/schemas/Bucket' + PaginatedCredentialList: + type: object + properties: + count: + type: integer + minimum: 0 + maximum: 2147483647 + example: 123 + description: Total number of items + total_pages: + type: integer + minimum: 1 + maximum: 2147483647 + example: 10 + description: Total number of pages + page: + type: integer + minimum: 1 + maximum: 2147483647 + example: 1 + description: Current page number + page_size: + type: integer + minimum: 1 + maximum: 100 + example: 10 + description: Number of items per page + results: + type: array + items: + $ref: '#/components/schemas/Credential' + PatchedBucketRequest: + type: object + properties: + workloads_access: + enum: + - read_only + - read_write + - restricted + type: string + description: '* `read_only` - read_only + + * `read_write` - read_write + + * `restricted` - restricted' + x-extensible-enum: + - read_only + - read_write + - restricted + ResponseBucketObject: + type: object + properties: + continuation_token: + type: string + nullable: true + pattern: .{0,255} + maxLength: 255 + minLength: 0 + results: + type: array + items: + $ref: '#/components/schemas/BucketObject' + required: + - continuation_token + - results + SuccessObjectOperation: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/ObjectResponseData' + required: + - data + SuccessObjectOperationAsync: + type: object + properties: + state: + type: string + default: pending + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/ObjectResponseAsyncData' + required: + - data + Certificate: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + pattern: .* + maxLength: 250 + minLength: 1 + certificate: + type: string + nullable: true + pattern: .* + maxLength: 600000 + minLength: 1 + private_key: + type: string + writeOnly: true + nullable: true + pattern: .* + maxLength: 64000 + minLength: 1 + issuer: + type: string + readOnly: true + nullable: true + pattern: .* + subject_name: + type: array + items: + type: string + pattern: ^.*$ + readOnly: true + validity: + type: string + readOnly: true + nullable: true + pattern: ^.*$ + type: + enum: + - certificate + - trusted_ca_certificate + type: string + default: certificate + description: 'The value can''t be changed after the certificate creation. + + + * `certificate` - Certificate + + * `trusted_ca_certificate` - Trusted CA Certificate' + x-extensible-enum: + - certificate + - trusted_ca_certificate + managed: + type: boolean + readOnly: true + default: false + status: + enum: + - challenge_verification + - active + - pending + - failed + type: string + description: '* `challenge_verification` - Challenge Verification + + * `active` - Active + + * `pending` - Pending + + * `failed` - Failed' + readOnly: true + x-extensible-enum: + - challenge_verification + - active + - pending + - failed + status_detail: + type: string + readOnly: true + default: '' + pattern: .* + maxLength: 500 + minLength: 0 + csr: + type: string + readOnly: true + nullable: true + pattern: .* + challenge: + enum: + - dns + - http + type: string + description: '* `dns` - Uses DNS to solve the ACME challenge. + + * `http` - Uses HTTP to solve the ACME challenge.' + readOnly: true + x-extensible-enum: + - dns + - http + authority: + enum: + - lets_encrypt + type: string + description: '* `lets_encrypt` - lets_encrypt' + readOnly: true + x-extensible-enum: + - lets_encrypt + key_algorithm: + type: string + readOnly: true + pattern: .* + active: + type: boolean + product_version: + type: string + readOnly: true + pattern: \d+\.\d+ + maxLength: 50 + minLength: 3 + last_editor: + type: string + readOnly: true + pattern: ^.*$ + last_modified: + type: string + format: date-time + readOnly: true + description: Timestamp of the last modification made to the certificate + content on the platform. + pattern: ^.*$ + renewed_at: + type: string + format: date-time + readOnly: true + nullable: true + description: Timestamp indicating when the managed certificate was renewed + on our platform. + pattern: ^.*$ + required: + - authority + - challenge + - csr + - id + - issuer + - key_algorithm + - last_editor + - last_modified + - managed + - name + - product_version + - renewed_at + - status + - status_detail + - subject_name + - validity + CertificateRequest: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + pattern: .* + maxLength: 250 + minLength: 1 + certificate: + type: string + nullable: true + pattern: .* + maxLength: 600000 + minLength: 1 + private_key: + type: string + writeOnly: true + nullable: true + pattern: .* + maxLength: 64000 + minLength: 1 + issuer: + type: string + readOnly: true + nullable: true + pattern: .* + subject_name: + type: array + items: + type: string + pattern: ^.*$ + readOnly: true + validity: + type: string + readOnly: true + nullable: true + pattern: ^.*$ + type: + enum: + - certificate + - trusted_ca_certificate + type: string + default: certificate + description: 'The value can''t be changed after the certificate creation. + + + * `certificate` - Certificate + + * `trusted_ca_certificate` - Trusted CA Certificate' + x-extensible-enum: + - certificate + - trusted_ca_certificate + managed: + type: boolean + readOnly: true + default: false + status: + enum: + - challenge_verification + - active + - pending + - failed + type: string + description: '* `challenge_verification` - Challenge Verification + + * `active` - Active + + * `pending` - Pending + + * `failed` - Failed' + readOnly: true + x-extensible-enum: + - challenge_verification + - active + - pending + - failed + status_detail: + type: string + readOnly: true + default: '' + pattern: .* + maxLength: 500 + minLength: 0 + csr: + type: string + readOnly: true + nullable: true + pattern: .* + challenge: + enum: + - dns + - http + type: string + description: '* `dns` - Uses DNS to solve the ACME challenge. + + * `http` - Uses HTTP to solve the ACME challenge.' + x-extensible-enum: + - dns + - http + authority: + enum: + - lets_encrypt + type: string + description: '* `lets_encrypt` - lets_encrypt' + x-extensible-enum: + - lets_encrypt + key_algorithm: + enum: + - rsa_2048 + - rsa_4096 + - ecc_384 + type: string + description: '* `rsa_2048` - 2048-bit RSA + + * `rsa_4096` - 4096-bit RSA + + * `ecc_384` - 384-bit Prime Field Curve' + default: ecc_384 + x-extensible-enum: + - rsa_2048 + - rsa_4096 + - ecc_384 + active: + type: boolean + product_version: + type: string + readOnly: true + pattern: \d+\.\d+ + maxLength: 50 + minLength: 3 + last_editor: + type: string + readOnly: true + pattern: ^.*$ + last_modified: + type: string + format: date-time + readOnly: true + description: Timestamp of the last modification made to the certificate + content on the platform. + pattern: ^.*$ + renewed_at: + type: string + format: date-time + readOnly: true + nullable: true + description: Timestamp indicating when the managed certificate was renewed + on our platform. + pattern: ^.*$ + common_name: + type: string + writeOnly: true + maxLength: 64 + minLength: 1 + pattern: ^(((\*\.)?[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)$ + alternative_names: + type: array + items: + type: string + maxLength: 250 + minLength: 1 + pattern: ^(((\*\.)?[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)$ + writeOnly: true + source_certificate: + type: integer + maximum: 2147483647 + minimum: 1 + writeOnly: true + nullable: true + required: + - authority + - challenge + - common_name + - csr + - id + - issuer + - last_editor + - last_modified + - managed + - name + - product_version + - renewed_at + - status + - status_detail + - subject_name + - validity + CertificateResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/Certificate' + required: + - data + CertificateRevocationList: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + pattern: .* + maxLength: 250 + minLength: 1 + active: + type: boolean + default: true + description: Indicates if the certificate revocation list is active. This + field cannot be set to false. + last_editor: + type: string + readOnly: true + pattern: ^.*$ + last_modified: + type: string + format: date-time + readOnly: true + description: Timestamp of the last modification made to the certificate + content on the platform. + pattern: ^.*$ + product_version: + type: string + readOnly: true + pattern: \d+\.\d+ + maxLength: 50 + minLength: 3 + issuer: + type: string + readOnly: true + minLength: 1 + pattern: ^.*$ + last_update: + type: string + format: date-time + readOnly: true + description: Timestamp of the last update issued by the certification revocation + list issuer. + pattern: ^.*$ + next_update: + type: string + format: date-time + readOnly: true + description: Timestamp of the next scheduled update from the certification + revocation list issuer. + pattern: ^.*$ + crl: + type: string + pattern: .* + maxLength: 30720000 + minLength: 1 + required: + - crl + - id + - issuer + - last_editor + - last_modified + - last_update + - name + - next_update + - product_version + CertificateRevocationListResponse: + type: object + properties: + state: + type: string + default: executed + pattern: .* + maxLength: 8 + minLength: 1 + data: + $ref: '#/components/schemas/CertificateRevocationList' + required: + - data + CertificateSigningRequest: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + pattern: .* + maxLength: 250 + minLength: 1 + certificate: + type: string + nullable: true + pattern: .* + maxLength: 600000 + minLength: 1 + private_key: + type: string + writeOnly: true + nullable: true + pattern: .* + maxLength: 64000 + minLength: 1 + issuer: + type: string + readOnly: true + nullable: true + pattern: .* + subject_name: + type: array + items: + type: string + pattern: ^.*$ + readOnly: true + validity: + type: string + readOnly: true + nullable: true + pattern: ^.*$ + type: + enum: + - certificate + - trusted_ca_certificate + type: string + default: certificate + description: 'The value can''t be changed after the certificate creation. + + + * `certificate` - Certificate + + * `trusted_ca_certificate` - Trusted CA Certificate' + x-extensible-enum: + - certificate + - trusted_ca_certificate + managed: + type: boolean + readOnly: true + default: false + status: + enum: + - challenge_verification + - active + - pending + - failed + type: string + description: '* `challenge_verification` - Challenge Verification + + * `active` - Active + + * `pending` - Pending + + * `failed` - Failed' + readOnly: true + x-extensible-enum: + - challenge_verification + - active + - pending + - failed + status_detail: + type: string + readOnly: true + default: '' + pattern: .* + maxLength: 500 + minLength: 0 + csr: + type: string + readOnly: true + nullable: true + pattern: .* + challenge: + enum: + - dns + - http + type: string + description: '* `dns` - Uses DNS to solve the ACME challenge. + + * `http` - Uses HTTP to solve the ACME challenge.' + readOnly: true + x-extensible-enum: + - dns + - http + authority: + enum: + - lets_encrypt + type: string + description: '* `lets_encrypt` - lets_encrypt' + readOnly: true + x-extensible-enum: + - lets_encrypt + key_algorithm: + enum: + - rsa_2048 + - rsa_4096 + - ecc_384 + type: string + description: '* `rsa_2048` - 2048-bit RSA + + * `rsa_4096` - 4096-bit RSA + + * `ecc_384` - 384-bit Prime Field Curve' + default: rsa_2048 + x-extensible-enum: + - rsa_2048 + - rsa_4096 + - ecc_384 + active: + type: boolean + product_version: + type: string + readOnly: true + pattern: \d+\.\d+ + maxLength: 50 + minLength: 3 + last_editor: + type: string + readOnly: true + pattern: ^.*$ + last_modified: + type: string + format: date-time + readOnly: true + description: Timestamp of the last modification made to the certificate + content on the platform. + pattern: ^.*$ + renewed_at: + type: string + format: date-time + readOnly: true + nullable: true + description: Timestamp indicating when the managed certificate was renewed + on our platform. + pattern: ^.*$ + common_name: + type: string + writeOnly: true + maxLength: 250 + minLength: 1 + pattern: ^(((\*\.)?[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)$ + alternative_names: + type: array + items: + type: string + maxLength: 250 + minLength: 1 + pattern: ^(((\*\.)?[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)$ + writeOnly: true + country: + type: string + writeOnly: true + pattern: '[a-zA-Z]{2}' + maxLength: 2 + minLength: 2 + state: + type: string + writeOnly: true + pattern: .* + maxLength: 250 + minLength: 1 + locality: + type: string + writeOnly: true + pattern: .* + maxLength: 250 + minLength: 1 + organization: + type: string + writeOnly: true + pattern: .* + maxLength: 250 + minLength: 1 + organization_unity: + type: string + writeOnly: true + pattern: .* + maxLength: 250 + minLength: 1 + email: + type: string + format: email + writeOnly: true + pattern: ^.*$ + required: + - authority + - challenge + - common_name + - country + - csr + - email + - id + - issuer + - last_editor + - last_modified + - locality + - managed + - name + - organization + - organization_unity + - product_version + - renewed_at + - state + - status + - status_detail + - subject_name + - validity + PaginatedCertificateList: + type: object + properties: + count: + type: integer + minimum: 0 + maximum: 2147483647 + example: 123 + description: Total number of items + total_pages: + type: integer + minimum: 1 + maximum: 2147483647 + example: 10 + description: Total number of pages + page: + type: integer + minimum: 1 + maximum: 2147483647 + example: 1 + description: Current page number + page_size: + type: integer + minimum: 1 + maximum: 100 + example: 10 + description: Number of items per page + results: + type: array + items: + $ref: '#/components/schemas/Certificate' + PatchedCertificate: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + pattern: .* + maxLength: 250 + minLength: 1 + certificate: + type: string + nullable: true + pattern: .* + maxLength: 600000 + minLength: 1 + private_key: + type: string + writeOnly: true + nullable: true + pattern: .* + maxLength: 64000 + minLength: 1 + issuer: + type: string + readOnly: true + nullable: true + pattern: .* + subject_name: + type: array + items: + type: string + pattern: ^.*$ + readOnly: true + validity: + type: string + readOnly: true + nullable: true + pattern: ^.*$ + type: + enum: + - certificate + - trusted_ca_certificate + type: string + default: certificate + description: 'The value can''t be changed after the certificate creation. + + + * `certificate` - Certificate + + * `trusted_ca_certificate` - Trusted CA Certificate' + x-extensible-enum: + - certificate + - trusted_ca_certificate + managed: + type: boolean + readOnly: true + default: false + status: + enum: + - challenge_verification + - active + - pending + - failed + type: string + description: '* `challenge_verification` - Challenge Verification + + * `active` - Active + + * `pending` - Pending + + * `failed` - Failed' + readOnly: true + x-extensible-enum: + - challenge_verification + - active + - pending + - failed + status_detail: + type: string + readOnly: true + default: '' + pattern: .* + maxLength: 500 + minLength: 0 + csr: + type: string + readOnly: true + nullable: true + pattern: .* + challenge: + enum: + - dns + - http + type: string + description: '* `dns` - Uses DNS to solve the ACME challenge. + + * `http` - Uses HTTP to solve the ACME challenge.' + readOnly: true + x-extensible-enum: + - dns + - http + authority: + enum: + - lets_encrypt + type: string + description: '* `lets_encrypt` - lets_encrypt' + readOnly: true + x-extensible-enum: + - lets_encrypt + key_algorithm: + type: string + readOnly: true + pattern: .* + active: + type: boolean + product_version: + type: string + readOnly: true + pattern: \d+\.\d+ + maxLength: 50 + minLength: 3 + last_editor: + type: string + readOnly: true + pattern: ^.*$ + last_modified: + type: string + format: date-time + readOnly: true + description: Timestamp of the last modification made to the certificate + content on the platform. + pattern: ^.*$ + renewed_at: + type: string + format: date-time + readOnly: true + nullable: true + description: Timestamp indicating when the managed certificate was renewed + on our platform. + pattern: ^.*$ + PatchedCertificateRevocationList: + type: object + properties: + id: + type: integer + readOnly: true + name: + type: string + pattern: .* + maxLength: 250 + minLength: 1 + active: + type: boolean + default: true + description: Indicates if the certificate revocation list is active. This + field cannot be set to false. + last_editor: + type: string + readOnly: true + pattern: ^.*$ + last_modified: + type: string + format: date-time + readOnly: true + description: Timestamp of the last modification made to the certificate + content on the platform. + pattern: ^.*$ + product_version: + type: string + readOnly: true + pattern: \d+\.\d+ + maxLength: 50 + minLength: 3 + issuer: + type: string + readOnly: true + minLength: 1 + pattern: ^.*$ + last_update: + type: string + format: date-time + readOnly: true + description: Timestamp of the last update issued by the certification revocation + list issuer. + pattern: ^.*$ + next_update: + type: string + format: date-time + readOnly: true + description: Timestamp of the next scheduled update from the certification + revocation list issuer. + pattern: ^.*$ + crl: + type: string + pattern: .* + maxLength: 30720000 + minLength: 1 + PaginatedCertificateRevocationList: + type: object + properties: + count: + type: integer + minimum: 0 + maximum: 2147483647 + example: 123 + description: Total number of items + total_pages: + type: integer + minimum: 1 + maximum: 2147483647 + example: 10 + description: Total number of pages + page: + type: integer + minimum: 1 + maximum: 2147483647 + example: 1 + description: Current page number + page_size: + type: integer + minimum: 1 + maximum: 100 + example: 10 + description: Number of items per page + results: + type: array + items: + $ref: '#/components/schemas/CertificateRevocationList' + securitySchemes: + BearerAuth: + type: http + scheme: bearer + description: 'JWT Bearer Token authentication. Use the access token obtained + from the login endpoint. + + + **Format:** `Authorization: Bearer ` + + + **How to obtain:** + + 1. Call [`POST /account/auth/login`](#/operations/auth_user_login) with your + credentials + + 2. Use the returned `access_token` in subsequent requests + + 3. Refresh the token using [`POST /account/auth/token`](#/operations/auth_token_create) + before expiration + + + **Example:** + + ``` + + Authorization: Bearer eyJhbGciOiJIUzI1NiIs... + + ```' + JwtMfaAuthentication: + type: http + scheme: bearer + bearerFormat: JWT + description: JWT MFA Token for Multi-Factor Authentication flows. Used when + MFA verification is required after initial login. + JwtRefreshAuthentication: + type: http + scheme: bearer + bearerFormat: JWT + description: JWT Refresh Token for obtaining new access tokens. Use the refresh_token + from login to get a new access_token without re-authenticating. + TokenAuth: + type: apiKey + in: header + name: Authorization + description: 'Personal Token authentication. Include your token in the Authorization + header with the prefix "Token". + + + **Format:** `Authorization: Token ` + + + **How to get a token:** + + 1. Log in to [Azion Console](https://console.azion.com) + + 2. Go to Account Menu > Personal Tokens + + 3. Click "+ Personal Token" + + 4. Set a name and expiration date + + 5. Copy and securely store your token + + + **Example:** + + ``` + + Authorization: Token azion_1234567890abcdef + + ```' + responses: + BadRequest: + description: Validation Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + Error-10000: + value: + errors: + - status: '400' + code: '10000' + title: Validation Error + detail: Invalid data provided in the request. + summary: Validation Error + description: Invalid data provided in the request. + Unauthorized: + description: Authentication Failed + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + Error-10001: + value: + errors: + - status: '401' + code: '10001' + title: Authentication Failed + detail: Invalid authentication credentials. + summary: Authentication Failed + description: Invalid authentication credentials. + Forbidden: + description: Permission Denied + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + Error-10003: + value: + errors: + - status: '403' + code: '10003' + title: Permission Denied + detail: You do not have permission to perform this action. + summary: Permission Denied + description: You do not have permission to perform this action. + NotFound: + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + Error-10004: + value: + errors: + - status: '404' + code: '10004' + title: Not Found + detail: Not found. + summary: Not Found + description: Not found. + MethodNotAllowed: + description: Method Not Allowed + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + Error-10005: + value: + errors: + - status: '405' + code: '10005' + title: Method Not Allowed + detail: Method not allowed. + summary: Method Not Allowed + description: Method not allowed. + NotAcceptable: + description: Not Acceptable + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + Error-10006: + value: + errors: + - status: '406' + code: '10006' + title: Not Acceptable + detail: Could not satisfy the request Accept header. + summary: Not Acceptable + description: Could not satisfy the request Accept header. + TooManyRequests: + description: Throttled + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + Error-10010: + value: + errors: + - status: '429' + code: '10010' + title: Throttled + detail: Request was throttled. + summary: Throttled + description: Request was throttled. + InternalServerError: + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/ErrorResponse' + examples: + Error-10500: + value: + errors: + - status: '500' + code: '10500' + title: Internal Server Error + detail: An unexpected error occurred. Please try again later. + summary: Internal Server Error + description: An unexpected error occurred. Please try again later. + parameters: + PageParam: + name: page + required: false + in: query + description: A page number within the paginated result set. + schema: + type: integer + PageSizeParam: + name: page_size + required: false + in: query + description: A numeric value that indicates the number of items per page. + schema: + type: integer + OrderingParam: + name: ordering + required: false + in: query + description: Which field to use when ordering the results. + schema: + type: string + SearchParam: + name: search + required: false + in: query + description: A search term. + schema: + type: string + FieldsParam: + name: fields + required: false + in: query + description: Comma-separated list of field names to include in the response. + Nested fields can be accessed using dot notation. + schema: + type: string +externalDocs: + description: For more information, visit the Azion API documentation. + url: https://api.azion.com/v4 From 37f37565449d692ee0ce98fb20a3021f14920922 Mon Sep 17 00:00:00 2001 From: jose-torquato Date: Thu, 29 Jan 2026 11:19:28 -0300 Subject: [PATCH 2/4] chore: remove legacy v3 API specifications --- credentials.yaml | 270 -- data_streaming.yaml | 1073 ----- digital_certificates.yaml | 627 --- domains.yaml | 492 --- edge.yml | 1609 -------- edgeapplications.yaml | 4770 ----------------------- edgefirewall.yaml | 869 ----- edgefunctions.yaml | 576 --- edgefunctionsinstance_edgefirewall.yaml | 347 -- edgenode.yaml | 600 --- iam.yml | 3800 ------------------ idns.yaml | 938 ----- networklist.yaml | 386 -- personal_tokens.yaml | 232 -- realtimepurge.yaml | 338 -- services.yaml | 659 ---- storage.yaml | 2158 ---------- variables.yaml | 287 -- waf.yaml | 629 --- 19 files changed, 20660 deletions(-) delete mode 100644 credentials.yaml delete mode 100644 data_streaming.yaml delete mode 100644 digital_certificates.yaml delete mode 100644 domains.yaml delete mode 100644 edge.yml delete mode 100644 edgeapplications.yaml delete mode 100644 edgefirewall.yaml delete mode 100644 edgefunctions.yaml delete mode 100644 edgefunctionsinstance_edgefirewall.yaml delete mode 100644 edgenode.yaml delete mode 100644 iam.yml delete mode 100644 idns.yaml delete mode 100644 networklist.yaml delete mode 100644 personal_tokens.yaml delete mode 100644 realtimepurge.yaml delete mode 100644 services.yaml delete mode 100644 storage.yaml delete mode 100644 variables.yaml delete mode 100644 waf.yaml diff --git a/credentials.yaml b/credentials.yaml deleted file mode 100644 index d35a9f0..0000000 --- a/credentials.yaml +++ /dev/null @@ -1,270 +0,0 @@ -openapi: 3.0.0 -info: - title: Credentials API - version: 2.0.0 - license: - name: MIT - url: https://github.com/aziontech/azionapi-openapi/blob/main/LICENSE.md -servers: -- description: Production - url: https://api.azionapi.net -security: -- tokenAuth: [] -paths: - /credentials: - get: - operationId: findAll - parameters: - - in: query - name: filter - schema: - type: string - - in: query - name: page - schema: - format: int64 - type: integer - - in: query - name: page_size - schema: - format: int64 - type: integer - - in: query - name: sort - schema: - type: string - - in: query - name: order_by - schema: - type: string - responses: - "200": - content: - 'application/json; version=3': - schema: - $ref: '#/components/schemas/ResponseWithTotal' - description: OK - "400": - description: Bad Request - "500": - description: Internal Server Error - summary: Return all credentials - post: - operationId: createCredential - requestBody: - content: - 'application/json; version=3': - schema: - $ref: '#/components/schemas/CreateCredentialRequest' - required: true - responses: - "201": - content: - 'application/json; version=3': - schema: - $ref: '#/components/schemas/AuthToken' - description: Created - "400": - description: Bad Request - "403": - description: Forbidden - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: Create credential - /credentials/{credentialId}: - delete: - operationId: deleteCredential - parameters: - - in: path - name: credentialId - required: true - schema: - format: int64 - type: integer - responses: - "204": - description: No Content - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "500": - description: Internal Server Error - summary: Delete the Credential - get: - operationId: loadCredential - parameters: - - in: path - name: credentialId - required: true - schema: - format: int64 - type: integer - responses: - "200": - content: - 'application/json; version=3': - schema: - $ref: '#/components/schemas/Response' - description: OK - "400": - description: Bad Request - "404": - description: Not Found - "500": - description: Internal Server Error - summary: Load the Credential - patch: - operationId: updateCredential - parameters: - - in: path - name: credentialId - required: true - schema: - format: int64 - type: integer - requestBody: - content: - 'application/json; version=3': - schema: - $ref: '#/components/schemas/UpdateCredentialRequest' - required: true - responses: - "200": - content: - 'application/json; version=3': - schema: - $ref: '#/components/schemas/Response' - description: OK - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: Update the Credential -components: - schemas: - AuthToken: - additionalProperties: false - properties: - client_id: - type: string - created_at: - format: date-time - type: string - deleted_at: - format: date-time - type: string - description: - type: string - id: - format: int64 - type: integer - is_active: - type: boolean - last_editor: - type: string - name: - type: string - token: - type: string - updated_at: - format: date-time - type: string - required: - - client_id - - created_at - - id - - is_active - - last_editor - - name - - token - - updated_at - type: object - CreateCredentialRequest: - additionalProperties: false - properties: - description: - type: string - name: - type: string - status: - type: boolean - required: - - name - - description - - status - type: object - Response: - additionalProperties: false - properties: - description: - type: string - id: - format: int64 - type: integer - last_editor: - type: string - last_modified: - format: date-time - type: string - name: - type: string - status: - type: boolean - token: - type: string - required: - - id - - name - - token - - status - - description - - last_editor - - last_modified - type: object - ResponseWithTotal: - additionalProperties: false - properties: - credentials: - items: - $ref: '#/components/schemas/Response' - type: array - total: - format: int64 - type: integer - required: - - credentials - - total - type: object - UpdateCredentialRequest: - additionalProperties: false - properties: - description: - type: string - name: - type: string - status: - type: boolean - required: - - name - - description - - status - type: object - securitySchemes: - tokenAuth: - type: apiKey - name: Authorization - in: header - description: | - You must inform a token to auth. - Usage format: `Token ` \ No newline at end of file diff --git a/data_streaming.yaml b/data_streaming.yaml deleted file mode 100644 index ade124d..0000000 --- a/data_streaming.yaml +++ /dev/null @@ -1,1073 +0,0 @@ -openapi: 3.0.3 -info: - title: Data Streaming - OpenAPI - description: | - The Data Streaming API allows you to manage your existing data streamings and templates. - Data Streaming allows you to feed your stream processing, SIEM, and big data platforms with the event logs from your applications on Azion in real time. - - license: - name: MIT - url: https://github.com/aziontech/azionapi-openapi/blob/main/LICENSE.md - version: 1.0.0 -externalDocs: - description: See the documentation of Data Streaming for more information. - url: https://www.azion.com/en/documentation/products/data-streaming/ -servers: - - description: Production - url: https://api.azionapi.net -security: - - tokenAuth: [] -tags: - - name: Data Streaming -paths: - /data_streaming/streamings: - get: - tags: - - Data Streaming - summary: List all exist data streamings - description: Use the GET method to list all data streamings, both active and inactive, and its properties. - operationId: ListDataStreamings - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/DataStreamingResponseWithResults' - '400': - description: Bad Request - '401': - description: Unauthorized - '403': - description: Forbidden - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '500': - description: Internal Server Error - - post: - tags: - - Data Streaming - summary: Create a new data streaming - description: Create a new data streaming. - operationId: CreateNewDataStreaming - requestBody: - required: true - content: - application/json: - schema: - oneOf: - - $ref: '#/components/schemas/DataStreamingPostBody' - - $ref: '#/components/schemas/StandardDataStreamingPostBody' - - $ref: '#/components/schemas/CustomDataStreamingPostBody' - responses: - '201': - description: Created successfully - content: - application/json: - schema: - oneOf: - - $ref: '#/components/schemas/CreateDataStreamingResponse' - - $ref: '#/components/schemas/CreateCustomDataStreamingResponse' - - '400': - description: Bad Request - '401': - description: Unauthorized - '403': - description: Forbidden - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '500': - description: Internal Server Error - - - /data_streaming/domains: - get: - tags: - - Data Streaming Domain - summary: List all domains used on data streaming - description: Use the GET method to list all available domains that can be used on Data Streaming operations. - operationId: ListDataStreaming - parameters: - - in: query - name: name - description: Domain's name in data streaming - required: false - schema: - type: string - - in: query - name: streaming_id - required: false - schema: - format: int64 - type: integer - - in: query - name: selected - required: false - schema: - type: boolean - - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/DataStreamingsDomainResponse' - '400': - description: Bad Request - '401': - description: Unauthorized - '403': - description: Forbidden - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '500': - description: Internal Server Error - - /data_streaming/streamings/{data_streaming_id}: - get: - tags: - - Data Streaming - summary: Get expecific data streaming by Data Streaming ID - description: Use the GET method and add the data streaming's ID to the URI of the request to get more data on a specific data streaming. - operationId: ListDataStreamingById - parameters: - - in: path - required: true - name: data_streaming_id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/DataStreamingsById' - '400': - description: Bad Request - '401': - description: Unauthorized - '403': - description: Forbidden - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '500': - description: Internal Server Error - - put: - tags: - - Data Streaming - summary: Overwrite data streaming - description: | - Use the PUT method to overwrite the data streaming. Although you can change a single property using the PUT method, you must pass all fields for the request to be completed. - - operationId: OverwriteDataStreamingById - parameters: - - in: path - required: true - name: data_streaming_id - schema: - type: integer - - requestBody: - required: true - content: - application/json: - schema: - oneOf: - - $ref: '#/components/schemas/DataStreamingPostBody' - - $ref: '#/components/schemas/StandardDataStreamingPostBody' - - $ref: '#/components/schemas/CustomDataStreamingPostBody' - - responses: - '200': - description: Successful operation - content: - application/json: - schema: - oneOf: - - $ref: '#/components/schemas/CreateDataStreamingResponse' - - $ref: '#/components/schemas/CreateCustomDataStreamingResponse' - - '400': - description: Bad Request - '401': - description: Unauthorized - '403': - description: Forbidden - '404': - description: Not Found - '406': - description: Not Acceptable - '409': - description: Conflict - '429': - description: Too Many Requests - '500': - description: Internal Server Error - - patch: - tags: - - Data Streaming - summary: Edit data streaming - description: | - Use the PATCH method to change only select settings of your data streaming. - - operationId: EditDataStreamingById - parameters: - - in: path - required: true - name: data_streaming_id - schema: - type: integer - - requestBody: - required: true - content: - application/json: - schema: - oneOf: - - $ref: '#/components/schemas/DataStreamingPostBody' - - $ref: '#/components/schemas/StandardDataStreamingPostBody' - - $ref: '#/components/schemas/CustomDataStreamingPostBody' - - responses: - '200': - description: Successful operation - content: - application/json: - schema: - oneOf: - - $ref: '#/components/schemas/CreateDataStreamingResponse' - - $ref: '#/components/schemas/CreateCustomDataStreamingResponse' - - '400': - description: Bad Request - '401': - description: Unauthorized - '403': - description: Forbidden - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '500': - description: Internal Server Error - - delete: - tags: - - Data Streaming - summary: Delete data streaming - description: | - Use the DELETE method to remove a data streaming from your account. - - operationId: DeleteDataStreamingById - parameters: - - in: path - required: true - name: data_streaming_id - schema: - type: integer - - responses: - '204': - description: Successful operation - '400': - description: Bad Request - '401': - description: Unauthorized - '403': - description: Forbidden - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '500': - description: Internal Server Error - - /data_streaming/templates: - get: - tags: - - Data Streaming Templates - summary: List all global Templates that can be used on Data Streaming operations - description: | - Use the GET method to list all global templates that can be used on Data Streaming operations. - - **Note:** Customized templates won't be listed. - operationId: ListDataStreamingTemplates - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/TemplateResults' - '400': - description: Bad Request - '401': - description: Unauthorized - '403': - description: Forbidden - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '500': - description: Internal Server Error - - /data_streaming/templates/{template_id}: - get: - tags: - - Data Streaming Templates - summary: Get an global Template info by template ID - description: Use the GET method and add the data streaming's ID to the URI of the request to get more data on a specific data streaming global template. - operationId: GetDataStramingTemplateById - parameters: - - in: path - required: true - name: template_id - schema: - type: integer - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/TemplateResultById' - '400': - description: Bad Request - '401': - description: Unauthorized - '403': - description: Forbidden - '404': - description: Not Found - '429': - description: Too Many Requests - '500': - description: Internal Server Error - - -components: - schemas: - DataStreamingPostBody: - type: object - properties: - name: - type: string - - template_id: - type: integer - enum: - - 2 - - 4 - - 86 - - 184 - - 251 - description: > - Options: - * `2` - Edge Applications Event Collector - * `4` - WAF Event Collector - * `86` - Edge Functions Event Collector - * `184` - Edge Applications + WAF Event Collector - * `251` - Activity History Collector - - data_source: - type: string - nullable: true - enum: ["http", "waf", "cells_console", "rtm_activity"] - description: > - Options: - * `http` - Edge Applications (default) - * `waf` - WAF Events - * `cells_console` - Edge Functions - * `rtm_activity` - Activity History - - active: - type: boolean - nullable: true - default: true - - endpoint: - type: string - format: json - description: > - Options' examples: - - `Standard HTTP/HTTPS POST` - { "endpoint_type": "standard", "url": "http://example.com", "log_line_separator": "\n", "payload_format": "$dataset", "max_size": 1000024 } - - `Apache Kafka` - { "endpoint_type": "kafka", "kafka_topic": "example_topic", "bootstrap_servers": "kafka-server.com:9092,kafka-server-2.com:9092", "use_tls":true } - - `Simple Storage Service (S3)` - { "endpoint_type": "s3", "access_key": "MYACCESSKEY", "region": "us-east-1", "object_key_prefix": "my_prefix_", "bucket_name": "bucket_example", "content_type": "plain/text", "host_url": "http://aws-host.com", "secret_key": "MYSECRETKEY" } - - `Google BigQuery` - { "endpoint_type": "big_query", "dataset_id": "my_dataset", "project_id": "my_project", "table_id": "my_table", "service_account_key": "{ "service_account_key": "key_content" }" } - - `Elasticsearch` - { “endpoint_type”: "elasticsearch", “url”: “http://elasticsearch.com”, “api_key”: “XYZ_API_KEY” } - - `AWS Kinesis Data Firehose` - { "endpoint_type": "aws_kinesis_firehose", "access_key": "MYACCESSKEY", "stream_name": "my_stream_name", "region": "us-east-1", "secret_key": "MYSECRETKEY" } - - `Datadog` - { "endpoint_type": "datadog", "url": "https://http-intake.logs.datadoghq.com/v1/input", "api_key": "MYAPIKEY" } - - `IBM QRadar` - { "endpoint_type": "qradar", "url": "http://137.15.824.10:14440” } - - `Azure Monitor` - { "endpoint_type": "azure_monitor", "log_type": "myLogType", "shared_key": "mysharedkey", "time_generated_field": "timeGeneratedField", "workspace_id": "anfhw-123sd-466gcs"} - - `Azure Blob Storage` - { "endpoint_type": "azure_blob_storage", "storage_account": "mystorageaccount", "container_name": "log_container", "blob_sas_token": "fd56e23e1f12efe" } - - `Splunk` - { "endpoint_type": "splunk", "url": "https://inputs.splunk-client.splunkcloud.com:1337/services/collector", "api_key": "MYAPIKEY" } - - domains_ids: - type: array - items: - type: integer - minItems: 1 - description: > - Note: - * Field not used with the rtm_activity data source. - # OpenAPI 3.0 does not support parameter dependencies and mutually exclusive parameters. - # Link: https://stackoverflow.com/questions/63209596/how-to-indicate-that-a-parameter-is-conditionally-required-when-another-paramete/63213464#63213464 - - all_domains: - type: boolean - nullable: true - default: false - description: > - Note: - * Field not used with the rtm_activity data source. - # OpenAPI 3.0 does not support parameter dependencies and mutually exclusive parameters. - # Link: https://stackoverflow.com/questions/63209596/how-to-indicate-that-a-parameter-is-conditionally-required-when-another-paramete/63213464#63213464 - - sampling_percentage: - type: integer - nullable: true - minimum: 0 - maximum: 100 - description: > - Note: - * `Range` - From 0 to 100. - * `To use:` [Contact the sales team](https://www.azion.com/en/contact-sales/) to activate this feature in your account. - additionalProperties: false - - StandardDataStreamingPostBody: - type: object - properties: - name: - type: string - - template_id: - type: integer - enum: - - 2 - - 4 - - 86 - - 184 - - 251 - description: > - Options: - * `2` - Edge Applications Event Collector - * `4` - WAF Event Collector - * `86` - Edge Functions Event Collector - * `184` - Edge Applications + WAF Event Collector - * `251` - Activity History Collector - - data_source: - type: string - nullable: true - enum: ["http", "waf", "cells_console", "rtm_activity"] - description: > - Options: - * `http` - Edge Applications (default) - * `waf` - WAF Events - * `cells_console` - Edge Functions - * `rtm_activity` - Activity History - active: - type: boolean - nullable: true - default: true - - endpoint: - $ref: '#/components/schemas/DataStreamingEndpointTypeStandard' - - domains_ids: - type: array - items: - type: integer - minItems: 1 - description: > - Note: - * Field not used with the rtm_activity data source. - - all_domains: - type: boolean - nullable: true - default: false - description: > - Note: - * Field not used with the rtm_activity data source. - additionalProperties: false - - CustomDataStreamingPostBody: - type: object - properties: - name: - type: string - - data_source: - type: string - nullable: true - enum: ["http", "waf", "cells_console", "rtm_activity"] - description: > - Options: - * `http` - Edge Applications (default) - * `waf` - WAF Events - * `cells_console` - Edge Functions - * `rtm_activity` - Activity History - - template_model: - type: string - description: > - Note: - * Add all variables and values that will be used to stream according to the data source you choose to use. - * All data streaming [variables can be found on the reference documentation](https://www.azion.com/en/documentation/products/data-streaming/#selecting-data-sources). - - active: - type: boolean - nullable: true - default: true - additionalProperties: false - - CreateDataStreamingResponse: - type: object - properties: - results: - type: array - items: - $ref: '#/components/schemas/PostDataStreamingResponse' - schema_version: - type: number - - CreateCustomDataStreamingResponse: - type: object - properties: - results: - type: array - items: - $ref: '#/components/schemas/PostCustomDataStreamingResponse' - schema_version: - type: number - - - PostDataStreamingResponse: - type: object - properties: - id: - type: integer - - name: - type: string - - template_id: - type: integer - enum: - - 2 - - 4 - - 86 - - 184 - - 251 - description: > - Options: - * `2` - Edge Applications Event Collector - * `4` - WAF Event Collector - * `86` - Edge Functions Event Collector - * `184` - Edge Applications + WAF Event Collector - * `251` - Activity History Collector - - data_source: - type: string - enum: ["http", "waf", "cells_console", "rtm_activity"] - description: > - Options: - * `http` - Edge Applications - * `waf` - WAF Events - * `cells_console` - Edge Functions - * `rtm_activity` - Activity History - - active: - type: boolean - - endpoint: - type: array - items: - oneOf: - - $ref: '#/components/schemas/Endpoint_Default' - - $ref: '#/components/schemas/Endpoint_Kafka' - - $ref: '#/components/schemas/Endpoinrt_S3' - - $ref: '#/components/schemas/Endpoint_Google_BigQuery' - - $ref: '#/components/schemas/Endpoint_Elasticsearch' - - $ref: '#/components/schemas/Endpoint_AWS_Kinesis_Firehose' - - $ref: '#/components/schemas/Endpoint_Datadog' - - $ref: '#/components/schemas/Endpoint_IBM_QRadar' - - $ref: '#/components/schemas/Endpoint_Azure_Monitor' - - $ref: '#/components/schemas/Endpoint_Azure_Blob_Storage' - - $ref: '#/components/schemas/Endpoint_Splunk' - - all_domains: - type: boolean - nullable: true - description: > - Note: - * Field not used with the rtm_activity data source. - # OpenAPI 3.0 does not support parameter dependencies and mutually exclusive parameters. - # Link: https://stackoverflow.com/questions/63209596/how-to-indicate-that-a-parameter-is-conditionally-required-when-another-paramete/63213464#63213464 - - - PostCustomDataStreamingResponse: - type: object - properties: - id: - type: integer - - name: - type: string - - data_source: - type: string - enum: ["http", "waf", "cells_console", "rtm_activity"] - description: > - Options: - * `http` - Edge Applications - * `waf` - WAF Events - * `cells_console` - Edge Functions - * `rtm_activity` - Activity History - - template_model: - type: string - description: > - Note: - * Add all variables and values that will be used to stream according to the data source you choose to use. - example: > - "{\"custom_template_field\":\"$custom_value\", \"status\":\"$status\"}" - - active: - type: boolean - - endpoint: - type: string - format: json - - all_domains: - type: boolean - nullable: true - description: > - Note: - * Field not used with the rtm_activity data source. - - Endpoint_Default: - type: object - properties: - endpoint_type: - type: string - example: "standard" - url: - type: string - format: uri - log_line_separator: - type: string - payload_format: - type: string - max_size: - type: integer - headers: - type: array - items: - type: object - additionalProperties: - type: string - example: - additional_header: additional_header_value - maximum: 5 - - - Endpoint_Kafka: - type: object - properties: - endpoint_type: - type: string - example: "kafka" - kafka_topic: - type: string - bootstrap_servers: - type: string - use_tls: - type: boolean - - Endpoinrt_S3: - type: object - properties: - endpoint_type: - type: string - example: "s3" - access_key: - type: string - region: - type: string - object_key_prefix: - type: string - bucket_name: - type: string - content_type: - type: string - host_url: - type: string - format: uri - secret_key: - type: string - - Endpoint_Google_BigQuery: - type: object - properties: - endpoint_type: - type: string - example: "big_query" - dataset_id: - type: string - project_id: - type: string - table_id: - type: string - service_account_key: - type: object - properties: - service_account_key: - type: string - - Endpoint_Elasticsearch: - type: object - properties: - endpoint_type: - type: string - example: "elasticsearch" - url: - type: string - format: uri - api_key: - format: string - - Endpoint_AWS_Kinesis_Firehose: - type: object - properties: - endpoint_type: - type: string - example: "aws_kinesis_firehose" - access_key: - type: string - stream_name: - type: string - region: - type: string - secret_key: - type: string - - Endpoint_Datadog: - type: object - properties: - endpoint_type: - type: string - example: "datadog" - url: - type: string - format: uri - api_key: - format: string - - Endpoint_IBM_QRadar: - type: object - properties: - endpoint_type: - type: string - example: "qradar" - url: - type: string - format: uri - - Endpoint_Azure_Monitor: - type: object - properties: - endpoint_type: - type: string - example: "azure_monitor" - log_type: - type: string - shared_key: - type: string - time_generated_field: - type: string - workspace_id: - type: string - pattern: '[a-zA-Z0-9]{5}-[a-zA-Z0-9]{5}-[a-zA-Z0-9]{6}' - - Endpoint_Azure_Blob_Storage: - type: object - properties: - endpoint_type: - type: string - example: "azure_blob_storage" - storage_account: - type: string - container_name: - type: string - blob_sas_token: - type: string - pattern: '[a-zA-Z0-9]{15}' - - Endpoint_Splunk: - type: object - properties: - endpoint_type: - type: string - example: "splunk" - url: - type: string - format: uri - api_key: - type: string - - - DataStreamingResponseWithResults: - type: object - properties: - results: - type: array - items: - anyOf: - - $ref: '#/components/schemas/DataStreamingResponseGetResultTypeDatadogDTS' - - $ref: '#/components/schemas/DataStreamingResponseGetResultTypeKafka' - - $ref: '#/components/schemas/DataStreamingResponseGetResultTypeStandard' - - $ref: '#/components/schemas/DataStreamingResponseGetResultTypeCustom' - schema_version: - type: number - - DataStreamingResponseGetResultTypeDatadogDTS: - type: object - properties: - id: - type: integer - name: - type: string - template_id: - type: integer - data_source: - type: string - active: - type: boolean - endpoint: - $ref: '#/components/schemas/DataStreamingEndpointTypeDatadogDTS' - all_domains: - type: boolean - - DataStreamingEndpointTypeDatadogDTS: - type: object - properties: - endpoint_type: - type: string - url: - type: string - format: uri - api_key: - type: string - - DataStreamingResponseGetResultTypeKafka: - type: object - properties: - id: - type: integer - name: - type: string - template_id: - type: integer - data_source: - type: string - active: - type: boolean - endpoint: - $ref: '#/components/schemas/DataStreamingEndpointTypeKafka' - all_domains: - type: boolean - - DataStreamingEndpointTypeKafka: - type: object - properties: - endpoint_type: - type: string - use_tls: - type: boolean - kafka_topic: - type: string - bootstrap_servers: - type: string - - DataStreamingResponseGetResultTypeStandard: - type: object - properties: - id: - type: integer - name: - type: string - template_id: - type: integer - data_source: - type: string - active: - type: boolean - endpoint: - $ref: '#/components/schemas/DataStreamingEndpointTypeStandard' - all_domains: - type: boolean - - DataStreamingEndpointTypeStandard: - type: object - properties: - endpoint_type: - type: string - url: - type: string - format: uri - log_line_separator: - type: string - payload_format: - type: string - max_size: - type: integer - headers: - $ref: '#/components/schemas/DataStreamingEndpointTypeStandardHeadersExample' - - DataStreamingEndpointTypeStandardHeadersExample: - type: object - properties: - header-name-1: - type: string - nullable: true - header-name-2: - type: string - nullable: true - header-name-3: - type: string - nullable: true - - DataStreamingResponseGetResultTypeCustom: - type: object - properties: - id: - type: integer - name: - type: string - data_source: - type: string - active: - type: boolean - endpoint: - $ref: '#/components/schemas/DataStreamingEndpointTypeKafka' - all_domains: - type: boolean - template_model: - type: string - - DataStreamingsDomainResponse: - type: object - properties: - count: - type: integer - total_pages: - type: integer - schema_version: - type: number - links: - $ref: '#/components/schemas/DataStreamingsDomainResponseLinks' - results: - type: array - items: - $ref: '#/components/schemas/DataStreamingsDomainResult' - - DataStreamingsDomainResponseLinks: - type: object - properties: - previous: - type: string - nullable: true - next: - type: string - nullable: true - - DataStreamingsDomainResult: - type: object - properties: - domain_id: - type: integer - name: - type: string - selected: - type: boolean - nullable: true - - DataStreamingsById: - type: object - properties: - results: - $ref: '#/components/schemas/DataStreamingResponseGetResultTypeKafka' - schema_version: - type: number - - - TemplateResults: - type: object - properties: - results: - type: array - items: - $ref: '#/components/schemas/Template' - schema_version: - type: number - - TemplateResultById: - type: object - properties: - results: - $ref: '#/components/schemas/Template' - schema_version: - type: number - - Template: - type: object - properties: - id: - type: integer - name: - type: string - template_model: - type: string - - - securitySchemes: - tokenAuth: - type: apiKey - name: Authorization - in: header - description: | - You must inform a token to auth. - Usage format: `Token ` - diff --git a/digital_certificates.yaml b/digital_certificates.yaml deleted file mode 100644 index 9f521f0..0000000 --- a/digital_certificates.yaml +++ /dev/null @@ -1,627 +0,0 @@ -openapi: 3.0.0 -info: - title: Digital Certificates API - version: 2.0.0 - license: - name: MIT - url: https://github.com/aziontech/azionapi-openapi/blob/main/LICENSE.md -servers: - - description: Production - url: https://api.azionapi.net -security: - - tokenAuth: [] -paths: - /digital_certificates: - get: - tags: - - Retrieve digital certificate list - summary: List all existing digital certificates and CSRs registered to your account - operationId: listDigitalCertificates - parameters: - - name: order_by - in: query - description: Response field to order by, current options are "name" or "id" - required: false - schema: - type: string - enum: [name, id] - default: id - - name: sort - in: query - description: Sorting direction - required: false - schema: - type: string - enum: [asc, desc] - default: asc - - name: name - in: query - description: Searches certificate for name - required: false - schema: - type: string - - name: search - in: query - description: Searches for string in certificate name - required: false - schema: - type: string - - responses: - "200": - description: Successful operation - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC200List" - "400": - description: Bad Request - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC400" - "401": - description: Unauthorized - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC401" - "403": - description: Forbidden - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC403" - "404": - description: Not Found - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC404" - "406": - description: Not acceptable - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC406" - - post: - tags: - - Create digital certificate - summary: Create a new digital certificate - operationId: createCertificate - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - name: - type: string - certificate: - type: string - private_key: - type: string - certificate_type: - type: string - enum: [edge_certificate, trusted_ca_certificate] - managed: - type: boolean - example: - name: "New SSL certificate for www.mydomain.com" - certificate: "-----BEGIN CERTIFICATE-----\nMIIDCTCCAfGgAwIBAgIJAPpMWHKMIGuAMA0GCSqGSIb3DQEBBQUAMBsxGTAXBgNV\nBAMMEHd3dy5teWRvbWFpbi5jb20wHhcNMTgwMzI3MjAwOTA0WhcNMjgwMzI0MjAw\nOTA0WjAbMRkwFwYDVQQDDBB3d3cubXlkb21haW4uY29tMIIBIjANBgkqhkiG9w0B\nAQEFAAOCAQ8AMIIBCgKCAQEAt25cziDBsHbZzZhy9BPLApPf9OmE67k9pr7VezsR\nkIw4trY2xtJXFB7itT1p7HxbLBoL5u8FGmMKssB+XTmztmgty43ogor1KSjUgfZg\nrpAqyXtrbSM5g+14c0VO9S0LkkePlHvul0UiblJj7K+gkvc6sZqXZY+TI1BPqeuO\ns9A4LLCUGziyNv0qJfIL5RZm07Yy35BEBTTxUWVL2msfaUH2uPM5XN5eFC7oKN0/\n3NuYIboRmyk+P7CDC99M8Mp/wOjiB+yVGZVTjeqGPI8nFWJl2waXkc54VvW84xQP\njwtid1v1KENK/ixMAAXi2cQ9gNRX+/USoneuWj5n4QUj6QIDAQABo1AwTjAdBgNV\nHQ4EFgQU2sDgtyYMDXvw79OhdvAFqcLmcwkwHwYDVR0jBBgwFoAU2sDgtyYMDXvw\n79OhdvAFqcLmcwkwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAKzCM\niG67IPwJK6MIJ31N734AofnjLf+fffxNtfYmH0XGORHPYUxCxsLxXiSFgPvubWh+\n7vLsKAm67bflMWbnxohuiOR0O/LJhLvhj6F+wgv0aDXpu581Hm8Ob/88ldbF6ND1\nTqzVATS0WDfl+z1QBKtNdDm3Nv45IZ83ob7OhIzD9MwL6tflBPDpWOYtmBDn0xSP\n6ra9d8oa6jK1fe2/5A7LY41acjbbNrLbFDYP7hcx02TmCfSMut+ysaZ/blay4Sbb\nwNlt92KhJw07UEKgXXbgyXGoFQkU8V+r2AZcgt0XM9jvwTc01Sbq/gegd2GMAj3x\nrTwkn5UNzFs56FCgNg==\n-----END CERTIFICATE-----" - private_key: "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQB29Xrr3II5eeHr/8ttgB6uRg9bO0bS9qyhGS3QrHTYsME8/yZG\nULyN9FdDGPiExEHqpUVVeU1J5v3fGMXaskhXMCJIsuP5oFPQ10U7m9Kdcia4MXJZ\n7Bea6dVxsJuL4+CbuAaEjX52f3Q30uX3XyvrUtLA9vBJbHHmVUmZ22Qza5QHXWDD\ntAUTScEAGYfIb19BAZi8Zsz1aOniIhv91UyMKJeH/abP/\nq4ZskXf8yYjgG1mmhi\n4YlK1x0kYuHvcuDU4Sduf78bUKJ7uNK8wzg2NROJ8QYw+LQrPofg1+pYswZRfEcd\nqcXtnOqTdAQjAIOKG2lCCsVF221pz9to1DwHAgMBAAECggEAYpMqx/YTB1PDbY+q\n39MyGVG++eeV2c1E4b3+pBO0Q7e8eTIpYk0W4j7ebKBtl38V7D4FxT1eWWYLa2qY\n0Y+4uF8PmdR7a2h66+zm1u1ZytRD15BJ5M/qA5nPIIWrb3Fmt0L4S7EAYWteP8AI\nhkMcHsWkFPjLxtwRSj/UXKVbU+uh6NAkyQY2JnwRjPssIvEcDTLolDQ0IB5kHVMJ\nGXFboptKAlM41yaLXcTPVHmF3Jqt9p4T1AkaVTA1CVGuMG/KGDgt5whkND67a29W\nJFHu/RxPeBCTVgwYp6IuuXz2XylqkH4cOv1VsaXRWBjruHlp8tV2hUWW5khyYpoc\n9xsCeQKBgQDaMTt1agDsgMhw/y5RkmEW3eFXse+NwmSx+lAnrJCaBSvtZ2VojFqq\nGR+kJUoXxc1CgX2OtYL107yOdITPIlyjW8akPHU1hiiunmnwcXJBDPH2OeWF1OPS\nyeQbZUI4L7h5r5+GXQJNmDJjrXmDetnG5LCIoF7MC9+m6S1zqny9OwKBgQCLkl1Y\nXTwtM7FOE0pTC7kzbECbXTrAVg/sCALMWH9UOZ4OvSEj1z281fCfykO5WRkCD1uf\nrlrftQhvmJdj5P3Khz1ILQnNCnVEfHm7ILAQJRWOZfqLIMwIVTX7uhHLulfwQwiT\nNfBn2CjaNBn22jLXHlU15NJDmoma9aaivMp/pQKBgCQHmS/sTza+lVrDaJyjtVCX\nVwyqH0qjXQlesjm67y3fyL8tIbu/4YDRIT5zweZnDVv8EgWsx3Fcg3hqmTuzCuUW\n1JhuO1SZUMJ0+j1wHlPLlXD5YoNVAkHegMJdWC/7AVVmwMrpNOYnSbrX/\nIbPlIKZ\nZOVKxhyfoVDolE7TSkHdAoGBAIouWmRFynImH4Bg8NDPZohWwJAQ+T269wCD3eFa\nLJXChY2qCclmLCVs2lIY+nvijjPP6LJq+GVK4hM6S4gHCo0c37s5e96YYAlyA0MU\n1brmPDVDGY3s5pPJaSzTxxKgZrfkZfT5Dg6Bn9CIjLwswvDfgxVceh+cPGhClLvB\nlepRAoGAKT+xIeMoMkQeZruOL72AvO6raQGjY+yPbXCIFeZxwv5kb+m3UaXNaVbq\nH5KzJESG2ALhOvyHgj8YopNsMWQuleoAYVXdODp0w3omN4a3ajjMUuV8GXDQis+a\nQl7R6ytpLpoc1TYx6cLwK7qGSAzB8vz9ZQkd2iYFco43E7IdABc=\n-----END RSA PRIVATE KEY-----" - required: [name, certificate, private_key] - responses: - "201": - description: Created - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC201" - "400": - description: Successful operation - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC400" - "403": - description: Forbidden - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC403" - - /digital_certificates/{digital_certificate_id}: - get: - tags: - - Retrieve digital certificate by ID - summary: Get more data on a specific digital certificate or CSR. - operationId: getCertificate - parameters: - - name: digital_certificate_id - in: path - description: ID of certificate - required: true - schema: - format: int64 - type: integer - responses: - "200": - description: Successful operation - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC200" - "400": - description: Bad request - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC400" - "401": - description: Unauthorized operation - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC401" - "403": - description: Forbidden operation - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC403" - "404": - description: Data not found - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC404" - "406": - description: Not Acceptable - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC406" - put: - tags: - - Overwrite digital certificate - summary: Overwrite a digital certificate with another complete digital certificate - operationId: overwriteDigitalCertificate - parameters: - - name: digital_certificate_id - in: path - required: true - description: ID of certificate to overwrite - schema: - type: integer - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - name: - type: string - certificate: - type: string - private_key: - type: string - certificate_type: - type: string - enum: [edge_certificate, trusted_ca_certificate] - managed: - type: boolean - - example: - name: "New SSL certificate for www.mydomain.com" - certificate: "-----BEGIN CERTIFICATE-----\nMIIDCTCCAfGgAwIBAgIJAPpMWHKMIGuAMA0GCSqGSIb3DQEBBQUAMBsxGTAXBgNV\nBAMMEHd3dy5teWRvbWFpbi5jb20wHhcNMTgwMzI3MjAwOTA0WhcNMjgwMzI0MjAw\nOTA0WjAbMRkwFwYDVQQDDBB3d3cubXlkb21haW4uY29tMIIBIjANBgkqhkiG9w0B\nAQEFAAOCAQ8AMIIBCgKCAQEAt25cziDBsHbZzZhy9BPLApPf9OmE67k9pr7VezsR\nkIw4trY2xtJXFB7itT1p7HxbLBoL5u8FGmMKssB+XTmztmgty43ogor1KSjUgfZg\nrpAqyXtrbSM5g+14c0VO9S0LkkePlHvul0UiblJj7K+gkvc6sZqXZY+TI1BPqeuO\ns9A4LLCUGziyNv0qJfIL5RZm07Yy35BEBTTxUWVL2msfaUH2uPM5XN5eFC7oKN0/\n3NuYIboRmyk+P7CDC99M8Mp/wOjiB+yVGZVTjeqGPI8nFWJl2waXkc54VvW84xQP\njwtid1v1KENK/ixMAAXi2cQ9gNRX+/USoneuWj5n4QUj6QIDAQABo1AwTjAdBgNV\nHQ4EFgQU2sDgtyYMDXvw79OhdvAFqcLmcwkwHwYDVR0jBBgwFoAU2sDgtyYMDXvw\n79OhdvAFqcLmcwkwDAYDVR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAKzCM\niG67IPwJK6MIJ31N734AofnjLf+fffxNtfYmH0XGORHPYUxCxsLxXiSFgPvubWh+\n7vLsKAm67bflMWbnxohuiOR0O/LJhLvhj6F+wgv0aDXpu581Hm8Ob/88ldbF6ND1\nTqzVATS0WDfl+z1QBKtNdDm3Nv45IZ83ob7OhIzD9MwL6tflBPDpWOYtmBDn0xSP\n6ra9d8oa6jK1fe2/5A7LY41acjbbNrLbFDYP7hcx02TmCfSMut+ysaZ/blay4Sbb\nwNlt92KhJw07UEKgXXbgyXGoFQkU8V+r2AZcgt0XM9jvwTc01Sbq/gegd2GMAj3x\nrTwkn5UNzFs56FCgNg==\n-----END CERTIFICATE-----" - private_key: "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQB29Xrr3II5eeHr/8ttgB6uRg9bO0bS9qyhGS3QrHTYsME8/yZG\nULyN9FdDGPiExEHqpUVVeU1J5v3fGMXaskhXMCJIsuP5oFPQ10U7m9Kdcia4MXJZ\n7Bea6dVxsJuL4+CbuAaEjX52f3Q30uX3XyvrUtLA9vBJbHHmVUmZ22Qza5QHXWDD\ntAUTScEAGYfIb19BAZi8Zsz1aOniIhv91UyMKJeH/abP/\nq4ZskXf8yYjgG1mmhi\n4YlK1x0kYuHvcuDU4Sduf78bUKJ7uNK8wzg2NROJ8QYw+LQrPofg1+pYswZRfEcd\nqcXtnOqTdAQjAIOKG2lCCsVF221pz9to1DwHAgMBAAECggEAYpMqx/YTB1PDbY+q\n39MyGVG++eeV2c1E4b3+pBO0Q7e8eTIpYk0W4j7ebKBtl38V7D4FxT1eWWYLa2qY\n0Y+4uF8PmdR7a2h66+zm1u1ZytRD15BJ5M/qA5nPIIWrb3Fmt0L4S7EAYWteP8AI\nhkMcHsWkFPjLxtwRSj/UXKVbU+uh6NAkyQY2JnwRjPssIvEcDTLolDQ0IB5kHVMJ\nGXFboptKAlM41yaLXcTPVHmF3Jqt9p4T1AkaVTA1CVGuMG/KGDgt5whkND67a29W\nJFHu/RxPeBCTVgwYp6IuuXz2XylqkH4cOv1VsaXRWBjruHlp8tV2hUWW5khyYpoc\n9xsCeQKBgQDaMTt1agDsgMhw/y5RkmEW3eFXse+NwmSx+lAnrJCaBSvtZ2VojFqq\nGR+kJUoXxc1CgX2OtYL107yOdITPIlyjW8akPHU1hiiunmnwcXJBDPH2OeWF1OPS\nyeQbZUI4L7h5r5+GXQJNmDJjrXmDetnG5LCIoF7MC9+m6S1zqny9OwKBgQCLkl1Y\nXTwtM7FOE0pTC7kzbECbXTrAVg/sCALMWH9UOZ4OvSEj1z281fCfykO5WRkCD1uf\nrlrftQhvmJdj5P3Khz1ILQnNCnVEfHm7ILAQJRWOZfqLIMwIVTX7uhHLulfwQwiT\nNfBn2CjaNBn22jLXHlU15NJDmoma9aaivMp/pQKBgCQHmS/sTza+lVrDaJyjtVCX\nVwyqH0qjXQlesjm67y3fyL8tIbu/4YDRIT5zweZnDVv8EgWsx3Fcg3hqmTuzCuUW\n1JhuO1SZUMJ0+j1wHlPLlXD5YoNVAkHegMJdWC/7AVVmwMrpNOYnSbrX/\nIbPlIKZ\nZOVKxhyfoVDolE7TSkHdAoGBAIouWmRFynImH4Bg8NDPZohWwJAQ+T269wCD3eFa\nLJXChY2qCclmLCVs2lIY+nvijjPP6LJq+GVK4hM6S4gHCo0c37s5e96YYAlyA0MU\n1brmPDVDGY3s5pPJaSzTxxKgZrfkZfT5Dg6Bn9CIjLwswvDfgxVceh+cPGhClLvB\nlepRAoGAKT+xIeMoMkQeZruOL72AvO6raQGjY+yPbXCIFeZxwv5kb+m3UaXNaVbq\nH5KzJESG2ALhOvyHgj8YopNsMWQuleoAYVXdODp0w3omN4a3ajjMUuV8GXDQis+a\nQl7R6ytpLpoc1TYx6cLwK7qGSAzB8vz9ZQkd2iYFco43E7IdABc=\n-----END RSA PRIVATE KEY-----" - required: [name, certificate, private_key] - - responses: - "200": - description: Successful operation - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC200" - "400": - description: Bad request - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC400" - "403": - description: Forbidden - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC403" - "404": - description: Not Found - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC404" - patch: - tags: - - Update digital certificate - summary: Change only select settings of your digital certificate or CSR. - operationId: updateDigitalCertificate - parameters: - - name: digital_certificate_id - in: path - required: true - description: ID of certificate to update - schema: - type: integer - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - name: - type: string - certificate: - type: string - private_key: - type: string - certificate_type: - type: string - enum: [edge_certificate, trusted_ca_certificate] - managed: - type: boolean - - example: - name: "New SSL certificate for www.mydomain.com" - private_key: "-----BEGIN RSA PRIVATE KEY-----\nMIIEogIBAAKCAQB29Xrr3II5eeHr/8ttgB6uRg9bO0bS9qyhGS3QrHTYsME8/yZG\nULyN9FdDGPiExEHqpUVVeU1J5v3fGMXaskhXMCJIsuP5oFPQ10U7m9Kdcia4MXJZ\n7Bea6dVxsJuL4+CbuAaEjX52f3Q30uX3XyvrUtLA9vBJbHHmVUmZ22Qza5QHXWDD\ntAUTScEAGYfIb19BAZi8Zsz1aOniIhv91UyMKJeH/abP/\nq4ZskXf8yYjgG1mmhi\n4YlK1x0kYuHvcuDU4Sduf78bUKJ7uNK8wzg2NROJ8QYw+LQrPofg1+pYswZRfEcd\nqcXtnOqTdAQjAIOKG2lCCsVF221pz9to1DwHAgMBAAECggEAYpMqx/YTB1PDbY+q\n39MyGVG++eeV2c1E4b3+pBO0Q7e8eTIpYk0W4j7ebKBtl38V7D4FxT1eWWYLa2qY\n0Y+4uF8PmdR7a2h66+zm1u1ZytRD15BJ5M/qA5nPIIWrb3Fmt0L4S7EAYWteP8AI\nhkMcHsWkFPjLxtwRSj/UXKVbU+uh6NAkyQY2JnwRjPssIvEcDTLolDQ0IB5kHVMJ\nGXFboptKAlM41yaLXcTPVHmF3Jqt9p4T1AkaVTA1CVGuMG/KGDgt5whkND67a29W\nJFHu/RxPeBCTVgwYp6IuuXz2XylqkH4cOv1VsaXRWBjruHlp8tV2hUWW5khyYpoc\n9xsCeQKBgQDaMTt1agDsgMhw/y5RkmEW3eFXse+NwmSx+lAnrJCaBSvtZ2VojFqq\nGR+kJUoXxc1CgX2OtYL107yOdITPIlyjW8akPHU1hiiunmnwcXJBDPH2OeWF1OPS\nyeQbZUI4L7h5r5+GXQJNmDJjrXmDetnG5LCIoF7MC9+m6S1zqny9OwKBgQCLkl1Y\nXTwtM7FOE0pTC7kzbECbXTrAVg/sCALMWH9UOZ4OvSEj1z281fCfykO5WRkCD1uf\nrlrftQhvmJdj5P3Khz1ILQnNCnVEfHm7ILAQJRWOZfqLIMwIVTX7uhHLulfwQwiT\nNfBn2CjaNBn22jLXHlU15NJDmoma9aaivMp/pQKBgCQHmS/sTza+lVrDaJyjtVCX\nVwyqH0qjXQlesjm67y3fyL8tIbu/4YDRIT5zweZnDVv8EgWsx3Fcg3hqmTuzCuUW\n1JhuO1SZUMJ0+j1wHlPLlXD5YoNVAkHegMJdWC/7AVVmwMrpNOYnSbrX/\nIbPlIKZ\nZOVKxhyfoVDolE7TSkHdAoGBAIouWmRFynImH4Bg8NDPZohWwJAQ+T269wCD3eFa\nLJXChY2qCclmLCVs2lIY+nvijjPP6LJq+GVK4hM6S4gHCo0c37s5e96YYAlyA0MU\n1brmPDVDGY3s5pPJaSzTxxKgZrfkZfT5Dg6Bn9CIjLwswvDfgxVceh+cPGhClLvB\nlepRAoGAKT+xIeMoMkQeZruOL72AvO6raQGjY+yPbXCIFeZxwv5kb+m3UaXNaVbq\nH5KzJESG2ALhOvyHgj8YopNsMWQuleoAYVXdODp0w3omN4a3ajjMUuV8GXDQis+a\nQl7R6ytpLpoc1TYx6cLwK7qGSAzB8vz9ZQkd2iYFco43E7IdABc=\n-----END RSA PRIVATE KEY-----" - - responses: - "200": - description: Successful operation - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC200" - "400": - description: Bad request - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC400" - "403": - description: Forbidden - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC403" - "404": - description: Not Found - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC404" - - delete: - tags: - - Delete digital certificate - summary: Remove a digital certificate or CSR from your account - operationId: removeDigitalCertificates - parameters: - - name: digital_certificate_id - in: path - required: true - description: ID of certificate to delete - schema: - type: integer - - responses: - "204": - description: No Content - "400": - description: Bad request - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC400" - "403": - description: Forbidden - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC403" - - "404": - description: Not Found - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC404" - "409": - description: Forbidden - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC409" - - /digital_certificates/csr: - post: - tags: - - Create CSR - summary: Create an encrypted Certificate Request with Azion, which can then be sent for signing to a CA - operationId: createCSR - requestBody: - required: true - content: - application/json: - schema: - type: object - properties: - name: - type: string - common_name: - type: string - country: - type: string - state: - type: string - locality: - type: string - organization: - type: string - organization_unity: - type: string - email: - type: string - private_key_type: - type: string - sans: - type: array - items: - type: string - example: - name: New CSR - common_name: example.net - country: US - state: Washington - locality: Seattle - organization: Example - organization_unity: IT - email: itdepartment@example.com - private_key_type: rsa_2048 - sans: - - www.example.net - - mail.example.net - - support.example.net - responses: - "201": - description: Created - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC201" - "400": - description: Successful operation - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC400" - "403": - description: Forbidden - content: - application/json; version=3: - schema: - $ref: "#/components/schemas/DC403" -components: - schemas: - singleResult: - type: object - example: - id: 12345 - name: New SSL certificate for www.mydomain.com - subject_name: [] - validity: 2028-03-24 20:09:00-03:00 - status: Active - certificate_type: edge_certificate - managed: false - properties: - id: - type: integer - name: - type: string - subject_name: - type: array - items: - type: string - issuer: - type: string - nullable: true - validity: - type: string - nullable: true - status: - type: string - certificate_type: - type: string - enum: [edge_certificate, trusted_ca_certificate] - managed: - type: boolean - csr: - type: string - nullable: true - certificate_content: - type: string - nullable: true - azion_information: - type: string - - results: - type: array - example: - - id: 12345 - name: New SSL certificate for www.mydomain.com - subject_name: [] - validity: 2028-03-24 20:09:00-03:00 - status: Active - certificate_type: edge_certificate - managed: false - - id: 1 - name: New SSL certificate for www.mydomain.com - subject_name: [] - validity: 2028-03-24 20:09:00-03:00 - status: Active - certificate_type: edge_certificate - managed: false - items: - type: object - properties: - id: - type: integer - name: - type: string - subject_name: - type: array - items: - type: string - validity: - type: string - nullable: true - status: - type: string - certificate_type: - type: string - enum: [edge_certificate, trusted_ca_certificate] - managed: - type: boolean - issuer: - type: string - nullable: true - azion_information: - type: string - - DC200: - type: object - properties: - schema_version: - type: integer - example: 3 - results: - $ref: "#/components/schemas/singleResult" - - DC200List: - type: object - properties: - count: - type: integer - example: 2 - total_pages: - type: integer - example: 1 - schema_version: - type: integer - example: 3 - links: - type: object - properties: - previous: - type: string - example: null - nullable: true - next: - type: string - example: null - nullable: true - - results: - $ref: "#/components/schemas/results" - DC201: - $ref: "#/components/schemas/DC200" - DC400: - type: object - properties: - errors: - type: array - items: - type: object - example: - message: Bad Request - error: bad_request - properties: {} - schema_version: - type: integer - example: 3 - DC401: - type: object - properties: - detail: - type: string - example: "Authentication credentials were not provided." - DC403: - type: object - properties: - errors: - type: array - items: - type: object - example: - message: Forbidden - error: forbidden - properties: {} - schema_version: - type: integer - example: 3 - DC404: - type: object - properties: - errors: - type: array - items: - type: object - example: - message: Digital certificate not found - error: not_found - properties: {} - schema_version: - type: integer - example: 3 - DC406: - type: object - properties: - errors: - type: array - items: - type: object - example: - message: Not acceptable - error: not_acceptable - properties: {} - schema_version: - type: integer - example: 3 - DC409: - type: object - properties: - errors: - type: array - items: - type: object - example: - message: Conflict - error: conflict - properties: {} - schema_version: - type: integer - example: 3 - securitySchemes: - tokenAuth: - type: apiKey - name: Authorization - in: header - description: | - You must inform a token to authenticate. - Usage format: `Token ` diff --git a/domains.yaml b/domains.yaml deleted file mode 100644 index a0edd1c..0000000 --- a/domains.yaml +++ /dev/null @@ -1,492 +0,0 @@ -openapi: 3.0.0 -info: - title: Domain API - version: 2.0.0 - license: - name: MIT - url: https://github.com/aziontech/azionapi-openapi/blob/main/LICENSE.md -servers: - - description: Production - url: https://api.azionapi.net -security: - - tokenAuth: [] -paths: - /domains: - get: - tags: - - Domains - summary: /domains - description: It returns the list of domains of an account. - operationId: getDomains - parameters: - - explode: true - in: query - name: page - required: false - schema: - format: int64 - type: integer - style: form - - explode: true - in: query - name: page_size - required: false - schema: - format: int64 - type: integer - style: form - - explode: true - in: query - name: sort - required: false - schema: - type: string - style: form - - explode: true - in: query - name: order_by - required: false - schema: - type: string - style: form - - name: Accept - in: header - schema: - type: string - example: application/json; version=3 - responses: - "200": - description: Successful response - content: - 'application/json; version=3': - schema: - $ref: "#/components/schemas/DomainResponseWithResults" - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - - post: - tags: - - Domains - summary: /domains - description: It enables you to include a new domain into an account. - requestBody: - content: - 'application/json; version=3': - schema: - $ref: "#/components/schemas/CreateDomainRequest" - operationId: createDomain - parameters: - - name: Accept - in: header - schema: - type: string - example: application/json; version=3 - - name: Content-Type - in: header - schema: - type: string - example: application/json - responses: - "200": - description: Successful response - content: - 'application/json; version=3': - schema: - $ref: "#/components/schemas/DomainResponseWithResult" - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "409": - description: Conflict - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - /domains/{id}: - get: - tags: - - Domains - summary: /domains/:id - description: It returns details of a domain. - operationId: getDomain - parameters: - - name: Accept - in: header - schema: - type: string - example: application/json; version=3 - - name: id - in: path - schema: - type: string - required: true - description: "The id of the domain to be consulted.\t" - responses: - "200": - description: Successful response - content: - 'application/json; version=3': - schema: - $ref: "#/components/schemas/DomainResponseWithResult" - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - delete: - tags: - - Domains - summary: /domains/:id - description: It enables you to delete a domain. - operationId: delDomain - parameters: - - name: Accept - in: header - schema: - type: string - example: application/json; version=3 - - name: id - in: path - schema: - type: string - required: true - description: "The id of the domain to be deleted.\t" - responses: - "204": - description: No Content - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - put: - tags: - - Domains - summary: /domains:/:id - description: >- - It overwrites all fields of a domain, while preserving the id. Optional - fields not filled in will be replaced by the default values. - - - To update only some fields in a domain, consider using the PATCH method - instead of PUT. - requestBody: - content: - 'application/json; version=3': - schema: - $ref: "#/components/schemas/PutDomainRequest" - operationId: putDomain - parameters: - - name: Accept - in: header - schema: - type: string - example: application/json; version=3 - - name: Content-Type - in: header - schema: - type: string - example: application/json - - name: id - in: path - schema: - type: string - required: true - responses: - "200": - description: Successful response - content: - 'application/json; version=3': - schema: - $ref: "#/components/schemas/DomainResponseWithResult" - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "405": - description: Method Not Allowed - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - patch: - tags: - - Domains - summary: /domains/:id - description: >- - It updates one or more fields in a Domain, preserving the value of the - fields not informed. - requestBody: - content: - 'application/json; version=3': - schema: - $ref: "#/components/schemas/UpdateDomainRequest" - operationId: updateDomain - parameters: - - name: Accept - in: header - schema: - type: string - example: application/json; version=3 - - name: Content-Type - in: header - schema: - type: string - example: application/json - - name: id - in: path - schema: - type: string - required: true - responses: - "200": - description: Successful response - content: - 'application/json; version=3': - schema: - $ref: "#/components/schemas/DomainResponseWithResult" - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "405": - description: Method Not Allowed - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error -components: - schemas: - DomainData: - type: object - properties: - name: - type: string - minLength: 1 - maxLength: 100 - pattern: "[a-zA-Z0-9$%^&*()-+=\\[\\]{};:?><,|/]+" - cnames: - type: array - items: - type: string - cname_access_only: - type: boolean - is_active: - type: boolean - edge_application_id: - format: int64 - type: integer - minimum: 1 - maximum: 10000000000000000000 - digital_certificate_id: - type: string - minLength: 1 - maxLength: 100 - pattern: "[a-zA-Z0-9$%^&*()-+=\\[\\]{};:?><,|/]+" - environment: - type: string - enum: - - production - - preview - is_mtls_enabled: - type: boolean - mtls_trusted_ca_certificate_id: - type: integer - format: int64 - nullable: true - edge_firewall_id: - type: integer - format: int64 - nullable: true - mtls_verification: - type: string - enum: - - enforce - - permissive - crl_list: - nullable: true - type: array - items: - type: integer - format: int64 - DomainDataResponse: - type: object - properties: - name: - type: string - minLength: 1 - maxLength: 100 - pattern: "[a-zA-Z0-9$%^&*()-+=\\[\\]{};:?><,|/]+" - cnames: - type: array - items: - type: string - cname_access_only: - type: boolean - is_active: - type: boolean - edge_application_id: - format: int64 - type: integer - minimum: 1 - maximum: 10000000000000000000 - digital_certificate_id: - format: int64 - type: integer - minimum: 1 - maximum: 10000000000000000000 - environment: - type: string - enum: - - production - - preview - is_mtls_enabled: - type: boolean - mtls_trusted_ca_certificate_id: - type: integer - format: int64 - nullable: true - edge_firewall_id: - type: integer - format: int64 - nullable: true - mtls_verification: - type: string - enum: - - enforce - - permissive - crl_list: - nullable: true - type: array - items: - type: integer - format: int64 - DomainEntity: - allOf: - - type: object - properties: - id: - type: integer - format: int64 - domain_name: - type: string - - $ref: "#/components/schemas/DomainData" - DomainEntityResponse: - allOf: - - type: object - properties: - id: - type: integer - format: int64 - domain_name: - type: string - - $ref: "#/components/schemas/DomainDataResponse" - CreateDomainRequest: - allOf: - - $ref: "#/components/schemas/DomainData" - additionalProperties: false - required: - - name - - edge_application_id - - cnames - UpdateDomainRequest: - allOf: - - $ref: "#/components/schemas/DomainData" - PutDomainRequest: - allOf: - - $ref: "#/components/schemas/DomainData" - additionalProperties: false - required: - - name - - edge_application_id - - cnames - DomainLinks: - additionalProperties: false - properties: - previous: - type: string - nullable: true - next: - type: string - nullable: true - required: - - previous - - next - type: object - DomainResponseWithResults: - additionalProperties: false - properties: - count: - format: int64 - type: integer - total_pages: - format: int64 - type: integer - schema_version: - format: int64 - type: integer - links: - $ref: "#/components/schemas/DomainLinks" - results: - items: - $ref: "#/components/schemas/DomainEntityResponse" - required: - - count - - total_pages - - schema_version - - links - - results - type: object - DomainResponseWithResult: - additionalProperties: false - properties: - count: - format: int64 - type: integer - links: - $ref: "#/components/schemas/DomainLinks" - results: - $ref: "#/components/schemas/DomainEntityResponse" - total_pages: - format: int64 - type: integer - schema_version: - format: int64 - type: integer - required: - - schema_version - - results - type: object - securitySchemes: - tokenAuth: - type: apiKey - name: Authorization - in: header - description: | - You must inform a token to auth. - Usage format: `Token ` diff --git a/edge.yml b/edge.yml deleted file mode 100644 index bb09981..0000000 --- a/edge.yml +++ /dev/null @@ -1,1609 +0,0 @@ -openapi: 3.0.3 -info: - title: edge-api - version: 1.0.0 - description: REST API OpenAPI documentation for the edge-api -paths: - /v4/edge/applications/{edgeApplicationId}/error_responses: - get: - operationId: applicationsErrorResponsesList - description: '' - parameters: - - in: path - name: edgeApplicationId - schema: - type: string - required: true - - name: page - 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 - tags: - - applications - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PaginatedErrorResponsesList' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - /v4/edge/applications/{edgeApplicationId}/error_responses/{id}: - get: - operationId: applicationsErrorResponsesRetrieve - description: '' - parameters: - - in: path - name: edgeApplicationId - schema: - type: string - required: true - - in: path - name: id - schema: - type: string - required: true - tags: - - applications - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseErrorResponses' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - put: - operationId: applicationsErrorResponsesUpdate - description: '' - parameters: - - in: path - name: edgeApplicationId - schema: - type: string - required: true - - in: path - name: id - schema: - type: string - required: true - tags: - - applications - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorResponsesRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/ErrorResponsesRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/ErrorResponsesRequest' - required: true - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseErrorResponses' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseErrorResponses' - description: '' - patch: - operationId: applicationsErrorResponsesPartialUpdate - description: '' - parameters: - - in: path - name: edgeApplicationId - schema: - type: string - required: true - - in: path - name: id - schema: - type: string - required: true - tags: - - applications - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatchedErrorResponsesRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedErrorResponsesRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedErrorResponsesRequest' - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseErrorResponses' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseErrorResponses' - description: '' - /v4/edge/certificates/revocations: - get: - operationId: certificatesRevocationsList - description: '' - parameters: - - name: page - 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 - tags: - - certificates - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PaginatedCertificateRevocationListList' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - post: - operationId: certificatesRevocationsCreate - description: '' - tags: - - certificates - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CertificateRevocationListRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CertificateRevocationListRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/CertificateRevocationListRequest' - required: true - security: - - tokenAuth: [] - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseCertificateRevocationList' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseCertificateRevocationList' - description: '' - /v4/edge/certificates/revocations/{id}: - get: - operationId: certificatesRevocationsRetrieve - description: '' - parameters: - - in: path - name: id - schema: - type: string - required: true - tags: - - certificates - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseCertificateRevocationList' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - put: - operationId: certificatesRevocationsUpdate - description: '' - parameters: - - in: path - name: id - schema: - type: string - required: true - tags: - - certificates - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CertificateRevocationListRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CertificateRevocationListRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/CertificateRevocationListRequest' - required: true - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseCertificateRevocationList' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseCertificateRevocationList' - description: '' - patch: - operationId: certificatesRevocationsPartialUpdate - description: '' - parameters: - - in: path - name: id - schema: - type: string - required: true - tags: - - certificates - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatchedCertificateRevocationListRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedCertificateRevocationListRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedCertificateRevocationListRequest' - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseCertificateRevocationList' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseCertificateRevocationList' - description: '' - delete: - operationId: certificatesRevocationsDestroy - description: '' - parameters: - - in: path - name: id - schema: - type: string - required: true - tags: - - certificates - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseDeleteCertificateRevocationList' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseCertificateRevocationList' - description: '' - /v4/edge/purge/{purgeType}: - post: - operationId: purgeCreate - description: Viewset for the URL purge API. - parameters: - - in: path - name: purgeType - schema: - type: string - enum: - - cachekey - - url - - wildcard - description: 'type of purge: URL, Wildcard or Cachekey' - required: true - tags: - - purge - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PurgeInputRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PurgeInputRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/PurgeInputRequest' - required: true - security: - - tokenAuth: [] - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponsePurgeInput' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponsePurgeInput' - description: '' - /v4/edge/waf/{wafId}/allowed_rules: - get: - operationId: wafAllowedRulesList - description: '' - parameters: - - name: page - 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 - - in: path - name: wafId - schema: - type: string - required: true - tags: - - waf - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PaginatedWAFRuleList' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - post: - operationId: wafAllowedRulesCreate - description: '' - parameters: - - in: path - name: wafId - schema: - type: string - required: true - tags: - - waf - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/WAFRuleRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/WAFRuleRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/WAFRuleRequest' - required: true - security: - - tokenAuth: [] - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseWAFRule' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseWAFRule' - description: '' - /v4/edge/waf/{wafId}/allowed_rules/{id}: - get: - operationId: wafAllowedRulesRetrieve - description: '' - parameters: - - in: path - name: id - schema: - type: string - required: true - - in: path - name: wafId - schema: - type: string - required: true - tags: - - waf - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseWAFRule' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - put: - operationId: wafAllowedRulesUpdate - description: '' - parameters: - - in: path - name: id - schema: - type: string - required: true - - in: path - name: wafId - schema: - type: string - required: true - tags: - - waf - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/WAFRuleRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/WAFRuleRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/WAFRuleRequest' - required: true - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseWAFRule' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseWAFRule' - description: '' - patch: - operationId: wafAllowedRulesPartialUpdate - description: '' - parameters: - - in: path - name: id - schema: - type: string - required: true - - in: path - name: wafId - schema: - type: string - required: true - tags: - - waf - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatchedWAFRuleRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedWAFRuleRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedWAFRuleRequest' - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseWAFRule' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseWAFRule' - description: '' - delete: - operationId: wafAllowedRulesDestroy - description: '' - parameters: - - in: path - name: id - schema: - type: string - required: true - - in: path - name: wafId - schema: - type: string - required: true - tags: - - waf - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseDeleteWAFRule' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseWAFRule' - description: '' -components: - schemas: - BlankEnum: - enum: - - '' - additionalProperties: false - CertificateRevocationList: - type: object - properties: - id: - type: integer - readOnly: true - name: - type: string - pattern: .* - maxLength: 250 - minLength: 1 - issuer: - type: string - readOnly: true - minLength: 1 - last_update: - type: string - format: date-time - readOnly: true - next_update: - type: string - format: date-time - readOnly: true - revoked_certificates: - type: object - additionalProperties: {} - readOnly: true - raw_crl: - type: string - pattern: .* - maxLength: 30720000 - minLength: 1 - required: - - id - - issuer - - last_update - - name - - next_update - - raw_crl - - revoked_certificates - additionalProperties: false - CertificateRevocationListRequest: - type: object - properties: - name: - type: string - pattern: .* - maxLength: 250 - minLength: 1 - raw_crl: - type: string - pattern: .* - maxLength: 30720000 - minLength: 1 - required: - - name - - raw_crl - additionalProperties: false - CodeEnum: - enum: - - 400 - - 401 - - 403 - - 404 - - 405 - - 406 - - 408 - - 409 - - 410 - - 411 - - 414 - - 415 - - 416 - - 426 - - 429 - - 431 - - 500 - - 501 - - 502 - - 503 - - 504 - - 505 - - any - additionalProperties: false - ErrorResponses: - type: object - properties: - id: - type: integer - readOnly: true - name: - type: string - readOnly: true - edge_application_id: - type: integer - readOnly: true - origin_id: - type: integer - nullable: true - error_responses: - type: array - items: - $ref: '#/components/schemas/NestedErrorResponse' - required: - - edge_application_id - - error_responses - - id - - name - additionalProperties: false - ErrorResponsesRequest: - type: object - properties: - origin_id: - type: integer - nullable: true - error_responses: - type: array - items: - $ref: '#/components/schemas/NestedErrorResponseRequest' - required: - - error_responses - additionalProperties: false - LayerEnum: - enum: - - edge_caching - - l2_caching - type: string - additionalProperties: false - MatchZone: - type: object - properties: - zone: - allOf: - - $ref: '#/components/schemas/ZoneEnum' - title: Match Zone - zone_input: - type: string - nullable: true - pattern: '[a-zA-Z0-9<>?()]+' - maxLength: 255 - minLength: 0 - matches_on: - nullable: true - oneOf: - - $ref: '#/components/schemas/MatchesOnEnum' - - $ref: '#/components/schemas/BlankEnum' - - $ref: '#/components/schemas/NullEnum' - required: - - zone - additionalProperties: false - MatchZoneRequest: - type: object - properties: - zone: - allOf: - - $ref: '#/components/schemas/ZoneEnum' - title: Match Zone - zone_input: - type: string - nullable: true - pattern: '[a-zA-Z0-9<>?()]+' - maxLength: 255 - minLength: 0 - matches_on: - nullable: true - oneOf: - - $ref: '#/components/schemas/MatchesOnEnum' - - $ref: '#/components/schemas/BlankEnum' - - $ref: '#/components/schemas/NullEnum' - required: - - zone - additionalProperties: false - MatchesOnEnum: - enum: - - value - - name - type: string - additionalProperties: false - NestedErrorResponse: - type: object - properties: - code: - $ref: '#/components/schemas/CodeEnum' - timeout: - type: integer - maximum: 31536000 - minimum: 0 - uri: - type: string - nullable: true - pattern: ^\/[\/a-zA-Z0-9\-_\.\~@:]*$ - maxLength: 250 - minLength: 1 - custom_status_code: - type: string - nullable: true - pattern: ^[1-5]\d{2}$ - maxLength: 3 - minLength: 1 - required: - - code - - timeout - additionalProperties: false - NestedErrorResponseRequest: - type: object - properties: - code: - $ref: '#/components/schemas/CodeEnum' - timeout: - type: integer - maximum: 31536000 - minimum: 0 - uri: - type: string - nullable: true - pattern: ^\/[\/a-zA-Z0-9\-_\.\~@:]*$ - maxLength: 250 - minLength: 1 - custom_status_code: - type: string - nullable: true - pattern: ^[1-5]\d{2}$ - maxLength: 3 - minLength: 1 - required: - - code - - timeout - additionalProperties: false - NullEnum: - enum: - - null - additionalProperties: false - PaginatedCertificateRevocationListList: - type: object - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/CertificateRevocationList' - additionalProperties: false - PaginatedErrorResponsesList: - type: object - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/ErrorResponses' - additionalProperties: false - PaginatedWAFRuleList: - type: object - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/WAFRule' - additionalProperties: false - PatchedCertificateRevocationListRequest: - type: object - properties: - name: - type: string - pattern: .* - maxLength: 250 - minLength: 1 - raw_crl: - type: string - pattern: .* - maxLength: 30720000 - minLength: 1 - additionalProperties: false - PatchedErrorResponsesRequest: - type: object - properties: - origin_id: - type: integer - nullable: true - error_responses: - type: array - items: - $ref: '#/components/schemas/NestedErrorResponseRequest' - additionalProperties: false - PatchedWAFRuleRequest: - type: object - properties: - rule_id: - allOf: - - $ref: '#/components/schemas/RuleIdEnum' - default: 0 - description: |- - 1 - Validation of protocol compliance: weird request, unable to parse
- 2 - Request too big, stored on disk and not parsed
- 10 - Validation of protocol compliance: invalid HEX encoding (null bytes)
- 11 - Validation of protocol compliance: missing or unknown Content-Type header in a POST (this rule applies only to Request Body match zone)
- 12 - Validation of protocol compliance: invalid formatted URL
- 13 - Validation of protocol compliance: invalid POST format
- 14 - Validation of protocol compliance: invalid POST boundary
- 15 - Validation of protocol compliance: invalid JSON
- 16 - Validation of protocol compliance: POST with no body
- 17 - Possible SQL Injection attack: validation with libinjection_sql
- 18 - Possible XSS attack: validation with libinjection_xss
- 1000 - Possible SQL Injection attack: SQL keywords found in Body, Path, Query String or Cookies
- 1001 - Possible SQL Injection or XSS attack: double quote (") found in Body, Path, Query String or Cookies
- 1002 - Possible SQL Injection attack: possible hex encoding (0x) found in Body, Path, Query String or Cookies
- 1003 - Possible SQL Injection attack: MySQL comment (/*) found in Body, Path, Query String or Cookies
- 1004 - Possible SQL Injection attack: MySQL comment (*/) found in Body, Path, Query String or Cookies
- 1005 - Possible SQL Injection attack: MySQL keyword (|) found in Body, Path, Query String or Cookies
- 1006 - Possible SQL Injection attack: MySQL keyword (&&) found in Body, Path, Query String or Cookies
- 1007 - Possible SQL Injection attack: MySQL comment (--) found in Body, Path, Query String or Cookies
- 1008 - Possible SQL Injection or XSS attack: semicolon (;) found in Body, Path or Query String
- 1009 - Possible SQL Injection attack: equal sign (=) found in Body or Query String
- 1010 - Possible SQL Injection or XSS attack: open parenthesis [(] found in Body, Path, Query String or Cookies
- 1011 - Possible SQL Injection or XSS attack: close parenthesis [)] found in Body, Path, Query String or Cookies
- 1013 - Possible SQL Injection or XSS attack: apostrophe (') found in Body, Path, Query String or Cookies
- 1015 - Possible SQL Injection attack: comma (,) found in Body, Path, Query String or Cookies
- 1016 - Possible SQL Injection attack: MySQL comment (#) found in Body, Path, Query String or Cookies
- 1017 - Possible SQL Injection attack: double at sign (@@) found in Body, Path, Query String or Cookies
- 1100 - Possible RFI attack: scheme "http://" found in Body, Query String or Cookies
- 1101 - Possible RFI attack: scheme "https://" found in Body, Query String or Cookies
- 1102 - Possible RFI attack: scheme "ftp://" found in Body, Query String or Cookies
- 1103 - Possible RFI attack: scheme "php://" found in Body, Query String or Cookies
- 1104 - Possible RFI attack: scheme "sftp://" found in Body, Query String or Cookies
- 1105 - Possible RFI attack: scheme "zlib://" found in Body, Query String or Cookies
- 1106 - Possible RFI attack: scheme "data://" found in Body, Query String or Cookies
- 1107 - Possible RFI attack: scheme "glob://" found in Body, Query String or Cookies
- 1108 - Possible RFI attack: scheme "phar://" found in Body, Query String or Cookies
- 1109 - Possible RFI attack: scheme "file://" found in Body, Query String or Cookies
- 1110 - Possible RFI attack: scheme "gopher://" found in Body, Query String or Cookies
- 1200 - Possible Directory Traversal attack: double dot (..) found in Body, Path, Query String or Cookies
- 1202 - Possible Directory Traversal attack: obvious probe (/etc/passwd) found in Body, Path, Query String or Cookies
- 1203 - Possible Directory Traversal attack: obvious windows path (c:\) found in Body, Path, Query String or Cookies
- 1204 - Possible Directory Traversal attack: obvious probe (cmd.exe) found in Body, Path, Query String or Cookies
- 1205 - Possible Directory Traversal attack: backslash (\) found in Body, Path, Query String or Cookies
- 1206 - Possible Directory Traversal attack: slash (/) found in Body, Query String or Cookies
- 1302 - Possible XSS attack: html open tag (<) found in Body, Path, Query String or Cookies
- 1303 - Possible XSS attack: html close tag (>) found in Body, Path, Query String or Cookies
- 1310 - Possible XSS attack: open square bracket ([) found in Body, Path, Query String or Cookies
- 1311 - Possible XSS attack: close square bracket (]) found in Body, Path, Query String or Cookies
- 1312 - Possible XSS attack: tilde character (~) found in Body, Path, Query String or Cookies
- 1314 - Possible XSS attack: back quote ( `) found in Body, Path, Query String or Cookies
- 1315 - Possible XSS attack: double encoding (%[2|3]) found in Body, Path, Query String or Cookies
- 1400 - Possible trick to evade protection: UTF7/8 encoding (&#) found in Body, Path, Query String or Cookies
- 1401 - Possible trick to evade protection: MS encoding (%U) found in Body, Path, Query String or Cookies
- 1500 - Possible File Upload attempt: asp/php (.ph, .asp or .ht) found in filename in a multipart POST containing a file
- 0 - All Rules
- 1199 - Possible RCE attack: validation with log4j (Log4Shell) in Body, Path, Query String, Headers or Cookies
- 1198 - Possible RCE attack: validation with log4j (Log4Shell) in HEADERS_VAR
- 2001 - Possible CVE-2022-22965 attack: Tomcat Pipeline Context tampering
- 1208 - Possible Directory Traversal attack: obvious path probe (/.;/) found in Body, Query String or Cookies
- 1209 - Possible Directory Traversal attack: obvious path probe (/.%2e/) found in Body, Query String or Cookies
- 1210 - Possible Directory Traversal attack: obvious path probe (/%2e./) found in Body, Query String or Cookies
- 1402 - Possible trick to evade protection: encoded chars (%20-%3F) found in Body, Query String or Cookies
- 1207 - Possible Directory Traversal attack: obvious path probe (/..;/) found in Body, Query String or Cookies - reason: - type: string - pattern: ^[a-zA-Z0-9_ ]+$ - maxLength: 255 - minLength: 0 - path: - type: string - nullable: true - pattern: .* - maxLength: 255 - minLength: 0 - match_zones: - type: array - items: - $ref: '#/components/schemas/MatchZoneRequest' - use_regex: - type: boolean - default: false - status: - type: boolean - default: true - additionalProperties: false - PurgeInput: - type: object - description: Serialize the incoming purge request. - properties: - items: - type: array - items: - type: string - layer: - allOf: - - $ref: '#/components/schemas/LayerEnum' - default: edge_caching - required: - - items - additionalProperties: false - PurgeInputRequest: - type: object - description: Serialize the incoming purge request. - properties: - items: - type: array - items: - type: string - layer: - allOf: - - $ref: '#/components/schemas/LayerEnum' - default: edge_caching - required: - - items - additionalProperties: false - ResponseCertificateRevocationList: - type: object - properties: - state: - $ref: '#/components/schemas/StateEnum' - data: - $ref: '#/components/schemas/CertificateRevocationList' - required: - - data - - state - additionalProperties: false - ResponseDeleteCertificateRevocationList: - type: object - properties: - state: - $ref: '#/components/schemas/StateEnum' - data: - allOf: - - $ref: '#/components/schemas/CertificateRevocationList' - nullable: true - required: - - data - - state - additionalProperties: false - ResponseDeleteWAFRule: - type: object - properties: - state: - $ref: '#/components/schemas/StateEnum' - data: - allOf: - - $ref: '#/components/schemas/WAFRule' - nullable: true - required: - - data - - state - additionalProperties: false - ResponseErrorResponses: - type: object - properties: - state: - $ref: '#/components/schemas/StateEnum' - data: - $ref: '#/components/schemas/ErrorResponses' - required: - - data - - state - additionalProperties: false - ResponsePurgeInput: - type: object - properties: - state: - $ref: '#/components/schemas/StateEnum' - data: - $ref: '#/components/schemas/PurgeInput' - required: - - data - - state - additionalProperties: false - ResponseWAFRule: - type: object - properties: - state: - $ref: '#/components/schemas/StateEnum' - data: - $ref: '#/components/schemas/WAFRule' - required: - - data - - state - additionalProperties: false - RuleIdEnum: - enum: - - 1 - - 2 - - 10 - - 11 - - 12 - - 13 - - 14 - - 15 - - 16 - - 17 - - 18 - - 1000 - - 1001 - - 1002 - - 1003 - - 1004 - - 1005 - - 1006 - - 1007 - - 1008 - - 1009 - - 1010 - - 1011 - - 1013 - - 1015 - - 1016 - - 1017 - - 1100 - - 1101 - - 1102 - - 1103 - - 1104 - - 1105 - - 1106 - - 1107 - - 1108 - - 1109 - - 1110 - - 1200 - - 1202 - - 1203 - - 1204 - - 1205 - - 1206 - - 1302 - - 1303 - - 1310 - - 1311 - - 1312 - - 1314 - - 1315 - - 1400 - - 1401 - - 1500 - - 0 - - 1199 - - 1198 - - 2001 - - 1208 - - 1209 - - 1210 - - 1402 - - 1207 - type: integer - additionalProperties: false - StateEnum: - enum: - - pending - - executed - type: string - additionalProperties: false - WAFRule: - type: object - properties: - id: - type: integer - readOnly: true - rule_id: - allOf: - - $ref: '#/components/schemas/RuleIdEnum' - default: 0 - description: |- - 1 - Validation of protocol compliance: weird request, unable to parse
- 2 - Request too big, stored on disk and not parsed
- 10 - Validation of protocol compliance: invalid HEX encoding (null bytes)
- 11 - Validation of protocol compliance: missing or unknown Content-Type header in a POST (this rule applies only to Request Body match zone)
- 12 - Validation of protocol compliance: invalid formatted URL
- 13 - Validation of protocol compliance: invalid POST format
- 14 - Validation of protocol compliance: invalid POST boundary
- 15 - Validation of protocol compliance: invalid JSON
- 16 - Validation of protocol compliance: POST with no body
- 17 - Possible SQL Injection attack: validation with libinjection_sql
- 18 - Possible XSS attack: validation with libinjection_xss
- 1000 - Possible SQL Injection attack: SQL keywords found in Body, Path, Query String or Cookies
- 1001 - Possible SQL Injection or XSS attack: double quote (") found in Body, Path, Query String or Cookies
- 1002 - Possible SQL Injection attack: possible hex encoding (0x) found in Body, Path, Query String or Cookies
- 1003 - Possible SQL Injection attack: MySQL comment (/*) found in Body, Path, Query String or Cookies
- 1004 - Possible SQL Injection attack: MySQL comment (*/) found in Body, Path, Query String or Cookies
- 1005 - Possible SQL Injection attack: MySQL keyword (|) found in Body, Path, Query String or Cookies
- 1006 - Possible SQL Injection attack: MySQL keyword (&&) found in Body, Path, Query String or Cookies
- 1007 - Possible SQL Injection attack: MySQL comment (--) found in Body, Path, Query String or Cookies
- 1008 - Possible SQL Injection or XSS attack: semicolon (;) found in Body, Path or Query String
- 1009 - Possible SQL Injection attack: equal sign (=) found in Body or Query String
- 1010 - Possible SQL Injection or XSS attack: open parenthesis [(] found in Body, Path, Query String or Cookies
- 1011 - Possible SQL Injection or XSS attack: close parenthesis [)] found in Body, Path, Query String or Cookies
- 1013 - Possible SQL Injection or XSS attack: apostrophe (') found in Body, Path, Query String or Cookies
- 1015 - Possible SQL Injection attack: comma (,) found in Body, Path, Query String or Cookies
- 1016 - Possible SQL Injection attack: MySQL comment (#) found in Body, Path, Query String or Cookies
- 1017 - Possible SQL Injection attack: double at sign (@@) found in Body, Path, Query String or Cookies
- 1100 - Possible RFI attack: scheme "http://" found in Body, Query String or Cookies
- 1101 - Possible RFI attack: scheme "https://" found in Body, Query String or Cookies
- 1102 - Possible RFI attack: scheme "ftp://" found in Body, Query String or Cookies
- 1103 - Possible RFI attack: scheme "php://" found in Body, Query String or Cookies
- 1104 - Possible RFI attack: scheme "sftp://" found in Body, Query String or Cookies
- 1105 - Possible RFI attack: scheme "zlib://" found in Body, Query String or Cookies
- 1106 - Possible RFI attack: scheme "data://" found in Body, Query String or Cookies
- 1107 - Possible RFI attack: scheme "glob://" found in Body, Query String or Cookies
- 1108 - Possible RFI attack: scheme "phar://" found in Body, Query String or Cookies
- 1109 - Possible RFI attack: scheme "file://" found in Body, Query String or Cookies
- 1110 - Possible RFI attack: scheme "gopher://" found in Body, Query String or Cookies
- 1200 - Possible Directory Traversal attack: double dot (..) found in Body, Path, Query String or Cookies
- 1202 - Possible Directory Traversal attack: obvious probe (/etc/passwd) found in Body, Path, Query String or Cookies
- 1203 - Possible Directory Traversal attack: obvious windows path (c:\) found in Body, Path, Query String or Cookies
- 1204 - Possible Directory Traversal attack: obvious probe (cmd.exe) found in Body, Path, Query String or Cookies
- 1205 - Possible Directory Traversal attack: backslash (\) found in Body, Path, Query String or Cookies
- 1206 - Possible Directory Traversal attack: slash (/) found in Body, Query String or Cookies
- 1302 - Possible XSS attack: html open tag (<) found in Body, Path, Query String or Cookies
- 1303 - Possible XSS attack: html close tag (>) found in Body, Path, Query String or Cookies
- 1310 - Possible XSS attack: open square bracket ([) found in Body, Path, Query String or Cookies
- 1311 - Possible XSS attack: close square bracket (]) found in Body, Path, Query String or Cookies
- 1312 - Possible XSS attack: tilde character (~) found in Body, Path, Query String or Cookies
- 1314 - Possible XSS attack: back quote ( `) found in Body, Path, Query String or Cookies
- 1315 - Possible XSS attack: double encoding (%[2|3]) found in Body, Path, Query String or Cookies
- 1400 - Possible trick to evade protection: UTF7/8 encoding (&#) found in Body, Path, Query String or Cookies
- 1401 - Possible trick to evade protection: MS encoding (%U) found in Body, Path, Query String or Cookies
- 1500 - Possible File Upload attempt: asp/php (.ph, .asp or .ht) found in filename in a multipart POST containing a file
- 0 - All Rules
- 1199 - Possible RCE attack: validation with log4j (Log4Shell) in Body, Path, Query String, Headers or Cookies
- 1198 - Possible RCE attack: validation with log4j (Log4Shell) in HEADERS_VAR
- 2001 - Possible CVE-2022-22965 attack: Tomcat Pipeline Context tampering
- 1208 - Possible Directory Traversal attack: obvious path probe (/.;/) found in Body, Query String or Cookies
- 1209 - Possible Directory Traversal attack: obvious path probe (/.%2e/) found in Body, Query String or Cookies
- 1210 - Possible Directory Traversal attack: obvious path probe (/%2e./) found in Body, Query String or Cookies
- 1402 - Possible trick to evade protection: encoded chars (%20-%3F) found in Body, Query String or Cookies
- 1207 - Possible Directory Traversal attack: obvious path probe (/..;/) found in Body, Query String or Cookies - reason: - type: string - pattern: ^[a-zA-Z0-9_ ]+$ - maxLength: 255 - minLength: 0 - path: - type: string - nullable: true - pattern: .* - maxLength: 255 - minLength: 0 - match_zones: - type: array - items: - $ref: '#/components/schemas/MatchZone' - use_regex: - type: boolean - default: false - status: - type: boolean - default: true - last_editor: - type: string - readOnly: true - last_modified: - type: string - format: date-time - readOnly: true - required: - - id - - last_editor - - last_modified - - match_zones - - reason - additionalProperties: false - WAFRuleRequest: - type: object - properties: - rule_id: - allOf: - - $ref: '#/components/schemas/RuleIdEnum' - default: 0 - description: |- - 1 - Validation of protocol compliance: weird request, unable to parse
- 2 - Request too big, stored on disk and not parsed
- 10 - Validation of protocol compliance: invalid HEX encoding (null bytes)
- 11 - Validation of protocol compliance: missing or unknown Content-Type header in a POST (this rule applies only to Request Body match zone)
- 12 - Validation of protocol compliance: invalid formatted URL
- 13 - Validation of protocol compliance: invalid POST format
- 14 - Validation of protocol compliance: invalid POST boundary
- 15 - Validation of protocol compliance: invalid JSON
- 16 - Validation of protocol compliance: POST with no body
- 17 - Possible SQL Injection attack: validation with libinjection_sql
- 18 - Possible XSS attack: validation with libinjection_xss
- 1000 - Possible SQL Injection attack: SQL keywords found in Body, Path, Query String or Cookies
- 1001 - Possible SQL Injection or XSS attack: double quote (") found in Body, Path, Query String or Cookies
- 1002 - Possible SQL Injection attack: possible hex encoding (0x) found in Body, Path, Query String or Cookies
- 1003 - Possible SQL Injection attack: MySQL comment (/*) found in Body, Path, Query String or Cookies
- 1004 - Possible SQL Injection attack: MySQL comment (*/) found in Body, Path, Query String or Cookies
- 1005 - Possible SQL Injection attack: MySQL keyword (|) found in Body, Path, Query String or Cookies
- 1006 - Possible SQL Injection attack: MySQL keyword (&&) found in Body, Path, Query String or Cookies
- 1007 - Possible SQL Injection attack: MySQL comment (--) found in Body, Path, Query String or Cookies
- 1008 - Possible SQL Injection or XSS attack: semicolon (;) found in Body, Path or Query String
- 1009 - Possible SQL Injection attack: equal sign (=) found in Body or Query String
- 1010 - Possible SQL Injection or XSS attack: open parenthesis [(] found in Body, Path, Query String or Cookies
- 1011 - Possible SQL Injection or XSS attack: close parenthesis [)] found in Body, Path, Query String or Cookies
- 1013 - Possible SQL Injection or XSS attack: apostrophe (') found in Body, Path, Query String or Cookies
- 1015 - Possible SQL Injection attack: comma (,) found in Body, Path, Query String or Cookies
- 1016 - Possible SQL Injection attack: MySQL comment (#) found in Body, Path, Query String or Cookies
- 1017 - Possible SQL Injection attack: double at sign (@@) found in Body, Path, Query String or Cookies
- 1100 - Possible RFI attack: scheme "http://" found in Body, Query String or Cookies
- 1101 - Possible RFI attack: scheme "https://" found in Body, Query String or Cookies
- 1102 - Possible RFI attack: scheme "ftp://" found in Body, Query String or Cookies
- 1103 - Possible RFI attack: scheme "php://" found in Body, Query String or Cookies
- 1104 - Possible RFI attack: scheme "sftp://" found in Body, Query String or Cookies
- 1105 - Possible RFI attack: scheme "zlib://" found in Body, Query String or Cookies
- 1106 - Possible RFI attack: scheme "data://" found in Body, Query String or Cookies
- 1107 - Possible RFI attack: scheme "glob://" found in Body, Query String or Cookies
- 1108 - Possible RFI attack: scheme "phar://" found in Body, Query String or Cookies
- 1109 - Possible RFI attack: scheme "file://" found in Body, Query String or Cookies
- 1110 - Possible RFI attack: scheme "gopher://" found in Body, Query String or Cookies
- 1200 - Possible Directory Traversal attack: double dot (..) found in Body, Path, Query String or Cookies
- 1202 - Possible Directory Traversal attack: obvious probe (/etc/passwd) found in Body, Path, Query String or Cookies
- 1203 - Possible Directory Traversal attack: obvious windows path (c:\) found in Body, Path, Query String or Cookies
- 1204 - Possible Directory Traversal attack: obvious probe (cmd.exe) found in Body, Path, Query String or Cookies
- 1205 - Possible Directory Traversal attack: backslash (\) found in Body, Path, Query String or Cookies
- 1206 - Possible Directory Traversal attack: slash (/) found in Body, Query String or Cookies
- 1302 - Possible XSS attack: html open tag (<) found in Body, Path, Query String or Cookies
- 1303 - Possible XSS attack: html close tag (>) found in Body, Path, Query String or Cookies
- 1310 - Possible XSS attack: open square bracket ([) found in Body, Path, Query String or Cookies
- 1311 - Possible XSS attack: close square bracket (]) found in Body, Path, Query String or Cookies
- 1312 - Possible XSS attack: tilde character (~) found in Body, Path, Query String or Cookies
- 1314 - Possible XSS attack: back quote ( `) found in Body, Path, Query String or Cookies
- 1315 - Possible XSS attack: double encoding (%[2|3]) found in Body, Path, Query String or Cookies
- 1400 - Possible trick to evade protection: UTF7/8 encoding (&#) found in Body, Path, Query String or Cookies
- 1401 - Possible trick to evade protection: MS encoding (%U) found in Body, Path, Query String or Cookies
- 1500 - Possible File Upload attempt: asp/php (.ph, .asp or .ht) found in filename in a multipart POST containing a file
- 0 - All Rules
- 1199 - Possible RCE attack: validation with log4j (Log4Shell) in Body, Path, Query String, Headers or Cookies
- 1198 - Possible RCE attack: validation with log4j (Log4Shell) in HEADERS_VAR
- 2001 - Possible CVE-2022-22965 attack: Tomcat Pipeline Context tampering
- 1208 - Possible Directory Traversal attack: obvious path probe (/.;/) found in Body, Query String or Cookies
- 1209 - Possible Directory Traversal attack: obvious path probe (/.%2e/) found in Body, Query String or Cookies
- 1210 - Possible Directory Traversal attack: obvious path probe (/%2e./) found in Body, Query String or Cookies
- 1402 - Possible trick to evade protection: encoded chars (%20-%3F) found in Body, Query String or Cookies
- 1207 - Possible Directory Traversal attack: obvious path probe (/..;/) found in Body, Query String or Cookies - reason: - type: string - pattern: ^[a-zA-Z0-9_ ]+$ - maxLength: 255 - minLength: 0 - path: - type: string - nullable: true - pattern: .* - maxLength: 255 - minLength: 0 - match_zones: - type: array - items: - $ref: '#/components/schemas/MatchZoneRequest' - use_regex: - type: boolean - default: false - status: - type: boolean - default: true - required: - - match_zones - - reason - additionalProperties: false - ZoneEnum: - enum: - - conditional_query_string - - conditional_request_body - - conditional_request_header - - file_name - - path - - query_string - - raw_body - - request_body - - request_header - type: string - additionalProperties: false - securitySchemes: - tokenAuth: - type: apiKey - in: header - name: Authorization - description: Token-based authentication with required prefix "Token" diff --git a/edgeapplications.yaml b/edgeapplications.yaml deleted file mode 100644 index 0659454..0000000 --- a/edgeapplications.yaml +++ /dev/null @@ -1,4770 +0,0 @@ -openapi: 3.0.0 -info: - title: Edge Application API - version: 2.0.0 - license: - name: MIT - url: https://github.com/aziontech/azionapi-openapi/blob/main/LICENSE.md -servers: -- description: Production - url: https://api.azionapi.net -security: -- tokenAuth: [] -paths: - /edge_applications: - get: - parameters: - - explode: true - in: query - name: page - required: false - schema: - format: int64 - type: integer - style: form - - explode: true - in: query - name: page_size - required: false - schema: - format: int64 - type: integer - style: form - - explode: true - in: query - name: filter - required: false - schema: - type: string - style: form - - explode: true - in: query - name: order_by - required: false - schema: - type: string - style: form - - explode: true - in: query - name: sort - required: false - schema: - type: string - style: form - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/GetApplicationsResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: /edge_applications - tags: - - Edge Applications > Main Settings - post: - parameters: - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - description: |- - The type of coding used in the Body (application/json). -
- - Example: - Content-Type: application/json - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/CreateApplicationRequest' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/CreateApplicationResult' - description: Successful response - "201": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/CreateApplicationResult' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "415": - description: Unsupported Media Type - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: /edge_applications - tags: - - Edge Applications > Main Settings - /edge_applications/{id}: - delete: - parameters: - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - description: The id of the edge application that you plan to delete. - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - responses: - "204": - description: No response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: /edge_applications/:id - tags: - - Edge Applications > Main Settings - get: - parameters: - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/GetApplicationResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: /edge_applications/:id - tags: - - Edge Applications > Main Settings - patch: - parameters: - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - description: |- - The type of coding used in the Body (application/json). -
- - Example: - Content-Type: application/json - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ApplicationUpdateRequest' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ApplicationUpdateResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "405": - description: Method Not Allowed - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: /edge_applications/:id - tags: - - Edge Applications > Main Settings - put: - parameters: - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - description: |- - The type of coding used in the Body (application/json). -
- - Example: - Content-Type: application/json - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - - description: "The Id of the edge application to be overwritten.\t" - explode: false - in: path - name: id - required: true - schema: - type: string - style: simple - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ApplicationPutRequest' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ApplicationPutResult' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "405": - description: Method Not Allowed - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: /edge_applications/:id - tags: - - Edge Applications > Main Settings - /edge_applications/{edge_application_id}/cache_settings: - get: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: true - in: query - name: page - required: false - schema: - format: int64 - type: integer - style: form - - explode: true - in: query - name: page_size - required: false - schema: - format: int64 - type: integer - style: form - - explode: true - in: query - name: filter - required: false - schema: - type: string - style: form - - explode: true - in: query - name: order_by - required: false - schema: - type: string - style: form - - explode: true - in: query - name: sort - required: false - schema: - type: string - style: form - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ApplicationCacheGetResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: "/edge_applications/{edge_application_id}/cache_settings" - tags: - - Edge Applications > Cache Settings - post: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - description: |- - The type of coding used in the Body (application/json). -
- - Example: - Content-Type: application/json - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ApplicationCacheCreateRequest' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ApplicationCacheCreateResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: /edge_applications/:edge_application_id:/cache_settings - tags: - - Edge Applications > Cache Settings - /edge_applications/{edge_application_id}/cache_settings/{cache_settings_id}: - get: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: cache_settings_id - required: true - schema: - format: int64 - type: integer - style: simple - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ApplicationCacheGetOneResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: '/edge_applications/:edge_application_id:/cache_settings/:cache_settings_id:' - tags: - - Edge Applications > Cache Settings - put: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: cache_settings_id - required: true - schema: - format: int64 - type: integer - style: simple - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - description: |- - The type of coding used in the Body (application/json). -
- - Example: - Content-Type: application/json - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ApplicationCachePutRequest' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ApplicationCachePutResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: /edge_applications/:edge_application_id:/cache_settings/ca - tags: - - Edge Applications > Cache Settings - delete: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: cache_settings_id - required: true - schema: - format: int64 - type: integer - style: simple - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - description: |- - The type of coding used in the Body (application/json). -
- - Example: - Content-Type: application/json - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - responses: - "204": - description: No response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: '/edge_applications/:edge_application_id:/cache_settings/:cache_settings_id:' - tags: - - Edge Applications > Cache Settings - patch: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: cache_settings_id - required: true - schema: - format: int64 - type: integer - style: simple - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ApplicationCachePatchRequest' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ApplicationCachePatchResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: '/edge_applications/:edge_application_id:/cache_settings/:cache_settings_id:' - tags: - - Edge Applications > Cache Settings - /edge_applications/{edge_application_id}/functions_instances: - get: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: true - in: query - name: page - required: false - schema: - format: int64 - type: integer - style: form - - explode: true - in: query - name: page_size - required: false - schema: - format: int64 - type: integer - style: form - - explode: true - in: query - name: filter - required: false - schema: - type: string - style: form - - explode: true - in: query - name: order_by - required: false - schema: - type: string - style: form - - explode: true - in: query - name: sort - required: false - schema: - type: string - style: form - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ApplicationInstancesGetResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: /edge_applications/:edge_application_id:/functions_instances - tags: - - Edge Applications > Edge Functions Instances - post: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - description: |- - The type of coding used in the Body (application/json). -
- - Example: - Content-Type: application/json - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ApplicationCreateInstanceRequest' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ApplicationInstanceResults' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: edge_application/:edge_application_id:/functions_instances - tags: - - Edge Applications > Edge Functions Instances - /edge_applications/{edge_application_id}/functions_instances/{functions_instances_id}: - delete: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - type: string - style: simple - - explode: false - in: path - name: functions_instances_id - required: true - schema: - type: string - style: simple - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - description: |- - The type of coding used in the Body (application/json). -
- - Example: - Content-Type: application/json - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - responses: - "204": - description: No response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: '/edge_applications/:edge_application_id:/functions_instances/:functions_instances_id:' - tags: - - Edge Applications > Edge Functions Instances - get: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: functions_instances_id - required: true - schema: - format: int64 - type: integer - style: simple - - description: "The id of the edge function instance you plan to query.\t" - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ApplicationInstancesGetOneResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: '/edge_applications/:edge_application_id:/functions_instances/:functions_instances_id:' - tags: - - Edge Applications > Edge Functions Instances - patch: - parameters: - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - description: |- - The type of coding used in the Body (application/json). -
- - Example: - Content-Type: application/json - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - - description: "The id of the edge application you plan to overwrite\t" - explode: false - in: path - name: edge_application_id - required: true - schema: - type: string - style: simple - - description: The id of the edge function instance you plan to overwrite. - explode: false - in: path - name: functions_instances_id - required: true - schema: - type: string - style: simple - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ApplicationUpdateInstanceRequest' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ApplicationInstanceResults' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "405": - description: Method Not Allowed - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: '/edge_applications/:edge_application_id:/functions_instances/:functions_instances_id:' - tags: - - Edge Applications > Edge Functions Instances - put: - parameters: - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - description: |- - The type of coding used in the Body (application/json). -
- - Example: - Content-Type: application/json - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - - description: "The id of the edge application you plan to overwrite\t" - explode: false - in: path - name: edge_application_id - required: true - schema: - type: string - style: simple - - description: The id of the edge function instance you plan to overwrite. - explode: false - in: path - name: functions_instances_id - required: true - schema: - type: string - style: simple - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ApplicationPutInstanceRequest' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ApplicationInstanceResults' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "405": - description: Method Not Allowed - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: '/edge_applications/:edge_application_id:/functions_instances/:functions_instances_id:' - tags: - - Edge Applications > Edge Functions Instances - /edge_applications/{edge_application_id}/origins: - get: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: true - in: query - name: page - required: false - schema: - format: int64 - type: integer - style: form - - explode: true - in: query - name: page_size - required: false - schema: - format: int64 - type: integer - style: form - - explode: true - in: query - name: filter - required: false - schema: - type: string - style: form - - explode: true - in: query - name: order_by - required: false - schema: - type: string - style: form - - explode: true - in: query - name: sort - required: false - schema: - type: string - style: form - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/OriginsResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: "/edge_applications/{edge_application_id}/origins" - tags: - - Edge Applications > Origins - post: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - description: |- - The type of coding used in the Body (application/json). -
- - Example: - Content-Type: application/json - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/CreateOriginsRequest' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/OriginsIdResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: "/edge_applications/{edge_application_id}/origins" - tags: - - Edge Applications > Origins - /edge_applications/{edge_application_id}/origins/{origin_key}: - delete: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: origin_key - required: true - schema: - type: string - style: simple - - description: The id of the Origin that you plan to delete. - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - responses: - "204": - description: No response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: "/edge_applications/{edge_application_id}/origins/{origin_id}" - tags: - - Edge Applications > Origins - get: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: origin_key - required: true - schema: - type: string - style: simple - - description: The id of the Origin that you plan to query. - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/OriginsIdResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: "/edge_applications/{edge_application_id}/origins/{origin_key}" - tags: - - Edge Applications > Origins - patch: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: origin_key - required: true - schema: - type: string - style: simple - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - description: |- - The type of coding used in the Body (application/json). -
- - Example: - Content-Type: application/json - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/PatchOriginsRequest' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/OriginsIdResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: '/edge_applications/:edge_application_id:/origins/:origin_id:' - tags: - - Edge Applications > Origins - put: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: origin_key - required: true - schema: - type: string - style: simple - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - description: |- - The type of coding used in the Body (application/json). -
- - Example: - Content-Type: application/json - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/UpdateOriginsRequest' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/OriginsIdResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: "/edge_applications/{edge_application_id}/origins/{origin_id}" - tags: - - Edge Applications > Origins - /edge_applications/{edge_application_id}/rules_engine/{phase}/rules: - get: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: true - in: query - name: page - required: false - schema: - format: int64 - type: integer - style: form - - explode: true - in: query - name: page_size - required: false - schema: - format: int64 - type: integer - style: form - - explode: true - in: query - name: filter - required: false - schema: - type: string - style: form - - explode: true - in: query - name: order_by - required: false - schema: - type: string - style: form - - explode: true - in: query - name: sort - required: false - schema: - type: string - style: form - - explode: false - in: path - name: phase - required: true - schema: - type: string - style: simple - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/RulesEngineResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: "/edge_applications/{edge_application_id}/rules_engine/{phase}/rules" - tags: - - Edge Applications > Rules Engine - post: - description: |- - Check below the list of behaviors that can be applied: - - | Name | Behavior | - | ----------------------------------- | ---------------------- | - | Add Request Cookie | add_request_cookie | - | Add Request Header | add_request_header | - | Add Response Cookie | set_cookie | - | Add Response Header | add_response_header | - | Bypass Cache | bypass_cache_phase | - | Capture Match Groups | capture_match_groups | - | Deliver | deliver | - | Deny (403 Forbidden) | deny | - | Enable Gzip | enable_gzip | - | Filter Request Cookie | filter_request_cookie | - | Filter Request Header | filter_request_header | - | Filter Response Cookie | filter_response_cookie | - | Filter Response Header | filter_response_header | - | Finish Request Phase | finish_request_phase | - | Forward Cookies | forward_cookies | - | Optimize Images | optimize_images | - | Redirect HTTP to HTTPS | redirect_http_to_https | - | Redirect To (301 Moved Permanently) | redirect_to_301 | - | Redirect To (302 Found) | redirect_to_302 | - | Rewrite Request | rewrite_request | - | Run Function | run_function | - | Set Cache Policy | set_cache_policy | - | Set Origin | set_origin | - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: phase - required: true - schema: - type: string - style: simple - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - description: |- - The type of coding used in the Body (application/json). -
- - Example: - Content-Type: application/json - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/CreateRulesEngineRequest' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/RulesEngineIdResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: "/edge_applications/{edge_application_id}/rules_engine/{phase}/rules" - tags: - - Edge Applications > Rules Engine - /edge_applications/{edge_application_id}/rules_engine/{phase}/rules/{rule_id}: - delete: - parameters: - - description: "The id of the edge application you plan to delete.\t" - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: phase - required: true - schema: - type: string - style: simple - - description: "The id of the rule you plan to delete.\t" - explode: false - in: path - name: rule_id - required: true - schema: - format: int64 - type: integer - style: simple - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - responses: - "204": - description: No response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: "/edge_applications/{edge_application_id}/rules_engine/{phase}/rules" - tags: - - Edge Applications > Rules Engine - get: - parameters: - - description: "The id of the edge application you want to get.\t" - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: phase - required: true - schema: - type: string - style: simple - - description: "The id of the rule you plan to delete.\t" - explode: false - in: path - name: rule_id - required: true - schema: - format: int64 - type: integer - style: simple - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/RulesEngineIdResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: "/edge_applications/{edge_application_id}/rules_engine/{phase}/rules" - tags: - - Edge Applications > Rules Engine - patch: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: phase - required: true - schema: - type: string - style: simple - - explode: false - in: path - name: rule_id - required: true - schema: - format: int64 - type: integer - style: simple - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - description: |- - The type of coding used in the Body (application/json). -
- - Example: - Content-Type: application/json - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/PatchRulesEngineRequest' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/RulesEngineIdResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: '/edge_applications/:edge_application_id:/rules_engine/:phase:/rules/:rule_id:' - tags: - - Edge Applications > Rules Engine - put: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: phase - required: true - schema: - type: string - style: simple - - explode: false - in: path - name: rule_id - required: true - schema: - format: int64 - type: integer - style: simple - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - description: |- - The type of coding used in the Body (application/json). -
- - Example: - Content-Type: application/json - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/UpdateRulesEngineRequest' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/RulesEngineIdResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: '/edge_applications/:edge_application_id:/rules_engine/:phase:/rules/:rule_id:' - tags: - - Edge Applications > Rules Engine - /edge_applications/{edge_application_id}/device_groups: - get: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: true - in: query - name: page - required: false - schema: - format: int64 - type: integer - style: form - - explode: true - in: query - name: page_size - required: false - schema: - format: int64 - type: integer - style: form - - explode: true - in: query - name: filter - required: false - schema: - type: string - style: form - - explode: true - in: query - name: order_by - required: false - schema: - type: string - style: form - - explode: true - in: query - name: sort - required: false - schema: - type: string - style: form - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/DeviceGroupsResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: "/edge_applications/{edge_application_id}/device_groups" - tags: - - Edge Applications > Device Groups - post: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - description: |- - The type of coding used in the Body (application/json). -
- - Example: - Content-Type: application/json - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/CreateDeviceGroupsRequest' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/DeviceGroupsIdResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "415": - description: Unsupported Media Type - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: "/edge_applications/{edge_application_id}/device_groups" - tags: - - Edge Applications > Device Groups - /edge_applications/{edge_application_id}/device_groups/{device_group_id}: - delete: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: device_group_id - required: true - schema: - format: int64 - type: integer - style: simple - - description: The id of the Device Groups that you plan to delete. - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - responses: - "204": - description: No response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: "/edge_applications/{edge_application_id}/device_groups/{device_group_id}" - tags: - - Edge Applications > Device Groups - get: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: device_group_id - required: true - schema: - format: int64 - type: integer - style: simple - - description: The id of the Device Groups that you plan to query. - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/DeviceGroupsIdResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: "/edge_applications/{edge_application_id}/device_groups/{device_group_id}" - tags: - - Edge Applications > Device Groups - patch: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: device_group_id - required: true - schema: - format: int64 - type: integer - style: simple - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - description: |- - The type of coding used in the Body (application/json). -
- - Example: - Content-Type: application/json - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/PatchDeviceGroupsRequest' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/DeviceGroupsIdResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: "/edge_applications/{edge_application_id}/device_groups/{device_group_id}" - tags: - - Edge Applications > Device Groups - put: - parameters: - - explode: false - in: path - name: edge_application_id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: device_group_id - required: true - schema: - format: int64 - type: integer - style: simple - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - description: |- - The type of coding used in the Body (application/json). -
- - Example: - Content-Type: application/json - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/UpdateDeviceGroupsRequest' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/DeviceGroupsIdResponse' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: "/edge_applications/{edge_application_id}/device_groups/{device_group_id}" - tags: - - Edge Applications > Device Groups -components: - schemas: - GetApplicationsResponse: - additionalProperties: false - example: - schema_version: 1 - count: 1 - links: - next: next - previous: previous - total_pages: 1 - results: - - id: 5 - name: name - active: true - debug_rules: true - last_editor: last_editor - last_modified: last_editor - origins: [] - properties: - count: - format: int64 - type: integer - total_pages: - format: int64 - type: integer - schema_version: - format: int64 - type: integer - links: - $ref: '#/components/schemas/ApplicationLinks' - results: - items: - $ref: '#/components/schemas/ApplicationsResults' - type: array - next: - nullable: true - type: string - previous: - nullable: true - type: string - required: - - count - - links - - results - - schema_version - - total_pages - type: object - ApplicationLinks: - additionalProperties: false - example: - next: next - previous: previous - properties: - previous: - nullable: true - type: string - next: - nullable: true - type: string - required: - - next - - previous - type: object - ApplicationsResults: - additionalProperties: false - properties: - id: - format: int64 - type: integer - name: - type: string - debug_rules: - type: boolean - last_editor: - type: string - last_modified: - type: string - active: - type: boolean - origins: - items: - $ref: '#/components/schemas/ApplicationOrigins' - type: array - type: object - required: - - id - - name - - debug_rules - - last_editor - - last_modified - - active - - origins - ApplicationOrigins: - additionalProperties: false - properties: - name: - type: string - origin_type: - type: string - origin_id: - type: string - type: object - GetApplicationResponse: - additionalProperties: false - example: - schema_version: 0 - results: - load_balancer: true - application_acceleration: true - web_application_firewall: true - device_detection: true - raw_logs: true - active: true - debug_rules: true - http3: true - supported_ciphers: supported_ciphers - delivery_protocol: delivery_protocol - edge_firewall: true - caching: true - http_port: - - 5 - https_port: - - 2 - minimum_tls_version: minimum_tls_version - name: name - edge_functions: true - l2_caching: true - id: 5 - image_optimization: true - properties: - results: - $ref: '#/components/schemas/ApplicationResults' - schema_version: - format: int64 - type: integer - required: - - results - - schema_version - type: object - ApplicationResults: - additionalProperties: false - example: - load_balancer: true - application_acceleration: true - web_application_firewall: true - device_detection: true - raw_logs: true - active: true - http3: true - supported_ciphers: supported_ciphers - debug_rules: true - delivery_protocol: delivery_protocol - edge_firewall: true - caching: true - http_port: - - 5 - https_port: - - 2 - minimum_tls_version: minimum_tls_version - name: name - edge_functions: true - l2_caching: true - id: 5 - image_optimization: true - properties: - id: - format: int64 - type: integer - name: - type: string - active: - type: boolean - debug_rules: - type: boolean - http3: - type: boolean - supported_ciphers: - type: string - delivery_protocol: - type: string - http_port: {} - https_port: {} - minimum_tls_version: - type: string - application_acceleration: - type: boolean - caching: - type: boolean - device_detection: - type: boolean - edge_firewall: - type: boolean - edge_functions: - type: boolean - image_optimization: - type: boolean - l2_caching: - type: boolean - load_balancer: - type: boolean - raw_logs: - type: boolean - web_application_firewall: - type: boolean - websocket: - type: boolean - required: - - active - - debug_rules - - http3 - - supported_ciphers - - application_acceleration - - caching - - delivery_protocol - - device_detection - - edge_firewall - - edge_functions - - http_port - - https_port - - id - - image_optimization - - l2_caching - - load_balancer - - minimum_tls_version - - name - - raw_logs - - web_application_firewall - type: object - CreateApplicationRequest: - additionalProperties: false - example: - address: address - browser_cache_settings: browser_cache_settings - cdn_cache_settings: cdn_cache_settings - origin_protocol_policy: origin_protocol_policy - name: name - minimum_tls_version: minimum_tls_version - delivery_protocol: delivery_protocol - browser_cache_settings_maximum_ttl: 0 - origin_type: origin_type - cdn_cache_settings_maximum_ttl: 6 - host_header: host_header - properties: - name: - type: string - application_acceleration: - type: boolean - delivery_protocol: - type: string - origin_type: - type: string - address: - type: string - minimum_tls_version: - type: string - origin_protocol_policy: - type: string - host_header: - type: string - browser_cache_settings: - type: string - cdn_cache_settings: - type: string - browser_cache_settings_maximum_ttl: - format: int64 - type: integer - cdn_cache_settings_maximum_ttl: - format: int64 - type: integer - debug_rules: - type: boolean - supported_ciphers: - type: string - http_port: {} - https_port: {} - l2_caching: - type: boolean - http3: - type: boolean - websocket: - type: boolean - required: - - name - type: object - CreateApplicationResult: - additionalProperties: false - example: - schema_version: 5 - results: - load_balancer: true - application_acceleration: true - web_application_firewall: true - device_detection: true - raw_logs: true - active: true - http3: true - supported_ciphers: supported_ciphers - debug_rules: true - delivery_protocol: delivery_protocol - edge_firewall: true - caching: true - http_port: - - 6 - https_port: - - 1 - minimum_tls_version: minimum_tls_version - name: name - edge_functions: true - id: 0 - image_optimization: true - properties: - results: - $ref: '#/components/schemas/ApplicationResultsCreate' - schema_version: - format: int64 - type: integer - required: - - results - - schema_version - type: object - ApplicationResultsCreate: - additionalProperties: false - example: - load_balancer: true - application_acceleration: true - web_application_firewall: true - device_detection: true - raw_logs: true - active: true - http3: true - supported_ciphers: supported_ciphers - debug_rules: true - delivery_protocol: delivery_protocol - edge_firewall: true - caching: true - http_port: - - 6 - https_port: - - 1 - minimum_tls_version: minimum_tls_version - name: name - edge_functions: true - id: 0 - image_optimization: true - properties: - id: - format: int64 - type: integer - name: - type: string - active: - type: boolean - debug_rules: - type: boolean - http3: - type: boolean - supported_ciphers: - type: string - delivery_protocol: - type: string - http_port: {} - https_port: {} - minimum_tls_version: - type: string - application_acceleration: - type: boolean - caching: - type: boolean - device_detection: - type: boolean - edge_firewall: - type: boolean - edge_functions: - type: boolean - image_optimization: - type: boolean - load_balancer: - type: boolean - raw_logs: - type: boolean - web_application_firewall: - type: boolean - l2_caching: - type: boolean - websocket: - type: boolean - required: - - active - - debug_rules - - supported_ciphers - - http3 - - application_acceleration - - caching - - delivery_protocol - - device_detection - - edge_firewall - - edge_functions - - http_port - - https_port - - id - - image_optimization - - load_balancer - - minimum_tls_version - - name - - raw_logs - - web_application_firewall - type: object - ApplicationUpdateRequest: - additionalProperties: false - example: - load_balancer: true - application_acceleration: true - web_application_firewall: true - device_detection: true - raw_logs: true - active: true - debug_rules: false - delivery_protocol: delivery_protocol - edge_firewall: true - http_port: - - 0 - https_port: - - 6 - minimum_tls_version: minimum_tls_version - name: name - edge_functions: true - l2_caching: true - image_optimization: true - properties: - name: - type: string - delivery_protocol: - type: string - http_port: {} - https_port: {} - minimum_tls_version: - type: string - active: - type: boolean - debug_rules: - type: boolean - application_acceleration: - type: boolean - device_detection: - type: boolean - edge_firewall: - type: boolean - edge_functions: - type: boolean - image_optimization: - type: boolean - l2_caching: - type: boolean - load_balancer: - type: boolean - raw_logs: - type: boolean - web_application_firewall: - type: boolean - websocket: - type: boolean - type: object - ApplicationUpdateResponse: - additionalProperties: false - example: - schema_version: 0 - results: - load_balancer: true - application_acceleration: true - web_application_firewall: true - device_detection: true - raw_logs: true - active: true - debug_rules: true - http3: true - supported_ciphers: "all" - delivery_protocol: delivery_protocol - edge_firewall: true - caching: true - http_port: - - 6 - https_port: - - 1 - minimum_tls_version: minimum_tls_version - name: name - edge_functions: true - l2_caching: true - id: 0 - image_optimization: true - properties: - results: - $ref: '#/components/schemas/ApplicationUpdateResults' - schema_version: - format: int64 - type: integer - required: - - results - - schema_version - type: object - ApplicationUpdateResults: - additionalProperties: false - example: - load_balancer: true - application_acceleration: true - web_application_firewall: true - device_detection: true - raw_logs: true - active: true - http3: true - supported_ciphers: supported_ciphers - debug_rules: true - delivery_protocol: delivery_protocol - edge_firewall: true - caching: true - http_port: - - 6 - https_port: - - 1 - minimum_tls_version: minimum_tls_version - name: name - edge_functions: true - l2_caching: true - id: 0 - image_optimization: true - properties: - id: - format: int64 - type: integer - name: - type: string - delivery_protocol: - type: string - http_port: {} - https_port: {} - minimum_tls_version: - type: string - active: - type: boolean - debug_rules: - type: boolean - http3: - type: boolean - supported_ciphers: - type: string - application_acceleration: - type: boolean - caching: - type: boolean - device_detection: - type: boolean - edge_firewall: - type: boolean - edge_functions: - type: boolean - image_optimization: - type: boolean - l2_caching: - type: boolean - load_balancer: - type: boolean - raw_logs: - type: boolean - web_application_firewall: - type: boolean - websocket: - type: boolean - required: - - active - - supported_ciphers - - http3 - - debug_rules - - application_acceleration - - caching - - delivery_protocol - - device_detection - - edge_firewall - - edge_functions - - http_port - - https_port - - id - - image_optimization - - l2_caching - - load_balancer - - minimum_tls_version - - name - - raw_logs - - web_application_firewall - type: object - ApplicationPutRequest: - additionalProperties: false - example: - load_balancer: true - application_acceleration: true - web_application_firewall: true - device_detection: true - raw_logs: true - active: true - delivery_protocol: delivery_protocol - edge_firewall: true - http_port: - - 0 - https_port: - - 6 - minimum_tls_version: minimum_tls_version - name: name - edge_functions: true - l2_caching: true - image_optimization: true - properties: - name: - type: string - delivery_protocol: - type: string - http_port: {} - https_port: {} - minimum_tls_version: - type: string - active: - type: boolean - application_acceleration: - type: boolean - device_detection: - type: boolean - edge_firewall: - type: boolean - edge_functions: - type: boolean - image_optimization: - type: boolean - l2_caching: - type: boolean - load_balancer: - type: boolean - raw_logs: - type: boolean - web_application_firewall: - type: boolean - debug_rules: - type: boolean - http3: - type: boolean - websocket: - type: boolean - supported_ciphers: - type: string - required: - - name - type: object - ApplicationPutResult: - additionalProperties: false - example: - schema_version: 5 - results: - load_balancer: true - supported_ciphers: supported_ciphers - application_acceleration: true - web_application_firewall: true - debug_rules: true - device_detection: true - raw_logs: true - http3: true - active: true - delivery_protocol: delivery_protocol - edge_firewall: true - caching: true - http_port: - - 6 - https_port: - - 1 - minimum_tls_version: minimum_tls_version - name: name - edge_functions: true - l2_caching: true - id: 0 - image_optimization: true - properties: - results: - $ref: '#/components/schemas/ApplicationUpdateResults' - schema_version: - format: int64 - type: integer - required: - - results - - schema_version - type: object - ApplicationCacheGetResponse: - additionalProperties: false - example: - schema_version: 1 - count: 0 - links: - next: next - previous: previous - total_pages: 6 - results: - - id: 5 - name: name - browser_cache_settings: browser_cache_settings - browser_cache_settings_maximum_ttl: 5 - cdn_cache_settings: cdn_cache_settings - cdn_cache_settings_maximum_ttl: 2 - cache_by_query_string: cache_by_query_string - query_string_fields: - - query_string_fields - - query_string_fields - enable_query_string_sort: true - cache_by_cookies: cache_by_cookies - cookie_names: - - cookie_names - - cookie_names - adaptive_delivery_action: adaptive_delivery_action - device_group: - - 1 - - 2 - enable_caching_for_post: true - l2_caching_enabled: true - is_slice_configuration_enabled: true - is_slice_edge_caching_enabled: true - is_slice_l2_caching_enabled: true - slice_configuration_range: 1024 - enable_caching_for_options: true - enable_stale_cache: true - l2_region: l2_region - - id: 5 - name: name - browser_cache_settings: browser_cache_settings - browser_cache_settings_maximum_ttl: 5 - cdn_cache_settings: cdn_cache_settings - cdn_cache_settings_maximum_ttl: 2 - cache_by_query_string: cache_by_query_string - query_string_fields: - - query_string_fields - - query_string_fields - enable_query_string_sort: true - cache_by_cookies: cache_by_cookies - cookie_names: - - cookie_names - - cookie_names - adaptive_delivery_action: adaptive_delivery_action - device_group: - - 1 - - 2 - enable_caching_for_post: true - l2_caching_enabled: true - is_slice_configuration_enabled: true - is_slice_edge_caching_enabled: true - is_slice_l2_caching_enabled: true - slice_configuration_range: 1024 - enable_caching_for_options: true - enable_stale_cache: true - l2_region: l2_region - properties: - count: - format: int64 - type: integer - total_pages: - format: int64 - type: integer - schema_version: - format: int64 - type: integer - links: - $ref: '#/components/schemas/ApplicationLinks' - results: - items: - $ref: '#/components/schemas/ApplicationCacheResults' - type: array - required: - - count - - links - - results - - schema_version - - total_pages - type: object - ApplicationCacheGetOneResponse: - additionalProperties: false - example: - schema_version: 0 - results: - id: 5 - name: name - browser_cache_settings: browser_cache_settings - browser_cache_settings_maximum_ttl: 5 - cdn_cache_settings: cdn_cache_settings - cdn_cache_settings_maximum_ttl: 2 - cache_by_query_string: cache_by_query_string - query_string_fields: - - query_string_fields - - query_string_fields - enable_query_string_sort: true - cache_by_cookies: cache_by_cookies - cookie_names: - - cookie_names - - cookie_names - adaptive_delivery_action: adaptive_delivery_action - device_group: - - 1 - - 2 - enable_caching_for_post: true - l2_caching_enabled: true - enable_caching_for_options: true - enable_stale_cache: true - l2_region: l2_region - properties: - results: - $ref: '#/components/schemas/ApplicationCacheResults' - schema_version: - format: int64 - type: integer - required: - - results - - schema_version - type: object - ApplicationCacheResults: - additionalProperties: false - example: - id: 5 - name: name - browser_cache_settings: browser_cache_settings - browser_cache_settings_maximum_ttl: 5 - cdn_cache_settings: cdn_cache_settings - cdn_cache_settings_maximum_ttl: 2 - cache_by_query_string: cache_by_query_string - query_string_fields: - - query_string_fields - - query_string_fields - enable_query_string_sort: true - cache_by_cookies: cache_by_cookies - cookie_names: - - cookie_names - - cookie_names - adaptive_delivery_action: adaptive_delivery_action - device_group: - - 1 - - 2 - enable_caching_for_post: true - l2_caching_enabled: true - is_slice_configuration_enabled: true - is_slice_edge_caching_enabled: true - is_slice_l2_caching_enabled: true - slice_configuration_range: 1024 - enable_caching_for_options: true - enable_stale_cache: true - l2_region: l2_region - properties: - id: - format: int64 - type: integer - name: - type: string - browser_cache_settings: - type: string - browser_cache_settings_maximum_ttl: - format: int64 - type: integer - cdn_cache_settings: - type: string - cdn_cache_settings_maximum_ttl: - format: int64 - type: integer - cache_by_query_string: - type: string - query_string_fields: - items: - type: string - type: array - nullable: true - enable_query_string_sort: - type: boolean - cache_by_cookies: - type: string - cookie_names: - items: - type: string - nullable: true - type: array - nullable: true - adaptive_delivery_action: - type: string - device_group: - type: array - items: - type: integer - enable_caching_for_post: - type: boolean - l2_caching_enabled: - type: boolean - is_slice_configuration_enabled: - type: boolean - is_slice_edge_caching_enabled: - type: boolean - is_slice_l2_caching_enabled: - type: boolean - slice_configuration_range: - format: int64 - type: integer - enable_caching_for_options: - type: boolean - enable_stale_cache: - type: boolean - l2_region: - type: string - nullable: true - required: - - id - - name - - browser_cache_settings - - browser_cache_settings_maximum_ttl - - cdn_cache_settings - - cdn_cache_settings_maximum_ttl - - cache_by_query_string - - query_string_fields - - enable_query_string_sort - - cache_by_cookies - - cookie_names - - adaptive_delivery_action - - device_group - - enable_caching_for_post - - l2_caching_enabled - - enable_caching_for_options - - enable_stale_cache - - l2_region - type: object - ApplicationCacheCreateRequest: - additionalProperties: false - example: - name: name - browser_cache_settings: browser_cache_settings - browser_cache_settings_maximum_ttl: 0 - cdn_cache_settings: cdn_cache_settings - cdn_cache_settings_maximum_ttl: 6 - cache_by_query_string: cache_by_query_string - query_string_fields: - - query_string_fields - - query_string_fields - enable_query_string_sort: true - cache_by_cookies: cache_by_cookies - cookie_names: - - cookie_names - - cookie_names - adaptive_delivery_action: adaptive_delivery_action - device_group: - - 1 - - 2 - enable_caching_for_post: true - l2_caching_enabled: true - is_slice_configuration_enabled: true - is_slice_edge_caching_enabled: true - is_slice_l2_caching_enabled: true - slice_configuration_range: 1 - enable_caching_for_options: true - enable_stale_cache: true - l2_region: l2_region - properties: - name: - type: string - browser_cache_settings: - type: string - browser_cache_settings_maximum_ttl: - format: int64 - type: integer - cdn_cache_settings: - type: string - cdn_cache_settings_maximum_ttl: - format: int64 - type: integer - cache_by_query_string: - type: string - query_string_fields: - items: - type: string - type: array - enable_query_string_sort: - type: boolean - cache_by_cookies: - type: string - cookie_names: - items: - type: string - type: array - adaptive_delivery_action: - type: string - device_group: - type: array - items: - type: integer - enable_caching_for_post: - type: boolean - l2_caching_enabled: - type: boolean - is_slice_configuration_enabled: - type: boolean - is_slice_edge_caching_enabled: - type: boolean - is_slice_l2_caching_enabled: - type: boolean - slice_configuration_range: - format: int64 - type: integer - enable_caching_for_options: - type: boolean - enable_stale_cache: - type: boolean - l2_region: - type: string - required: - - name - type: object - ApplicationCacheCreateResponse: - additionalProperties: false - example: - schema_version: 5 - results: - id: 0 - name: name - browser_cache_settings: browser_cache_settings - browser_cache_settings_maximum_ttl: 6 - cdn_cache_settings: cdn_cache_settings - cdn_cache_settings_maximum_ttl: 1 - cache_by_query_string: cache_by_query_string - query_string_fields: - - query_string_fields - - query_string_fields - enable_query_string_sort: true - cache_by_cookies: cache_by_cookies - cookie_names: - - cookie_names - - cookie_names - adaptive_delivery_action: adaptive_delivery_action - device_group: - - 1 - - 2 - enable_caching_for_post: true - l2_caching_enabled: true - is_slice_configuration_enabled: true - is_slice_edge_caching_enabled: true - is_slice_l2_caching_enabled: true - slice_configuration_range: 1024 - enable_caching_for_options: true - enable_stale_cache: true - l2_region: l2_region - properties: - results: - $ref: '#/components/schemas/ApplicationCacheCreateResults' - schema_version: - format: int64 - type: integer - type: object - ApplicationCacheCreateResults: - additionalProperties: false - example: - id: 0 - name: name - browser_cache_settings: browser_cache_settings - browser_cache_settings_maximum_ttl: 6 - cdn_cache_settings: cdn_cache_settings - cdn_cache_settings_maximum_ttl: 1 - cache_by_query_string: cache_by_query_string - query_string_fields: - - query_string_fields - - query_string_fields - enable_query_string_sort: true - cache_by_cookies: cache_by_cookies - cookie_names: - - cookie_names - - cookie_names - adaptive_delivery_action: adaptive_delivery_action - device_group: - - 1 - - 2 - enable_caching_for_post: true - l2_caching_enabled: true - is_slice_configuration_enabled: true - is_slice_edge_caching_enabled: true - is_slice_l2_caching_enabled: true - slice_configuration_range: 1024 - enable_caching_for_options: true - enable_stale_cache: true - l2_region: l2_region - properties: - id: - format: int64 - type: integer - name: - type: string - browser_cache_settings: - type: string - browser_cache_settings_maximum_ttl: - format: int64 - type: integer - cdn_cache_settings: - type: string - cdn_cache_settings_maximum_ttl: - format: int64 - type: integer - cache_by_query_string: - type: string - query_string_fields: - items: - type: string - type: array - enable_query_string_sort: - type: boolean - cache_by_cookies: - type: string - cookie_names: - items: - type: string - type: array - adaptive_delivery_action: - type: string - device_group: - type: array - items: - type: integer - enable_caching_for_post: - type: boolean - l2_caching_enabled: - type: boolean - is_slice_configuration_enabled: - type: boolean - is_slice_edge_caching_enabled: - type: boolean - is_slice_l2_caching_enabled: - type: boolean - slice_configuration_range: - format: int64 - type: integer - enable_caching_for_options: - type: boolean - enable_stale_cache: - type: boolean - l2_region: - type: string - required: - - adaptive_delivery_action - - browser_cache_settings - - browser_cache_settings_maximum_ttl - - cache_by_cookies - - cache_by_query_string - - cdn_cache_settings - - cdn_cache_settings_maximum_ttl - - cookie_names - - device_group - - enable_caching_for_post - - enable_query_string_sort - - id - - l2_caching_enabled - - name - - query_string_fields - type: object - ApplicationCachePutRequest: - additionalProperties: false - example: - name: name - browser_cache_settings: browser_cache_settings - browser_cache_settings_maximum_ttl: 0 - cdn_cache_settings: cdn_cache_settings - cdn_cache_settings_maximum_ttl: 6 - cache_by_query_string: cache_by_query_string - query_string_fields: - - query_string_fields - - query_string_fields - enable_query_string_sort: true - cache_by_cookies: cache_by_cookies - cookie_names: - - cookie_names - - cookie_names - adaptive_delivery_action: adaptive_delivery_action - device_group: - - 1 - - 2 - enable_caching_for_post: true - l2_caching_enabled: true - is_slice_configuration_enabled: true - is_slice_edge_caching_enabled: true - is_slice_l2_caching_enabled: true - slice_configuration_range: 1 - enable_caching_for_options: true - enable_stale_cache: true - l2_region: l2_region - properties: - name: - type: string - browser_cache_settings: - type: string - browser_cache_settings_maximum_ttl: - format: int64 - type: integer - cdn_cache_settings: - type: string - cdn_cache_settings_maximum_ttl: - format: int64 - type: integer - cache_by_query_string: - type: string - query_string_fields: - items: - type: string - type: array - enable_query_string_sort: - type: boolean - cache_by_cookies: - type: string - cookie_names: - items: - type: string - type: array - adaptive_delivery_action: - type: string - device_group: - type: array - items: - type: integer - enable_caching_for_post: - type: boolean - l2_caching_enabled: - type: boolean - is_slice_configuration_enabled: - type: boolean - is_slice_edge_caching_enabled: - type: boolean - is_slice_l2_caching_enabled: - type: boolean - slice_configuration_range: - format: int64 - type: integer - enable_caching_for_options: - type: boolean - enable_stale_cache: - type: boolean - l2_region: - type: string - required: - - name - type: object - ApplicationCachePutResponse: - additionalProperties: false - example: - schema_version: 5 - results: - id: 0 - name: name - browser_cache_settings: browser_cache_settings - browser_cache_settings_maximum_ttl: 6 - cdn_cache_settings: cdn_cache_settings - cdn_cache_settings_maximum_ttl: 1 - cache_by_query_string: cache_by_query_string - query_string_fields: - - query_string_fields - - query_string_fields - enable_query_string_sort: true - cache_by_cookies: cache_by_cookies - cookie_names: - - cookie_names - - cookie_names - adaptive_delivery_action: adaptive_delivery_action - device_group: - - 1 - - 2 - enable_caching_for_post: true - l2_caching_enabled: true - is_slice_configuration_enabled: true - is_slice_edge_caching_enabled: true - is_slice_l2_caching_enabled: true - slice_configuration_range: 1024 - enable_caching_for_options: true - enable_stale_cache: true - l2_region: l2_region - properties: - results: - $ref: '#/components/schemas/ApplicationCacheResponseDetails' - schema_version: - format: int64 - type: integer - required: - - results - - schema_version - type: object - ApplicationCachePatchRequest: - additionalProperties: false - example: - cache_by_cookies: cache_by_cookies - is_slice_configuration_enabled: true - slice_configuration_range: 1 - enable_query_string_sort: true - l2_caching_enabled: true - browser_cache_settings: browser_cache_settings - is_slice_l2_caching_enabled: true - cdn_cache_settings: cdn_cache_settings - query_string_fields: - - query_string_fields - - query_string_fields - is_slice_edge_caching_enabled: true - name: name - enable_caching_for_post: true - cookie_names: - - cookie_names - - cookie_names - cache_by_query_string: cache_by_query_string - browser_cache_settings_maximum_ttl: 0 - cdn_cache_settings_maximum_ttl: 6 - properties: - name: - type: string - browser_cache_settings: - type: string - browser_cache_settings_maximum_ttl: - format: int64 - type: integer - cdn_cache_settings: - type: string - adaptive_delivery_action: - type: string - enable_caching_for_options: - type: boolean - cdn_cache_settings_maximum_ttl: - format: int64 - type: integer - cache_by_query_string: - type: string - query_string_fields: - items: - type: string - type: array - enable_query_string_sort: - type: boolean - cache_by_cookies: - type: string - cookie_names: - items: - type: string - type: array - enable_caching_for_post: - type: boolean - l2_caching_enabled: - type: boolean - is_slice_configuration_enabled: - type: boolean - is_slice_edge_caching_enabled: - type: boolean - is_slice_l2_caching_enabled: - type: boolean - slice_configuration_range: - format: int64 - type: integer - type: object - ApplicationCachePatchResponse: - additionalProperties: false - example: - schema_version: 0 - results: - cache_by_cookies: cache_by_cookies - device_group: - - 1 - - 2 - enable_query_string_sort: true - l2_caching_enabled: true - browser_cache_settings: browser_cache_settings - cdn_cache_settings: cdn_cache_settings - query_string_fields: - - query_string_fields - - query_string_fields - adaptive_delivery_action: adaptive_delivery_action - name: name - enable_caching_for_post: true - cookie_names: - - cookie_names - - cookie_names - id: 0 - cache_by_query_string: cache_by_query_string - browser_cache_settings_maximum_ttl: 6 - cdn_cache_settings_maximum_ttl: 1 - properties: - results: - $ref: '#/components/schemas/ApplicationCacheResponseDetails' - schema_version: - format: int64 - type: integer - type: object - ApplicationCacheResponseDetails: - additionalProperties: false - example: - id: 0 - name: name - browser_cache_settings: browser_cache_settings - browser_cache_settings_maximum_ttl: 6 - cdn_cache_settings: cdn_cache_settings - cdn_cache_settings_maximum_ttl: 1 - cache_by_query_string: cache_by_query_string - query_string_fields: - - query_string_fields - - query_string_fields - enable_query_string_sort: true - cache_by_cookies: cache_by_cookies - cookie_names: - - cookie_names - - cookie_names - adaptive_delivery_action: adaptive_delivery_action - device_group: - - 1 - - 2 - enable_caching_for_post: true - l2_caching_enabled: true - is_slice_configuration_enabled: true - is_slice_edge_caching_enabled: true - is_slice_l2_caching_enabled: true - slice_configuration_range: 1024 - enable_caching_for_options: true - enable_stale_cache: true - l2_region: l2_region - properties: - id: - format: int64 - type: integer - name: - type: string - browser_cache_settings: - type: string - browser_cache_settings_maximum_ttl: - format: int64 - type: integer - cdn_cache_settings: - type: string - cdn_cache_settings_maximum_ttl: - format: int64 - type: integer - cache_by_query_string: - type: string - query_string_fields: - items: - type: string - nullable: true - type: array - enable_query_string_sort: - type: boolean - cache_by_cookies: - type: string - cookie_names: - items: - type: string - nullable: true - type: array - adaptive_delivery_action: - type: string - device_group: - type: array - items: - type: integer - enable_caching_for_post: - type: boolean - enable_caching_for_options: - type: boolean - l2_caching_enabled: - type: boolean - is_slice_configuration_enabled: - type: boolean - is_slice_edge_caching_enabled: - type: boolean - is_slice_l2_caching_enabled: - type: boolean - slice_configuration_range: - format: int64 - type: integer - enable_stale_cache: - type: boolean - l2_region: - type: string - nullable: true - required: - - browser_cache_settings - - browser_cache_settings_maximum_ttl - - cache_by_cookies - - cache_by_query_string - - cdn_cache_settings - - cdn_cache_settings_maximum_ttl - - cookie_names - - enable_caching_for_post - - enable_query_string_sort - - id - - l2_caching_enabled - - name - - query_string_fields - type: object - ApplicationInstancesGetResponse: - additionalProperties: false - example: - schema_version: 1 - count: 0 - links: - next: next - previous: previous - total_pages: 6 - results: - - args: {} - edge_function_id: 5 - name: name - id: 5 - - args: {} - edge_function_id: 5 - name: name - id: 5 - properties: - count: - format: int64 - type: integer - total_pages: - format: int64 - type: integer - schema_version: - format: int64 - type: integer - links: - $ref: '#/components/schemas/ApplicationLinks' - results: - items: - $ref: '#/components/schemas/ApplicationInstancesResults' - type: array - required: - - count - - links - - results - - schema_version - - total_pages - type: object - ApplicationInstancesGetOneResponse: - additionalProperties: false - example: - schema_version: 0 - results: - args: {} - edge_function_id: 5 - name: name - id: 5 - properties: - results: - $ref: '#/components/schemas/ApplicationInstancesResults' - schema_version: - format: int64 - type: integer - required: - - results - - schema_version - type: object - ApplicationInstancesResults: - example: - args: {} - edge_function_id: 5 - name: name - id: 5 - properties: - id: - format: int64 - type: integer - edge_function_id: - format: int64 - type: integer - name: - type: string - args: {} - required: - - args - - edge_function_id - - id - - name - ApplicationCreateInstanceRequest: - example: - args: {} - edge_function_id: 0 - name: name - properties: - name: - type: string - edge_function_id: - format: int64 - type: integer - args: - oneOf: - - type: object - - type: array - items: - type: object - required: - - args - - edge_function_id - - name - ApplicationPutInstanceRequest: - example: - args: {} - edge_function_id: 0 - name: name - properties: - name: - type: string - edge_function_id: - format: int64 - type: integer - args: - oneOf: - - type: object - - type: array - items: - type: object - required: - - args - - edge_function_id - - name - ApplicationUpdateInstanceRequest: - example: - args: {} - edge_function_id: 0 - name: name - properties: - name: - nullable: true - type: string - edge_function_id: - format: int64 - nullable: true - type: integer - args: - oneOf: - - type: object - - type: array - items: - type: object - required: - - args - - edge_function_id - - name - ApplicationInstanceResults: - additionalProperties: false - example: - schema_version: 0 - results: - args: {} - edge_function_id: 5 - name: name - id: 5 - properties: - schema_version: - format: int64 - type: integer - results: - $ref: '#/components/schemas/ApplicationInstancesResults' - type: object - CreateOriginsRequest: - additionalProperties: false - example: - addresses: - - address: address - weight: 1 - hmac_secret_key: hmac_secret_key - origin_path: origin_path - origin_protocol_policy: origin_protocol_policy - hmac_region_name: hmac_region_name - hmac_access_key: hmac_access_key - name: name - origin_type: origin_type - host_header: host_header - hmac_authentication: true - bucket: bucket - prefix: prefix - properties: - name: - type: string - origin_type: - type: string - addresses: - items: - $ref: '#/components/schemas/CreateOriginsRequest_addresses' - type: array - origin_protocol_policy: - type: string - host_header: - type: string - origin_path: - type: string - hmac_authentication: - type: boolean - hmac_region_name: - type: string - hmac_access_key: - type: string - hmac_secret_key: - type: string - bucket: - type: string - prefix: - type: string - required: - - name - type: object - UpdateOriginsRequest: - additionalProperties: false - example: - addresses: - - address: address - - address: address - hmac_secret_key: hmac_secret_key - origin_path: origin_path - origin_protocol_policy: origin_protocol_policy - hmac_region_name: hmac_region_name - hmac_access_key: hmac_access_key - name: name - origin_type: origin_type - host_header: host_header - hmac_authentication: true - bucket: bucket - prefix: prefix - properties: - name: - type: string - origin_type: - type: string - addresses: - items: - $ref: '#/components/schemas/CreateOriginsRequest_addresses' - type: array - origin_protocol_policy: - type: string - host_header: - type: string - origin_path: - type: string - hmac_authentication: - type: boolean - hmac_region_name: - type: string - hmac_access_key: - type: string - hmac_secret_key: - type: string - bucket: - type: string - prefix: - type: string - required: - - name - type: object - PatchOriginsRequest: - additionalProperties: false - example: - addresses: - - address: address - - address: address - hmac_secret_key: hmac_secret_key - origin_path: origin_path - origin_protocol_policy: origin_protocol_policy - hmac_region_name: hmac_region_name - hmac_access_key: hmac_access_key - name: name - origin_type: origin_type - host_header: host_header - hmac_authentication: true - bucket: bucket - prefix: prefix - properties: - name: - type: string - origin_type: - type: string - addresses: - items: - $ref: '#/components/schemas/CreateOriginsRequest_addresses' - type: array - origin_protocol_policy: - type: string - host_header: - type: string - origin_path: - type: string - hmac_authentication: - type: boolean - hmac_region_name: - type: string - hmac_access_key: - type: string - hmac_secret_key: - type: string - bucket: - type: string - prefix: - type: string - type: object - OriginsResultResponse: - additionalProperties: false - example: - timeout_between_bytes: 2 - addresses: - - address: address - is_active: true - weight: 1 - server_role: server_role - - address: address - is_active: true - weight: 1 - server_role: server_role - hmac_secret_key: hmac_secret_key - method: method - origin_path: origin_path - origin_protocol_policy: origin_protocol_policy - hmac_region_name: hmac_region_name - hmac_access_key: hmac_access_key - origin_id: 5 - is_origin_redirection_enabled: true - origin_type: origin_type - host_header: host_header - origin_key: origin_key - name: name - connection_timeout: 5 - hmac_authentication: true - bucket: bucket - prefix: prefix - properties: - origin_id: - format: int64 - type: integer - origin_key: - type: string - name: - type: string - origin_type: - type: string - addresses: - items: - $ref: '#/components/schemas/OriginsResultResponse_addresses' - type: array - origin_protocol_policy: - type: string - is_origin_redirection_enabled: - type: boolean - host_header: - type: string - method: - type: string - origin_path: - type: string - connection_timeout: - format: int64 - type: integer - timeout_between_bytes: - format: int64 - type: integer - hmac_authentication: - type: boolean - hmac_region_name: - type: string - hmac_access_key: - type: string - hmac_secret_key: - type: string - bucket: - type: string - prefix: - type: string - required: - - name - type: object - OriginsResponse: - additionalProperties: false - example: - schema_version: 1 - count: 0 - links: - next: next - previous: previous - total_pages: 6 - results: - - timeout_between_bytes: 2 - addresses: - - address: address - is_active: true - weight: 1 - server_role: server_role - - address: address - is_active: true - weight: 1 - server_role: server_role - hmac_secret_key: hmac_secret_key - method: method - origin_path: origin_path - origin_protocol_policy: origin_protocol_policy - hmac_region_name: hmac_region_name - hmac_access_key: hmac_access_key - origin_id: 5 - is_origin_redirection_enabled: true - origin_type: origin_type - host_header: host_header - origin_key: origin_key - name: name - connection_timeout: 5 - hmac_authentication: true - bucket: bucket - prefix: prefix - - timeout_between_bytes: 2 - addresses: - - address: address - is_active: true - weight: 1 - server_role: server_role - - address: address - is_active: true - weight: 1 - server_role: server_role - hmac_secret_key: hmac_secret_key - method: method - origin_path: origin_path - origin_protocol_policy: origin_protocol_policy - hmac_region_name: hmac_region_name - hmac_access_key: hmac_access_key - origin_id: 5 - is_origin_redirection_enabled: true - origin_type: origin_type - host_header: host_header - origin_key: origin_key - name: name - connection_timeout: 5 - hmac_authentication: true - properties: - count: - format: int64 - type: integer - total_pages: - format: int64 - type: integer - schema_version: - format: int64 - type: integer - links: - $ref: '#/components/schemas/OriginsResponse_links' - results: - items: - $ref: '#/components/schemas/OriginsResultResponse' - type: array - required: - - count - - links - - results - - schema_version - - total_pages - type: object - OriginsIdResponse: - additionalProperties: false - example: - schema_version: 0 - results: - timeout_between_bytes: 2 - addresses: - - address: address - is_active: true - weight: 1 - server_role: server_role - - address: address - is_active: true - weight: 1 - server_role: server_role - hmac_secret_key: hmac_secret_key - method: method - origin_path: origin_path - origin_protocol_policy: origin_protocol_policy - hmac_region_name: hmac_region_name - hmac_access_key: hmac_access_key - origin_id: 5 - is_origin_redirection_enabled: true - origin_type: origin_type - host_header: host_header - origin_key: origin_key - name: name - connection_timeout: 5 - hmac_authentication: true - bucket: bucket - prefix: prefix - properties: - results: - $ref: '#/components/schemas/OriginsResultResponse' - schema_version: - format: int64 - type: integer - required: - - results - - schema_version - type: object - CreateDeviceGroupsRequest: - additionalProperties: false - example: - name: name - user_agent: user_agent - addresses: addresses - properties: - name: - type: string - user_agent: - type: string - addresses: - type: string - required: - - addresses - - user_agent - type: object - UpdateDeviceGroupsRequest: - additionalProperties: false - example: - name: name - user_agent: user_agent - properties: - name: - type: string - user_agent: - type: string - type: object - PatchDeviceGroupsRequest: - additionalProperties: false - example: - name: name - user_agent: user_agent - properties: - name: - type: string - user_agent: - type: string - type: object - DeviceGroupsResultResponse: - additionalProperties: false - example: - id: 5 - name: name - user_agent: user_agent - properties: - id: - format: int64 - type: integer - name: - type: string - user_agent: - type: string - required: - - name - - user_agent - type: object - DeviceGroupsResponse: - additionalProperties: false - example: - schema_version: 1 - count: 0 - links: - next: next - previous: previous - total_pages: 6 - results: - - id: 5 - name: name - user_agent: user_agent - properties: - count: - format: int64 - type: integer - total_pages: - format: int64 - type: integer - schema_version: - format: int64 - type: integer - links: - $ref: '#/components/schemas/DeviceGroupsResponse_links' - results: - items: - $ref: '#/components/schemas/DeviceGroupsResultResponse' - type: array - required: - - count - - links - - results - - schema_version - - total_pages - type: object - DeviceGroupsIdResponse: - additionalProperties: false - example: - schema_version: 0 - results: - id: 5 - name: name - user_agent: user_agent - properties: - results: - $ref: '#/components/schemas/DeviceGroupsResultResponse' - schema_version: - format: int64 - type: integer - required: - - results - - schema_version - type: object - CreateRulesEngineRequest: - example: - criteria: - - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - behaviors: - - name: name - target: target - - name: name - target: target - name: name - description: description - properties: - name: - type: string - order: - format: int64 - type: integer - maximum: 10000 - minimum: 1 - is_active: - type: boolean - description: - type: string - maxLength: 1000 - criteria: - type: array - items: - type: array - items: - $ref: '#/components/schemas/RulesEngineCriteria' - behaviors: - type: array - items: - $ref: '#/components/schemas/RulesEngineBehaviorEntry' - required: - - behaviors - - criteria - - name - type: object - UpdateRulesEngineRequest: - additionalProperties: false - example: - criteria: - - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - behaviors: - - name: name - target: target - - name: name - target: target - name: name - description: description - properties: - name: - type: string - order: - format: int64 - type: integer - maximum: 10000 - minimum: 1 - is_active: - type: boolean - description: - type: string - maxLength: 1000 - criteria: - items: - items: - $ref: '#/components/schemas/RulesEngineCriteria' - type: array - type: array - behaviors: - items: - $ref: '#/components/schemas/RulesEngineBehaviorEntry' - type: array - required: - - behaviors - - criteria - - name - type: object - PatchRulesEngineRequest: - additionalProperties: false - example: - criteria: - - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - behaviors: - - name: name - target: target - - name: name - target: target - name: name - description: description - properties: - name: - type: string - order: - format: int64 - type: integer - maximum: 10000 - minimum: 1 - is_active: - type: boolean - description: - type: string - maxLength: 1000 - criteria: - type: array - items: - type: array - items: - $ref: '#/components/schemas/RulesEngineCriteria' - behaviors: - items: - $ref: '#/components/schemas/RulesEngineBehaviorEntry' - type: array - type: object - RulesEngineResultResponse: - example: - phase: phase - is_active: true - behavior: - - name: name - target: target - criteria: - - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - name: name - id: 5 - order: 5 - properties: - id: - format: int64 - type: integer - name: - type: string - description: - type: string - phase: - type: string - behaviors: - type: array - items: - $ref: '#/components/schemas/RulesEngineBehaviorEntry' - criteria: - type: array - items: - type: array - items: - $ref: '#/components/schemas/RulesEngineCriteria' - is_active: - type: boolean - order: - format: int64 - type: integer - required: - - behavior - - criteria - - id - - is_active - - name - - order - - phase - type: object - RulesEngineCriteria: - additionalProperties: false - example: - conditional: conditional - variable: variable - input_value: input_value - operator: operator - properties: - conditional: - type: string - variable: - type: string - operator: - type: string - input_value: - type: string - required: - - conditional - - operator - - variable - type: object - RulesEngineBehaviorEntry: - anyOf: - - $ref: '#/components/schemas/RulesEngineBehaviorString' - - $ref: '#/components/schemas/RulesEngineBehaviorObject' - RulesEngineBehaviorString: - nullable: true - example: - name: name - target: target - properties: - name: - type: string - target: - type: string - required: - - name - - target - type: object - RulesEngineBehaviorObject: - example: - name: name - target: - type: object - properties: - captured_array: - type: string - subject: - type: string - regex: - type: string - properties: - name: - type: string - target: - type: object - properties: - captured_array: - type: string - subject: - type: string - regex: - type: string - required: - - name - - target - type: object - RulesEngineResponse: - additionalProperties: false - example: - schema_version: 1 - count: 0 - links: - next: next - previous: previous - total_pages: 6 - results: - - phase: phase - is_active: true - behavior: - - name: name - target: target - criteria: - - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - name: name - description: description - id: 5 - order: 5 - - phase: phase - is_active: true - behavior: - - name: name - target: target - criteria: - - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - name: name - description: description - id: 5 - order: 5 - properties: - count: - format: int64 - type: integer - total_pages: - format: int64 - type: integer - schema_version: - format: int64 - type: integer - links: - $ref: '#/components/schemas/OriginsResponse_links' - results: - items: - $ref: '#/components/schemas/RulesEngineResultResponse' - type: array - required: - - count - - links - - results - - schema_version - - total_pages - type: object - RulesEngineIdResponse: - additionalProperties: false - example: - schema_version: 0 - results: - phase: phase - is_active: true - behavior: - - name: name - target: target - criteria: - - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - - conditional: conditional - variable: variable - input_value: input_value - operator: operator - name: name - description: description - id: 5 - order: 5 - properties: - results: - $ref: '#/components/schemas/RulesEngineResultResponse' - schema_version: - format: int64 - type: integer - required: - - results - - schema_version - type: object - CreateOriginsRequest_addresses: - example: - address: address - is_active: true - weight: 1 - server_role: primary - properties: - address: - type: string - is_active: - type: boolean - weight: - type: integer - format: int64 - minimum: 1 - maximum: 100 - server_role: - type: string - maxLength: 10 - minLength: 1 - pattern: '^(primary|backup)$' - required: - - address - type: object - OriginsResultResponse_addresses: - example: - address: address - is_active: true - weight: 1 - server_role: primary - properties: - address: - type: string - weight: - type: integer - format: int64 - minimum: 1 - maximum: 100 - server_role: - type: string - is_active: - type: boolean - required: - - address - - is_active - - server_role - - weight - type: object - OriginsResponse_links: - example: - next: next - previous: previous - properties: - previous: - nullable: true - type: string - next: - nullable: true - type: string - type: object - DeviceGroupsResponse_links: - example: - next: next - previous: previous - properties: - previous: - nullable: true - type: string - next: - nullable: true - type: string - type: object - securitySchemes: - tokenAuth: - type: apiKey - name: Authorization - in: header - description: | - You must inform a token to auth. - Usage format: `Token ` - diff --git a/edgefirewall.yaml b/edgefirewall.yaml deleted file mode 100644 index 00bc21e..0000000 --- a/edgefirewall.yaml +++ /dev/null @@ -1,869 +0,0 @@ -openapi: 3.0.0 -info: - title: Edge Firewall API - version: 2.0.0 - license: - name: MIT - url: https://github.com/aziontech/azionapi-openapi/blob/main/LICENSE.md -servers: -- description: Production - url: https://api.azionapi.net -security: -- tokenAuth: [] -paths: - /edge_firewall: - get: - summary: List all user edge firewall - parameters: - - name: page - in: query - required: false - style: form - explode: true - schema: - type: integer - format: int64 - - name: page_size - in: query - required: false - style: form - explode: true - schema: - type: integer - format: int64 - - name: sort - in: query - required: false - style: form - explode: true - schema: - type: string - - name: order_by - in: query - required: false - style: form - explode: true - schema: - type: string - responses: - "200": - description: A list of edge firewalls - content: - application/json: - schema: - $ref: '#/components/schemas/ListEdgeFirewallResponse' - "403": - description: Forbidden - "404": - description: Not found - post: - summary: Create a edge firewall - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CreateEdgeFirewallRequest' - required: true - responses: - "201": - description: Edge firewall created - content: - application/json: - schema: - $ref: '#/components/schemas/EdgeFirewallResponse' - "400": - description: Bad Request - "403": - description: Forbidden - "500": - description: Internal Server Error - /edge_firewall/{uuid}: - get: - summary: Retrieve an edge firewall set by uuid - parameters: - - name: uuid - in: path - required: true - style: simple - explode: false - schema: - type: string - responses: - "200": - description: An edge firewall object - content: - application/json: - schema: - $ref: '#/components/schemas/EdgeFirewallResponse' - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not found - put: - summary: "Overwrite some edge firewall attributes, like \"active\"" - parameters: - - name: uuid - in: path - required: true - style: simple - explode: false - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateEdgeFirewallRequest' - required: true - responses: - "200": - description: Successfully updated - content: - application/json: - schema: - $ref: '#/components/schemas/EdgeFirewallResponse' - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not found - "500": - description: Internal Server Error - delete: - summary: Delete an edge firewall by uuid - parameters: - - name: uuid - in: path - required: true - style: simple - explode: false - schema: - type: string - responses: - "204": - description: Successfully deleted - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not found - patch: - summary: "Update some edge firewall attributes, like \"active\"" - parameters: - - name: uuid - in: path - required: true - style: simple - explode: false - schema: - type: string - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateEdgeFirewallRequest' - required: true - responses: - "200": - description: Successfully updated - content: - application/json: - schema: - $ref: '#/components/schemas/EdgeFirewallResponse' - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not found - "500": - description: Internal Server Error - - /edge_firewall/{edge_firewall_id}/rules_engine: - parameters: - - $ref: '#/components/parameters/edge_firewall_id' - post: - summary: Create rule set. - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/CreateRuleSetRequest' - responses: - "201": - description: Create rule set. - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/RuleSetResponse' - "400": - description: Bad Request - "403": - description: Forbidden - "500": - description: Internal Server Error - - get: - summary: List all rule sets. - parameters: - - name: page - in: query - required: false - style: form - explode: true - schema: - type: integer - format: int64 - - name: page_size - in: query - required: false - style: form - explode: true - schema: - type: integer - format: int64 - - name: sort - in: query - required: false - style: form - explode: true - schema: - type: string - - name: order_by - in: query - required: false - style: form - explode: true - schema: - type: string - responses: - "200": - description: List all rule sets. - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/RuleSetResponseAll' - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "500": - description: Internal Server Error - - /edge_firewall/{edge_firewall_id}/rules_engine/{rule_set_id}: - parameters: - - $ref: '#/components/parameters/edge_firewall_id' - - $ref: '#/components/parameters/rule_set_id' - get: - parameters: - - $ref: '#/components/parameters/order_by' - - $ref: '#/components/parameters/sort' - - $ref: '#/components/parameters/page' - - $ref: '#/components/parameters/page_size' - summary: Retrieve rule set by ID. - responses: - "200": - description: Retrieve rule set by ID. - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/RuleSetResult' - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "500": - description: Internal Server Error - - put: - summary: Overwrite rule set - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/CreateRuleSetRequest' - responses: - "200": - description: Overwrite rule set. - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/RuleSetResult' - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not found - "500": - description: Internal Server Error - - patch: - summary: Edit rule set. - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/CreateRuleSetRequest' - responses: - "200": - description: Edit rule set. - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/RuleSetResult' - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not found - "500": - description: Internal Server Error - - delete: - summary: Delete rule set. - responses: - "204": - description: Delete rule set. - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not found - "500": - description: Internal Server Error - -components: - parameters: - edge_firewall_id: - in: path - name: edge_firewall_id - required: true - schema: - type: integer - format: int64 - minimum: 1 - - rule_set_id: - in: path - name: rule_set_id - required: true - schema: - type: integer - format: int64 - minimum: 1 - - order_by: - in: query - name: order_by - required: false - schema: - type: string - - sort: - in: query - name: sort - required: false - schema: - type: string - enum: [ASC, DESC] - - page: - in: query - name: page - required: false - schema: - type: integer - format: int64 - minimum: 1 - default: 1 - - page_size: - in: query - name: page_size - required: false - schema: - type: integer - format: int64 - minimum: 1 - default: 10 - - schemas: - Links: - type: object - properties: - previous: - type: string - nullable: true - next: - type: string - nullable: true - example: - next: next - previous: previous - EdgeFirewall: - type: object - properties: - id: - type: integer - format: int64 - name: - type: string - is_active: - type: boolean - last_editor: - type: string - last_modified: - type: string - edge_functions_enabled: - type: boolean - network_protection_enabled: - type: boolean - waf_enabled: - type: boolean - debug_rules: - type: boolean - domains: - type: array - items: - type: integer - format: int64 - example: - is_active: true - last_editor: last_editor - name: name - waf_enabled: true - network_protection_enabled: true - domains: - - 5 - - 5 - edge_functions_enabled: true - id: 5 - last_modified: last_modified - debug_rules: true - ListEdgeFirewallResponse: - type: object - properties: - count: - type: integer - format: int64 - total_pages: - type: integer - format: int64 - schema_version: - type: integer - format: int64 - links: - $ref: '#/components/schemas/Links' - results: - type: array - items: - $ref: '#/components/schemas/EdgeFirewall' - example: - schema_version: 1 - count: 0 - links: - next: next - previous: previous - total_pages: 6 - results: - - is_active: true - last_editor: last_editor - name: name - waf_enabled: true - network_protection_enabled: true - domains: - - 5 - - 5 - edge_functions_enabled: true - id: 5 - last_modified: last_modified - debug_rules: true - - is_active: true - last_editor: last_editor - name: name - waf_enabled: true - network_protection_enabled: true - domains: - - 5 - - 5 - edge_functions_enabled: true - id: 5 - last_modified: last_modified - debug_rules: true - CreateEdgeFirewallRequest: - type: object - properties: - name: - type: string - domains: - type: array - items: - type: integer - format: int64 - is_active: - type: boolean - edge_functions_enabled: - type: boolean - network_protection_enabled: - type: boolean - waf_enabled: - type: boolean - EdgeFirewallResponse: - type: object - properties: - results: - $ref: '#/components/schemas/EdgeFirewall' - schema_version: - type: number - example: - schema_version: 0.80082819046101150206595775671303272247314453125 - results: - is_active: true - last_editor: last_editor - name: name - waf_enabled: true - network_protection_enabled: true - domains: - - 5 - - 5 - edge_functions_enabled: true - id: 5 - last_modified: last_modified - debug_rules: true - UpdateEdgeFirewallRequest: - type: object - properties: - name: - type: string - domains: - type: array - items: - type: integer - format: int64 - is_active: - type: boolean - edge_functions_enabled: - type: boolean - network_protection_enabled: - type: boolean - waf_enabled: - type: boolean - - Behaviors: - oneOf: - - $ref: '#/components/schemas/NullArgumentBehavior' - - $ref: '#/components/schemas/SimpleArgumentBehavior' - - $ref: '#/components/schemas/SetRateLimitBehavior' - - $ref: '#/components/schemas/SetWAFRuleSetBehavior' - - $ref: '#/components/schemas/SetWAFRuleSetAndWafModeBehavior' - - $ref: '#/components/schemas/SetCustomResponse' - - NullArgumentBehavior: - type: object - properties: - name: - type: string - enum: [deny, drop] - argument: - type: integer - nullable: true - - SetRateLimitBehavior: - type: object - properties: - name: - type: string - enum: [set_rate_limit] - argument: - type: object - properties: - type: - type: string - enum: [second, minute] - limit_by: - type: string - enum: [client_ip, global] - average_rate_limit: - oneOf: - - type: integer - minimum: 1 - - type: string - maximum_burst_size: - oneOf: - - type: integer - minimum: 1 - - type: string - example: - type: "second" - limit_by: "client_ip" - average_rate_limit: 100 - maximum_burst_size: 10 - - SetWAFRuleSetBehavior: - type: object - properties: - name: - type: string - enum: [set_waf_ruleset] - argument: - type: object - properties: - waf_id: - type: integer - minimum: 1 - mode: - type: string - enum: [learning, blocking] - example: - waf_id: 1 - mode: "blocking" - - SetWAFRuleSetAndWafModeBehavior: - type: object - properties: - name: - type: string - enum: [set_waf_ruleset_and_waf_mode] - argument: - type: object - properties: - set_waf_ruleset_and_waf_mode: - type: integer - minimum: 1 - waf_mode: - type: string - enum: [learning, blocking] - required: [set_waf_ruleset_and_waf_mode, waf_mode] - example: - set_waf_ruleset_and_waf_mode: 1 - waf_mode: "blocking" - - SetCustomResponse: - type: object - properties: - name: - type: string - enum: [set_custom_response] - argument: - type: object - properties: - status_code: - oneOf: - - type: string - - type: integer - minimum: 200 - maximum: 499 - content_type: - type: string - content_body: - type: string - - required: [status_code, content_type, content_body] - example: - status_code: 200 - content_type: "application/json" - content_body: "{}" - - SimpleArgumentBehavior: - type: object - properties: - name: - type: string - enum: [run_function, tag_event] - argument: - oneOf: - - type: string - - type: number - - Variables: - type: string - enum: [header_accept, header_accept_encoding, header_accept_language, header_cookie, header_origin, header_referer, header_user_agent, host, network, request_args, request_method, request_uri, scheme, client_certificate_validation] - - Conditionals: - type: string - enum: [if, and, or] - - SSLVerificationStatusOperators: - type: string - enum: [is_equal, is_not_equal] - - SSLVerificationStatusArguments: - type: string - enum: [SUCCESS, CERTIFICATE_VERIFICATION_ERROR, MISSING_CLIENT_CERTIFICATE] - - SSLVerificationStatusCriteria: - type: object - properties: - variable: - $ref: '#/components/schemas/Variables' - operator: - $ref: '#/components/schemas/SSLVerificationStatusOperators' - conditional: - $ref: '#/components/schemas/Conditionals' - input_value: - $ref: '#/components/schemas/SSLVerificationStatusArguments' - - RuleSetResult: - type: object - properties: - results: - type: object - properties: - id: - type: integer - format: int64 - minimum: 1 - last_editor: - type: string - format: email - last_modified: - type: string - format: date-time - name: - type: string - is_active: - type: boolean - description: - type: string - behaviors: - type: array - items: - $ref: '#/components/schemas/Behaviors' - criteria: - type: array - items: - type: array - items: - $ref: '#/components/schemas/SSLVerificationStatusCriteria' - order: - type: integer - minimum: 0 - schema_version: - type: integer - minimum: 1 - - RuleSetResultAll: - type: object - properties: - id: - type: integer - format: int64 - minimum: 1 - last_editor: - type: string - format: email - last_modified: - type: string - format: date-time - name: - type: string - is_active: - type: boolean - description: - type: string - behaviors: - type: array - items: - $ref: '#/components/schemas/Behaviors' - criteria: - type: array - items: - type: array - items: - $ref: '#/components/schemas/SSLVerificationStatusCriteria' - order: - type: integer - minimum: 0 - - CreateRuleSetRequest: - type: object - properties: - name: - type: string - is_active: - type: boolean - behaviors: - type: array - items: - $ref: '#/components/schemas/Behaviors' - criteria: - type: array - items: - type: array - items: - $ref: '#/components/schemas/SSLVerificationStatusCriteria' - - RuleSetResponse: - type: object - properties: - name: - type: string - is_active: - type: boolean - behaviors: - type: array - items: - $ref: '#/components/schemas/Behaviors' - criteria: - type: array - items: - type: array - items: - $ref: '#/components/schemas/SSLVerificationStatusCriteria' - last_modified: - type: string - format: date-time - last_editor: - type: string - format: email - id: - type: integer - format: int64 - minimum: 1 - order: - type: integer - format: int64 - minimum: 1 - - RuleSetResponseAll: - type: object - properties: - count: - type: integer - format: int64 - minimum: 0 - total_pages: - type: integer - format: int64 - minimum: 0 - schema_version: - type: integer - format: int32 - default: 3 - links: - $ref: '#/components/schemas/Links' - results: - type: array - items: - $ref: '#/components/schemas/RuleSetResultAll' - - - securitySchemes: - tokenAuth: - type: apiKey - name: Authorization - in: header - description: | - You must inform a token to auth. - Usage format: `Token ` diff --git a/edgefunctions.yaml b/edgefunctions.yaml deleted file mode 100644 index 0e89536..0000000 --- a/edgefunctions.yaml +++ /dev/null @@ -1,576 +0,0 @@ -openapi: 3.0.0 -info: - title: Edge Function API - version: 2.0.0 - license: - name: MIT - url: https://github.com/aziontech/azionapi-openapi/blob/main/LICENSE.md -servers: -- description: Production - url: https://api.azionapi.net -security: -- tokenAuth: [] -paths: - /edge_functions: - get: - parameters: - - explode: true - in: query - name: page - required: false - schema: - format: int64 - type: integer - style: form - - explode: true - in: query - name: page_size - required: false - schema: - format: int64 - type: integer - style: form - - explode: true - in: query - name: sort - required: false - schema: - type: string - style: form - - explode: true - in: query - name: order_by - required: false - schema: - type: string - style: form - responses: - "200": - content: - application/json; version=3: - example: - count: 1 - total_pages: 1 - schema_version: 3 - links: - previous: previous - next: next - results: - - id: 4184 - name: Teste - language: javascript - code: "async function handleRequest(request) {\r\n return new\ - \ Response(\"Hello World!\",\r\n {\r\n status:200\r\ - \n })\r\n }\r\n addEventListener(\"fetch\", event\ - \ => {\r\n event.respondWith(handleRequest(event.request))\r\ - \n })" - json_args: {} - function_to_run: "" - initiator_type: edge_application - active: true - last_editor: teste@gmail.com - modified: 2021-12-27T19:44:04.427738Z - reference_count: 0 - schema: - $ref: '#/components/schemas/ListEdgeFunctionResponse' - description: Success - "404": - content: - application/json: - example: - detail: Sorry unable to perform operation. - schema: - $ref: '#/components/schemas/ErrorResponse' - description: Not found - default: - content: - application/json: - example: - detail: Sorry unable to perform operation. - schema: - $ref: '#/components/schemas/ErrorResponse' - description: Unexpected error - summary: edge_functions - tags: - - edge_functions - post: - parameters: [] - requestBody: - $ref: '#/components/requestBodies/CreateEdgeFunctionRequest' - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/EdgeFunctionResponse' - description: Success - "400": - content: - application/json: - example: - name: - - This field may not be blank - active: - - This field is required. - code: - - This field is required. - language: - - This field is required. - schema: - $ref: '#/components/schemas/BadRequestResponse' - description: Invalid request - default: - content: - application/json: - example: - message: Sorry unable to perform operation. - schema: - $ref: '#/components/schemas/ErrorResponse' - description: Unexpected error - summary: edge_functions - tags: - - edge_functions - /edge_functions/{id}: - delete: - parameters: - - explode: false - in: path - name: id - required: true - schema: - format: int64 - type: integer - style: simple - responses: - "204": - description: Success - default: - content: - application/json: - example: - message: Sorry unable to perform operation. - schema: - $ref: '#/components/schemas/ErrorResponse' - description: Unexpected error - summary: edge_functions - tags: - - edge_functions - get: - parameters: - - explode: false - in: path - name: id - required: true - schema: - format: int64 - type: integer - style: simple - responses: - "200": - content: - application/json: - example: - results: - id: 4184 - name: Teste - language: javascript - code: "async function handleRequest(request) {\r\n return new\ - \ Response(\"Hello World!\",\r\n {\r\n status:200\r\ - \n })\r\n }\r\n addEventListener(\"fetch\", event\ - \ => {\r\n event.respondWith(handleRequest(event.request))\r\ - \n })" - json_args: {} - function_to_run: "" - initiator_type: edge_application - active: true - last_editor: lehdermann@gmail.com - modified: 2021-12-27T20:49:25.373356Z - reference_count: 0 - schema_version: 3 - schema: - $ref: '#/components/schemas/EdgeFunctionResponse' - description: Success - "404": - content: - application/json: - example: - detail: Sorry unable to perform operation. - schema: - $ref: '#/components/schemas/ErrorResponse' - description: Not found - default: - content: - application/json: - example: - message: Sorry unable to perform operation. - schema: - $ref: '#/components/schemas/ErrorResponse' - description: Unexpected error - summary: edge_functions - tags: - - edge_functions - patch: - parameters: - - explode: false - in: path - name: id - required: true - schema: - format: int64 - type: integer - style: simple - requestBody: - $ref: '#/components/requestBodies/PatchEdgeFunctionRequest' - responses: - "200": - content: - application/json: - example: - results: - id: 4184 - name: Teste - language: javascript - code: "async function handleRequest(request) {\r\n return new\ - \ Response(\"Hello World!\",\r\n {\r\n status:200\r\ - \n })\r\n }\r\n addEventListener(\"fetch\", event\ - \ => {\r\n event.respondWith(handleRequest(event.request))\r\ - \n })" - json_args: {} - function_to_run: "" - initiator_type: edge_application - active: true - last_editor: lehdermann@gmail.com - modified: 2021-12-27T20:49:25.373356Z - reference_count: 0 - schema_version: 3 - schema: - $ref: '#/components/schemas/EdgeFunctionResponse' - description: Success - "400": - content: - application/json: - example: - name: - - This field may not be blank - active: - - This field is required. - code: - - This field is required. - language: - - This field is required. - schema: - $ref: '#/components/schemas/BadRequestResponse' - description: Invalid request - default: - content: - application/json: - example: - message: Sorry unable to perform operation. - schema: - $ref: '#/components/schemas/ErrorResponse' - description: Unexpected error - summary: edge_functions - tags: - - edge_functions - put: - parameters: - - explode: false - in: path - name: id - required: true - schema: - format: int64 - type: integer - style: simple - requestBody: - $ref: '#/components/requestBodies/PutEdgeFunctionRequest' - responses: - "200": - content: - application/json: - example: - results: - id: 4184 - name: Teste - language: javascript - code: "async function handleRequest(request) {\r\n return new\ - \ Response(\"Hello World!\",\r\n {\r\n status:200\r\ - \n })\r\n }\r\n addEventListener(\"fetch\", event\ - \ => {\r\n event.respondWith(handleRequest(event.request))\r\ - \n })" - json_args: {} - function_to_run: "" - initiator_type: edge_application - active: true - last_editor: lehdermann@gmail.com - modified: 2021-12-27T20:49:25.373356Z - reference_count: 0 - schema_version: 3 - schema: - $ref: '#/components/schemas/EdgeFunctionResponse' - description: Success - "400": - content: - application/json: - example: - name: - - This field may not be blank - active: - - This field is required. - code: - - This field is required. - language: - - This field is required. - schema: - $ref: '#/components/schemas/BadRequestResponse' - description: Invalid request - default: - content: - application/json: - example: - message: Sorry unable to perform operation. - schema: - $ref: '#/components/schemas/ErrorResponse' - description: Unexpected error - summary: edge_functions - tags: - - edge_functions -components: - requestBodies: - PutEdgeFunctionRequest: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/PutEdgeFunctionRequest' - required: true - PatchEdgeFunctionRequest: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/PatchEdgeFunctionRequest' - required: true - CreateEdgeFunctionRequest: - content: - application/json: - schema: - $ref: '#/components/schemas/CreateEdgeFunctionRequest' - required: true - schemas: - ErrorResponse: - properties: - detail: - type: string - type: object - Links: - example: - next: next - previous: previous - properties: - previous: - type: string - nullable: true - next: - type: string - nullable: true - type: object - Results: - example: - code: function foo() { console.log('hello world'); - last_editor: user@azion.com - name: MyFunction - active: true - modified: modified - language: javascript - json_args: '{"a": 1, "b": 2}' - id: 5 - function_to_run: function_to_run - reference_count: 5 - initiator_type: edge_application - properties: - id: - format: int64 - type: integer - name: - type: string - language: - type: string - code: - type: string - json_args: {} - function_to_run: - type: string - initiator_type: - type: string - active: - type: boolean - last_editor: - type: string - modified: - type: string - reference_count: - format: int64 - type: integer - is_proprietary_code: - type: boolean - type: object - ListEdgeFunctionResponse: - example: - schema_version: 1 - count: 1 - links: - next: next - previous: previous - total_pages: 6 - results: - - code: code - last_editor: last_editor - name: name - active: true - modified: modified - language: language - json_args: '{}' - id: 5 - function_to_run: function_to_run - reference_count: 5 - initiator_type: initiator_type - - code: code - last_editor: last_editor - name: name - active: true - modified: modified - language: language - json_args: '{}' - id: 5 - function_to_run: function_to_run - reference_count: 5 - initiator_type: initiator_type - properties: - count: - format: int64 - type: integer - total_pages: - format: int64 - type: integer - schema_version: - format: int64 - type: integer - links: - $ref: '#/components/schemas/Links' - results: - items: - $ref: '#/components/schemas/Results' - type: array - type: object - CreateEdgeFunctionRequest: - example: - code: code - name: name - active: true - language: language - json_args: "" - initiator_type: edge_application - properties: - name: - type: string - language: - type: string - code: - type: string - json_args: {} - initiator_type: - type: string - enum: [edge_application, edge_firewall] - active: - type: boolean - is_proprietary_code: - type: boolean - type: object - BadRequestResponse: - properties: - name: - items: - type: string - type: array - active: - items: - type: string - type: array - code: - items: - type: string - type: array - language: - items: - type: string - type: array - type: object - EdgeFunctionResponse: - example: - schema_version: 1 - results: - code: code - last_editor: last_editor - name: name - active: true - modified: modified - language: language - json_args: '{}' - id: 5 - function_to_run: function_to_run - reference_count: 5 - initiator_type: initiator_type - properties: - results: - $ref: '#/components/schemas/Results' - schema_version: - type: number - type: object - PutEdgeFunctionRequest: - example: - code: code - name: name - active: true - json_args: "" - language: language - initiator_type: edge_application - properties: - name: - type: string - code: - type: string - json_args: {} - active: - type: boolean - initiator_type: - type: string - enum: [edge_application, edge_firewall] - language: - type: string - is_proprietary_code: - type: boolean - type: object - PatchEdgeFunctionRequest: - example: - code: code - name: name - active: true - json_args: "" - properties: - name: - type: string - code: - type: string - json_args: {} - active: - type: boolean - is_proprietary_code: - type: boolean - type: object - securitySchemes: - tokenAuth: - type: apiKey - name: Authorization - in: header - description: | - You must inform a token to auth. - Usage format: `Token ` \ No newline at end of file diff --git a/edgefunctionsinstance_edgefirewall.yaml b/edgefunctionsinstance_edgefirewall.yaml deleted file mode 100644 index 03686da..0000000 --- a/edgefunctionsinstance_edgefirewall.yaml +++ /dev/null @@ -1,347 +0,0 @@ -openapi: 3.0.0 -info: - title: Edge Functions Instances API - version: 2.0.0 - license: - name: MIT - url: https://github.com/aziontech/azionapi-openapi/blob/main/LICENSE.md -servers: -- description: Production - url: https://api.azionapi.net -security: -- tokenAuth: [] -paths: - /edge_firewall/{edge_firewall_id}/functions_instances: - get: - summary: List all user Edge Functions Instances - parameters: - - explode: false - in: path - name: edge_firewall_id - required: true - schema: - format: int64 - type: integer - style: simple - - name: page - in: query - required: false - style: form - explode: true - schema: - type: integer - format: int64 - - name: page_size - in: query - required: false - style: form - explode: true - schema: - type: integer - format: int64 - - name: sort - in: query - required: false - style: form - explode: true - schema: - type: string - - name: order_by - in: query - required: false - style: form - explode: true - schema: - type: string - responses: - "200": - description: A list of Edge Functions Instances - content: - application/json: - schema: - $ref: '#/components/schemas/ListEdgeFunctionsInstancesResponse' - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - post: - parameters: - - explode: false - in: path - name: edge_firewall_id - required: true - schema: - format: int64 - type: integer - style: simple - summary: Create an Edge Functions Instance - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CreateEdgeFunctionsInstancesRequest' - required: true - responses: - "201": - description: Edge Functions Instance created - content: - application/json: - schema: - $ref: '#/components/schemas/EdgeFunctionsInstanceResponse' - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "500": - description: Internal Server Error - /edge_firewall/{edge_firewall_id}/functions_instances/{edge_function_instance_id}: - get: - summary: Retrieve an Edge Functions Instance set by uuid - parameters: - - explode: false - in: path - name: edge_firewall_id - required: true - schema: - format: int64 - type: integer - style: simple - - name: edge_function_instance_id - in: path - required: true - style: simple - explode: false - schema: - format: int64 - type: integer - responses: - "200": - description: An Edge Functions Instance object - content: - application/json: - schema: - $ref: '#/components/schemas/EdgeFunctionsInstanceResponse' - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - put: - summary: Overwrite some Edge Functions Instance attributes - parameters: - - explode: false - in: path - name: edge_firewall_id - required: true - schema: - format: int64 - type: integer - style: simple - - name: edge_function_instance_id - in: path - required: true - style: simple - explode: false - schema: - format: int64 - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateEdgeFunctionsInstanceRequest' - required: true - responses: - "200": - description: Successfully updated - content: - application/json: - schema: - $ref: '#/components/schemas/EdgeFunctionsInstanceResponse' - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "500": - description: Internal Server Error - delete: - summary: Delete an Edge Functions Instance by uuid - parameters: - - explode: false - in: path - name: edge_firewall_id - required: true - schema: - format: int64 - type: integer - style: simple - - name: edge_function_instance_id - in: path - required: true - style: simple - explode: false - schema: - format: int64 - type: integer - responses: - "204": - description: Successfully deleted - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - patch: - summary: Update some Edge Functions Instance attributes - parameters: - - explode: false - in: path - name: edge_firewall_id - required: true - schema: - format: int64 - type: integer - style: simple - - name: edge_function_instance_id - in: path - required: true - style: simple - explode: false - schema: - format: int64 - type: integer - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateEdgeFunctionsInstanceRequest' - required: true - responses: - "200": - description: Successfully updated - content: - application/json: - schema: - $ref: '#/components/schemas/EdgeFunctionsInstanceResponse' - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "500": - description: Internal Server Error -components: - schemas: - Links: - type: object - properties: - previous: - type: string - next: - type: string - example: - next: next - previous: previous - EdgeFunctionsInstance: - type: object - properties: - id: - type: integer - format: int64 - name: - type: string - last_editor: - type: string - last_modified: - type: string - json_args: {} - edge_function: - type: integer - format: int64 - example: - edge_function: 3254 - name: "New Edge Function Instance" - json_args: {} - id: 1614 - ListEdgeFunctionsInstancesResponse: - type: object - properties: - count: - type: integer - format: int64 - total_pages: - type: integer - format: int64 - schema_version: - type: integer - format: int64 - links: - $ref: '#/components/schemas/Links' - results: - type: array - items: - $ref: '#/components/schemas/EdgeFunctionsInstance' - example: - schema_version: 1 - count: 0 - links: - next: next - previous: previous - total_pages: 6 - results: - - edge_function: 3254 - name: "New Edge Function Instance" - json_args: {} - id: 1614 - - edge_function: 3254 - name: "New Edge Function Instance" - json_args: {} - id: 1614 - CreateEdgeFunctionsInstancesRequest: - type: object - properties: - name: - type: string - example: Edge Functions Instance - edge_function: - type: integer - format: int64 - json_args: - oneOf: - - type: object - - type: array - items: - type: object - EdgeFunctionsInstanceResponse: - type: object - properties: - results: - $ref: '#/components/schemas/EdgeFunctionsInstance' - schema_version: - type: number - example: - schema_version: 0.80082819046101150206595775671303272247314453125 - results: - edge_function: 3254 - name: "New Edge Function Instance" - json_args: {} - id: 1614 - UpdateEdgeFunctionsInstanceRequest: - $ref: '#/components/schemas/CreateEdgeFunctionsInstancesRequest' - securitySchemes: - tokenAuth: - type: apiKey - name: Authorization - in: header - description: | - You must inform a token to auth. - Usage format: `Token ` diff --git a/edgenode.yaml b/edgenode.yaml deleted file mode 100644 index bbfcf4a..0000000 --- a/edgenode.yaml +++ /dev/null @@ -1,600 +0,0 @@ -openapi: 3.0.0 -info: - title: Edge Node API - version: 1.0.0 - license: - name: MIT - url: https://github.com/aziontech/azionapi-openapi/blob/main/LICENSE.md -servers: -- description: Production - url: https://api.azionapi.net -security: -- tokenAuth: [] -paths: - /edge_nodes: - get: - operationId: getEdgeNodes - parameters: - - in: query - name: filter - schema: - type: string - - in: query - name: order_by - schema: - type: string - - in: query - name: sort - schema: - type: string - - in: query - name: only_ids - schema: - type: boolean - - in: query - name: page_size - schema: - format: int64 - type: integer - responses: - "200": - content: - 'application/json; version=3': - schema: - $ref: '#/components/schemas/EdgeNodeResponseWithTotal' - description: OK - "400": - description: Bad Request - "500": - description: Internal Server Error - summary: Return edge-nodes - /edge_nodes/{edgenodeId}: - delete: - operationId: delEdgeNode - parameters: - - in: path - name: edgenodeId - required: true - schema: - format: int64 - type: integer - responses: - "204": - description: No Content - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "500": - description: Internal Server Error - summary: Delete edge-node by ID - get: - operationId: getEdgeNode - parameters: - - in: path - name: edgenodeId - required: true - schema: - format: int64 - type: integer - responses: - "200": - content: - 'application/json; version=3': - schema: - $ref: '#/components/schemas/EdgeNodeDetailResponse' - description: OK - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: Return edge-node by ID - patch: - operationId: updateEdgeNode - parameters: - - in: path - name: edgenodeId - required: true - schema: - format: int64 - type: integer - responses: - "200": - content: - 'application/json; version=3': - schema: - $ref: '#/components/schemas/UpdateEdgeNodeResponse' - description: OK - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: Update edge-node - /edge_nodes/{edgenodeId}/services: - get: - operationId: getEdgeNodeSvcs - parameters: - - in: path - name: edgenodeId - required: true - schema: - format: int64 - type: integer - - in: query - name: is_bound - schema: - type: boolean - - in: query - name: filter - schema: - type: string - - in: query - name: order_by - schema: - type: string - - in: query - name: sort - schema: - type: string - - in: query - name: page - schema: - format: int64 - type: integer - - in: query - name: page_size - schema: - format: int64 - type: integer - responses: - "200": - content: - 'application/json; version=3': - schema: - $ref: '#/components/schemas/ServiceResponseWithTotal' - description: OK - "400": - description: Bad Request - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: Return edge-node Services association - post: - operationId: createEdgeNodeSvcs - parameters: - - in: path - name: edgenodeId - required: true - schema: - format: int64 - type: integer - requestBody: - content: - 'application/json; version=3': - schema: - $ref: '#/components/schemas/ServiceBindRequest' - required: true - responses: - "201": - content: - 'application/json; version=3': - schema: - $ref: '#/components/schemas/ServiceBindDetailResponse' - description: Created - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: Create an edge-node Service association - /edge_nodes/{edgenodeId}/services/{bindId}: - delete: - operationId: delEdgeNodeSvc - parameters: - - in: path - name: edgenodeId - required: true - schema: - format: int64 - type: integer - - in: path - name: bindId - required: true - schema: - format: int64 - type: integer - responses: - "204": - description: No Content - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "500": - description: Internal Server Error - summary: Delete an edge-node Service association - get: - operationId: getEdgeNodeSvcDetail - parameters: - - in: path - name: edgenodeId - required: true - schema: - format: int64 - type: integer - - in: path - name: bindId - required: true - schema: - format: int64 - type: integer - responses: - "200": - content: - 'application/json; version=3': - schema: - $ref: '#/components/schemas/ServiceBindDetailResponse' - description: OK - "400": - description: Bad Request - "404": - description: Not Found - "500": - description: Internal Server Error - summary: Return edge-node Service association by ID - patch: - operationId: updateEdgeNodeSvcDetail - parameters: - - in: path - name: edgenodeId - required: true - schema: - format: int64 - type: integer - - in: path - name: bindId - required: true - schema: - format: int64 - type: integer - requestBody: - content: - 'application/json; version=3': - schema: - $ref: '#/components/schemas/UpdateServiceBindRequest' - required: true - responses: - "200": - content: - 'application/json; version=3': - schema: - $ref: '#/components/schemas/ServiceBindDetailResponse' - description: OK - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: Update edge-node Service association by ID - /edge_nodes/authorize: - patch: - operationId: authorizeEdgeNode - requestBody: - content: - 'application/json; version=3': - schema: - $ref: '#/components/schemas/AuthorizeEdgeNodesRequest' - required: true - responses: - "200": - content: - 'application/json; version=3': - schema: - $ref: '#/components/schemas/AuthorizeEdgeNodesResponse' - description: OK - "400": - description: Bad Request - "422": - description: Unprocessable Entity - summary: Authorize edge-node - /edge_nodes/groups: - get: - operationId: getEdgeNodeGroups - responses: - "200": - content: - 'application/json; version=3': - schema: - items: - $ref: '#/components/schemas/NodeGroupResponse' - type: array - description: OK - "500": - description: Internal Server Error - summary: Return edge-node groups -components: - schemas: - AuthorizeEdgeNodesRequest: - additionalProperties: false - properties: - edge_node_ids: - items: - format: int64 - type: integer - type: array - required: - - edge_node_ids - type: object - AuthorizeEdgeNodesResponse: - additionalProperties: false - properties: - authorized: - items: - format: int64 - type: integer - type: array - errors: - items: - $ref: '#/components/schemas/UnauthorizedEdgeNodeInfo' - type: array - required: - - authorized - - errors - type: object - EdgeNodeDetailResponse: - additionalProperties: false - properties: - groups: - items: - $ref: '#/components/schemas/NodeGroup' - type: array - has_services: - type: boolean - hash_id: - type: string - id: - format: int64 - type: integer - modules: - $ref: '#/components/schemas/EdgeNodeModules' - name: - type: string - required: - - id - - hash_id - - name - - groups - - modules - - has_services - type: object - EdgeNodeModules: - additionalProperties: false - properties: - add_services: - type: boolean - required: - - add_services - type: object - EdgeNodeResponse: - additionalProperties: false - properties: - groups: - items: - $ref: '#/components/schemas/NodeGroup' - type: array - hash_id: - type: string - id: - format: int64 - type: integer - name: - type: string - status: - type: string - required: - - id - type: object - EdgeNodeResponseWithTotal: - additionalProperties: false - properties: - nodes: - items: - $ref: '#/components/schemas/EdgeNodeResponse' - type: array - total: - format: int64 - type: integer - required: - - nodes - - total - type: object - NodeGroup: - additionalProperties: false - properties: - id: - format: int64 - type: integer - name: - type: string - required: - - id - - name - type: object - NodeGroupResponse: - additionalProperties: false - properties: - id: - format: int64 - type: integer - name: - type: string - required: - - id - - name - type: object - ServiceBindDetailResponse: - additionalProperties: false - properties: - id: - format: int64 - type: integer - service_id: - format: int64 - type: integer - service_name: - type: string - variables: - items: - $ref: '#/components/schemas/Variable' - type: array - required: - - id - - service_name - - service_id - - variables - type: object - ServiceBindRequest: - additionalProperties: false - properties: - service_id: - format: int64 - type: integer - variables: - items: - $ref: '#/components/schemas/Variable' - type: array - required: - - service_id - - variables - type: object - ServiceResponse: - additionalProperties: false - properties: - bind_id: - format: int64 - type: integer - is_bound: - format: int64 - type: integer - last_editor: - type: string - name: - type: string - service_id: - format: int64 - type: integer - updated_at: - format: date-time - type: string - required: - - service_id - - name - - is_bound - - bind_id - - updated_at - - last_editor - type: object - ServiceResponseWithTotal: - additionalProperties: false - properties: - services: - items: - $ref: '#/components/schemas/ServiceResponse' - type: array - total: - format: int64 - type: integer - required: - - services - - total - type: object - UnauthorizedEdgeNodeInfo: - additionalProperties: false - properties: - id: - format: int64 - type: integer - reason: - type: string - required: - - id - - reason - type: object - UpdateEdgeNodeResponse: - additionalProperties: false - properties: - groups: - items: - $ref: '#/components/schemas/NodeGroup' - type: array - id: - format: int64 - type: integer - name: - type: string - status: - type: string - required: - - id - - name - - groups - - status - type: object - UpdateServiceBindRequest: - additionalProperties: false - properties: - variables: - items: - $ref: '#/components/schemas/Variable' - type: array - required: - - variables - type: object - Variable: - additionalProperties: false - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - securitySchemes: - tokenAuth: - type: apiKey - name: Authorization - in: header - description: | - You must inform a token to auth. - Usage format: `Token ` diff --git a/iam.yml b/iam.yml deleted file mode 100644 index 599337e..0000000 --- a/iam.yml +++ /dev/null @@ -1,3800 +0,0 @@ -openapi: 3.0.3 -info: - title: API - version: 1.0.0 -paths: - /iam/api/account: - get: - operationId: accountRetrieve - description: '' - tags: - - account - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseAccount' - description: '' - '401': - description: Unauthorized - '403': - description: Forbidden - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - patch: - operationId: accountPartialUpdate - description: '' - tags: - - account - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatchedAccountRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedAccountRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedAccountRequest' - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseAccount' - description: '' - '401': - description: Unauthorized - '403': - description: Forbidden - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseAccount' - description: '' - /iam/api/accounts: - get: - operationId: accountsList - description: '' - parameters: - - in: query - name: account_type - schema: - type: string - enum: - - client - - group - - reseller - description: The type of account to be filtered. - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: page - required: false - in: query - description: A page number within the paginated result set. - schema: - type: integer - - in: query - name: page_size - schema: - type: integer - description: A numeric value that indicates the number of items per page. - - name: search - required: false - in: query - description: A search term. - schema: - type: string - tags: - - accounts - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PaginatedAccountList' - description: '' - '401': - description: Unauthorized - '403': - description: Forbidden - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - post: - operationId: accountsCreate - description: '' - tags: - - accounts - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AccountRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/AccountRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/AccountRequest' - security: - - tokenAuth: [] - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseAccount' - description: '' - '401': - description: Unauthorized - '403': - description: Forbidden - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseAccount' - description: '' - /iam/api/accounts/{id}: - get: - operationId: accountsRetrieve - description: '' - parameters: - - in: path - name: id - schema: - type: string - required: true - tags: - - accounts - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseAccount' - description: '' - '401': - description: Unauthorized - '403': - description: Forbidden - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - put: - operationId: accountsUpdate - description: '' - parameters: - - in: path - name: id - schema: - type: string - required: true - tags: - - accounts - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/AccountRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/AccountRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/AccountRequest' - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseAccount' - description: '' - '401': - description: Unauthorized - '403': - description: Forbidden - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseAccount' - description: '' - patch: - operationId: accountsPartialUpdate - description: '' - parameters: - - in: path - name: id - schema: - type: string - required: true - tags: - - accounts - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatchedAccountRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedAccountRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedAccountRequest' - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseAccount' - description: '' - '401': - description: Unauthorized - '403': - description: Forbidden - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseAccount' - description: '' - /iam/api/additional_data: - get: - operationId: additionalDataRetrieve - description: '' - tags: - - additional_data - security: - - tokenAuth: [] - responses: - '200': - description: No response body - /iam/api/identity_providers: - get: - operationId: identityProvidersRetrieve - description: '' - tags: - - identity_providers - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/OIDCIdP' - description: '' - /iam/api/identity_providers/oidc: - post: - operationId: identityProvidersOidcCreate - description: '' - tags: - - identity_providers - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/OIDCIdPRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/OIDCIdPRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/OIDCIdPRequest' - required: true - security: - - tokenAuth: [] - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/OIDCIdP' - description: '' - /iam/api/identity_providers/oidc/{uuid}: - get: - operationId: identityProvidersOidcRetrieve - description: '' - parameters: - - in: path - name: uuid - schema: - type: string - required: true - tags: - - identity_providers - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/OIDCIdP' - description: '' - put: - operationId: identityProvidersOidcUpdate - description: '' - parameters: - - in: path - name: uuid - schema: - type: string - required: true - tags: - - identity_providers - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/OIDCIdPRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/OIDCIdPRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/OIDCIdPRequest' - required: true - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/OIDCIdP' - description: '' - patch: - operationId: identityProvidersOidcPartialUpdate - description: '' - parameters: - - in: path - name: uuid - schema: - type: string - required: true - tags: - - identity_providers - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatchedOIDCIdPRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedOIDCIdPRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedOIDCIdPRequest' - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/OIDCIdP' - description: '' - delete: - operationId: identityProvidersOidcDestroy - description: '' - parameters: - - in: path - name: uuid - schema: - type: string - required: true - tags: - - identity_providers - security: - - tokenAuth: [] - responses: - '204': - description: No response body - /iam/api/identity_providers/saml2: - post: - operationId: identityProvidersSaml2Create - description: '' - tags: - - identity_providers - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SAMLIdPRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/SAMLIdPRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/SAMLIdPRequest' - required: true - security: - - tokenAuth: [] - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/SAMLIdP' - description: '' - /iam/api/identity_providers/saml2/{uuid}: - get: - operationId: identityProvidersSaml2Retrieve - description: '' - parameters: - - in: path - name: uuid - schema: - type: string - required: true - tags: - - identity_providers - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/SAMLIdP' - description: '' - put: - operationId: identityProvidersSaml2Update - description: '' - parameters: - - in: path - name: uuid - schema: - type: string - required: true - tags: - - identity_providers - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SAMLIdPRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/SAMLIdPRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/SAMLIdPRequest' - required: true - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/SAMLIdP' - description: '' - patch: - operationId: identityProvidersSaml2PartialUpdate - description: '' - parameters: - - in: path - name: uuid - schema: - type: string - required: true - tags: - - identity_providers - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatchedSAMLIdPRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedSAMLIdPRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedSAMLIdPRequest' - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/SAMLIdP' - description: '' - delete: - operationId: identityProvidersSaml2Destroy - description: '' - parameters: - - in: path - name: uuid - schema: - type: string - required: true - tags: - - identity_providers - security: - - tokenAuth: [] - responses: - '204': - description: No response body - /iam/api/identity_providers/social: - get: - operationId: identityProvidersSocialRetrieve - description: '' - tags: - - identity_providers - security: - - tokenAuth: [] - - {} - responses: - '200': - description: No response body - /iam/api/permissions: - get: - operationId: permissionsList - description: '' - parameters: - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: page - 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: search - required: false - in: query - description: A search term. - schema: - type: string - tags: - - permissions - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PaginatedPermissionList' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - /iam/api/personal_tokens: - get: - operationId: personalTokensList - description: '' - parameters: - - name: page - 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: search - required: false - in: query - description: A search term. - schema: - type: string - tags: - - personal_tokens - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PaginatedPersonalTokenList' - description: '' - post: - operationId: personalTokensCreate - description: '' - tags: - - personal_tokens - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PersonalTokenRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PersonalTokenRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/PersonalTokenRequest' - required: true - security: - - tokenAuth: [] - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/PersonalToken' - description: '' - /iam/api/personal_tokens/{uuid}: - get: - operationId: personalTokensRetrieve - description: '' - parameters: - - in: path - name: uuid - schema: - type: string - format: uuid - required: true - tags: - - personal_tokens - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PersonalToken' - description: '' - delete: - operationId: personalTokensDestroy - description: '' - parameters: - - in: path - name: uuid - schema: - type: string - format: uuid - required: true - tags: - - personal_tokens - security: - - tokenAuth: [] - responses: - '204': - description: No response body - /iam/api/teams: - get: - operationId: teamsList - description: '' - parameters: - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: page - 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: search - required: false - in: query - description: A search term. - schema: - type: string - tags: - - teams - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PaginatedTeamList' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - post: - operationId: teamsCreate - description: '' - tags: - - teams - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TeamRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TeamRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/TeamRequest' - required: true - security: - - tokenAuth: [] - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseTeam' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseTeam' - description: '' - /iam/api/teams/{id}: - get: - operationId: teamsRetrieve - description: '' - parameters: - - in: path - name: id - schema: - type: string - required: true - tags: - - teams - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseTeam' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - put: - operationId: teamsUpdate - description: '' - parameters: - - in: path - name: id - schema: - type: string - required: true - tags: - - teams - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/TeamRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/TeamRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/TeamRequest' - required: true - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseTeam' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseTeam' - description: '' - patch: - operationId: teamsPartialUpdate - description: '' - parameters: - - in: path - name: id - schema: - type: string - required: true - tags: - - teams - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatchedTeamRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedTeamRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedTeamRequest' - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseTeam' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseTeam' - description: '' - delete: - operationId: teamsDestroy - description: '' - parameters: - - in: path - name: id - schema: - type: string - required: true - tags: - - teams - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseDeleteTeam' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseTeam' - description: '' - /iam/api/user: - get: - operationId: userRetrieve - description: '' - tags: - - user - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseUserPreferences' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - patch: - operationId: userPartialUpdate - description: '' - tags: - - user - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatchedUserPreferencesRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedUserPreferencesRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedUserPreferencesRequest' - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseUserPreferences' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseUserPreferences' - description: '' - /iam/api/user/password: - post: - operationId: userPasswordCreate - description: '' - tags: - - user - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/SetNewPasswordRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/SetNewPasswordRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/SetNewPasswordRequest' - required: true - security: - - tokenAuth: [] - - {} - responses: - '200': - description: No response body - /iam/api/users: - get: - operationId: usersList - description: '' - parameters: - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: page - 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: search - required: false - in: query - description: A search term. - schema: - type: string - tags: - - users - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PaginatedCustomUserList' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - post: - operationId: usersCreate - description: '' - tags: - - users - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CustomUserRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CustomUserRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/CustomUserRequest' - required: true - security: - - tokenAuth: [] - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseCustomUser' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseCustomUser' - description: '' - /iam/api/users/{id}: - get: - operationId: usersRetrieve - description: '' - parameters: - - in: path - name: id - schema: - type: string - required: true - tags: - - users - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseCustomUser' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - put: - operationId: usersUpdate - description: '' - parameters: - - in: path - name: id - schema: - type: string - required: true - tags: - - users - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CustomUserRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/CustomUserRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/CustomUserRequest' - required: true - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseCustomUser' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseCustomUser' - description: '' - patch: - operationId: usersPartialUpdate - description: '' - parameters: - - in: path - name: id - schema: - type: string - required: true - tags: - - users - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatchedCustomUserRequest' - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/PatchedCustomUserRequest' - multipart/form-data: - schema: - $ref: '#/components/schemas/PatchedCustomUserRequest' - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseCustomUser' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseCustomUser' - description: '' - delete: - operationId: usersDestroy - description: '' - parameters: - - in: path - name: id - schema: - type: string - required: true - tags: - - users - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseDeleteCustomUser' - description: '' - '400': - description: Bad Request - '404': - description: Not Found - '406': - description: Not Acceptable - '429': - description: Too Many Requests - '401': - description: Unauthorized - '403': - description: Forbidden - '202': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseCustomUser' - description: '' -components: - schemas: - Account: - oneOf: - - $ref: '#/components/schemas/Client' - - $ref: '#/components/schemas/Brand' - - $ref: '#/components/schemas/Group' - - $ref: '#/components/schemas/Reseller' - discriminator: - propertyName: account_type - mapping: - client: '#/components/schemas/Client' - brand: '#/components/schemas/Brand' - group: '#/components/schemas/Group' - reseller: '#/components/schemas/Reseller' - additionalProperties: false - AccountRequest: - oneOf: - - $ref: '#/components/schemas/ClientRequest' - - $ref: '#/components/schemas/BrandRequest' - - $ref: '#/components/schemas/GroupRequest' - - $ref: '#/components/schemas/ResellerRequest' - discriminator: - propertyName: account_type - mapping: - client: '#/components/schemas/ClientRequest' - brand: '#/components/schemas/BrandRequest' - group: '#/components/schemas/GroupRequest' - reseller: '#/components/schemas/ResellerRequest' - additionalProperties: false - Brand: - type: object - properties: - id: - type: integer - readOnly: true - name: - type: string - maxLength: 150 - company_name: - type: string - maxLength: 150 - is_active: - type: boolean - title: Active - unique_identifier: - type: string - maxLength: 20 - is_social_login_enabled: - type: boolean - title: Social Login - description: If this field is checked, the Social Login will be available - to all users in this account. - is_enabled_mfa_to_all_users: - type: boolean - title: Enforce Multi-Factor Authentication - description: If this field is checked, the MFA will be mandatory for all - users of this account. - is_deleted: - type: boolean - readOnly: true - title: Deleted - parent_id: - type: integer - nullable: true - readOnly: true - required: - - id - - is_deleted - - name - - parent_id - additionalProperties: false - BrandRequest: - type: object - properties: - name: - type: string - maxLength: 150 - company_name: - type: string - maxLength: 150 - is_active: - type: boolean - title: Active - unique_identifier: - type: string - maxLength: 20 - is_social_login_enabled: - type: boolean - title: Social Login - description: If this field is checked, the Social Login will be available - to all users in this account. - is_enabled_mfa_to_all_users: - type: boolean - title: Enforce Multi-Factor Authentication - description: If this field is checked, the MFA will be mandatory for all - users of this account. - required: - - name - additionalProperties: false - Client: - type: object - properties: - id: - type: integer - readOnly: true - name: - type: string - maxLength: 150 - company_name: - type: string - maxLength: 150 - is_active: - type: boolean - title: Active - unique_identifier: - type: string - maxLength: 20 - is_social_login_enabled: - type: boolean - title: Social Login - description: If this field is checked, the Social Login will be available - to all users in this account. - is_enabled_mfa_to_all_users: - type: boolean - title: Enforce Multi-Factor Authentication - description: If this field is checked, the MFA will be mandatory for all - users of this account. - company_size: - type: string - nullable: true - maxLength: 50 - job_function: - type: string - nullable: true - maxLength: 50 - country: - type: string - readOnly: true - first_login: - type: boolean - address: - type: string - maxLength: 150 - complement: - type: string - nullable: true - maxLength: 150 - city: - type: string - postal_code: - type: string - nullable: true - maxLength: 15 - region: - type: string - readOnly: true - role: - type: string - nullable: true - maxLength: 50 - client_id: - type: string - readOnly: true - billing_emails: - type: string - nullable: true - maxLength: 255 - status: - $ref: '#/components/schemas/StatusEnum' - is_trustworthy: - type: boolean - is_deleted: - type: boolean - readOnly: true - title: Deleted - map_group_id: - type: integer - nullable: true - parent_id: - type: integer - nullable: true - readOnly: true - required: - - address - - city - - client_id - - country - - id - - is_deleted - - name - - parent_id - - region - additionalProperties: false - ClientRequest: - type: object - properties: - name: - type: string - maxLength: 150 - company_name: - type: string - maxLength: 150 - is_active: - type: boolean - title: Active - unique_identifier: - type: string - maxLength: 20 - is_social_login_enabled: - type: boolean - title: Social Login - description: If this field is checked, the Social Login will be available - to all users in this account. - is_enabled_mfa_to_all_users: - type: boolean - title: Enforce Multi-Factor Authentication - description: If this field is checked, the MFA will be mandatory for all - users of this account. - company_size: - type: string - nullable: true - maxLength: 50 - job_function: - type: string - nullable: true - maxLength: 50 - first_login: - type: boolean - address: - type: string - maxLength: 150 - complement: - type: string - nullable: true - maxLength: 150 - city: - type: string - postal_code: - type: string - nullable: true - maxLength: 15 - role: - type: string - nullable: true - maxLength: 50 - billing_emails: - type: string - nullable: true - maxLength: 255 - status: - $ref: '#/components/schemas/StatusEnum' - is_trustworthy: - type: boolean - map_group_id: - type: integer - nullable: true - required: - - address - - city - - name - additionalProperties: false - CustomUser: - type: object - properties: - id: - type: integer - readOnly: true - last_login: - type: string - format: date-time - readOnly: true - first_name: - type: string - maxLength: 30 - last_name: - type: string - maxLength: 30 - email: - type: string - format: email - maxLength: 254 - is_staff: - type: boolean - readOnly: true - title: Staff Status - is_active: - type: boolean - readOnly: true - title: Active - phone: - type: string - maxLength: 21 - pattern: ^[+\d()\-/.\s]*$ - country_call_code: - type: string - maxLength: 20 - mobile: - type: string - maxLength: 21 - pattern: ^[+\d()\-/.\s]*$ - date_joined: - type: string - format: date-time - readOnly: true - timezone: - $ref: '#/components/schemas/TimezoneEnum' - language: - allOf: - - $ref: '#/components/schemas/LanguageEnum' - readOnly: true - is_trial: - type: boolean - readOnly: true - title: Trial - two_factor_enabled: - type: boolean - title: Two-Factor - is_account_owner: - type: boolean - default: false - teams: - type: array - items: - $ref: '#/components/schemas/UserTeams' - readOnly: true - required: - - date_joined - - email - - first_name - - id - - is_active - - is_staff - - is_trial - - language - - last_login - - last_name - - teams - additionalProperties: false - CustomUserRequest: - type: object - properties: - first_name: - type: string - maxLength: 30 - last_name: - type: string - maxLength: 30 - email: - type: string - format: email - maxLength: 254 - phone: - type: string - maxLength: 21 - pattern: ^[+\d()\-/.\s]*$ - country_call_code: - type: string - maxLength: 20 - mobile: - type: string - maxLength: 21 - pattern: ^[+\d()\-/.\s]*$ - timezone: - $ref: '#/components/schemas/TimezoneEnum' - two_factor_enabled: - type: boolean - title: Two-Factor - is_account_owner: - type: boolean - default: false - password: - type: string - writeOnly: true - maxLength: 128 - teams_ids: - type: array - items: - type: integer - writeOnly: true - default: [] - required: - - email - - first_name - - last_name - additionalProperties: false - Group: - type: object - properties: - id: - type: integer - readOnly: true - name: - type: string - maxLength: 150 - company_name: - type: string - maxLength: 150 - is_active: - type: boolean - title: Active - unique_identifier: - type: string - maxLength: 20 - is_social_login_enabled: - type: boolean - title: Social Login - description: If this field is checked, the Social Login will be available - to all users in this account. - is_enabled_mfa_to_all_users: - type: boolean - title: Enforce Multi-Factor Authentication - description: If this field is checked, the MFA will be mandatory for all - users of this account. - company_size: - type: string - nullable: true - maxLength: 50 - job_function: - type: string - nullable: true - maxLength: 50 - country: - type: string - readOnly: true - first_login: - type: boolean - address: - type: string - maxLength: 150 - complement: - type: string - nullable: true - maxLength: 150 - city: - type: string - postal_code: - type: string - nullable: true - maxLength: 15 - region: - type: string - readOnly: true - role: - type: string - nullable: true - maxLength: 50 - billing_emails: - type: string - nullable: true - maxLength: 255 - online_sales_region_id: - type: integer - nullable: true - is_online_reseller: - type: boolean - title: Online Groups - code: - type: string - title: Groups Code - maxLength: 10 - is_deleted: - type: boolean - readOnly: true - title: Deleted - parent_id: - type: integer - nullable: true - readOnly: true - required: - - address - - city - - country - - id - - is_deleted - - name - - parent_id - - region - additionalProperties: false - GroupRequest: - type: object - properties: - name: - type: string - maxLength: 150 - company_name: - type: string - maxLength: 150 - is_active: - type: boolean - title: Active - unique_identifier: - type: string - maxLength: 20 - is_social_login_enabled: - type: boolean - title: Social Login - description: If this field is checked, the Social Login will be available - to all users in this account. - is_enabled_mfa_to_all_users: - type: boolean - title: Enforce Multi-Factor Authentication - description: If this field is checked, the MFA will be mandatory for all - users of this account. - company_size: - type: string - nullable: true - maxLength: 50 - job_function: - type: string - nullable: true - maxLength: 50 - first_login: - type: boolean - address: - type: string - maxLength: 150 - complement: - type: string - nullable: true - maxLength: 150 - city: - type: string - postal_code: - type: string - nullable: true - maxLength: 15 - role: - type: string - nullable: true - maxLength: 50 - billing_emails: - type: string - nullable: true - maxLength: 255 - online_sales_region_id: - type: integer - nullable: true - is_online_reseller: - type: boolean - title: Online Groups - code: - type: string - title: Groups Code - maxLength: 10 - required: - - address - - city - - name - additionalProperties: false - LanguageEnum: - enum: - - af - - ar - - ar-dz - - ast - - az - - bg - - be - - bn - - br - - bs - - ca - - cs - - cy - - da - - de - - dsb - - el - - en - - en-au - - en-gb - - eo - - es - - es-ar - - es-co - - es-mx - - es-ni - - es-ve - - et - - eu - - fa - - fi - - fr - - fy - - ga - - gd - - gl - - he - - hi - - hr - - hsb - - hu - - hy - - ia - - id - - ig - - io - - is - - it - - ja - - ka - - kab - - kk - - km - - kn - - ko - - ky - - lb - - lt - - lv - - mk - - ml - - mn - - mr - - my - - nb - - ne - - nl - - nn - - os - - pa - - pl - - pt - - pt-br - - ro - - ru - - sk - - sl - - sq - - sr - - sr-latn - - sv - - sw - - ta - - te - - tg - - th - - tk - - tr - - tt - - udm - - uk - - ur - - uz - - vi - - zh-hans - - zh-hant - type: string - additionalProperties: false - OIDCIdP: - type: object - properties: - uuid: - type: string - format: uuid - readOnly: true - name: - type: string - maxLength: 50 - is_active: - type: boolean - authorization_url: - type: string - format: uri - maxLength: 250 - userinfo_url: - type: string - format: uri - maxLength: 250 - token_url: - type: string - format: uri - maxLength: 250 - client_id: - type: string - maxLength: 256 - scopes: - type: array - items: - type: string - login_url: - type: string - readOnly: true - redirect_url: - type: string - readOnly: true - response_mode: - allOf: - - $ref: '#/components/schemas/ResponseModeEnum' - readOnly: true - required: - - authorization_url - - client_id - - is_active - - login_url - - name - - redirect_url - - response_mode - - scopes - - token_url - - userinfo_url - - uuid - additionalProperties: false - OIDCIdPRequest: - type: object - properties: - name: - type: string - maxLength: 50 - is_active: - type: boolean - authorization_url: - type: string - format: uri - maxLength: 250 - userinfo_url: - type: string - format: uri - maxLength: 250 - token_url: - type: string - format: uri - maxLength: 250 - client_id: - type: string - maxLength: 256 - client_secret: - type: string - writeOnly: true - maxLength: 256 - scopes: - type: array - items: - type: string - required: - - authorization_url - - client_id - - client_secret - - is_active - - name - - scopes - - token_url - - userinfo_url - additionalProperties: false - PaginatedAccountList: - type: object - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/Account' - additionalProperties: false - PaginatedCustomUserList: - type: object - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/CustomUser' - additionalProperties: false - PaginatedPermissionList: - type: object - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/Permission' - additionalProperties: false - PaginatedPersonalTokenList: - type: object - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/PersonalToken' - additionalProperties: false - PaginatedTeamList: - type: object - properties: - count: - type: integer - example: 123 - next: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=4 - previous: - type: string - nullable: true - format: uri - example: http://api.example.org/accounts/?page=2 - results: - type: array - items: - $ref: '#/components/schemas/Team' - additionalProperties: false - PatchedAccountRequest: - oneOf: - - $ref: '#/components/schemas/PatchedClientRequest' - - $ref: '#/components/schemas/PatchedBrandRequest' - - $ref: '#/components/schemas/PatchedGroupRequest' - - $ref: '#/components/schemas/PatchedResellerRequest' - discriminator: - propertyName: account_type - mapping: - client: '#/components/schemas/PatchedClientRequest' - brand: '#/components/schemas/PatchedBrandRequest' - group: '#/components/schemas/PatchedGroupRequest' - reseller: '#/components/schemas/PatchedResellerRequest' - additionalProperties: false - PatchedBrandRequest: - type: object - properties: - name: - type: string - maxLength: 150 - company_name: - type: string - maxLength: 150 - is_active: - type: boolean - title: Active - unique_identifier: - type: string - maxLength: 20 - is_social_login_enabled: - type: boolean - title: Social Login - description: If this field is checked, the Social Login will be available - to all users in this account. - is_enabled_mfa_to_all_users: - type: boolean - title: Enforce Multi-Factor Authentication - description: If this field is checked, the MFA will be mandatory for all - users of this account. - additionalProperties: false - PatchedClientRequest: - type: object - properties: - name: - type: string - maxLength: 150 - company_name: - type: string - maxLength: 150 - is_active: - type: boolean - title: Active - unique_identifier: - type: string - maxLength: 20 - is_social_login_enabled: - type: boolean - title: Social Login - description: If this field is checked, the Social Login will be available - to all users in this account. - is_enabled_mfa_to_all_users: - type: boolean - title: Enforce Multi-Factor Authentication - description: If this field is checked, the MFA will be mandatory for all - users of this account. - company_size: - type: string - nullable: true - maxLength: 50 - job_function: - type: string - nullable: true - maxLength: 50 - first_login: - type: boolean - address: - type: string - maxLength: 150 - complement: - type: string - nullable: true - maxLength: 150 - city: - type: string - postal_code: - type: string - nullable: true - maxLength: 15 - role: - type: string - nullable: true - maxLength: 50 - billing_emails: - type: string - nullable: true - maxLength: 255 - status: - $ref: '#/components/schemas/StatusEnum' - is_trustworthy: - type: boolean - map_group_id: - type: integer - nullable: true - additionalProperties: false - PatchedCustomUserRequest: - type: object - properties: - first_name: - type: string - maxLength: 30 - last_name: - type: string - maxLength: 30 - email: - type: string - format: email - maxLength: 254 - phone: - type: string - maxLength: 21 - pattern: ^[+\d()\-/.\s]*$ - country_call_code: - type: string - maxLength: 20 - mobile: - type: string - maxLength: 21 - pattern: ^[+\d()\-/.\s]*$ - timezone: - $ref: '#/components/schemas/TimezoneEnum' - two_factor_enabled: - type: boolean - title: Two-Factor - is_account_owner: - type: boolean - default: false - password: - type: string - writeOnly: true - maxLength: 128 - teams_ids: - type: array - items: - type: integer - writeOnly: true - default: [] - additionalProperties: false - PatchedGroupRequest: - type: object - properties: - name: - type: string - maxLength: 150 - company_name: - type: string - maxLength: 150 - is_active: - type: boolean - title: Active - unique_identifier: - type: string - maxLength: 20 - is_social_login_enabled: - type: boolean - title: Social Login - description: If this field is checked, the Social Login will be available - to all users in this account. - is_enabled_mfa_to_all_users: - type: boolean - title: Enforce Multi-Factor Authentication - description: If this field is checked, the MFA will be mandatory for all - users of this account. - company_size: - type: string - nullable: true - maxLength: 50 - job_function: - type: string - nullable: true - maxLength: 50 - first_login: - type: boolean - address: - type: string - maxLength: 150 - complement: - type: string - nullable: true - maxLength: 150 - city: - type: string - postal_code: - type: string - nullable: true - maxLength: 15 - role: - type: string - nullable: true - maxLength: 50 - billing_emails: - type: string - nullable: true - maxLength: 255 - online_sales_region_id: - type: integer - nullable: true - is_online_reseller: - type: boolean - title: Online Groups - code: - type: string - title: Groups Code - maxLength: 10 - additionalProperties: false - PatchedOIDCIdPRequest: - type: object - properties: - name: - type: string - maxLength: 50 - is_active: - type: boolean - authorization_url: - type: string - format: uri - maxLength: 250 - userinfo_url: - type: string - format: uri - maxLength: 250 - token_url: - type: string - format: uri - maxLength: 250 - client_id: - type: string - maxLength: 256 - client_secret: - type: string - writeOnly: true - maxLength: 256 - scopes: - type: array - items: - type: string - additionalProperties: false - PatchedResellerRequest: - type: object - properties: - name: - type: string - maxLength: 150 - company_name: - type: string - maxLength: 150 - is_active: - type: boolean - title: Active - unique_identifier: - type: string - maxLength: 20 - is_social_login_enabled: - type: boolean - title: Social Login - description: If this field is checked, the Social Login will be available - to all users in this account. - is_enabled_mfa_to_all_users: - type: boolean - title: Enforce Multi-Factor Authentication - description: If this field is checked, the MFA will be mandatory for all - users of this account. - company_size: - type: string - nullable: true - maxLength: 50 - job_function: - type: string - nullable: true - maxLength: 50 - first_login: - type: boolean - address: - type: string - maxLength: 150 - complement: - type: string - nullable: true - maxLength: 150 - city: - type: string - postal_code: - type: string - nullable: true - maxLength: 15 - role: - type: string - nullable: true - maxLength: 50 - currency_iso_code: - type: string - title: Currency of Bills - maxLength: 3 - terms_of_service_url: - type: string - format: uri - maxLength: 150 - additionalProperties: false - PatchedSAMLIdPRequest: - type: object - properties: - name: - type: string - maxLength: 50 - is_active: - type: boolean - sign_in_url: - type: string - format: uri - maxLength: 250 - entity_id_url: - type: string - format: uri - maxLength: 250 - certificate: - type: string - writeOnly: true - pattern: -{5}BEGIN CERTIFICATE-{5}\s+[^-]+-{5}END CERTIFICATE-{5} - maxLength: 4096 - additionalProperties: false - PatchedTeamRequest: - type: object - properties: - name: - type: string - maxLength: 100 - is_active: - type: boolean - title: Active - permissions_ids: - type: array - items: - type: integer - writeOnly: true - additionalProperties: false - PatchedUserPreferencesRequest: - type: object - properties: - first_name: - type: string - maxLength: 30 - last_name: - type: string - maxLength: 30 - email: - type: string - format: email - maxLength: 254 - phone: - type: string - maxLength: 21 - pattern: ^[+\d()\-/.\s]*$ - country_call_code: - type: string - maxLength: 20 - mobile: - type: string - maxLength: 21 - pattern: ^[+\d()\-/.\s]*$ - timezone: - $ref: '#/components/schemas/TimezoneEnum' - two_factor_enabled: - type: boolean - title: Two-Factor - is_account_owner: - type: boolean - password: - type: string - writeOnly: true - maxLength: 128 - old_password: - type: string - writeOnly: true - teams_ids: - type: array - items: - type: integer - writeOnly: true - default: [] - additionalProperties: false - Permission: - type: object - properties: - id: - type: integer - readOnly: true - name: - type: string - maxLength: 100 - slug: - type: string - maxLength: 100 - group: - type: string - maxLength: 100 - required: - - group - - id - - name - - slug - additionalProperties: false - PermissionRequest: - type: object - properties: - name: - type: string - maxLength: 100 - slug: - type: string - maxLength: 100 - group: - type: string - maxLength: 100 - required: - - group - - name - - slug - additionalProperties: false - PersonalToken: - type: object - properties: - uuid: - type: string - format: uuid - readOnly: true - name: - type: string - maxLength: 100 - key: - type: string - readOnly: true - user_id: - type: integer - readOnly: true - created: - type: string - format: date-time - expires_at: - type: string - format: date-time - description: - type: string - nullable: true - maxLength: 256 - required: - - created - - expires_at - - key - - name - - user_id - - uuid - additionalProperties: false - PersonalTokenRequest: - type: object - properties: - name: - type: string - maxLength: 100 - created: - type: string - format: date-time - expires_at: - type: string - format: date-time - description: - type: string - nullable: true - maxLength: 256 - required: - - created - - expires_at - - name - additionalProperties: false - Reseller: - type: object - properties: - id: - type: integer - readOnly: true - name: - type: string - maxLength: 150 - company_name: - type: string - maxLength: 150 - is_active: - type: boolean - title: Active - unique_identifier: - type: string - maxLength: 20 - is_social_login_enabled: - type: boolean - title: Social Login - description: If this field is checked, the Social Login will be available - to all users in this account. - is_enabled_mfa_to_all_users: - type: boolean - title: Enforce Multi-Factor Authentication - description: If this field is checked, the MFA will be mandatory for all - users of this account. - company_size: - type: string - nullable: true - maxLength: 50 - job_function: - type: string - nullable: true - maxLength: 50 - country: - type: string - readOnly: true - first_login: - type: boolean - address: - type: string - maxLength: 150 - complement: - type: string - nullable: true - maxLength: 150 - city: - type: string - postal_code: - type: string - nullable: true - maxLength: 15 - region: - type: string - readOnly: true - role: - type: string - nullable: true - maxLength: 50 - currency_iso_code: - type: string - title: Currency of Bills - maxLength: 3 - terms_of_service_url: - type: string - format: uri - maxLength: 150 - is_deleted: - type: boolean - readOnly: true - title: Deleted - parent_id: - type: integer - nullable: true - readOnly: true - required: - - address - - city - - country - - currency_iso_code - - id - - is_deleted - - name - - parent_id - - region - - terms_of_service_url - additionalProperties: false - ResellerRequest: - type: object - properties: - name: - type: string - maxLength: 150 - company_name: - type: string - maxLength: 150 - is_active: - type: boolean - title: Active - unique_identifier: - type: string - maxLength: 20 - is_social_login_enabled: - type: boolean - title: Social Login - description: If this field is checked, the Social Login will be available - to all users in this account. - is_enabled_mfa_to_all_users: - type: boolean - title: Enforce Multi-Factor Authentication - description: If this field is checked, the MFA will be mandatory for all - users of this account. - company_size: - type: string - nullable: true - maxLength: 50 - job_function: - type: string - nullable: true - maxLength: 50 - first_login: - type: boolean - address: - type: string - maxLength: 150 - complement: - type: string - nullable: true - maxLength: 150 - city: - type: string - postal_code: - type: string - nullable: true - maxLength: 15 - role: - type: string - nullable: true - maxLength: 50 - currency_iso_code: - type: string - title: Currency of Bills - maxLength: 3 - terms_of_service_url: - type: string - format: uri - maxLength: 150 - required: - - address - - city - - currency_iso_code - - name - - terms_of_service_url - additionalProperties: false - ResponseAccount: - type: object - properties: - state: - $ref: '#/components/schemas/StateEnum' - data: - $ref: '#/components/schemas/Account' - required: - - data - - state - additionalProperties: false - ResponseCustomUser: - type: object - properties: - state: - $ref: '#/components/schemas/StateEnum' - data: - $ref: '#/components/schemas/CustomUser' - required: - - data - - state - additionalProperties: false - ResponseDeleteCustomUser: - type: object - properties: - state: - $ref: '#/components/schemas/StateEnum' - data: - allOf: - - $ref: '#/components/schemas/CustomUser' - nullable: true - required: - - data - - state - additionalProperties: false - ResponseDeleteTeam: - type: object - properties: - state: - $ref: '#/components/schemas/StateEnum' - data: - allOf: - - $ref: '#/components/schemas/Team' - nullable: true - required: - - data - - state - additionalProperties: false - ResponseModeEnum: - enum: - - post - - query - - fragment - type: string - additionalProperties: false - ResponseTeam: - type: object - properties: - state: - $ref: '#/components/schemas/StateEnum' - data: - $ref: '#/components/schemas/Team' - required: - - data - - state - additionalProperties: false - ResponseUserPreferences: - type: object - properties: - state: - $ref: '#/components/schemas/StateEnum' - data: - $ref: '#/components/schemas/UserPreferences' - required: - - data - - state - additionalProperties: false - SAMLIdP: - type: object - properties: - uuid: - type: string - format: uuid - readOnly: true - name: - type: string - maxLength: 50 - is_active: - type: boolean - sign_in_url: - type: string - format: uri - maxLength: 250 - entity_id_url: - type: string - format: uri - maxLength: 250 - login_url: - type: string - readOnly: true - acs_url: - type: string - readOnly: true - metadata_url: - type: string - readOnly: true - signature_algorithm: - allOf: - - $ref: '#/components/schemas/SignatureAlgorithmEnum' - readOnly: true - description: Type of signature algorithm used by the IdP to sign SAML Responses/Assertions. - required: - - acs_url - - entity_id_url - - is_active - - login_url - - metadata_url - - name - - sign_in_url - - signature_algorithm - - uuid - additionalProperties: false - SAMLIdPRequest: - type: object - properties: - name: - type: string - maxLength: 50 - is_active: - type: boolean - sign_in_url: - type: string - format: uri - maxLength: 250 - entity_id_url: - type: string - format: uri - maxLength: 250 - certificate: - type: string - writeOnly: true - pattern: -{5}BEGIN CERTIFICATE-{5}\s+[^-]+-{5}END CERTIFICATE-{5} - maxLength: 4096 - required: - - certificate - - entity_id_url - - is_active - - name - - sign_in_url - additionalProperties: false - SetNewPasswordRequest: - type: object - properties: - token: - type: string - writeOnly: true - maxLength: 50 - pattern: '[0-9A-Za-z]{1,13}-[0-9A-Za-z]{1,20}' - password: - type: string - writeOnly: true - maxLength: 100 - required: - - password - - token - additionalProperties: false - SignatureAlgorithmEnum: - enum: - - sha-1 - - sha-256 - type: string - additionalProperties: false - StateEnum: - enum: - - pending - - executed - type: string - additionalProperties: false - StatusEnum: - enum: - - REGULAR - - TRIAL - - BLOCKED - - ONLINE - - DEFAULTING - type: string - additionalProperties: false - Team: - type: object - properties: - id: - type: integer - readOnly: true - name: - type: string - maxLength: 100 - permissions: - type: array - items: - $ref: '#/components/schemas/Permission' - readOnly: true - is_active: - type: boolean - title: Active - required: - - id - - name - - permissions - additionalProperties: false - TeamRequest: - type: object - properties: - name: - type: string - maxLength: 100 - is_active: - type: boolean - title: Active - permissions_ids: - type: array - items: - type: integer - writeOnly: true - required: - - name - - permissions_ids - additionalProperties: false - TimezoneEnum: - enum: - - Etc/GMT+12 - - Etc/GMT+11 - - Pacific/Midway - - Pacific/Niue - - Pacific/Pago_Pago - - Pacific/Samoa - - US/Samoa - - America/Adak - - America/Atka - - Etc/GMT+10 - - HST - - Pacific/Honolulu - - Pacific/Johnston - - Pacific/Rarotonga - - Pacific/Tahiti - - US/Aleutian - - US/Hawaii - - Pacific/Marquesas - - America/Anchorage - - America/Juneau - - America/Metlakatla - - America/Nome - - America/Sitka - - America/Yakutat - - Etc/GMT+9 - - Pacific/Gambier - - US/Alaska - - America/Ensenada - - America/Los_Angeles - - America/Santa_Isabel - - America/Tijuana - - America/Vancouver - - Canada/Pacific - - Etc/GMT+8 - - Mexico/BajaNorte - - PST8PDT - - Pacific/Pitcairn - - US/Pacific - - America/Boise - - America/Cambridge_Bay - - America/Chihuahua - - America/Creston - - America/Dawson - - America/Dawson_Creek - - America/Denver - - America/Edmonton - - America/Fort_Nelson - - America/Hermosillo - - America/Inuvik - - America/Mazatlan - - America/Ojinaga - - America/Phoenix - - America/Shiprock - - America/Whitehorse - - America/Yellowknife - - Canada/Mountain - - Canada/Yukon - - Etc/GMT+7 - - MST - - MST7MDT - - Mexico/BajaSur - - Navajo - - US/Arizona - - US/Mountain - - America/Bahia_Banderas - - America/Belize - - America/Chicago - - America/Costa_Rica - - America/El_Salvador - - America/Guatemala - - America/Indiana/Knox - - America/Indiana/Tell_City - - America/Knox_IN - - America/Managua - - America/Matamoros - - America/Menominee - - America/Merida - - America/Mexico_City - - America/Monterrey - - America/North_Dakota/Beulah - - America/North_Dakota/Center - - America/North_Dakota/New_Salem - - America/Rainy_River - - America/Rankin_Inlet - - America/Regina - - America/Resolute - - America/Swift_Current - - America/Tegucigalpa - - America/Winnipeg - - CST6CDT - - Canada/Central - - Canada/Saskatchewan - - Etc/GMT+6 - - Mexico/General - - Pacific/Galapagos - - US/Central - - US/Indiana-Starke - - America/Atikokan - - America/Bogota - - America/Cancun - - America/Cayman - - America/Coral_Harbour - - America/Detroit - - America/Eirunepe - - America/Fort_Wayne - - America/Grand_Turk - - America/Guayaquil - - America/Havana - - America/Indiana/Indianapolis - - America/Indiana/Marengo - - America/Indiana/Petersburg - - America/Indiana/Vevay - - America/Indiana/Vincennes - - America/Indiana/Winamac - - America/Indianapolis - - America/Iqaluit - - America/Jamaica - - America/Kentucky/Louisville - - America/Kentucky/Monticello - - America/Lima - - America/Louisville - - America/Montreal - - America/Nassau - - America/New_York - - America/Nipigon - - America/Panama - - America/Pangnirtung - - America/Port-au-Prince - - America/Porto_Acre - - America/Rio_Branco - - America/Thunder_Bay - - America/Toronto - - Brazil/Acre - - Canada/Eastern - - Chile/EasterIsland - - Cuba - - EST - - EST5EDT - - Etc/GMT+5 - - Jamaica - - Pacific/Easter - - US/East-Indiana - - US/Eastern - - US/Michigan - - America/Anguilla - - America/Antigua - - America/Aruba - - America/Barbados - - America/Blanc-Sablon - - America/Boa_Vista - - America/Campo_Grande - - America/Caracas - - America/Cuiaba - - America/Curacao - - America/Dominica - - America/Glace_Bay - - America/Goose_Bay - - America/Grenada - - America/Guadeloupe - - America/Guyana - - America/Halifax - - America/Kralendijk - - America/La_Paz - - America/Lower_Princes - - America/Manaus - - America/Marigot - - America/Martinique - - America/Moncton - - America/Montserrat - - America/Port_of_Spain - - America/Porto_Velho - - America/Puerto_Rico - - America/Santo_Domingo - - America/St_Barthelemy - - America/St_Kitts - - America/St_Lucia - - America/St_Thomas - - America/St_Vincent - - America/Thule - - America/Tortola - - America/Virgin - - Atlantic/Bermuda - - Brazil/West - - Canada/Atlantic - - Etc/GMT+4 - - America/St_Johns - - Canada/Newfoundland - - America/Araguaina - - America/Argentina/Buenos_Aires - - America/Argentina/Catamarca - - America/Argentina/ComodRivadavia - - America/Argentina/Cordoba - - America/Argentina/Jujuy - - America/Argentina/La_Rioja - - America/Argentina/Mendoza - - America/Argentina/Rio_Gallegos - - America/Argentina/Salta - - America/Argentina/San_Juan - - America/Argentina/San_Luis - - America/Argentina/Tucuman - - America/Argentina/Ushuaia - - America/Asuncion - - America/Bahia - - America/Belem - - America/Buenos_Aires - - America/Catamarca - - America/Cayenne - - America/Cordoba - - America/Fortaleza - - America/Godthab - - America/Jujuy - - America/Maceio - - America/Mendoza - - America/Miquelon - - America/Montevideo - - America/Nuuk - - America/Paramaribo - - America/Punta_Arenas - - America/Recife - - America/Rosario - - America/Santarem - - America/Santiago - - America/Sao_Paulo - - Antarctica/Palmer - - Antarctica/Rothera - - Atlantic/Stanley - - Brazil/East - - Chile/Continental - - Etc/GMT+3 - - America/Noronha - - Atlantic/South_Georgia - - Brazil/DeNoronha - - Etc/GMT+2 - - America/Scoresbysund - - Atlantic/Azores - - Atlantic/Cape_Verde - - Etc/GMT+1 - - Africa/Abidjan - - Africa/Accra - - Africa/Bamako - - Africa/Banjul - - Africa/Bissau - - Africa/Conakry - - Africa/Dakar - - Africa/Freetown - - Africa/Lome - - Africa/Monrovia - - Africa/Nouakchott - - Africa/Ouagadougou - - Africa/Sao_Tome - - Africa/Timbuktu - - America/Danmarkshavn - - Antarctica/Troll - - Atlantic/Canary - - Atlantic/Faeroe - - Atlantic/Faroe - - Atlantic/Madeira - - Atlantic/Reykjavik - - Atlantic/St_Helena - - Eire - - Etc/GMT - - Etc/GMT+0 - - Etc/GMT-0 - - Etc/GMT0 - - Etc/Greenwich - - Etc/UCT - - Etc/UTC - - Etc/Universal - - Etc/Zulu - - Europe/Belfast - - Europe/Dublin - - Europe/Guernsey - - Europe/Isle_of_Man - - Europe/Jersey - - Europe/Lisbon - - Europe/London - - GB - - GB-Eire - - GMT - - GMT+0 - - GMT-0 - - GMT0 - - Greenwich - - Iceland - - Portugal - - UCT - - UTC - - Universal - - WET - - Zulu - - Africa/Algiers - - Africa/Bangui - - Africa/Brazzaville - - Africa/Casablanca - - Africa/Ceuta - - Africa/Douala - - Africa/El_Aaiun - - Africa/Kinshasa - - Africa/Lagos - - Africa/Libreville - - Africa/Luanda - - Africa/Malabo - - Africa/Ndjamena - - Africa/Niamey - - Africa/Porto-Novo - - Africa/Tunis - - Arctic/Longyearbyen - - Atlantic/Jan_Mayen - - CET - - Etc/GMT-1 - - Europe/Amsterdam - - Europe/Andorra - - Europe/Belgrade - - Europe/Berlin - - Europe/Bratislava - - Europe/Brussels - - Europe/Budapest - - Europe/Busingen - - Europe/Copenhagen - - Europe/Gibraltar - - Europe/Ljubljana - - Europe/Luxembourg - - Europe/Madrid - - Europe/Malta - - Europe/Monaco - - Europe/Oslo - - Europe/Paris - - Europe/Podgorica - - Europe/Prague - - Europe/Rome - - Europe/San_Marino - - Europe/Sarajevo - - Europe/Skopje - - Europe/Stockholm - - Europe/Tirane - - Europe/Vaduz - - Europe/Vatican - - Europe/Vienna - - Europe/Warsaw - - Europe/Zagreb - - Europe/Zurich - - MET - - Poland - - Africa/Blantyre - - Africa/Bujumbura - - Africa/Cairo - - Africa/Gaborone - - Africa/Harare - - Africa/Johannesburg - - Africa/Juba - - Africa/Khartoum - - Africa/Kigali - - Africa/Lubumbashi - - Africa/Lusaka - - Africa/Maputo - - Africa/Maseru - - Africa/Mbabane - - Africa/Tripoli - - Africa/Windhoek - - Asia/Amman - - Asia/Beirut - - Asia/Damascus - - Asia/Famagusta - - Asia/Gaza - - Asia/Hebron - - Asia/Jerusalem - - Asia/Nicosia - - Asia/Tel_Aviv - - EET - - Egypt - - Etc/GMT-2 - - Europe/Athens - - Europe/Bucharest - - Europe/Chisinau - - Europe/Helsinki - - Europe/Kaliningrad - - Europe/Kiev - - Europe/Mariehamn - - Europe/Nicosia - - Europe/Riga - - Europe/Sofia - - Europe/Tallinn - - Europe/Tiraspol - - Europe/Uzhgorod - - Europe/Vilnius - - Europe/Zaporozhye - - Israel - - Libya - - Africa/Addis_Ababa - - Africa/Asmara - - Africa/Asmera - - Africa/Dar_es_Salaam - - Africa/Djibouti - - Africa/Kampala - - Africa/Mogadishu - - Africa/Nairobi - - Antarctica/Syowa - - Asia/Aden - - Asia/Baghdad - - Asia/Bahrain - - Asia/Istanbul - - Asia/Kuwait - - Asia/Qatar - - Asia/Riyadh - - Etc/GMT-3 - - Europe/Istanbul - - Europe/Kirov - - Europe/Minsk - - Europe/Moscow - - Europe/Simferopol - - Europe/Volgograd - - Indian/Antananarivo - - Indian/Comoro - - Indian/Mayotte - - Turkey - - W-SU - - Asia/Tehran - - Iran - - Asia/Baku - - Asia/Dubai - - Asia/Muscat - - Asia/Tbilisi - - Asia/Yerevan - - Etc/GMT-4 - - Europe/Astrakhan - - Europe/Samara - - Europe/Saratov - - Europe/Ulyanovsk - - Indian/Mahe - - Indian/Mauritius - - Indian/Reunion - - Asia/Kabul - - Antarctica/Mawson - - Asia/Aqtau - - Asia/Aqtobe - - Asia/Ashgabat - - Asia/Ashkhabad - - Asia/Atyrau - - Asia/Dushanbe - - Asia/Karachi - - Asia/Oral - - Asia/Qyzylorda - - Asia/Samarkand - - Asia/Tashkent - - Asia/Yekaterinburg - - Etc/GMT-5 - - Indian/Kerguelen - - Indian/Maldives - - Asia/Calcutta - - Asia/Colombo - - Asia/Kolkata - - Asia/Kathmandu - - Asia/Katmandu - - Antarctica/Vostok - - Asia/Almaty - - Asia/Bishkek - - Asia/Dacca - - Asia/Dhaka - - Asia/Kashgar - - Asia/Omsk - - Asia/Qostanay - - Asia/Thimbu - - Asia/Thimphu - - Asia/Urumqi - - Etc/GMT-6 - - Indian/Chagos - - Asia/Rangoon - - Asia/Yangon - - Indian/Cocos - - Antarctica/Davis - - Asia/Bangkok - - Asia/Barnaul - - Asia/Ho_Chi_Minh - - Asia/Hovd - - Asia/Jakarta - - Asia/Krasnoyarsk - - Asia/Novokuznetsk - - Asia/Novosibirsk - - Asia/Phnom_Penh - - Asia/Pontianak - - Asia/Saigon - - Asia/Tomsk - - Asia/Vientiane - - Etc/GMT-7 - - Indian/Christmas - - Asia/Brunei - - Asia/Choibalsan - - Asia/Chongqing - - Asia/Chungking - - Asia/Harbin - - Asia/Hong_Kong - - Asia/Irkutsk - - Asia/Kuala_Lumpur - - Asia/Kuching - - Asia/Macao - - Asia/Macau - - Asia/Makassar - - Asia/Manila - - Asia/Shanghai - - Asia/Singapore - - Asia/Taipei - - Asia/Ujung_Pandang - - Asia/Ulaanbaatar - - Asia/Ulan_Bator - - Australia/Perth - - Australia/West - - Etc/GMT-8 - - Hongkong - - PRC - - ROC - - Singapore - - Australia/Eucla - - Asia/Chita - - Asia/Dili - - Asia/Jayapura - - Asia/Khandyga - - Asia/Pyongyang - - Asia/Seoul - - Asia/Tokyo - - Asia/Yakutsk - - Etc/GMT-9 - - Japan - - Pacific/Palau - - ROK - - Australia/Darwin - - Australia/North - - Antarctica/DumontDUrville - - Asia/Ust-Nera - - Asia/Vladivostok - - Australia/Brisbane - - Australia/Lindeman - - Australia/Queensland - - Etc/GMT-10 - - Pacific/Chuuk - - Pacific/Guam - - Pacific/Port_Moresby - - Pacific/Saipan - - Pacific/Truk - - Pacific/Yap - - Australia/Adelaide - - Australia/Broken_Hill - - Australia/South - - Australia/Yancowinna - - Antarctica/Casey - - Antarctica/Macquarie - - Asia/Magadan - - Asia/Sakhalin - - Asia/Srednekolymsk - - Australia/ACT - - Australia/Canberra - - Australia/Currie - - Australia/Hobart - - Australia/LHI - - Australia/Lord_Howe - - Australia/Melbourne - - Australia/NSW - - Australia/Sydney - - Australia/Tasmania - - Australia/Victoria - - Etc/GMT-11 - - Pacific/Bougainville - - Pacific/Efate - - Pacific/Guadalcanal - - Pacific/Kosrae - - Pacific/Noumea - - Pacific/Pohnpei - - Pacific/Ponape - - Asia/Anadyr - - Asia/Kamchatka - - Etc/GMT-12 - - Kwajalein - - Pacific/Funafuti - - Pacific/Kwajalein - - Pacific/Majuro - - Pacific/Nauru - - Pacific/Norfolk - - Pacific/Tarawa - - Pacific/Wake - - Pacific/Wallis - - Antarctica/McMurdo - - Antarctica/South_Pole - - Etc/GMT-13 - - NZ - - Pacific/Auckland - - Pacific/Enderbury - - Pacific/Fakaofo - - Pacific/Fiji - - Pacific/Tongatapu - - NZ-CHAT - - Pacific/Chatham - - Etc/GMT-14 - - Pacific/Apia - - Pacific/Kiritimati - type: string - additionalProperties: false - UserPreferences: - type: object - properties: - id: - type: integer - readOnly: true - last_login: - type: string - format: date-time - readOnly: true - first_name: - type: string - maxLength: 30 - last_name: - type: string - maxLength: 30 - email: - type: string - format: email - maxLength: 254 - is_staff: - type: boolean - readOnly: true - title: Staff Status - is_active: - type: boolean - readOnly: true - title: Active - phone: - type: string - maxLength: 21 - pattern: ^[+\d()\-/.\s]*$ - country_call_code: - type: string - maxLength: 20 - mobile: - type: string - maxLength: 21 - pattern: ^[+\d()\-/.\s]*$ - date_joined: - type: string - format: date-time - readOnly: true - timezone: - $ref: '#/components/schemas/TimezoneEnum' - language: - allOf: - - $ref: '#/components/schemas/LanguageEnum' - readOnly: true - is_trial: - type: boolean - readOnly: true - title: Trial - two_factor_enabled: - type: boolean - title: Two-Factor - is_account_owner: - type: boolean - teams: - type: array - items: - $ref: '#/components/schemas/UserTeams' - readOnly: true - required: - - date_joined - - email - - first_name - - id - - is_active - - is_staff - - is_trial - - language - - last_login - - last_name - - teams - additionalProperties: false - UserTeams: - type: object - properties: - id: - type: integer - readOnly: true - name: - type: string - maxLength: 100 - is_active: - type: boolean - title: Active - required: - - id - - name - additionalProperties: false - UserTeamsRequest: - type: object - properties: - name: - type: string - maxLength: 100 - is_active: - type: boolean - title: Active - required: - - name - additionalProperties: false - securitySchemes: - tokenAuth: - type: apiKey - in: header - name: Authorization - description: Token-based authentication with required prefix "Token" diff --git a/idns.yaml b/idns.yaml deleted file mode 100644 index 098fa09..0000000 --- a/idns.yaml +++ /dev/null @@ -1,938 +0,0 @@ -openapi: 3.0.0 -info: - title: Intelligent DNS API - version: 1.0.0 - license: - name: MIT - url: https://github.com/aziontech/azionapi-openapi/blob/main/LICENSE.md -servers: -- description: Production - url: https://api.azionapi.net -security: -- tokenAuth: [] -paths: - /intelligent_dns: - get: - operationId: getZones - parameters: - - in: query - name: order_by - description: Identifies which property the return should be sorted by. - schema: - type: string - enum: [ id,name,domain,is_active] - default: "name" - - in: query - name: sort - description: Defines whether objects are shown in ascending or descending order depending on the value set in order_by. - schema: - type: string - enum: [ "asc", "desc" ] - default: "asc" - - in: query - name: page - description: Identifies which page should be returned, if the return is paginated. - schema: - type: integer - format: int64 - default: 1 - - in: query - name: page_size - description: Identifies how many items should be returned per page. - schema: - type: integer - format: int64 - default: 10 - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/GetZonesResponse' - description: Zones collection retrieved - "400": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ErrorsResponse' - description: Error - summary: Get a collection of Intelligent DNS zones - tags: - - Zones - post: - operationId: postZone - requestBody: - content: - application/json: - example: - name: New Intelligent DNS zone - domain: new.domain.com - is_active: true - schema: - $ref: '#/components/schemas/Zone' - responses: - "201": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/PostOrPutZoneResponse' - description: Zone added - "400": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ErrorsResponse' - description: Error - "404": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ErrorResponse' - description: Zone not found - summary: Add a new Intelligent DNS zone - tags: - - Zones - /intelligent_dns/{zone_id}: - delete: - operationId: deleteZone - parameters: - - description: The hosted zone id - explode: false - in: path - name: zone_id - required: true - schema: - minimum: 1 - type: integer - style: simple - responses: - "204": - content: - application/json; version=3: - schema: - nullable: true - type: string - description: Zone removed - "404": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ErrorResponse' - description: Zone not found - summary: Remove an Intelligent DNS hosted zone - tags: - - Zones - get: - operationId: getZone - parameters: - - description: The hosted zone id - explode: false - in: path - name: zone_id - required: true - schema: - minimum: 1 - type: integer - style: simple - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/GetZoneResponse' - description: Zone retrieved - "404": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ErrorResponse' - description: Zone not found - summary: Get an Intelligent DNS hosted zone - tags: - - Zones - put: - operationId: putZone - parameters: - - description: The hosted zone id - explode: false - in: path - name: zone_id - required: true - schema: - minimum: 1 - type: integer - style: simple - requestBody: - content: - application/json: - example: - name: Update Intelligent DNS zone - domain: other.domain.com - is_active: true - schema: - $ref: '#/components/schemas/Zone' - responses: - "201": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/PostOrPutZoneResponse' - description: Zone updated - "400": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ErrorsResponse' - description: Zone update error - summary: Update an Intelligent DNS hosted zone - tags: - - Zones - /intelligent_dns/{zone_id}/records: - get: - operationId: getZoneRecords - parameters: - - description: The hosted zone id - explode: false - in: path - name: zone_id - required: true - schema: - minimum: 1 - type: integer - style: simple - - in: query - name: page - description: Identifies which page should be returned, if the return is paginated. - schema: - type: integer - format: int64 - default: 1 - - in: query - name: page_size - description: Identifies how many items should be returned per page. - schema: - type: integer - format: int64 - default: 10 - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/GetRecordsResponse' - description: Zones collection retrieved - "400": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ErrorsResponse' - description: Error - "404": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ErrorResponse' - description: Zone not found - summary: Get a collection of Intelligent DNS zone records - tags: - - Records - post: - operationId: postZoneRecord - parameters: - - description: The hosted zone id - explode: false - in: path - name: zone_id - required: true - schema: - minimum: 1 - type: integer - style: simple - requestBody: - content: - application/json: - example: - record_type: A - entry: site - description: Site record - ttl: 3600 - answers_list: - - 1.2.3.4 - - 5.6.7.8 - schema: - $ref: '#/components/schemas/RecordPostOrPut' - responses: - "201": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/PostOrPutRecordResponse' - description: Record added - "400": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ErrorsResponse' - description: Error - "404": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ErrorResponse' - description: Zone not found - summary: Create a new Intelligent DNS zone record - tags: - - Records - /intelligent_dns/{zone_id}/records/{record_id}: - delete: - operationId: deleteZoneRecord - parameters: - - description: The hosted zone id - explode: false - in: path - name: zone_id - required: true - schema: - minimum: 1 - type: integer - style: simple - - description: The zone record id - explode: false - in: path - name: record_id - required: true - schema: - minimum: 1 - type: integer - style: simple - responses: - "204": - content: - application/json; version=3: - schema: - nullable: true - type: string - description: Record removed - "404": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ErrorResponse' - description: Record not found - summary: Remove an Intelligent DNS zone record - tags: - - Records - put: - operationId: putZoneRecord - parameters: - - description: The hosted zone id - explode: false - in: path - name: zone_id - required: true - schema: - minimum: 1 - type: integer - style: simple - - description: The zone record id - explode: false - in: path - name: record_id - required: true - schema: - minimum: 1 - type: integer - style: simple - requestBody: - content: - application/json: - example: - record_type: A - entry: site - description: Site record - ttl: 3600 - answers_list: - - 1.2.3.4 - - 5.6.7.8 - - 1.1.2.2 - schema: - $ref: '#/components/schemas/RecordPostOrPut' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/PostOrPutRecordResponse' - description: Record updated - "400": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ErrorsResponse' - description: Record update error - "404": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ErrorResponse' - description: Record not found - summary: Update an Intelligent DNS zone record - tags: - - Records - /intelligent_dns/{zone_id}/dnssec: - get: - operationId: getZoneDnsSec - parameters: - - description: The hosted zone id - explode: false - in: path - name: zone_id - required: true - schema: - minimum: 1 - type: integer - style: simple - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/GetOrPatchDnsSecResponse' - description: DNSSEC status retrieved - "400": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ErrorsResponse' - description: Error - "404": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ErrorResponse' - description: Zone not found - "500": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ErrorResponse' - description: Error - summary: Retrieve the DNSSEC zone status - tags: - - DNSSEC - patch: - operationId: putZoneDnsSec - parameters: - - description: The hosted zone id - explode: false - in: path - name: zone_id - required: true - schema: - minimum: 1 - type: integer - style: simple - requestBody: - content: - application/json: - example: - is_enabled: true - schema: - $ref: '#/components/schemas/DnsSec' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/GetOrPatchDnsSecResponse' - description: DNSSEC status updated - "201": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/GetOrPatchDnsSecResponse' - description: Zone updated - "400": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ErrorsResponse' - description: Zone update error - "404": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/ErrorResponse' - description: Zone not found - summary: Update the DNSSEC zone - tags: - - DNSSEC -components: - parameters: - ZoneId: - description: The hosted zone id - explode: false - in: path - name: zone_id - required: true - schema: - minimum: 1 - type: integer - style: simple - RecordId: - description: The zone record id - explode: false - in: path - name: record_id - required: true - schema: - minimum: 1 - type: integer - style: simple - schemas: - Zone: - example: - is_active: true - nameservers: - - nameservers - - nameservers - domain: domain - name: name - soa_ttl: 7 - refresh: 9 - nx_ttl: 2 - id: 5 - expiry: 3 - retry: 5 - properties: - id: - description: Hosted zone id - type: integer - name: - description: Hosted zone name - type: string - domain: - description: Hosted zone domain - type: string - is_active: - description: If hosted zone is active - type: boolean - retry: - nullable: true - type: integer - nx_ttl: - nullable: true - type: integer - soa_ttl: - nullable: true - type: integer - refresh: - nullable: true - type: integer - expiry: - nullable: true - type: integer - nameservers: - description: List of nameservers - items: - type: string - nullable: true - type: array - type: object - GetZonesResponse: - description: Object returned by get zones - example: - schema_version: 0 - count: 6 - links: - next: next - previous: previous - total_pages: 1 - results: - - is_active: true - nameservers: - - nameservers - - nameservers - domain: domain - name: name - soa_ttl: 7 - refresh: 9 - nx_ttl: 2 - id: 5 - expiry: 3 - retry: 5 - - is_active: true - nameservers: - - nameservers - - nameservers - domain: domain - name: name - soa_ttl: 7 - refresh: 9 - nx_ttl: 2 - id: 5 - expiry: 3 - retry: 5 - properties: - schema_version: - description: The schema version - type: integer - count: - description: Number of records - type: integer - total_pages: - description: The total pages - type: integer - links: - $ref: '#/components/schemas/GetZonesResponse_links' - results: - description: Hosted zones collection - items: - $ref: '#/components/schemas/Zone' - type: array - type: object - GetZoneResponse: - description: Object returned by get zone - example: - schema_version: 0 - results: - is_active: true - nameservers: - - nameservers - - nameservers - domain: domain - name: name - soa_ttl: 7 - refresh: 9 - nx_ttl: 2 - id: 5 - expiry: 3 - retry: 5 - properties: - schema_version: - description: The schema version - type: integer - results: - $ref: '#/components/schemas/Zone' - type: object - PostOrPutZoneResponse: - description: Object returned by create or update zone - example: - schema_version: 0 - results: - - is_active: true - nameservers: - - nameservers - - nameservers - domain: domain - name: name - soa_ttl: 7 - refresh: 9 - nx_ttl: 2 - id: 5 - expiry: 3 - retry: 5 - - is_active: true - nameservers: - - nameservers - - nameservers - domain: domain - name: name - soa_ttl: 7 - refresh: 9 - nx_ttl: 2 - id: 5 - expiry: 3 - retry: 5 - properties: - schema_version: - description: The schema version - type: integer - results: - description: The created hosted zone - items: - $ref: '#/components/schemas/Zone' - type: array - type: object - RecordGet: - example: - record_id: 5 - entry: entry - answers_list: - - answers_list - - answers_list - description: description - weight: 2 - ttl: 7 - record_type: record_type - policy: policy - properties: - record_id: - type: integer - entry: - type: string - description: - type: string - answers_list: - items: - type: string - type: array - policy: - type: string - weight: - type: integer - record_type: - type: string - ttl: - type: integer - type: object - RecordPostOrPut: - example: - entry: entry - answers_list: - - answers_list - - answers_list - description: description - weight: 1 - id: 6 - ttl: 5 - record_type: record_type - policy: policy - properties: - id: - type: integer - entry: - type: string - description: - type: string - answers_list: - items: - type: string - type: array - policy: - type: string - weight: - type: integer - record_type: - type: string - ttl: - type: integer - type: object - GetRecordsResponse: - description: Object returned by get zone record - example: - schema_version: 0 - count: 6 - links: - next: next - previous: previous - total_pages: 1 - results: - zone_domain: zone_domain - zone_id: 5 - records: - - record_id: 5 - entry: entry - answers_list: - - answers_list - - answers_list - description: description - weight: 2 - ttl: 7 - record_type: record_type - policy: policy - - record_id: 5 - entry: entry - answers_list: - - answers_list - - answers_list - description: description - weight: 2 - ttl: 7 - record_type: record_type - policy: policy - properties: - schema_version: - description: The schema version - type: integer - count: - description: Number of records - type: integer - total_pages: - description: The total pages - type: integer - links: - $ref: '#/components/schemas/GetZonesResponse_links' - results: - $ref: '#/components/schemas/GetRecordsResponse_results' - type: object - PostOrPutRecordResponse: - description: Object returned by create or update zone record - example: - schema_version: 0 - results: - entry: entry - answers_list: - - answers_list - - answers_list - description: description - weight: 1 - id: 6 - ttl: 5 - record_type: record_type - policy: policy - properties: - schema_version: - description: The schema version - type: integer - results: - $ref: '#/components/schemas/RecordPostOrPut' - type: object - DnsSec: - example: - is_enabled: true - delegation_signer: - key_tag: 9607 - digest_type: - id: 6 - slug: slug - algorithm_type: - id: 6 - slug: slug - digest: digest - status: unconfigured - properties: - is_enabled: - type: boolean - status: - enum: - - unconfigured - - waiting - - ready - type: string - delegation_signer: - $ref: '#/components/schemas/DnsSec_delegation_signer' - type: object - GetOrPatchDnsSecResponse: - description: Object returned by get zone DNSSEC - example: - schema_version: 0 - results: - is_enabled: true - delegation_signer: - key_tag: 9607 - digest_type: - id: 6 - slug: slug - algorithm_type: - id: 6 - slug: slug - digest: digest - status: unconfigured - properties: - schema_version: - description: The schema version - type: integer - results: - $ref: '#/components/schemas/DnsSec' - type: object - ErrorsResponse: - properties: - errors: - items: - type: string - type: array - type: object - ErrorResponse: - properties: - detail: - type: string - type: object - GetZonesResponse_links: - example: - next: next - previous: previous - properties: - previous: - nullable: true - type: string - next: - nullable: true - type: string - type: object - GetRecordsResponse_results: - example: - zone_domain: zone_domain - zone_id: 5 - records: - - record_id: 5 - entry: entry - answers_list: - - answers_list - - answers_list - description: description - weight: 2 - ttl: 7 - record_type: record_type - policy: policy - - record_id: 5 - entry: entry - answers_list: - - answers_list - - answers_list - description: description - weight: 2 - ttl: 7 - record_type: record_type - policy: policy - properties: - zone_id: - type: integer - zone_domain: - type: string - records: - description: Zone records collection - items: - $ref: '#/components/schemas/RecordGet' - type: array - type: object - DnsSec_delegation_signer_digest_type: - example: - id: 6 - slug: slug - properties: - id: - type: integer - slug: - type: string - type: object - DnsSec_delegation_signer: - example: - key_tag: 9607 - digest_type: - id: 6 - slug: slug - algorithm_type: - id: 6 - slug: slug - digest: digest - properties: - digest_type: - $ref: '#/components/schemas/DnsSec_delegation_signer_digest_type' - algorithm_type: - $ref: '#/components/schemas/DnsSec_delegation_signer_digest_type' - digest: - type: string - key_tag: - maximum: 65535 - minimum: 1 - type: integer - type: object - securitySchemes: - tokenAuth: - type: apiKey - name: Authorization - in: header - description: | - You must inform a token to auth. - Usage format: `Token ` diff --git a/networklist.yaml b/networklist.yaml deleted file mode 100644 index 4d2a96a..0000000 --- a/networklist.yaml +++ /dev/null @@ -1,386 +0,0 @@ -openapi: 3.0.0 -info: - title: Network Lists API - version: 1.0.0 - license: - name: MIT - url: https://github.com/aziontech/azionapi-openapi/blob/main/LICENSE.md -servers: - - description: Production - url: https://api.azionapi.net -security: - - tokenAuth: [] -paths: - /network_lists: - post: - summary: Create a Network Lists - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateNetworkListsRequest' - responses: - '201': - description: A Network Lists object - content: - application/json: - schema: - $ref: '#/components/schemas/NetworkListsResponse' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/BadRequestResponse' - text/html: - schema: - type: string - "403": - description: Forbidden - '404': - description: Not Found - '500': - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorModel' - get: - summary: List all user Network Lists - parameters: - - name: page - in: query - required: false - style: form - explode: true - schema: - type: integer - - name: page_size - in: query - required: false - style: form - explode: true - schema: - type: integer - - name: sort - in: query - required: false - style: form - explode: true - schema: - type: string - - name: order_by - in: query - required: false - style: form - explode: true - schema: - type: string - responses: - '200': - description: A list of Network Lists - content: - application/json: - schema: - $ref: '#/components/schemas/ListNetworkListsResponse' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/BadRequestResponse' - text/html: - schema: - type: string - "403": - description: Forbidden - '404': - description: Not Found - /network_lists/{uuid}: - get: - summary: Retrieve a Network Lists set by uuid - parameters: - - name: uuid - in: path - required: true - schema: - type: string - responses: - '200': - description: A Network Lists object - content: - application/json: - schema: - $ref: '#/components/schemas/NetworkListUuidResponse' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/BadRequestResponse' - text/html: - schema: - type: string - "403": - description: Forbidden - '404': - description: Not Found - delete: - summary: Delete a Network Lists set by uuid - parameters: - - name: Accept - in: header - schema: - type: string - example: application/json; version=3 - - name: uuid - in: path - schema: - type: string - required: true - description: "The id of the networkList to be deleted.\t" - responses: - "204": - description: No Content - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - put: - summary: Overwrite some Network Lists attributes - parameters: - - name: uuid - in: path - required: true - schema: - type: string - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreateNetworkListsRequest' - responses: - '200': - description: Successfully updated - content: - application/json: - schema: - $ref: '#/components/schemas/NetworkListsResponse' - '400': - description: Bad Request - content: - application/json: - schema: - $ref: '#/components/schemas/BadRequestResponse' - text/html: - schema: - type: string - "403": - description: Forbidden - '404': - description: Not Found - '500': - description: Internal Server Error - content: - application/json: - schema: - $ref: '#/components/schemas/ErrorModel' -components: - schemas: - ErrorModel: - properties: - code: - type: string - type: object - Links: - properties: - previous: - type: string - nullable: true - next: - type: string - nullable: true - type: object - NetworkLists: - properties: - id: - format: int64 - type: integer - example: 1614 - last_editor: - type: string - example: Azion - last_modified: - type: string - example: 2023-08-10T05:00:07.893747Z - list_type: - type: string - example: ip_cidr - name: - type: string - example: Network List created using the API - country_list: - type: array - items: - type: string - ip_list: - type: array - items: - type: string - example: - - 192.168.0.1 - type: object - ListNetworkListsResponse: - properties: - count: - format: int64 - type: integer - total_pages: - format: int64 - type: integer - schema_version: - format: int64 - type: integer - links: - $ref: '#/components/schemas/Links' - results: - items: - $ref: '#/components/schemas/NetworkLists' - type: array - type: object - NetworkListResponseEntry: - properties: - id: - format: int64 - type: integer - example: 1614 - last_editor: - type: string - example: Azion - last_modified: - type: string - example: 2023-08-10T05:00:07.893747Z - list_type: - type: string - example: ip_cidr - name: - type: string - example: Network List created using the API - items_values: - type: array - items: - type: string - example: - - 192.168.0.1 - type: object - NetworkListUuidResponseEntry: - oneOf: - - $ref: '#/components/schemas/NetworkListUuidResponseEntryString' - - $ref: '#/components/schemas/NetworkListUuidResponseEntryInt' - NetworkListUuidResponseEntryString: - properties: - last_editor: - type: string - example: Azion - last_modified: - type: string - example: 2023-08-10T05:00:07.893747Z - list_type: - type: string - example: ip_cidr - name: - type: string - example: Network List created using the API - items_values: - type: array - items: - type: string - example: - - 192.168.0.1 - type: object - NetworkListUuidResponseEntryInt: - properties: - last_editor: - type: string - example: Azion - last_modified: - type: string - example: 2023-08-10T05:00:07.893747Z - list_type: - type: string - example: asn - name: - type: string - example: Network List created using the API - items_values: - type: array - items: - type: integer - example: - - 1234 - type: object - CreateNetworkListsRequest: - properties: - name: - type: string - example: Network List created using the API - items_values: - type: array - items: - type: string - example: - - 192.168.0.1 - list_type: - type: string - enum: [ip_cidr, asn, countries] - example: ip_cidr - type: object - BadRequestResponse: - properties: - name: - type: array - items: - type: string - items_values: - type: array - items: - type: string - list_type: - type: array - items: - type: string - type: object - NetworkListsResponse: - properties: - results: - $ref: '#/components/schemas/NetworkListResponseEntry' - schema_version: - format: int64 - type: integer - example: 3 - type: object - NetworkListUuidResponse: - properties: - results: - $ref: '#/components/schemas/NetworkListUuidResponseEntry' - schema_version: - format: int64 - type: integer - example: 3 - type: object - securitySchemes: - tokenAuth: - type: apiKey - name: Authorization - in: header - description: | - You must inform a token to auth. - Usage format: `Token ` \ No newline at end of file diff --git a/personal_tokens.yaml b/personal_tokens.yaml deleted file mode 100644 index df0de83..0000000 --- a/personal_tokens.yaml +++ /dev/null @@ -1,232 +0,0 @@ -openapi: 3.0.3 -info: - title: Personal Tokens - OpenAPI - description: | - The Personal Tokens API allows you to manage your existing personal tokens. - license: - name: MIT - url: https://github.com/aziontech/azionapi-openapi/blob/main/LICENSE.md - version: 1.0.0 -externalDocs: - description: See the documentation of Personal Tokens for more information. - url: https://www.azion.com/en/documentation/products/accounts/personal-tokens/ -servers: - - description: Production - url: https://api.azionapi.net -security: - - tokenAuth: [] -tags: - - name: Personal Token - description: List all personal tokens -paths: - /iam/personal_tokens: - get: - tags: - - Personal Token - summary: List all existing personal token - description: List all existing personal token - operationId: ListPersonalToken - - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/PersonalTokenResponseWithResults' - '400': - description: Bad Request - '401': - description: Unauthorized - '403': - description: Forbidden - '404': - description: Not Found - '429': - description: Rate Limit - '500': - description: Internal Server Error - post: - tags: - - Personal Token - summary: Create a new personal token - description: Create a new personal token - operationId: CreatePersonalToken - requestBody: - required: true - content: - application/json: - schema: - $ref: '#/components/schemas/CreatePersonalTokenRequest' - - responses: - '201': - description: Created successfully - content: - application/json: - schema: - $ref: '#/components/schemas/CreatePersonalTokenResponse' - '400': - description: Bad Request - '401': - description: Unauthorized - '403': - description: Forbidden - '404': - description: Not Found - '429': - description: Rate Limit - '500': - description: Internal Server Error - - /iam/personal_tokens/{personalTokenId}: - get: - tags: - - Personal Token - summary: Get a personal token info - description: Get a personal token info - operationId: GetPersonalToken - parameters: - - in: path - name: personalTokenId - required: true - schema: - format: uuid - type: string - responses: - '200': - description: Successful operation - content: - application/json: - schema: - $ref: '#/components/schemas/PersonalTokenResponseGet' - '400': - description: Bad Request - '401': - description: Unauthorized - '403': - description: Forbidden - '404': - description: Not Found - '429': - description: Rate Limit - '500': - description: Internal Server Error - - delete: - tags: - - Personal Token - summary: Delete a personal token by id - description: Delete a personal token - operationId: DeletePersonalToken - parameters: - - in: path - name: personalTokenId - required: true - schema: - format: uuid - type: string - responses: - '204': - description: Successful operation - '400': - description: Bad Request - '401': - description: Unauthorized - '403': - description: Forbidden - '404': - description: Not Found - '429': - description: Rate Limit - '500': - description: Internal Server Error - -components: - schemas: - PersonalTokenResponseWithResults: - type: object - properties: - count: - type: integer - format: int64 - total_pages: - type: integer - format: int6 - schema_version: - type: integer - format: int64 - links: - type: object - properties: - next: - type: string - nullable: true - previous: - type: string - nullable: true - results: - type: array - items: - $ref: '#/components/schemas/PersonalTokenResponseGet' - - PersonalTokenResponseGet: - type: object - properties: - uuid: - type: string - format: uuid - name: - type: string - created: - type: string - format: date-time - expires_at: - type: string - format: date-time - description: - type: string - nullable: true - - CreatePersonalTokenRequest: - type: object - properties: - name: - type: string - expires_at: - type: string - format: date-time - description: - type: string - nullable: true - - CreatePersonalTokenResponse: - type: object - properties: - uuid: - type: string - format: uuid - name: - type: string - key: - type: string - user_id: - type: number - created: - type: string - format: date-time - expires_at: - type: string - format: date-time - description: - type: string - nullable: true - - securitySchemes: - tokenAuth: - type: apiKey - name: Authorization - in: header - description: | - You must inform a token to auth. - Usage format: `Token ` diff --git a/realtimepurge.yaml b/realtimepurge.yaml deleted file mode 100644 index cc90204..0000000 --- a/realtimepurge.yaml +++ /dev/null @@ -1,338 +0,0 @@ -openapi: 3.0.0 -info: - title: Purge API - version: 1.0.0 - license: - name: MIT - url: https://github.com/aziontech/azionapi-openapi/blob/main/LICENSE.md -servers: -- description: Production - url: https://api.azionapi.net -security: -- tokenAuth: [] -paths: - /purge/url: - post: - description: |- - List of URLs you want to remove from the Azion Edge Servers cache. - urls (array): list of up to 50 URLs to be expired from the cache, per request. - method (choice): purge method, use the “delete” value for removal. - operationId: purgeUrl - parameters: - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/PurgeUrlRequest' - responses: - "200": - content: - application/json; version=3: {} - description: Successful response - "201": - content: - application/json; version=3: {} - description: Created - "204": - content: - application/json; version=3: {} - description: No Content - "207": - content: - application/json; version=3: {} - description: Multi Status - "400": - content: - application/json; version=3: {} - description: Bad Request - "401": - content: - application/json; version=3: {} - description: Unauthorized - "403": - content: - application/json; version=3: {} - description: Forbidden - "404": - content: - application/json; version=3: {} - description: Not Found - "405": - content: - application/json; version=3: {} - description: Method Not Allowed - "406": - content: - application/json; version=3: {} - description: Not Acceptable - "409": - content: - application/json; version=3: {} - description: Conflict - "429": - content: - application/json; version=3: {} - description: Too Many Requests - "500": - content: - application/json; version=3: {} - description: Internal Server Error - summary: /purge/url - tags: - - Real-Time Purge - /purge/cachekey: - post: - description: |- - List of Cache Keys you want to remove from the Azion Edge Servers cache. - urls (array): list of up to 50 Cache Keys to be expired from the cache, per request. - method (choice): purge method, use the “delete” value for removal. - Layer (choice): layer where the purge will be done. Use the value “edge_caching” (default value if not informed) to purge on the Edge Caching layer and the value “l2_caching” to purge on L2 Caching. - operationId: purgeCacheKey - parameters: - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PurgeCacheKeyRequest' - responses: - "200": - content: - application/json: {} - description: Successful response - "201": - content: - application/json; version=3: {} - description: Created - "204": - content: - application/json; version=3: {} - description: No Content - "207": - content: - application/json; version=3: {} - description: Multi Status - "400": - content: - application/json; version=3: {} - description: Bad Request - "401": - content: - application/json; version=3: {} - description: Unauthorized - "403": - content: - application/json; version=3: {} - description: Forbidden - "404": - content: - application/json; version=3: {} - description: Not Found - "405": - content: - application/json; version=3: {} - description: Method Not Allowed - "406": - content: - application/json; version=3: {} - description: Not Acceptable - "409": - content: - application/json; version=3: {} - description: Conflict - "429": - content: - application/json; version=3: {} - description: Too Many Requests - "500": - content: - application/json; version=3: {} - description: Internal Server Error - summary: /purge/cachekey - tags: - - Real-Time Purge - /purge/wildcard: - post: - description: |- - The Wildcard expression that represents the list of objects that you want to remove from the Azion Edge Servers cache. - urls (array):the Wildcard URL or Wildcard Cache Key that represents the list of objects you want to expire. You can only use one Wildcard expression per request. - method (choice): purge method, use the “delete” value for removal. - operationId: purgeWildcard - parameters: - - example: application/json; version=3 - explode: false - in: header - name: Accept - required: false - schema: - type: string - style: simple - - example: application/json - explode: false - in: header - name: Content-Type - required: false - schema: - type: string - style: simple - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PurgeWildcardRequest' - responses: - "200": - content: - application/json: {} - description: Successful response - "201": - content: - application/json; version=3: {} - description: Created - "204": - content: - application/json; version=3: {} - description: No Content - "207": - content: - application/json; version=3: {} - description: Multi Status - "400": - content: - application/json; version=3: {} - description: Bad Request - "401": - content: - application/json; version=3: {} - description: Unauthorized - "403": - content: - application/json; version=3: {} - description: Forbidden - "404": - content: - application/json; version=3: {} - description: Not Found - "405": - content: - application/json; version=3: {} - description: Method Not Allowed - "406": - content: - application/json; version=3: {} - description: Not Acceptable - "409": - content: - application/json; version=3: {} - description: Conflict - "429": - content: - application/json; version=3: {} - description: Too Many Requests - "500": - content: - application/json; version=3: {} - description: Internal Server Error - summary: /purge/wildcard - tags: - - Real-Time Purge -components: - schemas: - PurgeUrlRequest: - additionalProperties: false - example: - urls: - - http://www.domain.com/ - - http://www.domain.com/test.js - - http://static.mistaken-domain.com/image1.jpg - method: delete - properties: - urls: - items: - type: string - type: array - method: - type: string - required: - - method - - urls - type: object - PurgeCacheKeyRequest: - additionalProperties: false - example: - urls: - - http://www.domain.com/@@cookie_name=cookie_value - - http://www.domain.com/test.js - - http://static.domain.com/image1.jpg?ims=arguments@@variants - method: delete - layer: l2_caching - properties: - urls: - items: - type: string - type: array - method: - type: string - layer: - type: string - required: - - layer - - method - - urls - type: object - PurgeWildcardRequest: - additionalProperties: false - example: - urls: - - http://www.domain.com/path/image.jpg* - method: delete - properties: - urls: - items: - type: string - type: array - method: - type: string - required: - - method - - urls - type: object - securitySchemes: - tokenAuth: - type: apiKey - name: Authorization - in: header - description: | - You must inform a token to auth. - Usage format: `Token ` diff --git a/services.yaml b/services.yaml deleted file mode 100644 index 7221024..0000000 --- a/services.yaml +++ /dev/null @@ -1,659 +0,0 @@ -openapi: 3.0.0 -info: - title: Services API - version: 1.0.0 - license: - name: MIT - url: https://github.com/aziontech/azionapi-openapi/blob/main/LICENSE.md -servers: -- description: Production - url: http://bff.azion.net:3002 -security: -- tokenAuth: [] -paths: - /edge_services: - get: - operationId: getServices - parameters: - - explode: true - in: query - name: page - required: false - schema: - format: int64 - type: integer - style: form - - explode: true - in: query - name: page_size - required: false - schema: - format: int64 - type: integer - style: form - - explode: true - in: query - name: filter - required: false - schema: - type: string - style: form - - explode: true - in: query - name: order_by - required: false - schema: - type: string - style: form - - explode: true - in: query - name: sort - required: false - schema: - type: string - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceResponseWithTotals' - description: OK - "400": - description: Bad Request - "500": - description: Internal Server Error - summary: Return Services by page - post: - operationId: newService - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CreateServiceRequest' - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceResponse' - description: Created - "400": - description: Bad Request - "403": - description: Forbidden - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: Create Service - /edge_services/{id}: - delete: - operationId: deleteService - parameters: - - explode: false - in: path - name: id - required: true - schema: - format: int64 - type: integer - style: simple - responses: - "204": - description: No Content - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: Delete Service by ID - get: - operationId: getService - parameters: - - explode: false - in: path - name: id - required: true - schema: - format: int64 - type: integer - style: simple - - explode: true - in: query - name: with_vars - required: false - schema: - type: boolean - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceResponse' - description: OK - "400": - description: Bad Request - "404": - description: Not Found - "500": - description: Internal Server Error - summary: Return Service by ID - patch: - operationId: patchService - parameters: - - explode: false - in: path - name: id - required: true - schema: - format: int64 - type: integer - style: simple - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateServiceRequest' - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/ServiceResponse' - description: OK - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: Update Service by ID - /edge_services/{serviceId}/resources: - get: - operationId: getResources - parameters: - - explode: false - in: path - name: serviceId - required: true - schema: - format: int64 - type: integer - style: simple - - explode: true - in: query - name: page - required: false - schema: - format: int64 - type: integer - style: form - - explode: true - in: query - name: page_size - required: false - schema: - format: int64 - type: integer - style: form - - explode: true - in: query - name: filter - required: false - schema: - type: string - style: form - - explode: true - in: query - name: order_by - required: false - schema: - type: string - style: form - - explode: true - in: query - name: sort - required: false - schema: - type: string - style: form - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/ResourceResponseWithTotal' - description: OK - "400": - description: Bad Request - "404": - description: Not Found - "500": - description: Internal Server Error - summary: Return Service Resources by page - post: - operationId: postResource - parameters: - - explode: false - in: path - name: serviceId - required: true - schema: - format: int64 - type: integer - style: simple - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CreateResourceRequest' - required: true - responses: - "201": - content: - application/json: - schema: - $ref: '#/components/schemas/ResourceDetail' - description: Created - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: Create Service Resource - /edge_services/{serviceId}/resources/{resourceId}: - delete: - operationId: deleteResource - parameters: - - explode: false - in: path - name: serviceId - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: resourceId - required: true - schema: - format: int64 - type: integer - style: simple - responses: - "204": - description: No Content - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: Delete Service Resource by ID - get: - operationId: getResource - parameters: - - explode: false - in: path - name: serviceId - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: resourceId - required: true - schema: - format: int64 - type: integer - style: simple - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/ResourceDetail' - description: OK - "400": - description: Bad Request - "404": - description: Not Found - "500": - description: Internal Server Error - summary: Return Service Resource by ID - patch: - operationId: patchServiceResource - parameters: - - explode: false - in: path - name: serviceId - required: true - schema: - format: int64 - type: integer - style: simple - - explode: false - in: path - name: resourceId - required: true - schema: - format: int64 - type: integer - style: simple - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/UpdateResourceRequest' - required: true - responses: - "200": - content: - application/json: - schema: - $ref: '#/components/schemas/ResourceDetail' - description: OK - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - summary: Update Service Resource by ID -components: - schemas: - CreateResourceRequest: - additionalProperties: false - example: - content_type: content_type - name: name - trigger: trigger - content: content - properties: - content: - type: string - content_type: - type: string - name: - type: string - trigger: - type: string - required: - - content - - content_type - - name - - trigger - type: object - CreateServiceRequest: - additionalProperties: false - example: - name: name - properties: - name: - type: string - required: - - name - type: object - ResourceDetail: - additionalProperties: false - example: - content_type: content_type - name: name - id: 0 - content: content - trigger: trigger - properties: - content: - type: string - content_type: - type: string - id: - format: int64 - type: integer - name: - type: string - trigger: - type: string - required: - - content - - content_type - - id - - name - - trigger - type: object - ResourceResponse: - additionalProperties: false - example: - content_type: content_type - updated_at: updated_at - last_editor: last_editor - name: name - id: 0 - trigger: reload - properties: - content_type: - type: string - id: - format: int64 - type: integer - last_editor: - type: string - name: - type: string - trigger: - type: string - updated_at: - type: string - required: - - content_type - - id - - last_editor - - name - - trigger - - updated_at - type: object - ResourceResponseWithTotal: - additionalProperties: false - example: - total: 6 - resources: - - content_type: content_type - updated_at: updated_at - last_editor: last_editor - name: name - id: 0 - type: type - properties: - resources: - items: - $ref: '#/components/schemas/ResourceResponse' - type: array - total: - format: int64 - type: integer - required: - - resources - - total - type: object - ServiceResponse: - additionalProperties: false - example: - variables: - - name: name - value: value - - name: name - value: value - updated_at: updated_at - permissions: - - permissions - - permissions - last_editor: last_editor - name: name - active: true - bound_nodes: 0 - id: 6 - properties: - active: - type: boolean - bound_nodes: - format: int64 - type: integer - id: - format: int64 - type: integer - last_editor: - type: string - name: - type: string - permissions: - items: - type: string - type: array - updated_at: - type: string - variables: - items: - $ref: '#/components/schemas/Variable' - type: array - required: - - active - - bound_nodes - - id - - last_editor - - name - - permissions - - updated_at - type: object - ServiceResponseWithTotals: - additionalProperties: false - example: - total: 1 - services: - - variables: - - name: name - value: value - - name: name - value: value - updated_at: updated_at - permissions: - - permissions - - permissions - last_editor: last_editor - name: name - active: true - bound_nodes: 0 - id: 6 - - variables: - - name: name - value: value - - name: name - value: value - updated_at: updated_at - permissions: - - permissions - - permissions - last_editor: last_editor - name: name - active: true - bound_nodes: 0 - id: 6 - properties: - services: - items: - $ref: '#/components/schemas/ServiceResponse' - type: array - total: - format: int64 - type: integer - required: - - services - - total - type: object - UpdateResourceRequest: - additionalProperties: false - example: - content_type: content_type - name: name - trigger: trigger - content: content - properties: - content: - type: string - content_type: - type: string - name: - type: string - trigger: - type: string - type: object - UpdateServiceRequest: - additionalProperties: false - example: - variables: - - name: name - value: value - - name: name - value: value - name: name - active: true - properties: - active: - type: boolean - name: - type: string - variables: - items: - $ref: '#/components/schemas/Variable' - type: array - type: object - Variable: - additionalProperties: false - example: - name: name - value: value - properties: - name: - type: string - value: - type: string - required: - - name - - value - type: object - securitySchemes: - tokenAuth: - type: apiKey - name: Authorization - in: header - description: | - You must inform a token to auth. - Usage format: `Token ` \ No newline at end of file diff --git a/storage.yaml b/storage.yaml deleted file mode 100644 index 93add83..0000000 --- a/storage.yaml +++ /dev/null @@ -1,2158 +0,0 @@ -openapi: 3.0.3 -info: - title: object-storage-api - version: 1.0.0 (v1) - description: REST API OpenAPI documentation for the Object Storage - license: - name: MIT - url: https://github.com/aziontech/azionapi-openapi/blob/main/LICENSE.md -paths: - /edge_storage/buckets: - get: - operationId: list buckets - description: List all buckets. - summary: List buckets - parameters: - - in: query - name: fields - schema: - type: string - description: Comma-separated list of field names to include in the response. - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: page - required: false - in: query - description: A page number within the paginated result set. - schema: - type: integer - - in: query - name: page_size - schema: - type: integer - description: A numeric value that indicates the number of items per page. - - name: search - required: false - in: query - description: A search term. - schema: - type: string - tags: - - Edge Storage - Buckets - security: - - TokenAuth: [] - - BearerAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PaginatedBucketList' - description: '' - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10000: - value: - errors: - - status: '400' - code: '10000' - title: Validation Error - detail: Invalid data provided in the request. - summary: Validation Error - description: Invalid data provided in the request. - description: Validation Error - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10004: - value: - errors: - - status: '404' - code: '10004' - title: Not Found - detail: Not found. - summary: Not Found - description: Not found. - description: Not Found - '405': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10007: - value: - errors: - - status: '405' - code: '10007' - title: Method Not Allowed - detail: Method "{method}" not allowed. - summary: Method Not Allowed - description: Method "{method}" not allowed. - description: Method Not Allowed - '406': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10005: - value: - errors: - - status: '406' - code: '10005' - title: Not Acceptable - detail: Could not satisfy the request Accept header. - summary: Not Acceptable - description: Could not satisfy the request Accept header. - description: Not Acceptable - '429': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10010: - value: - errors: - - status: '429' - code: '10010' - title: Throttled - detail: Request was throttled. - summary: Throttled - description: Request was throttled. - description: Throttled - '401': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10001: - value: - errors: - - status: '401' - code: '10001' - title: Authentication Failed - detail: Invalid authentication credentials. - summary: Authentication Failed - description: Invalid authentication credentials. - description: Authentication Failed - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10003: - value: - errors: - - status: '403' - code: '10003' - title: Permission Denied - detail: You do not have permission to perform this action. - summary: Permission Denied - description: You do not have permission to perform this action. - description: Permission Denied - post: - operationId: create bucket - description: Create a new bucket. - summary: Create a new bucket - tags: - - Edge Storage - Buckets - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/BucketCreateRequest' - required: true - security: - - TokenAuth: [] - - BearerAuth: [] - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/SuccessBucketOperation' - description: '' - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10000: - value: - errors: - - status: '400' - code: '10000' - title: Validation Error - detail: Invalid data provided in the request. - summary: Validation Error - description: Invalid data provided in the request. - description: Validation Error - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10004: - value: - errors: - - status: '404' - code: '10004' - title: Not Found - detail: Not found. - summary: Not Found - description: Not found. - description: Not Found - '405': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10007: - value: - errors: - - status: '405' - code: '10007' - title: Method Not Allowed - detail: Method "{method}" not allowed. - summary: Method Not Allowed - description: Method "{method}" not allowed. - description: Method Not Allowed - '406': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10005: - value: - errors: - - status: '406' - code: '10005' - title: Not Acceptable - detail: Could not satisfy the request Accept header. - summary: Not Acceptable - description: Could not satisfy the request Accept header. - description: Not Acceptable - '429': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10010: - value: - errors: - - status: '429' - code: '10010' - title: Throttled - detail: Request was throttled. - summary: Throttled - description: Request was throttled. - description: Throttled - '401': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10001: - value: - errors: - - status: '401' - code: '10001' - title: Authentication Failed - detail: Invalid authentication credentials. - summary: Authentication Failed - description: Invalid authentication credentials. - description: Authentication Failed - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10003: - value: - errors: - - status: '403' - code: '10003' - title: Permission Denied - detail: You do not have permission to perform this action. - summary: Permission Denied - description: You do not have permission to perform this action. - description: Permission Denied - /edge_storage/buckets/{bucketName}/objects: - get: - operationId: list object keys - description: List buckets objects - summary: List buckets objects - parameters: - - in: path - name: bucketName - schema: - type: string - required: true - - name: continuation_token - required: false - in: query - description: A continuation token for the next page of records. - schema: - type: string - - in: query - name: fields - schema: - type: string - description: Comma-separated list of field names to include in the response. - - name: max_object_count - required: false - in: query - description: Number of results to be returned on the page. Limited to 1000 - objects. - schema: - type: integer - tags: - - Edge Storage - Objects - security: - - TokenAuth: [] - - BearerAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PaginatedResponseBucketObjectList' - description: '' - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10000: - value: - errors: - - status: '400' - code: '10000' - title: Validation Error - detail: Invalid data provided in the request. - summary: Validation Error - description: Invalid data provided in the request. - description: Validation Error - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10004: - value: - errors: - - status: '404' - code: '10004' - title: Not Found - detail: Not found. - summary: Not Found - description: Not found. - description: Not Found - '405': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10007: - value: - errors: - - status: '405' - code: '10007' - title: Method Not Allowed - detail: Method "{method}" not allowed. - summary: Method Not Allowed - description: Method "{method}" not allowed. - description: Method Not Allowed - '406': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10005: - value: - errors: - - status: '406' - code: '10005' - title: Not Acceptable - detail: Could not satisfy the request Accept header. - summary: Not Acceptable - description: Could not satisfy the request Accept header. - description: Not Acceptable - '429': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10010: - value: - errors: - - status: '429' - code: '10010' - title: Throttled - detail: Request was throttled. - summary: Throttled - description: Request was throttled. - description: Throttled - '401': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10001: - value: - errors: - - status: '401' - code: '10001' - title: Authentication Failed - detail: Invalid authentication credentials. - summary: Authentication Failed - description: Invalid authentication credentials. - description: Authentication Failed - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10003: - value: - errors: - - status: '403' - code: '10003' - title: Permission Denied - detail: You do not have permission to perform this action. - summary: Permission Denied - description: You do not have permission to perform this action. - description: Permission Denied - /edge_storage/buckets/{bucketName}/objects/{objectKey}: - get: - operationId: download object - description: Download the object key from bucket. - summary: Download object - parameters: - - in: path - name: bucketName - schema: - type: string - required: true - - in: query - name: fields - schema: - type: string - description: Comma-separated list of field names to include in the response. - - in: path - name: objectKey - schema: - type: string - required: true - tags: - - Edge Storage - Objects - security: - - TokenAuth: [] - - BearerAuth: [] - responses: - '200': - content: - application/octet-stream: - schema: - type: string - format: binary - description: '' - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10000: - value: - errors: - - status: '400' - code: '10000' - title: Validation Error - detail: Invalid data provided in the request. - summary: Validation Error - description: Invalid data provided in the request. - description: Validation Error - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10004: - value: - errors: - - status: '404' - code: '10004' - title: Not Found - detail: Not found. - summary: Not Found - description: Not found. - description: Not Found - '405': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10007: - value: - errors: - - status: '405' - code: '10007' - title: Method Not Allowed - detail: Method "{method}" not allowed. - summary: Method Not Allowed - description: Method "{method}" not allowed. - description: Method Not Allowed - '406': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10005: - value: - errors: - - status: '406' - code: '10005' - title: Not Acceptable - detail: Could not satisfy the request Accept header. - summary: Not Acceptable - description: Could not satisfy the request Accept header. - description: Not Acceptable - '429': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10010: - value: - errors: - - status: '429' - code: '10010' - title: Throttled - detail: Request was throttled. - summary: Throttled - description: Request was throttled. - description: Throttled - '401': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10001: - value: - errors: - - status: '401' - code: '10001' - title: Authentication Failed - detail: Invalid authentication credentials. - summary: Authentication Failed - description: Invalid authentication credentials. - description: Authentication Failed - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10003: - value: - errors: - - status: '403' - code: '10003' - title: Permission Denied - detail: You do not have permission to perform this action. - summary: Permission Denied - description: You do not have permission to perform this action. - description: Permission Denied - post: - operationId: create object key - description: Create a new object key in the bucket. - summary: Create new object key - parameters: - - in: path - name: bucketName - schema: - type: string - required: true - - in: path - name: objectKey - schema: - type: string - required: true - tags: - - Edge Storage - Objects - requestBody: - content: - application/octet-stream: - schema: - type: string - format: binary - security: - - TokenAuth: [] - - BearerAuth: [] - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/SuccessObjectOperation' - description: '' - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10000: - value: - errors: - - status: '400' - code: '10000' - title: Validation Error - detail: Invalid data provided in the request. - summary: Validation Error - description: Invalid data provided in the request. - description: Validation Error - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10004: - value: - errors: - - status: '404' - code: '10004' - title: Not Found - detail: Not found. - summary: Not Found - description: Not found. - description: Not Found - '405': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10007: - value: - errors: - - status: '405' - code: '10007' - title: Method Not Allowed - detail: Method "{method}" not allowed. - summary: Method Not Allowed - description: Method "{method}" not allowed. - description: Method Not Allowed - '406': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10005: - value: - errors: - - status: '406' - code: '10005' - title: Not Acceptable - detail: Could not satisfy the request Accept header. - summary: Not Acceptable - description: Could not satisfy the request Accept header. - description: Not Acceptable - '429': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10010: - value: - errors: - - status: '429' - code: '10010' - title: Throttled - detail: Request was throttled. - summary: Throttled - description: Request was throttled. - description: Throttled - '401': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10001: - value: - errors: - - status: '401' - code: '10001' - title: Authentication Failed - detail: Invalid authentication credentials. - summary: Authentication Failed - description: Invalid authentication credentials. - description: Authentication Failed - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10003: - value: - errors: - - status: '403' - code: '10003' - title: Permission Denied - detail: You do not have permission to perform this action. - summary: Permission Denied - description: You do not have permission to perform this action. - description: Permission Denied - put: - operationId: update object key - description: Update the object key from bucket. - summary: Update the object key - parameters: - - in: path - name: bucketName - schema: - type: string - required: true - - in: path - name: objectKey - schema: - type: string - required: true - tags: - - Edge Storage - Objects - requestBody: - content: - application/octet-stream: - schema: - type: string - format: binary - security: - - TokenAuth: [] - - BearerAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/SuccessObjectOperation' - description: '' - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10000: - value: - errors: - - status: '400' - code: '10000' - title: Validation Error - detail: Invalid data provided in the request. - summary: Validation Error - description: Invalid data provided in the request. - description: Validation Error - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10004: - value: - errors: - - status: '404' - code: '10004' - title: Not Found - detail: Not found. - summary: Not Found - description: Not found. - description: Not Found - '405': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10007: - value: - errors: - - status: '405' - code: '10007' - title: Method Not Allowed - detail: Method "{method}" not allowed. - summary: Method Not Allowed - description: Method "{method}" not allowed. - description: Method Not Allowed - '406': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10005: - value: - errors: - - status: '406' - code: '10005' - title: Not Acceptable - detail: Could not satisfy the request Accept header. - summary: Not Acceptable - description: Could not satisfy the request Accept header. - description: Not Acceptable - '429': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10010: - value: - errors: - - status: '429' - code: '10010' - title: Throttled - detail: Request was throttled. - summary: Throttled - description: Request was throttled. - description: Throttled - '401': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10001: - value: - errors: - - status: '401' - code: '10001' - title: Authentication Failed - detail: Invalid authentication credentials. - summary: Authentication Failed - description: Invalid authentication credentials. - description: Authentication Failed - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10003: - value: - errors: - - status: '403' - code: '10003' - title: Permission Denied - detail: You do not have permission to perform this action. - summary: Permission Denied - description: You do not have permission to perform this action. - description: Permission Denied - delete: - operationId: delete object key - description: Delete an object key from bucket - summary: Delete object key - parameters: - - in: path - name: bucketName - schema: - type: string - required: true - - in: path - name: objectKey - schema: - type: string - required: true - tags: - - Edge Storage - Objects - security: - - TokenAuth: [] - - BearerAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/SuccessObjectOperation' - description: '' - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10000: - value: - errors: - - status: '400' - code: '10000' - title: Validation Error - detail: Invalid data provided in the request. - summary: Validation Error - description: Invalid data provided in the request. - description: Validation Error - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10004: - value: - errors: - - status: '404' - code: '10004' - title: Not Found - detail: Not found. - summary: Not Found - description: Not found. - description: Not Found - '405': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10007: - value: - errors: - - status: '405' - code: '10007' - title: Method Not Allowed - detail: Method "{method}" not allowed. - summary: Method Not Allowed - description: Method "{method}" not allowed. - description: Method Not Allowed - '406': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10005: - value: - errors: - - status: '406' - code: '10005' - title: Not Acceptable - detail: Could not satisfy the request Accept header. - summary: Not Acceptable - description: Could not satisfy the request Accept header. - description: Not Acceptable - '429': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10010: - value: - errors: - - status: '429' - code: '10010' - title: Throttled - detail: Request was throttled. - summary: Throttled - description: Request was throttled. - description: Throttled - '401': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10001: - value: - errors: - - status: '401' - code: '10001' - title: Authentication Failed - detail: Invalid authentication credentials. - summary: Authentication Failed - description: Invalid authentication credentials. - description: Authentication Failed - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10003: - value: - errors: - - status: '403' - code: '10003' - title: Permission Denied - detail: You do not have permission to perform this action. - summary: Permission Denied - description: You do not have permission to perform this action. - description: Permission Denied - /edge_storage/buckets/{name}: - patch: - operationId: update bucket - description: Update bucket information (bucket name cannot be changed) - summary: Update bucket info - parameters: - - in: path - name: name - schema: - type: string - required: true - tags: - - Edge Storage - Buckets - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/PatchedBucketRequest' - security: - - TokenAuth: [] - - BearerAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/SuccessBucketOperation' - description: '' - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10000: - value: - errors: - - status: '400' - code: '10000' - title: Validation Error - detail: Invalid data provided in the request. - summary: Validation Error - description: Invalid data provided in the request. - description: Validation Error - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10004: - value: - errors: - - status: '404' - code: '10004' - title: Not Found - detail: Not found. - summary: Not Found - description: Not found. - description: Not Found - '405': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10007: - value: - errors: - - status: '405' - code: '10007' - title: Method Not Allowed - detail: Method "{method}" not allowed. - summary: Method Not Allowed - description: Method "{method}" not allowed. - description: Method Not Allowed - '406': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10005: - value: - errors: - - status: '406' - code: '10005' - title: Not Acceptable - detail: Could not satisfy the request Accept header. - summary: Not Acceptable - description: Could not satisfy the request Accept header. - description: Not Acceptable - '429': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10010: - value: - errors: - - status: '429' - code: '10010' - title: Throttled - detail: Request was throttled. - summary: Throttled - description: Request was throttled. - description: Throttled - '401': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10001: - value: - errors: - - status: '401' - code: '10001' - title: Authentication Failed - detail: Invalid authentication credentials. - summary: Authentication Failed - description: Invalid authentication credentials. - description: Authentication Failed - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10003: - value: - errors: - - status: '403' - code: '10003' - title: Permission Denied - detail: You do not have permission to perform this action. - summary: Permission Denied - description: You do not have permission to perform this action. - description: Permission Denied - delete: - operationId: delete bucket - description: Delete a specific bucket. - summary: Delete a bucket - parameters: - - in: path - name: name - schema: - type: string - required: true - tags: - - Edge Storage - Buckets - security: - - TokenAuth: [] - - BearerAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/SuccessBucketOperation' - description: '' - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10000: - value: - errors: - - status: '400' - code: '10000' - title: Validation Error - detail: Invalid data provided in the request. - summary: Validation Error - description: Invalid data provided in the request. - description: Validation Error - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10004: - value: - errors: - - status: '404' - code: '10004' - title: Not Found - detail: Not found. - summary: Not Found - description: Not found. - description: Not Found - '405': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10007: - value: - errors: - - status: '405' - code: '10007' - title: Method Not Allowed - detail: Method "{method}" not allowed. - summary: Method Not Allowed - description: Method "{method}" not allowed. - description: Method Not Allowed - '406': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10005: - value: - errors: - - status: '406' - code: '10005' - title: Not Acceptable - detail: Could not satisfy the request Accept header. - summary: Not Acceptable - description: Could not satisfy the request Accept header. - description: Not Acceptable - '429': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10010: - value: - errors: - - status: '429' - code: '10010' - title: Throttled - detail: Request was throttled. - summary: Throttled - description: Request was throttled. - description: Throttled - '401': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10001: - value: - errors: - - status: '401' - code: '10001' - title: Authentication Failed - detail: Invalid authentication credentials. - summary: Authentication Failed - description: Invalid authentication credentials. - description: Authentication Failed - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10003: - value: - errors: - - status: '403' - code: '10003' - title: Permission Denied - detail: You do not have permission to perform this action. - summary: Permission Denied - description: You do not have permission to perform this action. - description: Permission Denied - /edge_storage/s3-credentials: - get: - operationId: list credentials - description: List all credentials. - summary: List credentials - parameters: - - in: query - name: fields - schema: - type: string - description: Comma-separated list of field names to include in the response. - - name: ordering - required: false - in: query - description: Which field to use when ordering the results. - schema: - type: string - - name: page - required: false - in: query - description: A page number within the paginated result set. - schema: - type: integer - - in: query - name: page_size - schema: - type: integer - description: A numeric value that indicates the number of items per page. - - name: search - required: false - in: query - description: A search term. - schema: - type: string - tags: - - Edge Storage - Credentials - security: - - TokenAuth: [] - - BearerAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/PaginatedResponseListCredentialList' - description: Ok - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseBadRequestCredential' - description: Bad Request - '404': - description: Not Found - '405': - content: - application/json: - schema: - $ref: '#/components/schemas/DefaultErrorResponse' - description: Not Found - '406': - content: - application/json: - schema: - $ref: '#/components/schemas/DefaultErrorResponse' - description: Not Acceptable - '429': - content: - application/json: - schema: - $ref: '#/components/schemas/DefaultErrorResponse' - description: Too Many Requests - '401': - content: - application/json: - schema: - $ref: '#/components/schemas/DefaultErrorResponse' - description: Unauthorized - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/DefaultErrorResponse' - description: Forbidden - post: - operationId: create credential - description: Create a new credential. - summary: Create a new credential - tags: - - Edge Storage - Credentials - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/CredentialCreateRequest' - required: true - security: - - TokenAuth: [] - - BearerAuth: [] - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/CredentialCreate' - description: '' - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10000: - value: - errors: - - status: '400' - code: '10000' - title: Validation Error - detail: Invalid data provided in the request. - summary: Validation Error - description: Invalid data provided in the request. - description: Validation Error - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10004: - value: - errors: - - status: '404' - code: '10004' - title: Not Found - detail: Not found. - summary: Not Found - description: Not found. - description: Not Found - '405': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10007: - value: - errors: - - status: '405' - code: '10007' - title: Method Not Allowed - detail: Method "{method}" not allowed. - summary: Method Not Allowed - description: Method "{method}" not allowed. - description: Method Not Allowed - '406': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10005: - value: - errors: - - status: '406' - code: '10005' - title: Not Acceptable - detail: Could not satisfy the request Accept header. - summary: Not Acceptable - description: Could not satisfy the request Accept header. - description: Not Acceptable - '429': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10010: - value: - errors: - - status: '429' - code: '10010' - title: Throttled - detail: Request was throttled. - summary: Throttled - description: Request was throttled. - description: Throttled - '401': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10001: - value: - errors: - - status: '401' - code: '10001' - title: Authentication Failed - detail: Invalid authentication credentials. - summary: Authentication Failed - description: Invalid authentication credentials. - description: Authentication Failed - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10003: - value: - errors: - - status: '403' - code: '10003' - title: Permission Denied - detail: You do not have permission to perform this action. - summary: Permission Denied - description: You do not have permission to perform this action. - description: Permission Denied - /edge_storage/s3-credentials/{accessKey}: - get: - operationId: retrive credential - description: Retrieve details from a specific credential. - summary: Retrieve details from a credential - parameters: - - in: path - name: accessKey - schema: - type: string - required: true - - in: query - name: fields - schema: - type: string - description: Comma-separated list of field names to include in the response. - tags: - - Edge Storage - Credentials - security: - - TokenAuth: [] - - BearerAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseRetrieveCredential' - description: Ok - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/ResponseBadRequestCredential' - description: Bad Request - '404': - description: Not Found - '405': - content: - application/json: - schema: - $ref: '#/components/schemas/DefaultErrorResponse' - description: Not Found - '406': - content: - application/json: - schema: - $ref: '#/components/schemas/DefaultErrorResponse' - description: Not Acceptable - '429': - content: - application/json: - schema: - $ref: '#/components/schemas/DefaultErrorResponse' - description: Too Many Requests - '401': - content: - application/json: - schema: - $ref: '#/components/schemas/DefaultErrorResponse' - description: Unauthorized - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/DefaultErrorResponse' - description: Forbidden - delete: - operationId: delete credential - description: Delete a specific credential. - summary: Delete a Credential - parameters: - - in: path - name: accessKey - schema: - type: string - description: The credential access key - required: true - tags: - - Edge Storage - Credentials - security: - - TokenAuth: [] - - BearerAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Credential' - description: '' - '400': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10000: - value: - errors: - - status: '400' - code: '10000' - title: Validation Error - detail: Invalid data provided in the request. - summary: Validation Error - description: Invalid data provided in the request. - description: Validation Error - '404': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10004: - value: - errors: - - status: '404' - code: '10004' - title: Not Found - detail: Not found. - summary: Not Found - description: Not found. - description: Not Found - '405': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10007: - value: - errors: - - status: '405' - code: '10007' - title: Method Not Allowed - detail: Method "{method}" not allowed. - summary: Method Not Allowed - description: Method "{method}" not allowed. - description: Method Not Allowed - '406': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10005: - value: - errors: - - status: '406' - code: '10005' - title: Not Acceptable - detail: Could not satisfy the request Accept header. - summary: Not Acceptable - description: Could not satisfy the request Accept header. - description: Not Acceptable - '429': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10010: - value: - errors: - - status: '429' - code: '10010' - title: Throttled - detail: Request was throttled. - summary: Throttled - description: Request was throttled. - description: Throttled - '401': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10001: - value: - errors: - - status: '401' - code: '10001' - title: Authentication Failed - detail: Invalid authentication credentials. - summary: Authentication Failed - description: Invalid authentication credentials. - description: Authentication Failed - '403': - content: - application/json: - schema: - $ref: '#/components/schemas/JSONAPIErrorResponse' - examples: - Error-10003: - value: - errors: - - status: '403' - code: '10003' - title: Permission Denied - detail: You do not have permission to perform this action. - summary: Permission Denied - description: You do not have permission to perform this action. - description: Permission Denied -components: - schemas: - Bucket: - type: object - properties: - name: - type: string - readOnly: true - maxLength: 63 - minLength: 6 - edge_access: - $ref: '#/components/schemas/EdgeAccessEnum' - required: - - edge_access - - name - title: Bucket - additionalProperties: false - BucketCreateRequest: - type: object - properties: - name: - type: string - minLength: 6 - pattern: .{6,63} - maxLength: 63 - edge_access: - $ref: '#/components/schemas/EdgeAccessEnum' - required: - - edge_access - - name - title: BucketCreateRequest - additionalProperties: false - BucketObject: - type: object - properties: - key: - type: string - readOnly: true - last_modified: - type: string - format: date-time - readOnly: true - size: - type: integer - readOnly: true - required: - - key - - last_modified - - size - title: BucketObject - additionalProperties: false - Credential: - type: object - properties: - name: - type: string - pattern: ^[a-zA-Z0-9\-]+$ - maxLength: 100 - minLength: 1 - access_key: - type: string - readOnly: true - secret_key: - type: string - readOnly: true - capabilities: - type: array - items: - type: string - bucket: - type: string - pattern: .{0,63} - maxLength: 63 - minLength: 1 - expiration_date: - type: string - format: date-time - created_at: - type: string - format: date-time - required: - - access_key - - capabilities - - created_at - - name - - secret_key - title: Credential - additionalProperties: false - CredentialCreate: - type: object - properties: - name: - type: string - pattern: ^[a-zA-Z0-9\-]+$ - maxLength: 100 - minLength: 1 - capabilities: - type: array - items: - type: string - bucket: - type: string - pattern: .{0,63} - maxLength: 63 - minLength: 1 - expiration_date: - type: string - format: date-time - required: - - capabilities - - name - title: CredentialCreate - additionalProperties: false - CredentialCreateRequest: - type: object - properties: - name: - type: string - minLength: 1 - pattern: ^[a-zA-Z0-9\-]+$ - maxLength: 100 - capabilities: - type: array - items: - type: string - minLength: 1 - bucket: - type: string - minLength: 1 - pattern: .{0,63} - maxLength: 63 - expiration_date: - type: string - format: date-time - required: - - capabilities - - name - title: CredentialCreateRequest - additionalProperties: false - DefaultErrorResponse: - type: object - properties: - detail: - type: string - pattern: .* - maxLength: 4096 - minLength: 1 - title: DefaultErrorResponse - additionalProperties: false - EdgeAccessEnum: - enum: - - read_only - - read_write - - restricted - type: string - description: |- - * `read_only` - read_only - * `read_write` - read_write - * `restricted` - restricted - title: EdgeAccessEnum - additionalProperties: false - JSONAPIErrorObject: - type: object - description: Serializer for a single JSON:API error object. - properties: - status: - type: string - description: The HTTP status code applicable to this problem - pattern: ^\d{3}$ - maxLength: 3 - minLength: 3 - code: - type: string - description: An application-specific error code - pattern: ^\d{5}$ - maxLength: 5 - minLength: 5 - title: - type: string - description: A short, human-readable summary of the problem - pattern: ^.*$ - maxLength: 4096 - minLength: 1 - detail: - type: string - description: A human-readable explanation specific to this occurrence of - the problem - pattern: ^.*$ - maxLength: 4096 - minLength: 1 - source: - allOf: - - $ref: '#/components/schemas/JSONAPIErrorSource' - description: References to the primary source of the error - meta: - description: Non-standard meta-information about the error - title: JSONAPIErrorObject - additionalProperties: false - JSONAPIErrorResponse: - type: object - description: Serializer for a JSON:API error response. - properties: - errors: - type: array - items: - $ref: '#/components/schemas/JSONAPIErrorObject' - description: Array of error objects - required: - - errors - title: JSONAPIErrorResponse - additionalProperties: false - JSONAPIErrorSource: - type: object - description: Serializer for the 'source' object in a JSON:API error. - properties: - pointer: - type: string - description: JSON Pointer to the value in the request document that caused - the error - pattern: ^(/[^/]+)+$ - maxLength: 4096 - minLength: 1 - parameter: - type: string - description: URI query parameter that caused the error - pattern: ^.*$ - maxLength: 4096 - minLength: 1 - header: - type: string - description: Request header name that caused the error - pattern: ^.*$ - maxLength: 4096 - minLength: 1 - title: JSONAPIErrorSource - additionalProperties: false - ObjectResponseData: - type: object - properties: - object_key: - type: string - pattern: ^[0-9a-zA-Z!\"\~\-\_\.\*\'\(\)\&\$\@\=\;\/\:\+\,\\\{\}\^\`\[\]\>\<\|\ - \%\u00c0\u00c1\u00c2\u00c3\u00c4\u00c7\u00c8\u00c9\u00ca\u00cb\u00cc\u00cd\u00ce\u00cf\u00d1\u00d2\u00d3\u00d4\u00d5\u00d6\u00d9\u00da\u00db\u00dc\u00dd\u00e0\u00e1\u00e2\u00e3\u00e4\u00e7\u00e8\u00e9\u00ea\u00ec\u00ed\u00ee\u00f1\u00f2\u00f3\u00f4\u00f5\u00f6\u00f9\u00fa\u00fb\u00fc\u00fd\u00eb\u00ef]+$ - maxLength: 1024 - minLength: 1 - required: - - object_key - title: ObjectResponseData - additionalProperties: false - PaginatedBucketList: - type: object - properties: - count: - type: integer - minimum: 0 - maximum: 2147483647 - example: 123 - results: - type: array - items: - $ref: '#/components/schemas/Bucket' - title: PaginatedBucketList - additionalProperties: false - PaginatedResponseBucketObjectList: - type: array - items: - $ref: '#/components/schemas/ResponseBucketObject' - title: PaginatedResponseBucketObjectList - additionalProperties: false - PaginatedResponseListCredentialList: - type: object - properties: - count: - type: integer - minimum: 0 - maximum: 2147483647 - example: 123 - results: - type: array - items: - $ref: '#/components/schemas/ResponseListCredential' - title: PaginatedResponseListCredentialList - additionalProperties: false - PatchedBucketRequest: - type: object - properties: - edge_access: - $ref: '#/components/schemas/EdgeAccessEnum' - title: PatchedBucketRequest - additionalProperties: false - ResponseBadRequestCredential: - type: object - properties: - name: - type: array - items: - type: string - expiration_date: - type: array - items: - type: string - created_at: - type: array - items: - type: string - capabilities: - oneOf: - - type: array - items: - type: string - - type: object - additionalProperties: - type: array - items: - type: string - bucket: - type: array - items: - type: string - detail: - type: string - pattern: .* - maxLength: 4096 - minLength: 1 - title: ResponseBadRequestCredential - additionalProperties: false - ResponseBucketObject: - type: object - properties: - continuation_token: - type: string - pattern: .{0,255} - maxLength: 255 - minLength: 0 - results: - type: array - items: - $ref: '#/components/schemas/BucketObject' - required: - - continuation_token - - results - title: ResponseBucketObject - additionalProperties: false - ResponseListCredential: - type: object - properties: - name: - type: string - pattern: ^[a-zA-Z0-9\-]+$ - maxLength: 100 - minLength: 1 - access_key: - type: string - readOnly: true - secret_key: - type: string - readOnly: true - capabilities: - type: array - items: - type: string - bucket: - type: string - pattern: .{0,63} - maxLength: 63 - minLength: 1 - expiration_date: - type: string - format: date-time - created_at: - type: string - format: date-time - required: - - access_key - - capabilities - - created_at - - name - - secret_key - title: ResponseListCredential - additionalProperties: false - ResponseRetrieveCredential: - type: object - properties: - data: - $ref: '#/components/schemas/Credential' - required: - - data - title: ResponseRetrieveCredential - additionalProperties: false - StateEnum: - enum: - - pending - - executed - type: string - description: |- - * `pending` - pending - * `executed` - executed - title: StateEnum - additionalProperties: false - SuccessBucketOperation: - type: object - properties: - state: - allOf: - - $ref: '#/components/schemas/StateEnum' - title: BucketStateEnum - data: - $ref: '#/components/schemas/Bucket' - required: - - data - - state - title: SuccessBucketOperation - additionalProperties: false - SuccessObjectOperation: - type: object - properties: - state: - allOf: - - $ref: '#/components/schemas/StateEnum' - title: ObjectStateEnum - data: - $ref: '#/components/schemas/ObjectResponseData' - required: - - data - - state - title: SuccessObjectOperation - additionalProperties: false - securitySchemes: - BearerAuth: - type: http - scheme: bearer - TokenAuth: - type: apiKey - in: header - name: Authorization - description: Token-based authentication with required prefix "Token" diff --git a/variables.yaml b/variables.yaml deleted file mode 100644 index b6f0f08..0000000 --- a/variables.yaml +++ /dev/null @@ -1,287 +0,0 @@ -openapi: 3.0.0 -info: - title: Variables API - version: 1.0.0 - license: - name: MIT - url: https://github.com/aziontech/azionapi-openapi/blob/main/LICENSE.md -servers: -- description: Production - url: https://api.azionapi.net -security: -- tokenAuth: [] -paths: - /variables: - get: - summary: /variables - operationId: api_variables_list - description: List all user's Variables. - tags: - - Variables - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Variable' - description: '' - '404': - description: Not Found - post: - operationId: api_variables_create - summary: /variables - description: Create a new Variable.
  • If the attribute "secret" is - informed with value "true" in request payload the Variable value will be secret - and no longer viewable after creation.
  • If the attribute "secret" is - not informed the Variable value will be considered as not secret by default.
- tags: - - Variables - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VariableCreate' - examples: - SimpleVariableCreation: - value: - key: MY_SIMPLE_VAR - value: My not secret value - summary: Simple Variable creation - SecretVariableCreation: - value: - key: MY_SECRET_VAR - value: My secret value - secret: true - summary: Secret Variable creation - required: true - security: - - tokenAuth: [] - responses: - '201': - content: - application/json: - schema: - $ref: '#/components/schemas/VariableGet' - description: '' - '400': - description: Bad Request - '403': - description: Forbidden - '404': - description: Not Found - '500': - description: Internal Server Error - /variables/{uuid}: - get: - operationId: api_variables_retrieve - summary: /variables/:uuid - description: Retrieve all data for a Variable by it's UUID - parameters: - - in: path - name: uuid - schema: - type: string - pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - required: true - tags: - - Variables - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/Variable' - description: '' - '400': - description: Bad Request - '403': - description: Forbidden - '404': - description: Not Found - '500': - description: Internal Server Error - put: - operationId: api_variables_update - summary: /variables/:uuid - description: Update variable attributes by it's UUID. Keep the Variable UUID - but overwrite all editable attributes. - parameters: - - in: path - name: uuid - schema: - type: string - pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - required: true - tags: - - Variables - requestBody: - content: - application/json: - schema: - $ref: '#/components/schemas/VariableCreate' - examples: - SimpleVariableUpdate: - value: - key: MY_NEW_SIMPLE_VAR_KEY - value: My new not secret value - summary: Simple Variable update - SecretVariableUpdate: - value: - key: MY_NEW_SECRET_VAR_KEY - value: My new secret value - secret: true - summary: Secret Variable update - application/x-www-form-urlencoded: - schema: - $ref: '#/components/schemas/VariableCreate' - multipart/form-data: - schema: - $ref: '#/components/schemas/VariableCreate' - required: true - security: - - tokenAuth: [] - responses: - '200': - content: - application/json: - schema: - $ref: '#/components/schemas/VariableGet' - description: '' - '400': - description: Bad Request - '403': - description: Forbidden - '404': - description: Not Found - '500': - description: Internal Server Error - delete: - operationId: api_variables_destroy - summary: /variables/:uuid - description: Delete a Variable by it's UUID - parameters: - - in: path - name: uuid - schema: - type: string - pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - required: true - tags: - - Variables - security: - - tokenAuth: [] - responses: - '204': - description: No response body - '400': - description: Bad Request - '403': - description: Forbidden - '404': - description: Not Found - '500': - description: Internal Server Error -components: - schemas: - Variable: - type: object - properties: - uuid: - type: string - format: uuid - readOnly: true - key: - type: string - minLength: 1 - maxLength: 100 - value: - type: string - minLength: 1 - maxLength: 32768 - secret: - type: boolean - readOnly: true - last_editor: - type: string - readOnly: true - created_at: - type: string - format: date-time - updated_at: - type: string - format: date-time - required: - - created_at - - key - - last_editor - - secret - - updated_at - - uuid - - value - VariableCreate: - type: object - properties: - key: - type: string - minLength: 1 - maxLength: 100 - value: - type: string - minLength: 1 - maxLength: 32768 - secret: - type: boolean - required: - - key - - value - VariableGet: - type: object - properties: - uuid: - type: string - format: uuid - readOnly: true - key: - type: string - minLength: 1 - maxLength: 100 - value: - type: string - minLength: 1 - maxLength: 32768 - description: |- - Given the *incoming* primitive data, return the value for this field - that should be validated and transformed to a native value. - readOnly: true - secret: - type: boolean - readOnly: true - last_editor: - type: string - readOnly: true - created_at: - type: string - format: date-time - updated_at: - type: string - format: date-time - required: - - created_at - - key - - last_editor - - secret - - updated_at - - uuid - - value - securitySchemes: - tokenAuth: - type: apiKey - in: header - name: Authorization - description: Token-based authentication with required prefix "Token" diff --git a/waf.yaml b/waf.yaml deleted file mode 100644 index 737b05d..0000000 --- a/waf.yaml +++ /dev/null @@ -1,629 +0,0 @@ -openapi: 3.0.0 -info: - title: Web Application Firewall API - version: 2.0.0 - license: - name: MIT - url: https://github.com/aziontech/azionapi-openapi/blob/main/LICENSE.md -servers: -- description: Production - url: https://api.azionapi.net -security: -- tokenAuth: [] -paths: - /waf: - get: - tags: - - WAF - summary: List all Web Application Firewalls (WAFs) created in an account - operationId: listAllWAF - parameters: - - in: query - name: page - description: Identifies which page should be returned, if the return is paginated. - schema: - type: integer - format: int64 - default: 1 - - in: query - name: page_size - description: Identifies how many items should be returned per page. - schema: - type: integer - format: int64 - default: 10 - responses: - "200": - description: successful operation - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/WAFList200' - "400": - description: Bad request - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/WAFEvents400' - "403": - description: Forbidden - "404": - description: data not found - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/WAFEvents404' - /waf/{waf_id}/domains: - get: - tags: - - WAF - summary: List all domains attached to a Web Application Firewall (WAF) in an account. - operationId: getWAFDomains - parameters: - - in: path - name: waf_id - description: ID of WAF to return - required: true - schema: - type: integer - format: int64 - - in: query - name: name - description: searches WAF for name - required: false - schema: - type: string - - in: query - name: page - description: Identifies which page should be returned, if the return is paginated. - schema: - type: integer - format: int64 - default: 1 - - in: query - name: page_size - description: Identifies how many items should be returned per page. - schema: - type: integer - format: int64 - default: 10 - - responses: - "200": - description: successful operation - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/WAFDomains200' - "400": - description: Bad request - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/WAFEvents400' - "403": - description: Forbidden - "404": - description: data not found - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/WAFEvents404' - /waf/{waf_id}/waf_events: - get: - tags: - - WAF - summary: Find WAF log events - operationId: getWAFEvents - parameters: - - name: waf_id - in: path - description: ID of WAF to return - required: true - schema: - type: integer - format: int64 - - name: hour_range - in: query - description: Last log hours since now (it must be a integer number ranging between 1 and 72) - required: true - schema: - type: integer - format: int64 - - name: network_list_id - in: query - description: Id of a network list - required: false - schema: - type: integer - format: int64 - - name: domains_ids - in: query - description: Multiple domain's id (they must be separated by comma like 1233,1234) - required: true - schema: - type: array - items: - type: integer - format: int64 - - name: sort - in: query - required: false - schema: - type: string - enum: [asc, desc] - default: asc - responses: - "200": - description: successful operation - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/WAFEvents200' - "400": - description: Bad request - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/WAFEvents400' - "401": - description: unauthorized operation - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/WAFEvents401' - "403": - description: Forbidden - "404": - description: data not found - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/WAFEvents404' - "500": - description: Internal server error - /waf/rulesets: - get: - tags: - - WAF - summary: list all Rule Sets associated to a Web Application Firewall (WAF) in an account. - operationId: listAllWAFRulesets - parameters: - - in: query - name: order_by - description: Identifies which property the return should be sorted by. - schema: - type: string - enum: [id,name,mode,active,sql_injection,sql_injection_sensitivity,remote_file_inclusion,remote_file_inclusion_sensitivity,directory_traversal,directory_traversal_sensitivity,cross_site_scripting,cross_site_scripting_sensitivity,evading_tricks,evading_tricks_sensitivity,file_upload,file_upload_sensitivity,unwanted_access,unwanted_access_sensitivity,identified_attack,identified_attack_sensitivity] - default: "name" - - in: query - name: sort - description: Defines whether objects are shown in ascending or descending order depending on the value set in order_by. - schema: - type: string - enum: ["asc", "desc"] - default: "asc" - - in: query - name: page - description: Identifies which page should be returned, if the return is paginated. - schema: - type: integer - format: int64 - default: 1 - - in: query - name: page_size - description: Identifies how many items should be returned per page. - schema: - type: integer - format: int64 - default: 10 - responses: - "200": - description: successful operation - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/WAFList200' - "400": - description: Bad request - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/WAFEvents400' - "403": - description: Forbidden - "404": - description: data not found - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/WAFEvents404' - post: - summary: Create a new WAF Rule Set in an account. - operationId: createNewWAFRuleset - tags: - - WAF - requestBody: - content: - application/json; version=3: - schema: - allOf: - - $ref: '#/components/schemas/SingleWAF' - - required: [name, mode, active, sql_injection, sql_injection_sensitivity, remote_file_inclusion, remote_file_inclusion_sensitivity, directory_traversal, directory_traversal_sensitivity, cross_site_scripting, cross_site_scripting_sensitivity, evading_tricks, evading_tricks_sensitivity, file_upload, file_upload_sensitivity, unwanted_access, unwanted_access_sensitivity, identified_attack, identified_attack_sensitivity, bypass_addresses] - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/SingleWAF' - description: Successful response - "201": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/SingleWAF' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "415": - description: Unsupported Media Type - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - /waf/rulesets/{waf_rule_set_id}: - get: - tags: - - WAF - summary: List a specific Rule Set associated to a Web Application Firewall (WAF) in an account. - operationId: getWAFRuleset - parameters: - - in: path - name: waf_rule_set_id - description: ID of WAF Ruleset to return - required: true - schema: - type: integer - format: int64 - responses: - "200": - description: successful operation - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/WAFSingle200' - "400": - description: Bad request - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/WAFEvents400' - "403": - description: Forbidden - "404": - description: data not found - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/WAFEvents404' - patch: - summary: Change only select settings of a WAF Rule Set - operationId: updateWAFRuleset - tags: - - WAF - parameters: - - explode: false - in: path - name: waf_rule_set_id - required: true - schema: - type: string - style: simple - requestBody: - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/SingleWAF' - responses: - "200": - content: - application/json; version=3: - schema: - $ref: '#/components/schemas/SingleWAF' - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "405": - description: Method Not Allowed - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - delete: - summary: "Remove an WAF Rule Set from an account. Warning: this action cannot be undone." - operationId: deleteWAFRuleset - tags: - - WAF - parameters: - - explode: false - in: path - name: waf_rule_set_id - required: true - schema: - type: string - style: simple - responses: - "200": - description: Successful response - "400": - description: Bad Request - "403": - description: Forbidden - "404": - description: Not Found - "405": - description: Method Not Allowed - "422": - description: Unprocessable Entity - "500": - description: Internal Server Error - -components: - schemas: - WAFSensitivityChoices: - type: string - enum: ["lowest", "low", "medium", "high", "highest"] - Links: - properties: - previous: - type: string - nullable: true - next: - type: string - nullable: true - type: object - SingleWAF: - type: object - example: - id: 28852 - name: Waf Name - mode: counting - active: true - sql_injection: true - sql_injection_sensitivity: medium - remote_file_inclusion: true - remote_file_inclusion_sensitivity: medium - directory_traversal: true - directory_traversal_sensitivity: medium - cross_site_scripting: true - cross_site_scripting_sensitivity: medium - evading_tricks: true - evading_tricks_sensitivity: medium - file_upload: true - file_upload_sensitivity: medium - unwanted_access: true - unwanted_access_sensitivity: medium - identified_attack: true - identified_attack_sensitivity: medium - bypass_addresses: [] - properties: - id: - type: integer - format: int64 - name: - type: string - description: Identification name for WAF Rule Set. - mode: - type: string - enum: [blocking, counting] - active: - type: boolean - sql_injection: - type: boolean - sql_injection_sensitivity: - $ref: '#/components/schemas/WAFSensitivityChoices' - remote_file_inclusion: - type: boolean - remote_file_inclusion_sensitivity: - $ref: '#/components/schemas/WAFSensitivityChoices' - directory_traversal: - type: boolean - directory_traversal_sensitivity: - $ref: '#/components/schemas/WAFSensitivityChoices' - cross_site_scripting: - type: boolean - cross_site_scripting_sensitivity: - $ref: '#/components/schemas/WAFSensitivityChoices' - evading_tricks: - type: boolean - evading_tricks_sensitivity: - $ref: '#/components/schemas/WAFSensitivityChoices' - file_upload: - type: boolean - file_upload_sensitivity: - $ref: '#/components/schemas/WAFSensitivityChoices' - unwanted_access: - type: boolean - unwanted_access_sensitivity: - $ref: '#/components/schemas/WAFSensitivityChoices' - identified_attack: - type: boolean - identified_attack_sensitivity: - $ref: '#/components/schemas/WAFSensitivityChoices' - bypass_addresses: - type: array - items: - type: string - format: ipv4 - - WAFSingle200: - type: object - properties: - results: - $ref: '#/components/schemas/SingleWAF' - schema_version: - type: integer - format: int64 - example: 3 - WAFList200: - type: object - properties: - count: - type: integer - format: int64 - total_pages: - type: integer - format: int64 - links: - $ref: '#/components/schemas/Links' - results: - items: - $ref: '#/components/schemas/SingleWAF' - type: array - schema_version: - type: integer - format: int64 - example: 3 - WAFDomainList200: - type: object - example: - id: 28852 - name: Domain Name - domain: 28852f.ha.azioncdn.net - cnames: - - www.example2.io - - www.example.com - properties: - id: - type: integer - format: int64 - name: - type: string - domain: - type: string - cnames: - type: array - items: - type: string - WAFDomains200: - type: object - properties: - count: - type: integer - format: int64 - total_pages: - type: integer - format: int64 - links: - $ref: '#/components/schemas/Links' - results: - type: array - items: - $ref: '#/components/schemas/WAFDomainList200' - schema_version: - type: integer - format: int64 - example: 3 - WAFEvents400: - type: object - properties: - errors: - type: array - items: - type: object - example: - message: Bad Request - error: bad_request - properties: {} - schema_version: - type: integer - format: int64 - example: 3 - WAFEvents404: - type: object - properties: - errors: - type: array - items: - type: object - example: - message: Network List not found - error: not_found - properties: {} - schema_version: - type: integer - format: int64 - example: 3 - WAFEvents200: - type: object - properties: - results: - type: array - items: - type: object - properties: - country_count: - type: integer - format: int64 - top_10_countries: - type: array - items: - oneOf: - - type: string - - type: integer - format: int64 - top_10_ips: - type: array - items: - oneOf: - - type: string - - type: integer - format: int64 - hit_count: - type: integer - format: int64 - rule_id: - type: integer - format: int64 - ip_count: - type: integer - format: int64 - match_zone: - type: string - enum: [path, query_string, request_header, request_body, raw_body, file_name, cookie] - path_count: - type: integer - format: int64 - matches_on: - type: string - enum: [name, value] - rule_description: - type: string - schema_version: - type: integer - format: int64 - example: 3 - WAFEvents401: - type: object - properties: - detail: - type: string - example: - "Authentication credentials were not provided." - - securitySchemes: - tokenAuth: - type: apiKey - name: Authorization - in: header - description: | - You must inform a token to auth. - Usage format: `Token ` From 55d79006eacab70df1b0fab41bd6fa5d05de8712 Mon Sep 17 00:00:00 2001 From: jose-torquato Date: Thu, 29 Jan 2026 11:22:42 -0300 Subject: [PATCH 3/4] feat: update spectral rules from v4-openapi --- spectral/.spectral-credentials.yaml | 67 -- spectral/.spectral-datastreaming.yaml | 260 -------- spectral/.spectral-digital_certificates.yaml | 63 -- spectral/.spectral-domains.yaml | 70 -- spectral/.spectral-edgeapplications.yaml | 630 ------------------ spectral/.spectral-edgefirewall.yaml | 74 -- .../.spectral-edgefuncinstedgefirewall.yaml | 54 -- spectral/.spectral-edgefunctions.yaml | 86 --- spectral/.spectral-edgenode.yaml | 103 --- spectral/.spectral-iam.yaml | 324 --------- spectral/.spectral-idns.yaml | 109 --- spectral/.spectral-networklist.yaml | 94 --- spectral/.spectral-personaltokens.yaml | 43 -- spectral/.spectral-realtimepurge.yaml | 23 - spectral/.spectral-services.yaml | 106 --- spectral/.spectral-storage.yaml | 26 - spectral/.spectral-variables.yaml | 15 - spectral/.spectral-waf.yaml | 65 -- spectral/.spectral.yaml | 45 -- spectral/README.md | 354 ++++++++++ .../functions/checkAsyncOperationSchema.js | 37 + .../functions/checkAuthenticationScheme.js | 34 + spectral/functions/checkContactRequired.js | 31 + .../functions/checkContentTypeResponse.js | 13 + spectral/functions/checkDataKeysPresence.js | 19 + spectral/functions/checkDataObjectType.js | 18 + .../functions/checkDiscriminatorPresent.js | 34 + .../functions/checkEndpointStatusCodes.js | 5 +- .../functions/checkErrorResponseJsonApi.js | 36 + spectral/functions/checkExamplesRequired.js | 21 + spectral/functions/checkFieldsQueryParam.js | 28 + .../functions/checkFilterDocumentation.js | 25 + spectral/functions/checkHelpTextRequired.js | 12 + .../functions/checkOperationIdRequired.js | 11 + spectral/functions/checkOrderingParameter.js | 11 + .../checkPaginationResponseSchema.js | 37 + .../functions/checkPathEndsWithSForList.js | 19 + .../functions/checkPathParametersComplete.js | 34 + .../functions/checkQueryStringsPagination.js | 45 ++ .../functions/checkRequestBodyRequired.js | 25 + spectral/functions/checkResourceIDUsage.js | 25 + .../functions/checkSchemaNamingConvention.js | 23 + spectral/functions/checkSearchParameter.js | 11 + spectral/functions/checkServersRequired.js | 34 + .../functions/checkStateDeletedResource.js | 20 + .../functions/checkStatusCodesByMethod.js | 27 + .../checkSummaryDescriptionRequired.js | 23 + spectral/spectral.yaml | 587 ++++++++++++++++ 48 files changed, 1596 insertions(+), 2260 deletions(-) delete mode 100644 spectral/.spectral-credentials.yaml delete mode 100644 spectral/.spectral-datastreaming.yaml delete mode 100644 spectral/.spectral-digital_certificates.yaml delete mode 100644 spectral/.spectral-domains.yaml delete mode 100644 spectral/.spectral-edgeapplications.yaml delete mode 100644 spectral/.spectral-edgefirewall.yaml delete mode 100644 spectral/.spectral-edgefuncinstedgefirewall.yaml delete mode 100644 spectral/.spectral-edgefunctions.yaml delete mode 100644 spectral/.spectral-edgenode.yaml delete mode 100644 spectral/.spectral-iam.yaml delete mode 100644 spectral/.spectral-idns.yaml delete mode 100644 spectral/.spectral-networklist.yaml delete mode 100644 spectral/.spectral-personaltokens.yaml delete mode 100644 spectral/.spectral-realtimepurge.yaml delete mode 100644 spectral/.spectral-services.yaml delete mode 100644 spectral/.spectral-storage.yaml delete mode 100644 spectral/.spectral-variables.yaml delete mode 100644 spectral/.spectral-waf.yaml delete mode 100644 spectral/.spectral.yaml create mode 100644 spectral/README.md create mode 100644 spectral/functions/checkAsyncOperationSchema.js create mode 100644 spectral/functions/checkAuthenticationScheme.js create mode 100644 spectral/functions/checkContactRequired.js create mode 100644 spectral/functions/checkContentTypeResponse.js create mode 100644 spectral/functions/checkDataKeysPresence.js create mode 100644 spectral/functions/checkDataObjectType.js create mode 100644 spectral/functions/checkDiscriminatorPresent.js create mode 100644 spectral/functions/checkErrorResponseJsonApi.js create mode 100644 spectral/functions/checkExamplesRequired.js create mode 100644 spectral/functions/checkFieldsQueryParam.js create mode 100644 spectral/functions/checkFilterDocumentation.js create mode 100644 spectral/functions/checkHelpTextRequired.js create mode 100644 spectral/functions/checkOperationIdRequired.js create mode 100644 spectral/functions/checkOrderingParameter.js create mode 100644 spectral/functions/checkPaginationResponseSchema.js create mode 100644 spectral/functions/checkPathEndsWithSForList.js create mode 100644 spectral/functions/checkPathParametersComplete.js create mode 100644 spectral/functions/checkQueryStringsPagination.js create mode 100644 spectral/functions/checkRequestBodyRequired.js create mode 100644 spectral/functions/checkResourceIDUsage.js create mode 100644 spectral/functions/checkSchemaNamingConvention.js create mode 100644 spectral/functions/checkSearchParameter.js create mode 100644 spectral/functions/checkServersRequired.js create mode 100644 spectral/functions/checkStateDeletedResource.js create mode 100644 spectral/functions/checkStatusCodesByMethod.js create mode 100644 spectral/functions/checkSummaryDescriptionRequired.js create mode 100644 spectral/spectral.yaml diff --git a/spectral/.spectral-credentials.yaml b/spectral/.spectral-credentials.yaml deleted file mode 100644 index bcdeaca..0000000 --- a/spectral/.spectral-credentials.yaml +++ /dev/null @@ -1,67 +0,0 @@ -extends: .spectral.yaml -overrides: - - files: - - "credentials.yaml#/paths/~1credentials" - - "credentials.yaml#/paths/~1credentials~1%7BcredentialId%7D" - rules: - azion-mandatory-status-codes: "off" - - files: - - "credentials.yaml#/components/schemas/AuthToken/properties/id" - - "credentials.yaml#/components/schemas/Response/properties/id" - - "credentials.yaml#/components/schemas/ResponseWithTotal/properties/total" - rules: - azion-number-minimum-limit-rule: "off" - - files: - - "credentials.yaml#/components/schemas/AuthToken/properties/id" - - "credentials.yaml#/components/schemas/Response/properties/id" - - "credentials.yaml#/components/schemas/ResponseWithTotal/properties/total" - rules: - azion-number-maximum-limit-rule: "off" - - files: - - "credentials.yaml#/components/schemas/AuthToken/properties/client_id" - - "credentials.yaml#/components/schemas/AuthToken/properties/description" - - "credentials.yaml#/components/schemas/AuthToken/properties/last_editor" - - "credentials.yaml#/components/schemas/AuthToken/properties/name" - - "credentials.yaml#/components/schemas/AuthToken/properties/token" - - "credentials.yaml#/components/schemas/CreateCredentialRequest/properties/description" - - "credentials.yaml#/components/schemas/CreateCredentialRequest/properties/name" - - "credentials.yaml#/components/schemas/Response/properties/description" - - "credentials.yaml#/components/schemas/Response/properties/last_editor" - - "credentials.yaml#/components/schemas/Response/properties/name" - - "credentials.yaml#/components/schemas/Response/properties/token" - - "credentials.yaml#/components/schemas/UpdateCredentialRequest/properties/description" - - "credentials.yaml#/components/schemas/UpdateCredentialRequest/properties/name" - rules: - azion-string-minlength-properties-rule: "off" - - files: - - "credentials.yaml#/components/schemas/AuthToken/properties/client_id" - - "credentials.yaml#/components/schemas/AuthToken/properties/description" - - "credentials.yaml#/components/schemas/AuthToken/properties/last_editor" - - "credentials.yaml#/components/schemas/AuthToken/properties/name" - - "credentials.yaml#/components/schemas/AuthToken/properties/token" - - "credentials.yaml#/components/schemas/CreateCredentialRequest/properties/description" - - "credentials.yaml#/components/schemas/CreateCredentialRequest/properties/name" - - "credentials.yaml#/components/schemas/Response/properties/description" - - "credentials.yaml#/components/schemas/Response/properties/last_editor" - - "credentials.yaml#/components/schemas/Response/properties/name" - - "credentials.yaml#/components/schemas/Response/properties/token" - - "credentials.yaml#/components/schemas/UpdateCredentialRequest/properties/description" - - "credentials.yaml#/components/schemas/UpdateCredentialRequest/properties/name" - rules: - azion-string-maxlength-properties-rule: "off" - - files: - - "credentials.yaml#/components/schemas/AuthToken/properties/client_id" - - "credentials.yaml#/components/schemas/AuthToken/properties/description" - - "credentials.yaml#/components/schemas/AuthToken/properties/last_editor" - - "credentials.yaml#/components/schemas/AuthToken/properties/name" - - "credentials.yaml#/components/schemas/AuthToken/properties/token" - - "credentials.yaml#/components/schemas/CreateCredentialRequest/properties/description" - - "credentials.yaml#/components/schemas/CreateCredentialRequest/properties/name" - - "credentials.yaml#/components/schemas/Response/properties/description" - - "credentials.yaml#/components/schemas/Response/properties/last_editor" - - "credentials.yaml#/components/schemas/Response/properties/name" - - "credentials.yaml#/components/schemas/Response/properties/token" - - "credentials.yaml#/components/schemas/UpdateCredentialRequest/properties/description" - - "credentials.yaml#/components/schemas/UpdateCredentialRequest/properties/name" - rules: - azion-string-pattern-properties-rule: "off" \ No newline at end of file diff --git a/spectral/.spectral-datastreaming.yaml b/spectral/.spectral-datastreaming.yaml deleted file mode 100644 index 74aabe6..0000000 --- a/spectral/.spectral-datastreaming.yaml +++ /dev/null @@ -1,260 +0,0 @@ -extends: .spectral.yaml -overrides: - - files: - - "data_streaming.yaml#/components/schemas/CreateDataStreamingResponse/properties/schema_version" - - "data_streaming.yaml#/components/schemas/CreateCustomDataStreamingResponse/properties/schema_version" - - "data_streaming.yaml#/components/schemas/PostDataStreamingResponse/properties/id" - - "data_streaming.yaml#/components/schemas/PostCustomDataStreamingResponse/properties/id" - - "data_streaming.yaml#/components/schemas/Endpoint_Default/properties/max_size" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseWithResults/properties/schema_version" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeDatadogDTS/properties/id" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeDatadogDTS/properties/template_id" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeKafka/properties/id" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeKafka/properties/template_id" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeStandard/properties/id" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeStandard/properties/template_id" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeStandard/properties/max_size" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeCustom/properties/id" - - "data_streaming.yaml#/components/schemas/DataStreamingsDomainResponse/properties/count" - - "data_streaming.yaml#/components/schemas/DataStreamingsDomainResponse/properties/total_pages" - - "data_streaming.yaml#/components/schemas/DataStreamingsDomainResponse/properties/schema_version" - - "data_streaming.yaml#/components/schemas/DataStreamingsDomainResult/properties/domain_id" - - "data_streaming.yaml#/components/schemas/DataStreamingsById/properties/schema_version" - - "data_streaming.yaml#/components/schemas/TemplateResults/properties/schema_version" - - "data_streaming.yaml#/components/schemas/TemplateResultById/properties/schema_version" - - "data_streaming.yaml#/components/schemas/Template/properties/id" - rules: - azion-number-minimum-limit-rule: "off" - - files: - - "data_streaming.yaml#/components/schemas/CreateDataStreamingResponse/properties/schema_version" - - "data_streaming.yaml#/components/schemas/CreateCustomDataStreamingResponse/properties/schema_version" - - "data_streaming.yaml#/components/schemas/PostDataStreamingResponse/properties/id" - - "data_streaming.yaml#/components/schemas/PostCustomDataStreamingResponse/properties/id" - - "data_streaming.yaml#/components/schemas/Endpoint_Default/properties/max_size" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseWithResults/properties/schema_version" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeDatadogDTS/properties/id" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeDatadogDTS/properties/template_id" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeKafka/properties/id" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeKafka/properties/template_id" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeStandard/properties/id" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeStandard/properties/template_id" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeStandard/properties/max_size" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeCustom/properties/id" - - "data_streaming.yaml#/components/schemas/DataStreamingsDomainResponse/properties/count" - - "data_streaming.yaml#/components/schemas/DataStreamingsDomainResponse/properties/total_pages" - - "data_streaming.yaml#/components/schemas/DataStreamingsDomainResponse/properties/schema_version" - - "data_streaming.yaml#/components/schemas/DataStreamingsDomainResult/properties/domain_id" - - "data_streaming.yaml#/components/schemas/DataStreamingsById/properties/schema_version" - - "data_streaming.yaml#/components/schemas/TemplateResults/properties/schema_version" - - "data_streaming.yaml#/components/schemas/TemplateResultById/properties/schema_version" - - "data_streaming.yaml#/components/schemas/Template/properties/id" - rules: - azion-number-maximum-limit-rule: "off" - - files: - - "data_streaming.yaml#/components/schemas/DataStreamingPostBody/properties/name" - - "data_streaming.yaml#/components/schemas/StandardDataStreamingPostBody/properties/name" - - "data_streaming.yaml#/components/schemas/CustomDataStreamingPostBody/properties/name" - - "data_streaming.yaml#/components/schemas/CustomDataStreamingPostBody/properties/template_model" - - "data_streaming.yaml#/components/schemas/PostDataStreamingResponse/properties/name" - - "data_streaming.yaml#/components/schemas/PostCustomDataStreamingResponse/properties/name" - - "data_streaming.yaml#/components/schemas/PostCustomDataStreamingResponse/properties/template_model" - - "data_streaming.yaml#/components/schemas/Endpoint_Default/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Default/properties/log_line_separator" - - "data_streaming.yaml#/components/schemas/Endpoint_Default/properties/payload_format" - - "data_streaming.yaml#/components/schemas/Endpoint_Kafka/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Kafka/properties/kafka_topic" - - "data_streaming.yaml#/components/schemas/Endpoint_Kafka/properties/bootstrap_servers" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/access_key" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/region" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/object_key_prefix" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/bucket_name" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/content_type" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/secret_key" - - "data_streaming.yaml#/components/schemas/Endpoint_Google_BigQuery/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Google_BigQuery/properties/dataset_id" - - "data_streaming.yaml#/components/schemas/Endpoint_Google_BigQuery/properties/project_id" - - "data_streaming.yaml#/components/schemas/Endpoint_Google_BigQuery/properties/table_id" - - "data_streaming.yaml#/components/schemas/Endpoint_Elasticsearch/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_AWS_Kinesis_Firehose/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_AWS_Kinesis_Firehose/properties/access_key" - - "data_streaming.yaml#/components/schemas/Endpoint_AWS_Kinesis_Firehose/properties/stream_name" - - "data_streaming.yaml#/components/schemas/Endpoint_AWS_Kinesis_Firehose/properties/region" - - "data_streaming.yaml#/components/schemas/Endpoint_AWS_Kinesis_Firehose/properties/secret_key" - - "data_streaming.yaml#/components/schemas/Endpoint_Datadog/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_IBM_QRadar/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Monitor/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Monitor/properties/log_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Monitor/properties/shared_key" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Monitor/properties/time_generated_field" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Monitor/properties/workspace_id" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Blob_Storage/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Blob_Storage/properties/storage_account" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Blob_Storage/properties/container_name" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Blob_Storage/properties/blob_sas_token" - - "data_streaming.yaml#/components/schemas/Endpoint_Splunk/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Splunk/properties/api_key" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeDatadogDTS/properties/name" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeDatadogDTS/properties/data_source" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeDatadogDTS/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeDatadogDTS/properties/api_key" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeKafka/properties/name" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeKafka/properties/data_source" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeKafka/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeKafka/properties/kafka_topic" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeKafka/properties/bootstrap_servers" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeStandard/properties/name" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeStandard/properties/data_source" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeStandard/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeStandard/properties/log_line_separator" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeStandard/properties/payload_format" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeCustom/properties/name" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeCustom/properties/data_source" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeCustom/properties/template_model" - - "data_streaming.yaml#/components/schemas/DataStreamingsDomainResult/properties/name" - - "data_streaming.yaml#/components/schemas/Template/properties/name" - - "data_streaming.yaml#/components/schemas/Template/properties/template_model" - rules: - azion-string-minlength-properties-rule: "off" - - files: - - "data_streaming.yaml#/components/schemas/DataStreamingPostBody/properties/name" - - "data_streaming.yaml#/components/schemas/StandardDataStreamingPostBody/properties/name" - - "data_streaming.yaml#/components/schemas/CustomDataStreamingPostBody/properties/name" - - "data_streaming.yaml#/components/schemas/CustomDataStreamingPostBody/properties/template_model" - - "data_streaming.yaml#/components/schemas/PostDataStreamingResponse/properties/name" - - "data_streaming.yaml#/components/schemas/PostCustomDataStreamingResponse/properties/name" - - "data_streaming.yaml#/components/schemas/PostCustomDataStreamingResponse/properties/template_model" - - "data_streaming.yaml#/components/schemas/Endpoint_Default/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Default/properties/log_line_separator" - - "data_streaming.yaml#/components/schemas/Endpoint_Default/properties/payload_format" - - "data_streaming.yaml#/components/schemas/Endpoint_Kafka/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Kafka/properties/kafka_topic" - - "data_streaming.yaml#/components/schemas/Endpoint_Kafka/properties/bootstrap_servers" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/access_key" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/region" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/object_key_prefix" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/bucket_name" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/content_type" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/secret_key" - - "data_streaming.yaml#/components/schemas/Endpoint_Google_BigQuery/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Google_BigQuery/properties/dataset_id" - - "data_streaming.yaml#/components/schemas/Endpoint_Google_BigQuery/properties/project_id" - - "data_streaming.yaml#/components/schemas/Endpoint_Google_BigQuery/properties/table_id" - - "data_streaming.yaml#/components/schemas/Endpoint_Elasticsearch/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_AWS_Kinesis_Firehose/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_AWS_Kinesis_Firehose/properties/access_key" - - "data_streaming.yaml#/components/schemas/Endpoint_AWS_Kinesis_Firehose/properties/stream_name" - - "data_streaming.yaml#/components/schemas/Endpoint_AWS_Kinesis_Firehose/properties/region" - - "data_streaming.yaml#/components/schemas/Endpoint_AWS_Kinesis_Firehose/properties/secret_key" - - "data_streaming.yaml#/components/schemas/Endpoint_Datadog/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_IBM_QRadar/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Monitor/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Monitor/properties/log_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Monitor/properties/shared_key" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Monitor/properties/time_generated_field" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Monitor/properties/workspace_id" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Blob_Storage/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Blob_Storage/properties/storage_account" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Blob_Storage/properties/container_name" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Blob_Storage/properties/blob_sas_token" - - "data_streaming.yaml#/components/schemas/Endpoint_Splunk/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Splunk/properties/api_key" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeDatadogDTS/properties/name" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeDatadogDTS/properties/data_source" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeDatadogDTS/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeDatadogDTS/properties/api_key" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeKafka/properties/name" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeKafka/properties/data_source" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeKafka/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeKafka/properties/kafka_topic" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeKafka/properties/bootstrap_servers" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeStandard/properties/name" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeStandard/properties/data_source" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeStandard/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeStandard/properties/log_line_separator" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeStandard/properties/payload_format" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeCustom/properties/name" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeCustom/properties/data_source" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeCustom/properties/template_model" - - "data_streaming.yaml#/components/schemas/DataStreamingsDomainResult/properties/name" - - "data_streaming.yaml#/components/schemas/Template/properties/name" - - "data_streaming.yaml#/components/schemas/Template/properties/template_model" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeStandardHeadersExample/properties/header-name-1" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeStandardHeadersExample/properties/header-name-2" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeStandardHeadersExample/properties/header-name-3" - - "data_streaming.yaml#/components/schemas/DataStreamingsDomainResponseLinks/properties/previous" - - "data_streaming.yaml#/components/schemas/DataStreamingsDomainResponseLinks/properties/next" - rules: - azion-string-maxlength-properties-rule: "off" - - files: - - "data_streaming.yaml#/components/schemas/DataStreamingPostBody/properties/name" - - "data_streaming.yaml#/components/schemas/StandardDataStreamingPostBody/properties/name" - - "data_streaming.yaml#/components/schemas/CustomDataStreamingPostBody/properties/name" - - "data_streaming.yaml#/components/schemas/CustomDataStreamingPostBody/properties/template_model" - - "data_streaming.yaml#/components/schemas/PostDataStreamingResponse/properties/name" - - "data_streaming.yaml#/components/schemas/PostCustomDataStreamingResponse/properties/name" - - "data_streaming.yaml#/components/schemas/PostCustomDataStreamingResponse/properties/template_model" - - "data_streaming.yaml#/components/schemas/Endpoint_Default/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Default/properties/log_line_separator" - - "data_streaming.yaml#/components/schemas/Endpoint_Default/properties/payload_format" - - "data_streaming.yaml#/components/schemas/Endpoint_Kafka/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Kafka/properties/kafka_topic" - - "data_streaming.yaml#/components/schemas/Endpoint_Kafka/properties/bootstrap_servers" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/access_key" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/region" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/object_key_prefix" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/bucket_name" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/content_type" - - "data_streaming.yaml#/components/schemas/Endpoinrt_S3/properties/secret_key" - - "data_streaming.yaml#/components/schemas/Endpoint_Google_BigQuery/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Google_BigQuery/properties/dataset_id" - - "data_streaming.yaml#/components/schemas/Endpoint_Google_BigQuery/properties/project_id" - - "data_streaming.yaml#/components/schemas/Endpoint_Google_BigQuery/properties/table_id" - - "data_streaming.yaml#/components/schemas/Endpoint_Elasticsearch/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_AWS_Kinesis_Firehose/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_AWS_Kinesis_Firehose/properties/access_key" - - "data_streaming.yaml#/components/schemas/Endpoint_AWS_Kinesis_Firehose/properties/stream_name" - - "data_streaming.yaml#/components/schemas/Endpoint_AWS_Kinesis_Firehose/properties/region" - - "data_streaming.yaml#/components/schemas/Endpoint_AWS_Kinesis_Firehose/properties/secret_key" - - "data_streaming.yaml#/components/schemas/Endpoint_Datadog/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_IBM_QRadar/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Monitor/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Monitor/properties/log_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Monitor/properties/shared_key" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Monitor/properties/time_generated_field" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Monitor/properties/workspace_id" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Blob_Storage/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Blob_Storage/properties/storage_account" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Blob_Storage/properties/container_name" - - "data_streaming.yaml#/components/schemas/Endpoint_Azure_Blob_Storage/properties/blob_sas_token" - - "data_streaming.yaml#/components/schemas/Endpoint_Splunk/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/Endpoint_Splunk/properties/api_key" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeDatadogDTS/properties/name" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeDatadogDTS/properties/data_source" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeDatadogDTS/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeDatadogDTS/properties/api_key" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeKafka/properties/name" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeKafka/properties/data_source" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeKafka/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeKafka/properties/kafka_topic" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeKafka/properties/bootstrap_servers" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeStandard/properties/name" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeStandard/properties/data_source" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeStandard/properties/endpoint_type" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeStandard/properties/log_line_separator" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeStandard/properties/payload_format" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeCustom/properties/name" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeCustom/properties/data_source" - - "data_streaming.yaml#/components/schemas/DataStreamingResponseGetResultTypeCustom/properties/template_model" - - "data_streaming.yaml#/components/schemas/DataStreamingsDomainResult/properties/name" - - "data_streaming.yaml#/components/schemas/Template/properties/name" - - "data_streaming.yaml#/components/schemas/Template/properties/template_model" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeStandardHeadersExample/properties/header-name-1" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeStandardHeadersExample/properties/header-name-2" - - "data_streaming.yaml#/components/schemas/DataStreamingEndpointTypeStandardHeadersExample/properties/header-name-3" - - "data_streaming.yaml#/components/schemas/DataStreamingsDomainResponseLinks/properties/previous" - - "data_streaming.yaml#/components/schemas/DataStreamingsDomainResponseLinks/properties/next" - rules: - azion-string-pattern-properties-rule: "off" \ No newline at end of file diff --git a/spectral/.spectral-digital_certificates.yaml b/spectral/.spectral-digital_certificates.yaml deleted file mode 100644 index e0b4ac4..0000000 --- a/spectral/.spectral-digital_certificates.yaml +++ /dev/null @@ -1,63 +0,0 @@ -extends: .spectral.yaml -overrides: - - files: - - "digital_certificates.yaml#/paths/~1digital_certificates" - - "digital_certificates.yaml#/paths/~1digital_certificates~1csr" - - "digital_certificates.yaml#/paths/~1digital_certificates~1%7Bdigital_certificate_id%7D" - rules: - azion-mandatory-status-codes: "off" - - files: - - "digital_certificates.yaml#/components/schemas/singleResult/properties/id" - - "digital_certificates.yaml#/components/schemas/DC200/properties/schema_version" - - "digital_certificates.yaml#/components/schemas/DC200List/properties/count" - - "digital_certificates.yaml#/components/schemas/DC200List/properties/total_pages" - - "digital_certificates.yaml#/components/schemas/DC200List/properties/schema_version" - - "digital_certificates.yaml#/components/schemas/DC400/properties/schema_version" - - "digital_certificates.yaml#/components/schemas/DC403/properties/schema_version" - - "digital_certificates.yaml#/components/schemas/DC404/properties/schema_version" - - "digital_certificates.yaml#/components/schemas/DC406/properties/schema_version" - - "digital_certificates.yaml#/components/schemas/DC409/properties/schema_version" - rules: - azion-number-minimum-limit-rule: "off" - - files: - - "digital_certificates.yaml#/components/schemas/singleResult/properties/id" - - "digital_certificates.yaml#/components/schemas/DC200/properties/schema_version" - - "digital_certificates.yaml#/components/schemas/DC200List/properties/count" - - "digital_certificates.yaml#/components/schemas/DC200List/properties/total_pages" - - "digital_certificates.yaml#/components/schemas/DC200List/properties/schema_version" - - "digital_certificates.yaml#/components/schemas/DC400/properties/schema_version" - - "digital_certificates.yaml#/components/schemas/DC403/properties/schema_version" - - "digital_certificates.yaml#/components/schemas/DC404/properties/schema_version" - - "digital_certificates.yaml#/components/schemas/DC406/properties/schema_version" - - "digital_certificates.yaml#/components/schemas/DC409/properties/schema_version" - rules: - azion-number-maximum-limit-rule: "off" - - files: - - "digital_certificates.yaml#/components/schemas/singleResult/properties/name" - - "digital_certificates.yaml#/components/schemas/singleResult/properties/status" - - "digital_certificates.yaml#/components/schemas/singleResult/properties/azion_information" - - "digital_certificates.yaml#/components/schemas/DC401/properties/detail" - rules: - azion-string-minlength-properties-rule: "off" - - files: - - "digital_certificates.yaml#/components/schemas/singleResult/properties/name" - - "digital_certificates.yaml#/components/schemas/singleResult/properties/issuer" - - "digital_certificates.yaml#/components/schemas/singleResult/properties/validity" - - "digital_certificates.yaml#/components/schemas/singleResult/properties/status" - - "digital_certificates.yaml#/components/schemas/singleResult/properties/csr" - - "digital_certificates.yaml#/components/schemas/singleResult/properties/certificate_content" - - "digital_certificates.yaml#/components/schemas/singleResult/properties/azion_information" - - "digital_certificates.yaml#/components/schemas/DC401/properties/detail" - rules: - azion-string-maxlength-properties-rule: "off" - - files: - - "digital_certificates.yaml#/components/schemas/singleResult/properties/name" - - "digital_certificates.yaml#/components/schemas/singleResult/properties/issuer" - - "digital_certificates.yaml#/components/schemas/singleResult/properties/validity" - - "digital_certificates.yaml#/components/schemas/singleResult/properties/status" - - "digital_certificates.yaml#/components/schemas/singleResult/properties/csr" - - "digital_certificates.yaml#/components/schemas/singleResult/properties/certificate_content" - - "digital_certificates.yaml#/components/schemas/singleResult/properties/azion_information" - - "digital_certificates.yaml#/components/schemas/DC401/properties/detail" - rules: - azion-string-pattern-properties-rule: "off" \ No newline at end of file diff --git a/spectral/.spectral-domains.yaml b/spectral/.spectral-domains.yaml deleted file mode 100644 index efdc047..0000000 --- a/spectral/.spectral-domains.yaml +++ /dev/null @@ -1,70 +0,0 @@ -extends: .spectral.yaml -overrides: - - files: - - "domains.yaml#/paths/~1domains" - - "domains.yaml#/paths/~1domains~1%7Bid%7D" - rules: - azion-mandatory-status-codes: "off" - - files: - - "domains.yaml#/components/schemas/CreateDomainRequest/properties/edge_application_id" - - "domains.yaml#/components/schemas/UpdateDomainRequest/properties/edge_application_id" - - "domains.yaml#/components/schemas/PutDomainRequest/properties/edge_application_id" - - "domains.yaml#/components/schemas/DomainResponseWithResults/properties/count" - - "domains.yaml#/components/schemas/DomainResponseWithResults/properties/total_pages" - - "domains.yaml#/components/schemas/DomainResponseWithResults/properties/schema_version" - - "domains.yaml#/components/schemas/DomainResponseWithResult/properties/count" - - "domains.yaml#/components/schemas/DomainResponseWithResult/properties/total_pages" - - "domains.yaml#/components/schemas/DomainResponseWithResult/properties/schema_version" - - "domains.yaml#/components/schemas/DomainResults/properties/id" - - "domains.yaml#/components/schemas/DomainResults/properties/edge_application_id" - rules: - azion-number-minimum-limit-rule: "off" - - files: - - "domains.yaml#/components/schemas/CreateDomainRequest/properties/edge_application_id" - - "domains.yaml#/components/schemas/UpdateDomainRequest/properties/edge_application_id" - - "domains.yaml#/components/schemas/PutDomainRequest/properties/edge_application_id" - - "domains.yaml#/components/schemas/DomainResponseWithResults/properties/count" - - "domains.yaml#/components/schemas/DomainResponseWithResults/properties/total_pages" - - "domains.yaml#/components/schemas/DomainResponseWithResults/properties/schema_version" - - "domains.yaml#/components/schemas/DomainResponseWithResult/properties/count" - - "domains.yaml#/components/schemas/DomainResponseWithResult/properties/total_pages" - - "domains.yaml#/components/schemas/DomainResponseWithResult/properties/schema_version" - - "domains.yaml#/components/schemas/DomainResults/properties/id" - - "domains.yaml#/components/schemas/DomainResults/properties/edge_application_id" - rules: - azion-number-maximum-limit-rule: "off" - - files: - - "domains.yaml#/components/schemas/CreateDomainRequest/properties/name" - - "domains.yaml#/components/schemas/UpdateDomainRequest/properties/name" - - "domains.yaml#/components/schemas/PutDomainRequest/properties/name" - - "domains.yaml#/components/schemas/DomainResults/properties/name" - - "domains.yaml#/components/schemas/DomainResults/properties/domain_name" - - "domains.yaml#/components/schemas/DomainResults/properties/environment" - rules: - azion-string-minlength-properties-rule: "off" - - files: - - "domains.yaml#/components/schemas/CreateDomainRequest/properties/name" - - "domains.yaml#/components/schemas/UpdateDomainRequest/properties/name" - - "domains.yaml#/components/schemas/PutDomainRequest/properties/name" - - "domains.yaml#/components/schemas/DomainLinks/properties/previous" - - "domains.yaml#/components/schemas/DomainLinks/properties/next" - - "domains.yaml#/components/schemas/DomainResults/properties/name" - - "domains.yaml#/components/schemas/DomainResults/properties/domain_name" - - "domains.yaml#/components/schemas/DomainResults/properties/environment" - - "domains.yaml#/components/schemas/DomainResults/properties/mtls_trusted_ca_certificate_id" - - "domains.yaml#/components/schemas/DomainResults/properties/mtls_verification" - rules: - azion-string-maxlength-properties-rule: "off" - - files: - - "domains.yaml#/components/schemas/CreateDomainRequest/properties/name" - - "domains.yaml#/components/schemas/UpdateDomainRequest/properties/name" - - "domains.yaml#/components/schemas/PutDomainRequest/properties/name" - - "domains.yaml#/components/schemas/DomainLinks/properties/previous" - - "domains.yaml#/components/schemas/DomainLinks/properties/next" - - "domains.yaml#/components/schemas/DomainResults/properties/name" - - "domains.yaml#/components/schemas/DomainResults/properties/domain_name" - - "domains.yaml#/components/schemas/DomainResults/properties/environment" - - "domains.yaml#/components/schemas/DomainResults/properties/mtls_trusted_ca_certificate_id" - - "domains.yaml#/components/schemas/DomainResults/properties/mtls_verification" - rules: - azion-string-pattern-properties-rule: "off" \ No newline at end of file diff --git a/spectral/.spectral-edgeapplications.yaml b/spectral/.spectral-edgeapplications.yaml deleted file mode 100644 index b3eebf5..0000000 --- a/spectral/.spectral-edgeapplications.yaml +++ /dev/null @@ -1,630 +0,0 @@ -extends: .spectral.yaml -overrides: - - files: - - "edgeapplications.yaml#/paths/~1edge_applications" - - "edgeapplications.yaml#/paths/~1edge_applications~1%7Bid%7D" - - "edgeapplications.yaml#/paths/~1edge_applications~1%7Bedge_application_id%7D~1cache_settings" - - "edgeapplications.yaml#/paths/~1edge_applications~1%7Bedge_application_id%7D~1cache_settings~1%7Bcache_settings_id%7D" - - "edgeapplications.yaml#/paths/~1edge_applications~1%7Bedge_application_id%7D~1functions_instances" - - "edgeapplications.yaml#/paths/~1edge_applications~1%7Bedge_application_id%7D~1functions_instances~1%7Bfunctions_instances_id%7D" - - "edgeapplications.yaml#/paths/~1edge_applications~1%7Bedge_application_id%7D~1origins" - - "edgeapplications.yaml#/paths/~1edge_applications~1%7Bedge_application_id%7D~1origins~1%7Borigin_key%7D" - - "edgeapplications.yaml#/paths/~1edge_applications~1%7Bedge_application_id%7D~1rules_engine~1%7Bphase%7D~1rules" - - "edgeapplications.yaml#/paths/~1edge_applications~1%7Bedge_application_id%7D~1rules_engine~1%7Bphase%7D~1rules~1%7Brule_id%7D" - - "edgeapplications.yaml#/paths/~1edge_applications~1%7Bedge_application_id%7D~1device_groups" - - "edgeapplications.yaml#/paths/~1edge_applications~1%7Bedge_application_id%7D~1device_groups~1%7Bdevice_group_id%7D" - rules: - azion-mandatory-status-codes: "off" - - files: - - "edgeapplications.yaml#/components/schemas/GetApplicationsResponse/properties/count" - - "edgeapplications.yaml#/components/schemas/GetApplicationsResponse/properties/total_pages" - - "edgeapplications.yaml#/components/schemas/GetApplicationsResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationsResults/properties/id" - - "edgeapplications.yaml#/components/schemas/GetApplicationResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationResults/properties/id" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/browser_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/cdn_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/CreateApplicationResult/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationResultsCreate/properties/id" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateResults/properties/id" - - "edgeapplications.yaml#/components/schemas/ApplicationPutResult/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheGetResponse/properties/count" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheGetResponse/properties/total_pages" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheGetResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheGetOneResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/id" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/browser_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/cdn_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/slice_configuration_range" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/browser_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/cdn_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/slice_configuration_range" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/id" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/browser_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/cdn_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/slice_configuration_range" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/browser_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/cdn_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/slice_configuration_range" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/browser_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/cdn_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/slice_configuration_range" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/id" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/browser_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/cdn_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/slice_configuration_range" - - "edgeapplications.yaml#/components/schemas/ApplicationInstancesGetResponse/properties/count" - - "edgeapplications.yaml#/components/schemas/ApplicationInstancesGetResponse/properties/total_pages" - - "edgeapplications.yaml#/components/schemas/ApplicationInstancesGetResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationInstancesGetOneResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationInstancesResults/properties/id" - - "edgeapplications.yaml#/components/schemas/ApplicationInstancesResults/properties/edge_function_id" - - "edgeapplications.yaml#/components/schemas/ApplicationCreateInstanceRequest/properties/edge_function_id" - - "edgeapplications.yaml#/components/schemas/ApplicationPutInstanceRequest/properties/edge_function_id" - - "edgeapplications.yaml#/components/schemas/ApplicationInstanceResults/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/origin_id" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/connection_timeout" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/timeout_between_bytes" - - "edgeapplications.yaml#/components/schemas/OriginsResponse/properties/count" - - "edgeapplications.yaml#/components/schemas/OriginsResponse/properties/total_pages" - - "edgeapplications.yaml#/components/schemas/OriginsResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/OriginsIdResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/DeviceGroupsResultResponse/properties/id" - - "edgeapplications.yaml#/components/schemas/DeviceGroupsResponse/properties/count" - - "edgeapplications.yaml#/components/schemas/DeviceGroupsResponse/properties/total_pages" - - "edgeapplications.yaml#/components/schemas/DeviceGroupsResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/DeviceGroupsIdResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/RulesEngineResultResponse/properties/id" - - "edgeapplications.yaml#/components/schemas/RulesEngineResultResponse/properties/order" - - "edgeapplications.yaml#/components/schemas/RulesEngineResponse/properties/count" - - "edgeapplications.yaml#/components/schemas/RulesEngineResponse/properties/total_pages" - - "edgeapplications.yaml#/components/schemas/RulesEngineResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/RulesEngineIdResponse/properties/schema_version" - rules: - azion-number-minimum-limit-rule: "off" - - files: - - "edgeapplications.yaml#/components/schemas/GetApplicationsResponse/properties/count" - - "edgeapplications.yaml#/components/schemas/GetApplicationsResponse/properties/total_pages" - - "edgeapplications.yaml#/components/schemas/GetApplicationsResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationsResults/properties/id" - - "edgeapplications.yaml#/components/schemas/GetApplicationResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationResults/properties/id" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/browser_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/cdn_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/CreateApplicationResult/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationResultsCreate/properties/id" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateResults/properties/id" - - "edgeapplications.yaml#/components/schemas/ApplicationPutResult/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheGetResponse/properties/count" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheGetResponse/properties/total_pages" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheGetResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheGetOneResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/id" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/browser_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/cdn_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/slice_configuration_range" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/browser_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/cdn_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/slice_configuration_range" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/id" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/browser_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/cdn_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/slice_configuration_range" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/browser_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/cdn_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/slice_configuration_range" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/browser_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/cdn_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/slice_configuration_range" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/id" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/browser_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/cdn_cache_settings_maximum_ttl" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/slice_configuration_range" - - "edgeapplications.yaml#/components/schemas/ApplicationInstancesGetResponse/properties/count" - - "edgeapplications.yaml#/components/schemas/ApplicationInstancesGetResponse/properties/total_pages" - - "edgeapplications.yaml#/components/schemas/ApplicationInstancesGetResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationInstancesGetOneResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/ApplicationInstancesResults/properties/id" - - "edgeapplications.yaml#/components/schemas/ApplicationInstancesResults/properties/edge_function_id" - - "edgeapplications.yaml#/components/schemas/ApplicationCreateInstanceRequest/properties/edge_function_id" - - "edgeapplications.yaml#/components/schemas/ApplicationPutInstanceRequest/properties/edge_function_id" - - "edgeapplications.yaml#/components/schemas/ApplicationInstanceResults/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/origin_id" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/connection_timeout" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/timeout_between_bytes" - - "edgeapplications.yaml#/components/schemas/OriginsResponse/properties/count" - - "edgeapplications.yaml#/components/schemas/OriginsResponse/properties/total_pages" - - "edgeapplications.yaml#/components/schemas/OriginsResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/OriginsIdResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/DeviceGroupsResultResponse/properties/id" - - "edgeapplications.yaml#/components/schemas/DeviceGroupsResponse/properties/count" - - "edgeapplications.yaml#/components/schemas/DeviceGroupsResponse/properties/total_pages" - - "edgeapplications.yaml#/components/schemas/DeviceGroupsResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/DeviceGroupsIdResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/RulesEngineResultResponse/properties/id" - - "edgeapplications.yaml#/components/schemas/RulesEngineResultResponse/properties/order" - - "edgeapplications.yaml#/components/schemas/RulesEngineResponse/properties/count" - - "edgeapplications.yaml#/components/schemas/RulesEngineResponse/properties/total_pages" - - "edgeapplications.yaml#/components/schemas/RulesEngineResponse/properties/schema_version" - - "edgeapplications.yaml#/components/schemas/RulesEngineIdResponse/properties/schema_version" - rules: - azion-number-maximum-limit-rule: "off" - - files: - - "edgeapplications.yaml#/components/schemas/ApplicationsResults/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationsResults/properties/last_editor" - - "edgeapplications.yaml#/components/schemas/ApplicationsResults/properties/last_modified" - - "edgeapplications.yaml#/components/schemas/ApplicationOrigins/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationOrigins/properties/origin_type" - - "edgeapplications.yaml#/components/schemas/ApplicationOrigins/properties/origin_id" - - "edgeapplications.yaml#/components/schemas/ApplicationResults/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationResults/properties/supported_ciphers" - - "edgeapplications.yaml#/components/schemas/ApplicationResults/properties/delivery_protocol" - - "edgeapplications.yaml#/components/schemas/ApplicationResults/properties/minimum_tls_version" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/delivery_protocol" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/origin_type" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/address" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/minimum_tls_version" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/origin_protocol_policy" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/host_header" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/supported_ciphers" - - "edgeapplications.yaml#/components/schemas/ApplicationResultsCreate/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationResultsCreate/properties/supported_ciphers" - - "edgeapplications.yaml#/components/schemas/ApplicationResultsCreate/properties/delivery_protocol" - - "edgeapplications.yaml#/components/schemas/ApplicationResultsCreate/properties/minimum_tls_version" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateRequest/properties/delivery_protocol" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateRequest/properties/minimum_tls_version" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateResults/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateResults/properties/delivery_protocol" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateResults/properties/minimum_tls_version" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateResults/properties/supported_ciphers" - - "edgeapplications.yaml#/components/schemas/ApplicationPutRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationPutRequest/properties/delivery_protocol" - - "edgeapplications.yaml#/components/schemas/ApplicationPutRequest/properties/minimum_tls_version" - - "edgeapplications.yaml#/components/schemas/ApplicationPutRequest/properties/supported_ciphers" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/cache_by_query_string" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/cache_by_cookies" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/adaptive_delivery_action" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/cache_by_query_string" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/cache_by_cookies" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/adaptive_delivery_action" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/l2_region" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/cache_by_query_string" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/cache_by_cookies" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/adaptive_delivery_action" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/l2_region" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/cache_by_query_string" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/cache_by_cookies" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/adaptive_delivery_action" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/l2_region" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/adaptive_delivery_action" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/cache_by_query_string" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/cache_by_cookies" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/cache_by_query_string" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/cache_by_cookies" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/adaptive_delivery_action" - - "edgeapplications.yaml#/components/schemas/ApplicationInstancesResults/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCreateInstanceRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationPutInstanceRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/origin_type" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/origin_protocol_policy" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/host_header" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/origin_path" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/hmac_region_name" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/hmac_access_key" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/hmac_secret_key" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/bucket" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/prefix" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/origin_type" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/origin_protocol_policy" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/host_header" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/origin_path" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/hmac_region_name" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/hmac_access_key" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/hmac_secret_key" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/bucket" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/prefix" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/origin_type" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/origin_protocol_policy" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/host_header" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/origin_path" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/hmac_region_name" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/hmac_access_key" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/hmac_secret_key" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/bucket" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/prefix" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/origin_key" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/name" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/origin_type" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/origin_protocol_policy" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/host_header" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/method" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/origin_path" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/hmac_region_name" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/hmac_access_key" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/hmac_secret_key" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/bucket" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/prefix" - - "edgeapplications.yaml#/components/schemas/CreateDeviceGroupsRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/CreateDeviceGroupsRequest/properties/user_agent" - - "edgeapplications.yaml#/components/schemas/CreateDeviceGroupsRequest/properties/addresses" - - "edgeapplications.yaml#/components/schemas/UpdateDeviceGroupsRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/UpdateDeviceGroupsRequest/properties/user_agent" - - "edgeapplications.yaml#/components/schemas/PatchDeviceGroupsRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/PatchDeviceGroupsRequest/properties/user_agent" - - "edgeapplications.yaml#/components/schemas/DeviceGroupsResultResponse/properties/name" - - "edgeapplications.yaml#/components/schemas/DeviceGroupsResultResponse/properties/user_agent" - - "edgeapplications.yaml#/components/schemas/CreateRulesEngineRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/CreateRulesEngineRequest/properties/description" - - "edgeapplications.yaml#/components/schemas/UpdateRulesEngineRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/UpdateRulesEngineRequest/properties/description" - - "edgeapplications.yaml#/components/schemas/PatchRulesEngineRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/PatchRulesEngineRequest/properties/description" - - "edgeapplications.yaml#/components/schemas/RulesEngineResultResponse/properties/name" - - "edgeapplications.yaml#/components/schemas/RulesEngineResultResponse/properties/description" - - "edgeapplications.yaml#/components/schemas/RulesEngineResultResponse/properties/phase" - - "edgeapplications.yaml#/components/schemas/RulesEngineCriteria/properties/conditional" - - "edgeapplications.yaml#/components/schemas/RulesEngineCriteria/properties/variable" - - "edgeapplications.yaml#/components/schemas/RulesEngineCriteria/properties/operator" - - "edgeapplications.yaml#/components/schemas/RulesEngineCriteria/properties/input_value" - - "edgeapplications.yaml#/components/schemas/RulesEngineBehaviorString/properties/name" - - "edgeapplications.yaml#/components/schemas/RulesEngineBehaviorString/properties/target" - - "edgeapplications.yaml#/components/schemas/RulesEngineBehaviorObject/properties/name" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest_addresses/properties/address" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse_addresses/properties/address" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse_addresses/properties/server_role" - rules: - azion-string-minlength-properties-rule: "off" - - files: - - "edgeapplications.yaml#/components/schemas/GetApplicationsResponse/properties/next" - - "edgeapplications.yaml#/components/schemas/GetApplicationsResponse/properties/previous" - - "edgeapplications.yaml#/components/schemas/ApplicationLinks/properties/previous" - - "edgeapplications.yaml#/components/schemas/ApplicationLinks/properties/next" - - "edgeapplications.yaml#/components/schemas/ApplicationsResults/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationsResults/properties/last_editor" - - "edgeapplications.yaml#/components/schemas/ApplicationsResults/properties/last_modified" - - "edgeapplications.yaml#/components/schemas/ApplicationOrigins/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationOrigins/properties/origin_type" - - "edgeapplications.yaml#/components/schemas/ApplicationOrigins/properties/origin_id" - - "edgeapplications.yaml#/components/schemas/ApplicationResults/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationResults/properties/supported_ciphers" - - "edgeapplications.yaml#/components/schemas/ApplicationResults/properties/delivery_protocol" - - "edgeapplications.yaml#/components/schemas/ApplicationResults/properties/minimum_tls_version" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/delivery_protocol" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/origin_type" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/address" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/minimum_tls_version" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/origin_protocol_policy" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/host_header" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/supported_ciphers" - - "edgeapplications.yaml#/components/schemas/ApplicationResultsCreate/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationResultsCreate/properties/supported_ciphers" - - "edgeapplications.yaml#/components/schemas/ApplicationResultsCreate/properties/delivery_protocol" - - "edgeapplications.yaml#/components/schemas/ApplicationResultsCreate/properties/minimum_tls_version" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateRequest/properties/delivery_protocol" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateRequest/properties/minimum_tls_version" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateResults/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateResults/properties/delivery_protocol" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateResults/properties/minimum_tls_version" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateResults/properties/supported_ciphers" - - "edgeapplications.yaml#/components/schemas/ApplicationPutRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationPutRequest/properties/delivery_protocol" - - "edgeapplications.yaml#/components/schemas/ApplicationPutRequest/properties/minimum_tls_version" - - "edgeapplications.yaml#/components/schemas/ApplicationPutRequest/properties/supported_ciphers" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/cache_by_query_string" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/cache_by_cookies" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/adaptive_delivery_action" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/l2_region" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/cache_by_query_string" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/cache_by_cookies" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/adaptive_delivery_action" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/l2_region" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/cache_by_query_string" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/cache_by_cookies" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/adaptive_delivery_action" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/l2_region" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/cache_by_query_string" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/cache_by_cookies" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/adaptive_delivery_action" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/l2_region" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/adaptive_delivery_action" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/cache_by_query_string" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/cache_by_cookies" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/cache_by_query_string" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/cache_by_cookies" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/adaptive_delivery_action" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/l2_region" - - "edgeapplications.yaml#/components/schemas/ApplicationInstancesResults/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCreateInstanceRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationPutInstanceRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateInstanceRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/origin_type" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/origin_protocol_policy" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/host_header" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/origin_path" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/hmac_region_name" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/hmac_access_key" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/hmac_secret_key" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/bucket" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/prefix" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/origin_type" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/origin_protocol_policy" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/host_header" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/origin_path" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/hmac_region_name" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/hmac_access_key" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/hmac_secret_key" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/bucket" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/prefix" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/origin_type" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/origin_protocol_policy" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/host_header" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/origin_path" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/hmac_region_name" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/hmac_access_key" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/hmac_secret_key" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/bucket" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/prefix" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/origin_key" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/name" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/origin_type" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/origin_protocol_policy" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/host_header" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/method" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/origin_path" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/hmac_region_name" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/hmac_access_key" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/hmac_secret_key" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/bucket" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/prefix" - - "edgeapplications.yaml#/components/schemas/CreateDeviceGroupsRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/CreateDeviceGroupsRequest/properties/user_agent" - - "edgeapplications.yaml#/components/schemas/CreateDeviceGroupsRequest/properties/addresses" - - "edgeapplications.yaml#/components/schemas/UpdateDeviceGroupsRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/UpdateDeviceGroupsRequest/properties/user_agent" - - "edgeapplications.yaml#/components/schemas/PatchDeviceGroupsRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/PatchDeviceGroupsRequest/properties/user_agent" - - "edgeapplications.yaml#/components/schemas/DeviceGroupsResultResponse/properties/name" - - "edgeapplications.yaml#/components/schemas/DeviceGroupsResultResponse/properties/user_agent" - - "edgeapplications.yaml#/components/schemas/CreateRulesEngineRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/UpdateRulesEngineRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/PatchRulesEngineRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/RulesEngineResultResponse/properties/name" - - "edgeapplications.yaml#/components/schemas/RulesEngineResultResponse/properties/description" - - "edgeapplications.yaml#/components/schemas/RulesEngineResultResponse/properties/phase" - - "edgeapplications.yaml#/components/schemas/RulesEngineCriteria/properties/conditional" - - "edgeapplications.yaml#/components/schemas/RulesEngineCriteria/properties/variable" - - "edgeapplications.yaml#/components/schemas/RulesEngineCriteria/properties/operator" - - "edgeapplications.yaml#/components/schemas/RulesEngineCriteria/properties/input_value" - - "edgeapplications.yaml#/components/schemas/RulesEngineBehaviorString/properties/name" - - "edgeapplications.yaml#/components/schemas/RulesEngineBehaviorString/properties/target" - - "edgeapplications.yaml#/components/schemas/RulesEngineBehaviorObject/properties/name" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest_addresses/properties/address" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse_addresses/properties/address" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse_addresses/properties/weight" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse_addresses/properties/server_role" - - "edgeapplications.yaml#/components/schemas/OriginsResponse_links/properties/previous" - - "edgeapplications.yaml#/components/schemas/OriginsResponse_links/properties/next" - - "edgeapplications.yaml#/components/schemas/DeviceGroupsResponse_links/properties/previous" - - "edgeapplications.yaml#/components/schemas/DeviceGroupsResponse_links/properties/next" - rules: - azion-string-maxlength-properties-rule: "off" - - files: - - "edgeapplications.yaml#/components/schemas/GetApplicationsResponse/properties/next" - - "edgeapplications.yaml#/components/schemas/GetApplicationsResponse/properties/previous" - - "edgeapplications.yaml#/components/schemas/ApplicationLinks/properties/previous" - - "edgeapplications.yaml#/components/schemas/ApplicationLinks/properties/next" - - "edgeapplications.yaml#/components/schemas/ApplicationsResults/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationsResults/properties/last_editor" - - "edgeapplications.yaml#/components/schemas/ApplicationsResults/properties/last_modified" - - "edgeapplications.yaml#/components/schemas/ApplicationOrigins/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationOrigins/properties/origin_type" - - "edgeapplications.yaml#/components/schemas/ApplicationOrigins/properties/origin_id" - - "edgeapplications.yaml#/components/schemas/ApplicationResults/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationResults/properties/supported_ciphers" - - "edgeapplications.yaml#/components/schemas/ApplicationResults/properties/delivery_protocol" - - "edgeapplications.yaml#/components/schemas/ApplicationResults/properties/minimum_tls_version" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/delivery_protocol" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/origin_type" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/address" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/minimum_tls_version" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/origin_protocol_policy" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/host_header" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/CreateApplicationRequest/properties/supported_ciphers" - - "edgeapplications.yaml#/components/schemas/ApplicationResultsCreate/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationResultsCreate/properties/supported_ciphers" - - "edgeapplications.yaml#/components/schemas/ApplicationResultsCreate/properties/delivery_protocol" - - "edgeapplications.yaml#/components/schemas/ApplicationResultsCreate/properties/minimum_tls_version" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateRequest/properties/delivery_protocol" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateRequest/properties/minimum_tls_version" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateResults/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateResults/properties/delivery_protocol" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateResults/properties/minimum_tls_version" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateResults/properties/supported_ciphers" - - "edgeapplications.yaml#/components/schemas/ApplicationPutRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationPutRequest/properties/delivery_protocol" - - "edgeapplications.yaml#/components/schemas/ApplicationPutRequest/properties/minimum_tls_version" - - "edgeapplications.yaml#/components/schemas/ApplicationPutRequest/properties/supported_ciphers" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/cache_by_query_string" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/cache_by_cookies" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/adaptive_delivery_action" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResults/properties/l2_region" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/cache_by_query_string" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/cache_by_cookies" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/adaptive_delivery_action" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateRequest/properties/l2_region" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/cache_by_query_string" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/cache_by_cookies" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/adaptive_delivery_action" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheCreateResults/properties/l2_region" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/cache_by_query_string" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/cache_by_cookies" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/adaptive_delivery_action" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePutRequest/properties/l2_region" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/adaptive_delivery_action" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/cache_by_query_string" - - "edgeapplications.yaml#/components/schemas/ApplicationCachePatchRequest/properties/cache_by_cookies" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/browser_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/cdn_cache_settings" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/cache_by_query_string" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/cache_by_cookies" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/adaptive_delivery_action" - - "edgeapplications.yaml#/components/schemas/ApplicationCacheResponseDetails/properties/l2_region" - - "edgeapplications.yaml#/components/schemas/ApplicationInstancesResults/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationCreateInstanceRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationPutInstanceRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/ApplicationUpdateInstanceRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/origin_type" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/origin_protocol_policy" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/host_header" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/origin_path" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/hmac_region_name" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/hmac_access_key" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/hmac_secret_key" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/bucket" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest/properties/prefix" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/origin_type" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/origin_protocol_policy" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/host_header" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/origin_path" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/hmac_region_name" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/hmac_access_key" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/hmac_secret_key" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/bucket" - - "edgeapplications.yaml#/components/schemas/UpdateOriginsRequest/properties/prefix" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/origin_type" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/origin_protocol_policy" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/host_header" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/origin_path" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/hmac_region_name" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/hmac_access_key" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/hmac_secret_key" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/bucket" - - "edgeapplications.yaml#/components/schemas/PatchOriginsRequest/properties/prefix" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/origin_key" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/name" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/origin_type" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/origin_protocol_policy" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/host_header" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/method" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/origin_path" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/hmac_region_name" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/hmac_access_key" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/hmac_secret_key" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/bucket" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse/properties/prefix" - - "edgeapplications.yaml#/components/schemas/CreateDeviceGroupsRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/CreateDeviceGroupsRequest/properties/user_agent" - - "edgeapplications.yaml#/components/schemas/CreateDeviceGroupsRequest/properties/addresses" - - "edgeapplications.yaml#/components/schemas/UpdateDeviceGroupsRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/UpdateDeviceGroupsRequest/properties/user_agent" - - "edgeapplications.yaml#/components/schemas/PatchDeviceGroupsRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/PatchDeviceGroupsRequest/properties/user_agent" - - "edgeapplications.yaml#/components/schemas/DeviceGroupsResultResponse/properties/name" - - "edgeapplications.yaml#/components/schemas/DeviceGroupsResultResponse/properties/user_agent" - - "edgeapplications.yaml#/components/schemas/CreateRulesEngineRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/CreateRulesEngineRequest/properties/description" - - "edgeapplications.yaml#/components/schemas/UpdateRulesEngineRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/UpdateRulesEngineRequest/properties/description" - - "edgeapplications.yaml#/components/schemas/PatchRulesEngineRequest/properties/name" - - "edgeapplications.yaml#/components/schemas/PatchRulesEngineRequest/properties/description" - - "edgeapplications.yaml#/components/schemas/RulesEngineResultResponse/properties/name" - - "edgeapplications.yaml#/components/schemas/RulesEngineResultResponse/properties/description" - - "edgeapplications.yaml#/components/schemas/RulesEngineResultResponse/properties/phase" - - "edgeapplications.yaml#/components/schemas/RulesEngineCriteria/properties/conditional" - - "edgeapplications.yaml#/components/schemas/RulesEngineCriteria/properties/variable" - - "edgeapplications.yaml#/components/schemas/RulesEngineCriteria/properties/operator" - - "edgeapplications.yaml#/components/schemas/RulesEngineCriteria/properties/input_value" - - "edgeapplications.yaml#/components/schemas/RulesEngineBehaviorString/properties/name" - - "edgeapplications.yaml#/components/schemas/RulesEngineBehaviorString/properties/target" - - "edgeapplications.yaml#/components/schemas/RulesEngineBehaviorObject/properties/name" - - "edgeapplications.yaml#/components/schemas/CreateOriginsRequest_addresses/properties/address" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse_addresses/properties/address" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse_addresses/properties/weight" - - "edgeapplications.yaml#/components/schemas/OriginsResultResponse_addresses/properties/server_role" - - "edgeapplications.yaml#/components/schemas/OriginsResponse_links/properties/previous" - - "edgeapplications.yaml#/components/schemas/OriginsResponse_links/properties/next" - - "edgeapplications.yaml#/components/schemas/DeviceGroupsResponse_links/properties/previous" - - "edgeapplications.yaml#/components/schemas/DeviceGroupsResponse_links/properties/next" - rules: - azion-string-pattern-properties-rule: "off" \ No newline at end of file diff --git a/spectral/.spectral-edgefirewall.yaml b/spectral/.spectral-edgefirewall.yaml deleted file mode 100644 index 5fcf467..0000000 --- a/spectral/.spectral-edgefirewall.yaml +++ /dev/null @@ -1,74 +0,0 @@ -extends: .spectral.yaml -overrides: - - files: - - "edgefirewall.yaml#/paths/~1edge_firewall" - - "edgefirewall.yaml#/paths/~1edge_firewall~1%7Buuid%7D" - - "edgefirewall.yaml#/paths/~1edge_firewall~1%7Bedge_firewall_id%7D~1rules_engine" - - "edgefirewall.yaml#/paths/~1edge_firewall~1%7Bedge_firewall_id%7D~1rules_engine~1%7Brule_set_id%7D" - rules: - azion-mandatory-status-codes: "off" - - files: - - "edgefirewall.yaml#/components/schemas/EdgeFirewall/properties/id" - - "edgefirewall.yaml#/components/schemas/ListEdgeFirewallResponse/properties/count" - - "edgefirewall.yaml#/components/schemas/ListEdgeFirewallResponse/properties/total_pages" - - "edgefirewall.yaml#/components/schemas/ListEdgeFirewallResponse/properties/schema_version" - - "edgefirewall.yaml#/components/schemas/EdgeFirewallResponse/properties/schema_version" - - "edgefirewall.yaml#/components/schemas/RuleSetResponseAll/properties/schema_version" - rules: - azion-number-minimum-limit-rule: "off" - - files: - - "edgefirewall.yaml#/components/schemas/EdgeFirewall/properties/id" - - "edgefirewall.yaml#/components/schemas/ListEdgeFirewallResponse/properties/count" - - "edgefirewall.yaml#/components/schemas/ListEdgeFirewallResponse/properties/total_pages" - - "edgefirewall.yaml#/components/schemas/ListEdgeFirewallResponse/properties/schema_version" - - "edgefirewall.yaml#/components/schemas/EdgeFirewallResponse/properties/schema_version" - - "edgefirewall.yaml#/components/schemas/RuleSetResult/properties/schema_version" - - "edgefirewall.yaml#/components/schemas/RuleSetResultAll/properties/id" - - "edgefirewall.yaml#/components/schemas/RuleSetResultAll/properties/order" - - "edgefirewall.yaml#/components/schemas/RuleSetResponse/properties/id" - - "edgefirewall.yaml#/components/schemas/RuleSetResponse/properties/order" - - "edgefirewall.yaml#/components/schemas/RuleSetResponseAll/properties/count" - - "edgefirewall.yaml#/components/schemas/RuleSetResponseAll/properties/total_pages" - - "edgefirewall.yaml#/components/schemas/RuleSetResponseAll/properties/schema_version" - rules: - azion-number-maximum-limit-rule: "off" - - files: - - "edgefirewall.yaml#/components/schemas/EdgeFirewall/properties/name" - - "edgefirewall.yaml#/components/schemas/EdgeFirewall/properties/last_editor" - - "edgefirewall.yaml#/components/schemas/EdgeFirewall/properties/last_modified" - - "edgefirewall.yaml#/components/schemas/CreateEdgeFirewallRequest/properties/name" - - "edgefirewall.yaml#/components/schemas/UpdateEdgeFirewallRequest/properties/name" - - "edgefirewall.yaml#/components/schemas/RuleSetResultAll/properties/name" - - "edgefirewall.yaml#/components/schemas/RuleSetResultAll/properties/description" - - "edgefirewall.yaml#/components/schemas/CreateRuleSetRequest/properties/name" - - "edgefirewall.yaml#/components/schemas/RuleSetResponse/properties/name" - rules: - azion-string-minlength-properties-rule: "off" - - files: - - "edgefirewall.yaml#/components/schemas/Links/properties/previous" - - "edgefirewall.yaml#/components/schemas/Links/properties/next" - - "edgefirewall.yaml#/components/schemas/EdgeFirewall/properties/name" - - "edgefirewall.yaml#/components/schemas/EdgeFirewall/properties/last_editor" - - "edgefirewall.yaml#/components/schemas/EdgeFirewall/properties/last_modified" - - "edgefirewall.yaml#/components/schemas/CreateEdgeFirewallRequest/properties/name" - - "edgefirewall.yaml#/components/schemas/UpdateEdgeFirewallRequest/properties/name" - - "edgefirewall.yaml#/components/schemas/RuleSetResultAll/properties/name" - - "edgefirewall.yaml#/components/schemas/RuleSetResultAll/properties/description" - - "edgefirewall.yaml#/components/schemas/CreateRuleSetRequest/properties/name" - - "edgefirewall.yaml#/components/schemas/RuleSetResponse/properties/name" - rules: - azion-string-maxlength-properties-rule: "off" - - files: - - "edgefirewall.yaml#/components/schemas/Links/properties/previous" - - "edgefirewall.yaml#/components/schemas/Links/properties/next" - - "edgefirewall.yaml#/components/schemas/EdgeFirewall/properties/name" - - "edgefirewall.yaml#/components/schemas/EdgeFirewall/properties/last_editor" - - "edgefirewall.yaml#/components/schemas/EdgeFirewall/properties/last_modified" - - "edgefirewall.yaml#/components/schemas/CreateEdgeFirewallRequest/properties/name" - - "edgefirewall.yaml#/components/schemas/UpdateEdgeFirewallRequest/properties/name" - - "edgefirewall.yaml#/components/schemas/RuleSetResultAll/properties/name" - - "edgefirewall.yaml#/components/schemas/RuleSetResultAll/properties/description" - - "edgefirewall.yaml#/components/schemas/CreateRuleSetRequest/properties/name" - - "edgefirewall.yaml#/components/schemas/RuleSetResponse/properties/name" - rules: - azion-string-pattern-properties-rule: "off" \ No newline at end of file diff --git a/spectral/.spectral-edgefuncinstedgefirewall.yaml b/spectral/.spectral-edgefuncinstedgefirewall.yaml deleted file mode 100644 index d584bed..0000000 --- a/spectral/.spectral-edgefuncinstedgefirewall.yaml +++ /dev/null @@ -1,54 +0,0 @@ -extends: .spectral.yaml -overrides: - - files: - - "edgefunctionsinstance_edgefirewall.yaml#/paths/~1edge_firewall~1%7Bedge_firewall_id%7D~1functions_instances" - - "edgefunctionsinstance_edgefirewall.yaml#/paths/~1edge_firewall~1%7Bedge_firewall_id%7D~1functions_instances~1%7Bedge_function_instance_id%7D" - rules: - azion-mandatory-status-codes: "off" - - files: - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/EdgeFunctionsInstance/properties/id" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/EdgeFunctionsInstance/properties/edge_function" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/ListEdgeFunctionsInstancesResponse/properties/count" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/ListEdgeFunctionsInstancesResponse/properties/total_pages" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/ListEdgeFunctionsInstancesResponse/properties/schema_version" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/CreateEdgeFunctionsInstancesRequest/properties/edge_function" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/EdgeFunctionsInstanceResponse/properties/schema_version" - rules: - azion-number-minimum-limit-rule: "off" - - files: - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/EdgeFunctionsInstance/properties/id" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/EdgeFunctionsInstance/properties/edge_function" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/ListEdgeFunctionsInstancesResponse/properties/count" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/ListEdgeFunctionsInstancesResponse/properties/total_pages" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/ListEdgeFunctionsInstancesResponse/properties/schema_version" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/CreateEdgeFunctionsInstancesRequest/properties/edge_function" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/EdgeFunctionsInstanceResponse/properties/schema_version" - rules: - azion-number-maximum-limit-rule: "off" - - files: - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/Links/properties/previous" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/Links/properties/next" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/EdgeFunctionsInstance/properties/name" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/EdgeFunctionsInstance/properties/last_editor" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/EdgeFunctionsInstance/properties/last_modified" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/CreateEdgeFunctionsInstancesRequest/properties/name" - rules: - azion-string-minlength-properties-rule: "off" - - files: - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/Links/properties/previous" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/Links/properties/next" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/EdgeFunctionsInstance/properties/name" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/EdgeFunctionsInstance/properties/last_editor" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/EdgeFunctionsInstance/properties/last_modified" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/CreateEdgeFunctionsInstancesRequest/properties/name" - rules: - azion-string-maxlength-properties-rule: "off" - - files: - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/Links/properties/previous" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/Links/properties/next" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/EdgeFunctionsInstance/properties/name" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/EdgeFunctionsInstance/properties/last_editor" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/EdgeFunctionsInstance/properties/last_modified" - - "edgefunctionsinstance_edgefirewall.yaml#/components/schemas/CreateEdgeFunctionsInstancesRequest/properties/name" - rules: - azion-string-pattern-properties-rule: "off" \ No newline at end of file diff --git a/spectral/.spectral-edgefunctions.yaml b/spectral/.spectral-edgefunctions.yaml deleted file mode 100644 index 4cbe36b..0000000 --- a/spectral/.spectral-edgefunctions.yaml +++ /dev/null @@ -1,86 +0,0 @@ -extends: .spectral.yaml -overrides: - - files: - - "edgefunctions.yaml#/paths/~1edge_functions" - - "edgefunctions.yaml#/paths/~1edge_functions~1%7Bid%7D" - rules: - azion-mandatory-status-codes: "off" - - files: - - "edgefunctions.yaml#/components/schemas/Results/properties/id" - - "edgefunctions.yaml#/components/schemas/Results/properties/reference_count" - - "edgefunctions.yaml#/components/schemas/ListEdgeFunctionResponse/properties/count" - - "edgefunctions.yaml#/components/schemas/ListEdgeFunctionResponse/properties/total_pages" - - "edgefunctions.yaml#/components/schemas/ListEdgeFunctionResponse/properties/schema_version" - - "edgefunctions.yaml#/components/schemas/EdgeFunctionResponse/properties/schema_version" - rules: - azion-number-minimum-limit-rule: "off" - - files: - - "edgefunctions.yaml#/components/schemas/Results/properties/id" - - "edgefunctions.yaml#/components/schemas/Results/properties/reference_count" - - "edgefunctions.yaml#/components/schemas/ListEdgeFunctionResponse/properties/count" - - "edgefunctions.yaml#/components/schemas/ListEdgeFunctionResponse/properties/total_pages" - - "edgefunctions.yaml#/components/schemas/ListEdgeFunctionResponse/properties/schema_version" - - "edgefunctions.yaml#/components/schemas/EdgeFunctionResponse/properties/schema_version" - rules: - azion-number-maximum-limit-rule: "off" - - files: - - "edgefunctions.yaml#/components/schemas/ErrorResponse/properties/detail" - - "edgefunctions.yaml#/components/schemas/Results/properties/name" - - "edgefunctions.yaml#/components/schemas/Results/properties/language" - - "edgefunctions.yaml#/components/schemas/Results/properties/code" - - "edgefunctions.yaml#/components/schemas/Results/properties/function_to_run" - - "edgefunctions.yaml#/components/schemas/Results/properties/initiator_type" - - "edgefunctions.yaml#/components/schemas/Results/properties/last_editor" - - "edgefunctions.yaml#/components/schemas/Results/properties/modified" - - "edgefunctions.yaml#/components/schemas/CreateEdgeFunctionRequest/properties/name" - - "edgefunctions.yaml#/components/schemas/CreateEdgeFunctionRequest/properties/language" - - "edgefunctions.yaml#/components/schemas/CreateEdgeFunctionRequest/properties/code" - - "edgefunctions.yaml#/components/schemas/PutEdgeFunctionRequest/properties/name" - - "edgefunctions.yaml#/components/schemas/PutEdgeFunctionRequest/properties/code" - - "edgefunctions.yaml#/components/schemas/PutEdgeFunctionRequest/properties/language" - - "edgefunctions.yaml#/components/schemas/PatchEdgeFunctionRequest/properties/name" - - "edgefunctions.yaml#/components/schemas/PatchEdgeFunctionRequest/properties/code" - rules: - azion-string-minlength-properties-rule: "off" - - files: - - "edgefunctions.yaml#/components/schemas/ErrorResponse/properties/detail" - - "edgefunctions.yaml#/components/schemas/Links/properties/previous" - - "edgefunctions.yaml#/components/schemas/Links/properties/next" - - "edgefunctions.yaml#/components/schemas/Results/properties/name" - - "edgefunctions.yaml#/components/schemas/Results/properties/language" - - "edgefunctions.yaml#/components/schemas/Results/properties/code" - - "edgefunctions.yaml#/components/schemas/Results/properties/function_to_run" - - "edgefunctions.yaml#/components/schemas/Results/properties/initiator_type" - - "edgefunctions.yaml#/components/schemas/Results/properties/last_editor" - - "edgefunctions.yaml#/components/schemas/Results/properties/modified" - - "edgefunctions.yaml#/components/schemas/CreateEdgeFunctionRequest/properties/name" - - "edgefunctions.yaml#/components/schemas/CreateEdgeFunctionRequest/properties/language" - - "edgefunctions.yaml#/components/schemas/CreateEdgeFunctionRequest/properties/code" - - "edgefunctions.yaml#/components/schemas/PutEdgeFunctionRequest/properties/name" - - "edgefunctions.yaml#/components/schemas/PutEdgeFunctionRequest/properties/code" - - "edgefunctions.yaml#/components/schemas/PutEdgeFunctionRequest/properties/language" - - "edgefunctions.yaml#/components/schemas/PatchEdgeFunctionRequest/properties/name" - - "edgefunctions.yaml#/components/schemas/PatchEdgeFunctionRequest/properties/code" - rules: - azion-string-maxlength-properties-rule: "off" - - files: - - "edgefunctions.yaml#/components/schemas/ErrorResponse/properties/detail" - - "edgefunctions.yaml#/components/schemas/Links/properties/previous" - - "edgefunctions.yaml#/components/schemas/Links/properties/next" - - "edgefunctions.yaml#/components/schemas/Results/properties/name" - - "edgefunctions.yaml#/components/schemas/Results/properties/language" - - "edgefunctions.yaml#/components/schemas/Results/properties/code" - - "edgefunctions.yaml#/components/schemas/Results/properties/function_to_run" - - "edgefunctions.yaml#/components/schemas/Results/properties/initiator_type" - - "edgefunctions.yaml#/components/schemas/Results/properties/last_editor" - - "edgefunctions.yaml#/components/schemas/Results/properties/modified" - - "edgefunctions.yaml#/components/schemas/CreateEdgeFunctionRequest/properties/name" - - "edgefunctions.yaml#/components/schemas/CreateEdgeFunctionRequest/properties/language" - - "edgefunctions.yaml#/components/schemas/CreateEdgeFunctionRequest/properties/code" - - "edgefunctions.yaml#/components/schemas/PutEdgeFunctionRequest/properties/name" - - "edgefunctions.yaml#/components/schemas/PutEdgeFunctionRequest/properties/code" - - "edgefunctions.yaml#/components/schemas/PutEdgeFunctionRequest/properties/language" - - "edgefunctions.yaml#/components/schemas/PatchEdgeFunctionRequest/properties/name" - - "edgefunctions.yaml#/components/schemas/PatchEdgeFunctionRequest/properties/code" - rules: - azion-string-pattern-properties-rule: "off" \ No newline at end of file diff --git a/spectral/.spectral-edgenode.yaml b/spectral/.spectral-edgenode.yaml deleted file mode 100644 index 09944df..0000000 --- a/spectral/.spectral-edgenode.yaml +++ /dev/null @@ -1,103 +0,0 @@ -extends: .spectral.yaml -overrides: - - files: - - "edgenode.yaml#" - rules: - azion-string-pattern-properties-rule: "off" - - files: - - "edgenode.yaml#/paths/~1edge_nodes" - - "edgenode.yaml#/paths/~1edge_nodes~1authorize" - - "edgenode.yaml#/paths/~1edge_nodes~1groups" - - "edgenode.yaml#/paths/~1edge_nodes~1%7BedgenodeId%7D" - - "edgenode.yaml#/paths/~1edge_nodes~1%7BedgenodeId%7D~1services" - - "edgenode.yaml#/paths/~1edge_nodes~1%7BedgenodeId%7D~1services~1%7BbindId%7D" - rules: - azion-mandatory-status-codes: "off" - - files: - - "edgenode.yaml#/components/schemas/EdgeNodeDetailResponse/properties/id" - - "edgenode.yaml#/components/schemas/EdgeNodeResponse/properties/id" - - "edgenode.yaml#/components/schemas/EdgeNodeResponseWithTotal/properties/total" - - "edgenode.yaml#/components/schemas/NodeGroup/properties/id" - - "edgenode.yaml#/components/schemas/NodeGroupResponse/properties/id" - - "edgenode.yaml#/components/schemas/ServiceBindDetailResponse/properties/id" - - "edgenode.yaml#/components/schemas/ServiceBindDetailResponse/properties/service_id" - - "edgenode.yaml#/components/schemas/ServiceBindRequest/properties/service_id" - - "edgenode.yaml#/components/schemas/ServiceResponse/properties/bind_id" - - "edgenode.yaml#/components/schemas/ServiceResponse/properties/is_bound" - - "edgenode.yaml#/components/schemas/ServiceResponse/properties/service_id" - - "edgenode.yaml#/components/schemas/ServiceResponseWithTotal/properties/total" - - "edgenode.yaml#/components/schemas/UnauthorizedEdgeNodeInfo/properties/id" - - "edgenode.yaml#/components/schemas/UpdateEdgeNodeResponse/properties/id" - rules: - azion-number-minimum-limit-rule: "off" - - files: - - "edgenode.yaml#/components/schemas/EdgeNodeDetailResponse/properties/id" - - "edgenode.yaml#/components/schemas/EdgeNodeResponse/properties/id" - - "edgenode.yaml#/components/schemas/EdgeNodeResponseWithTotal/properties/total" - - "edgenode.yaml#/components/schemas/NodeGroup/properties/id" - - "edgenode.yaml#/components/schemas/NodeGroupResponse/properties/id" - - "edgenode.yaml#/components/schemas/ServiceBindDetailResponse/properties/id" - - "edgenode.yaml#/components/schemas/ServiceBindDetailResponse/properties/service_id" - - "edgenode.yaml#/components/schemas/ServiceBindRequest/properties/service_id" - - "edgenode.yaml#/components/schemas/ServiceResponse/properties/bind_id" - - "edgenode.yaml#/components/schemas/ServiceResponse/properties/is_bound" - - "edgenode.yaml#/components/schemas/ServiceResponse/properties/service_id" - - "edgenode.yaml#/components/schemas/ServiceResponseWithTotal/properties/total" - - "edgenode.yaml#/components/schemas/UnauthorizedEdgeNodeInfo/properties/id" - - "edgenode.yaml#/components/schemas/UpdateEdgeNodeResponse/properties/id" - rules: - azion-number-maximum-limit-rule: "off" - - files: - - "edgenode.yaml#/components/schemas/EdgeNodeDetailResponse/properties/hash_id" - - "edgenode.yaml#/components/schemas/EdgeNodeDetailResponse/properties/name" - - "edgenode.yaml#/components/schemas/EdgeNodeResponse/properties/hash_id" - - "edgenode.yaml#/components/schemas/EdgeNodeResponse/properties/name" - - "edgenode.yaml#/components/schemas/EdgeNodeResponse/properties/status" - - "edgenode.yaml#/components/schemas/NodeGroup/properties/name" - - "edgenode.yaml#/components/schemas/NodeGroupResponse/properties/name" - - "edgenode.yaml#/components/schemas/ServiceBindDetailResponse/properties/service_name" - - "edgenode.yaml#/components/schemas/ServiceResponse/properties/last_editor" - - "edgenode.yaml#/components/schemas/ServiceResponse/properties/name" - - "edgenode.yaml#/components/schemas/UnauthorizedEdgeNodeInfo/properties/reason" - - "edgenode.yaml#/components/schemas/UpdateEdgeNodeResponse/properties/name" - - "edgenode.yaml#/components/schemas/UpdateEdgeNodeResponse/properties/status" - - "edgenode.yaml#/components/schemas/Variable/properties/name" - - "edgenode.yaml#/components/schemas/Variable/properties/value" - rules: - azion-string-minlength-properties-rule: "off" - - files: - - "edgenode.yaml#/components/schemas/EdgeNodeDetailResponse/properties/hash_id" - - "edgenode.yaml#/components/schemas/EdgeNodeDetailResponse/properties/name" - - "edgenode.yaml#/components/schemas/EdgeNodeResponse/properties/hash_id" - - "edgenode.yaml#/components/schemas/EdgeNodeResponse/properties/name" - - "edgenode.yaml#/components/schemas/EdgeNodeResponse/properties/status" - - "edgenode.yaml#/components/schemas/NodeGroup/properties/name" - - "edgenode.yaml#/components/schemas/NodeGroupResponse/properties/name" - - "edgenode.yaml#/components/schemas/ServiceBindDetailResponse/properties/service_name" - - "edgenode.yaml#/components/schemas/ServiceResponse/properties/last_editor" - - "edgenode.yaml#/components/schemas/ServiceResponse/properties/name" - - "edgenode.yaml#/components/schemas/UnauthorizedEdgeNodeInfo/properties/reason" - - "edgenode.yaml#/components/schemas/UpdateEdgeNodeResponse/properties/name" - - "edgenode.yaml#/components/schemas/UpdateEdgeNodeResponse/properties/status" - - "edgenode.yaml#/components/schemas/Variable/properties/name" - - "edgenode.yaml#/components/schemas/Variable/properties/value" - rules: - azion-string-maxlength-properties-rule: "off" - - files: - - "edgenode.yaml#/components/schemas/EdgeNodeDetailResponse/properties/hash_id" - - "edgenode.yaml#/components/schemas/EdgeNodeDetailResponse/properties/name" - - "edgenode.yaml#/components/schemas/EdgeNodeResponse/properties/hash_id" - - "edgenode.yaml#/components/schemas/EdgeNodeResponse/properties/name" - - "edgenode.yaml#/components/schemas/EdgeNodeResponse/properties/status" - - "edgenode.yaml#/components/schemas/NodeGroup/properties/name" - - "edgenode.yaml#/components/schemas/NodeGroupResponse/properties/name" - - "edgenode.yaml#/components/schemas/ServiceBindDetailResponse/properties/service_name" - - "edgenode.yaml#/components/schemas/ServiceResponse/properties/last_editor" - - "edgenode.yaml#/components/schemas/ServiceResponse/properties/name" - - "edgenode.yaml#/components/schemas/UnauthorizedEdgeNodeInfo/properties/reason" - - "edgenode.yaml#/components/schemas/UpdateEdgeNodeResponse/properties/name" - - "edgenode.yaml#/components/schemas/UpdateEdgeNodeResponse/properties/status" - - "edgenode.yaml#/components/schemas/Variable/properties/name" - - "edgenode.yaml#/components/schemas/Variable/properties/value" - rules: - azion-string-pattern-properties-rule: "off" \ No newline at end of file diff --git a/spectral/.spectral-iam.yaml b/spectral/.spectral-iam.yaml deleted file mode 100644 index 48193e5..0000000 --- a/spectral/.spectral-iam.yaml +++ /dev/null @@ -1,324 +0,0 @@ -extends: .spectral.yaml -overrides: - - files: - - "iam.yml#/paths/~1iam~1api~1additional_data" - - "iam.yml#/paths/~1iam~1api~1identity_providers" - - "iam.yml#/paths/~1iam~1api~1identity_providers~1oidc" - - "iam.yml#/paths/~1iam~1api~1identity_providers~1oidc~1%7Buuid%7D" - - "iam.yml#/paths/~1iam~1api~1identity_providers~1saml2" - - "iam.yml#/paths/~1iam~1api~1identity_providers~1saml2~1%7Buuid%7D" - - "iam.yml#/paths/~1iam~1api~1identity_providers~1social" - - "iam.yml#/paths/~1iam~1api~1personal_tokens" - - "iam.yml#/paths/~1iam~1api~1personal_tokens~1%7Buuid%7D" - - "iam.yml#/paths/~1iam~1api~1user~1password" - rules: - azion-mandatory-status-codes: "off" - - files: - - "iam.yml#/components/schemas/PaginatedAccountList/properties/count" - - "iam.yml#/components/schemas/PaginatedCustomUserList/properties/count" - - "iam.yml#/components/schemas/PaginatedPermissionList/properties/count" - - "iam.yml#/components/schemas/PaginatedPersonalTokenList/properties/count" - - "iam.yml#/components/schemas/PaginatedTeamList/properties/count" - rules: - azion-number-minimum-limit-rule: "off" - - files: - - "iam.yml#/components/schemas/PaginatedAccountList/properties/count" - - "iam.yml#/components/schemas/PaginatedCustomUserList/properties/count" - - "iam.yml#/components/schemas/PaginatedPermissionList/properties/count" - - "iam.yml#/components/schemas/PaginatedPersonalTokenList/properties/count" - - "iam.yml#/components/schemas/PaginatedTeamList/properties/count" - rules: - azion-number-maximum-limit-rule: "off" - - files: - - "iam.yml#/components/schemas/Brand/properties/name" - - "iam.yml#/components/schemas/Brand/properties/company_name" - - "iam.yml#/components/schemas/Brand/properties/unique_identifier" - - "iam.yml#/components/schemas/BrandRequest/properties/name" - - "iam.yml#/components/schemas/BrandRequest/properties/company_name" - - "iam.yml#/components/schemas/BrandRequest/properties/unique_identifier" - - "iam.yml#/components/schemas/Client/properties/name" - - "iam.yml#/components/schemas/Client/properties/company_name" - - "iam.yml#/components/schemas/Client/properties/unique_identifier" - - "iam.yml#/components/schemas/Client/properties/address" - - "iam.yml#/components/schemas/Client/properties/city" - - "iam.yml#/components/schemas/ClientRequest/properties/name" - - "iam.yml#/components/schemas/ClientRequest/properties/company_name" - - "iam.yml#/components/schemas/ClientRequest/properties/unique_identifier" - - "iam.yml#/components/schemas/ClientRequest/properties/address" - - "iam.yml#/components/schemas/ClientRequest/properties/city" - - "iam.yml#/components/schemas/CustomUser/properties/first_name" - - "iam.yml#/components/schemas/CustomUser/properties/last_name" - - "iam.yml#/components/schemas/CustomUser/properties/phone" - - "iam.yml#/components/schemas/CustomUser/properties/country_call_code" - - "iam.yml#/components/schemas/CustomUser/properties/mobile" - - "iam.yml#/components/schemas/CustomUserRequest/properties/first_name" - - "iam.yml#/components/schemas/CustomUserRequest/properties/last_name" - - "iam.yml#/components/schemas/CustomUserRequest/properties/phone" - - "iam.yml#/components/schemas/CustomUserRequest/properties/country_call_code" - - "iam.yml#/components/schemas/CustomUserRequest/properties/mobile" - - "iam.yml#/components/schemas/CustomUserRequest/properties/password" - - "iam.yml#/components/schemas/Group/properties/name" - - "iam.yml#/components/schemas/Group/properties/company_name" - - "iam.yml#/components/schemas/Group/properties/unique_identifier" - - "iam.yml#/components/schemas/Group/properties/address" - - "iam.yml#/components/schemas/Group/properties/city" - - "iam.yml#/components/schemas/Group/properties/code" - - "iam.yml#/components/schemas/GroupRequest/properties/name" - - "iam.yml#/components/schemas/GroupRequest/properties/company_name" - - "iam.yml#/components/schemas/GroupRequest/properties/unique_identifier" - - "iam.yml#/components/schemas/GroupRequest/properties/address" - - "iam.yml#/components/schemas/GroupRequest/properties/city" - - "iam.yml#/components/schemas/GroupRequest/properties/code" - - "iam.yml#/components/schemas/OIDCIdP/properties/name" - - "iam.yml#/components/schemas/OIDCIdP/properties/client_id" - - "iam.yml#/components/schemas/OIDCIdPRequest/properties/name" - - "iam.yml#/components/schemas/OIDCIdPRequest/properties/client_id" - - "iam.yml#/components/schemas/OIDCIdPRequest/properties/client_secret" - - "iam.yml#/components/schemas/PatchedBrandRequest/properties/name" - - "iam.yml#/components/schemas/PatchedBrandRequest/properties/company_name" - - "iam.yml#/components/schemas/PatchedBrandRequest/properties/unique_identifier" - - "iam.yml#/components/schemas/PatchedClientRequest/properties/name" - - "iam.yml#/components/schemas/PatchedClientRequest/properties/company_name" - - "iam.yml#/components/schemas/PatchedClientRequest/properties/unique_identifier" - - "iam.yml#/components/schemas/PatchedClientRequest/properties/address" - - "iam.yml#/components/schemas/PatchedClientRequest/properties/city" - - "iam.yml#/components/schemas/PatchedCustomUserRequest/properties/first_name" - - "iam.yml#/components/schemas/PatchedCustomUserRequest/properties/last_name" - - "iam.yml#/components/schemas/PatchedCustomUserRequest/properties/phone" - - "iam.yml#/components/schemas/PatchedCustomUserRequest/properties/country_call_code" - - "iam.yml#/components/schemas/PatchedCustomUserRequest/properties/mobile" - - "iam.yml#/components/schemas/PatchedCustomUserRequest/properties/password" - - "iam.yml#/components/schemas/PatchedGroupRequest/properties/name" - - "iam.yml#/components/schemas/PatchedGroupRequest/properties/company_name" - - "iam.yml#/components/schemas/PatchedGroupRequest/properties/unique_identifier" - - "iam.yml#/components/schemas/PatchedGroupRequest/properties/address" - - "iam.yml#/components/schemas/PatchedGroupRequest/properties/city" - - "iam.yml#/components/schemas/PatchedGroupRequest/properties/code" - - "iam.yml#/components/schemas/PatchedOIDCIdPRequest/properties/name" - - "iam.yml#/components/schemas/PatchedOIDCIdPRequest/properties/client_id" - - "iam.yml#/components/schemas/PatchedOIDCIdPRequest/properties/client_secret" - - "iam.yml#/components/schemas/PatchedResellerRequest/properties/name" - - "iam.yml#/components/schemas/PatchedResellerRequest/properties/company_name" - - "iam.yml#/components/schemas/PatchedResellerRequest/properties/unique_identifier" - - "iam.yml#/components/schemas/PatchedResellerRequest/properties/address" - - "iam.yml#/components/schemas/PatchedResellerRequest/properties/city" - - "iam.yml#/components/schemas/PatchedResellerRequest/properties/currency_iso_code" - - "iam.yml#/components/schemas/PatchedSAMLIdPRequest/properties/name" - - "iam.yml#/components/schemas/PatchedSAMLIdPRequest/properties/certificate" - - "iam.yml#/components/schemas/PatchedTeamRequest/properties/name" - - "iam.yml#/components/schemas/PatchedUserPreferencesRequest/properties/first_name" - - "iam.yml#/components/schemas/PatchedUserPreferencesRequest/properties/last_name" - - "iam.yml#/components/schemas/PatchedUserPreferencesRequest/properties/phone" - - "iam.yml#/components/schemas/PatchedUserPreferencesRequest/properties/country_call_code" - - "iam.yml#/components/schemas/PatchedUserPreferencesRequest/properties/mobile" - - "iam.yml#/components/schemas/PatchedUserPreferencesRequest/properties/password" - - "iam.yml#/components/schemas/PatchedUserPreferencesRequest/properties/old_password" - - "iam.yml#/components/schemas/Permission/properties/name" - - "iam.yml#/components/schemas/Permission/properties/slug" - - "iam.yml#/components/schemas/Permission/properties/group" - - "iam.yml#/components/schemas/PermissionRequest/properties/name" - - "iam.yml#/components/schemas/PermissionRequest/properties/slug" - - "iam.yml#/components/schemas/PermissionRequest/properties/group" - - "iam.yml#/components/schemas/PersonalToken/properties/name" - - "iam.yml#/components/schemas/PersonalTokenRequest/properties/name" - - "iam.yml#/components/schemas/Reseller/properties/name" - - "iam.yml#/components/schemas/Reseller/properties/company_name" - - "iam.yml#/components/schemas/Reseller/properties/unique_identifier" - - "iam.yml#/components/schemas/Reseller/properties/address" - - "iam.yml#/components/schemas/Reseller/properties/city" - - "iam.yml#/components/schemas/Reseller/properties/currency_iso_code" - - "iam.yml#/components/schemas/ResellerRequest/properties/name" - - "iam.yml#/components/schemas/ResellerRequest/properties/company_name" - - "iam.yml#/components/schemas/ResellerRequest/properties/unique_identifier" - - "iam.yml#/components/schemas/ResellerRequest/properties/address" - - "iam.yml#/components/schemas/ResellerRequest/properties/city" - - "iam.yml#/components/schemas/ResellerRequest/properties/currency_iso_code" - - "iam.yml#/components/schemas/SAMLIdP/properties/name" - - "iam.yml#/components/schemas/SAMLIdPRequest/properties/name" - - "iam.yml#/components/schemas/SAMLIdPRequest/properties/certificate" - - "iam.yml#/components/schemas/SetNewPasswordRequest/properties/token" - - "iam.yml#/components/schemas/SetNewPasswordRequest/properties/password" - - "iam.yml#/components/schemas/Team/properties/name" - - "iam.yml#/components/schemas/TeamRequest/properties/name" - - "iam.yml#/components/schemas/UserPreferences/properties/first_name" - - "iam.yml#/components/schemas/UserPreferences/properties/last_name" - - "iam.yml#/components/schemas/UserPreferences/properties/phone" - - "iam.yml#/components/schemas/UserPreferences/properties/country_call_code" - - "iam.yml#/components/schemas/UserPreferences/properties/mobile" - - "iam.yml#/components/schemas/UserTeams/properties/name" - - "iam.yml#/components/schemas/UserTeamsRequest/properties/name" - rules: - azion-string-minlength-properties-rule: "off" - - files: - - "iam.yml#/components/schemas/Client/properties/city" - - "iam.yml#/components/schemas/ClientRequest/properties/city" - - "iam.yml#/components/schemas/Group/properties/city" - - "iam.yml#/components/schemas/GroupRequest/properties/city" - - "iam.yml#/components/schemas/PatchedClientRequest/properties/city" - - "iam.yml#/components/schemas/PatchedGroupRequest/properties/city" - - "iam.yml#/components/schemas/PatchedResellerRequest/properties/city" - - "iam.yml#/components/schemas/PatchedUserPreferencesRequest/properties/old_password" - - "iam.yml#/components/schemas/Reseller/properties/city" - - "iam.yml#/components/schemas/ResellerRequest/properties/city" - rules: - azion-string-maxlength-properties-rule: "off" - - files: - - "iam.yml#/components/schemas/Brand/properties/name" - - "iam.yml#/components/schemas/Brand/properties/company_name" - - "iam.yml#/components/schemas/Brand/properties/unique_identifier" - - "iam.yml#/components/schemas/BrandRequest/properties/name" - - "iam.yml#/components/schemas/BrandRequest/properties/company_name" - - "iam.yml#/components/schemas/BrandRequest/properties/unique_identifier" - - "iam.yml#/components/schemas/Client/properties/name" - - "iam.yml#/components/schemas/Client/properties/company_name" - - "iam.yml#/components/schemas/Client/properties/unique_identifier" - - "iam.yml#/components/schemas/Client/properties/company_size" - - "iam.yml#/components/schemas/Client/properties/job_function" - - "iam.yml#/components/schemas/Client/properties/address" - - "iam.yml#/components/schemas/Client/properties/complement" - - "iam.yml#/components/schemas/Client/properties/city" - - "iam.yml#/components/schemas/Client/properties/postal_code" - - "iam.yml#/components/schemas/Client/properties/role" - - "iam.yml#/components/schemas/Client/properties/billing_emails" - - "iam.yml#/components/schemas/ClientRequest/properties/name" - - "iam.yml#/components/schemas/ClientRequest/properties/company_name" - - "iam.yml#/components/schemas/ClientRequest/properties/unique_identifier" - - "iam.yml#/components/schemas/ClientRequest/properties/company_size" - - "iam.yml#/components/schemas/ClientRequest/properties/job_function" - - "iam.yml#/components/schemas/ClientRequest/properties/address" - - "iam.yml#/components/schemas/ClientRequest/properties/complement" - - "iam.yml#/components/schemas/ClientRequest/properties/city" - - "iam.yml#/components/schemas/ClientRequest/properties/postal_code" - - "iam.yml#/components/schemas/ClientRequest/properties/role" - - "iam.yml#/components/schemas/ClientRequest/properties/billing_emails" - - "iam.yml#/components/schemas/CustomUser/properties/first_name" - - "iam.yml#/components/schemas/CustomUser/properties/last_name" - - "iam.yml#/components/schemas/CustomUser/properties/country_call_code" - - "iam.yml#/components/schemas/CustomUserRequest/properties/first_name" - - "iam.yml#/components/schemas/CustomUserRequest/properties/last_name" - - "iam.yml#/components/schemas/CustomUserRequest/properties/country_call_code" - - "iam.yml#/components/schemas/CustomUserRequest/properties/password" - - "iam.yml#/components/schemas/Group/properties/name" - - "iam.yml#/components/schemas/Group/properties/company_name" - - "iam.yml#/components/schemas/Group/properties/unique_identifier" - - "iam.yml#/components/schemas/Group/properties/company_size" - - "iam.yml#/components/schemas/Group/properties/job_function" - - "iam.yml#/components/schemas/Group/properties/address" - - "iam.yml#/components/schemas/Group/properties/complement" - - "iam.yml#/components/schemas/Group/properties/city" - - "iam.yml#/components/schemas/Group/properties/postal_code" - - "iam.yml#/components/schemas/Group/properties/role" - - "iam.yml#/components/schemas/Group/properties/billing_emails" - - "iam.yml#/components/schemas/Group/properties/code" - - "iam.yml#/components/schemas/GroupRequest/properties/name" - - "iam.yml#/components/schemas/GroupRequest/properties/company_name" - - "iam.yml#/components/schemas/GroupRequest/properties/unique_identifier" - - "iam.yml#/components/schemas/GroupRequest/properties/company_size" - - "iam.yml#/components/schemas/GroupRequest/properties/job_function" - - "iam.yml#/components/schemas/GroupRequest/properties/address" - - "iam.yml#/components/schemas/GroupRequest/properties/complement" - - "iam.yml#/components/schemas/GroupRequest/properties/city" - - "iam.yml#/components/schemas/GroupRequest/properties/postal_code" - - "iam.yml#/components/schemas/GroupRequest/properties/role" - - "iam.yml#/components/schemas/GroupRequest/properties/billing_emails" - - "iam.yml#/components/schemas/GroupRequest/properties/code" - - "iam.yml#/components/schemas/OIDCIdP/properties/name" - - "iam.yml#/components/schemas/OIDCIdP/properties/client_id" - - "iam.yml#/components/schemas/OIDCIdPRequest/properties/name" - - "iam.yml#/components/schemas/OIDCIdPRequest/properties/client_id" - - "iam.yml#/components/schemas/OIDCIdPRequest/properties/client_secret" - - "iam.yml#/components/schemas/PatchedBrandRequest/properties/name" - - "iam.yml#/components/schemas/PatchedBrandRequest/properties/company_name" - - "iam.yml#/components/schemas/PatchedBrandRequest/properties/unique_identifier" - - "iam.yml#/components/schemas/PatchedClientRequest/properties/name" - - "iam.yml#/components/schemas/PatchedClientRequest/properties/company_name" - - "iam.yml#/components/schemas/PatchedClientRequest/properties/unique_identifier" - - "iam.yml#/components/schemas/PatchedClientRequest/properties/company_size" - - "iam.yml#/components/schemas/PatchedClientRequest/properties/job_function" - - "iam.yml#/components/schemas/PatchedClientRequest/properties/address" - - "iam.yml#/components/schemas/PatchedClientRequest/properties/complement" - - "iam.yml#/components/schemas/PatchedClientRequest/properties/city" - - "iam.yml#/components/schemas/PatchedClientRequest/properties/postal_code" - - "iam.yml#/components/schemas/PatchedClientRequest/properties/role" - - "iam.yml#/components/schemas/PatchedClientRequest/properties/billing_emails" - - "iam.yml#/components/schemas/PatchedCustomUserRequest/properties/first_name" - - "iam.yml#/components/schemas/PatchedCustomUserRequest/properties/last_name" - - "iam.yml#/components/schemas/PatchedCustomUserRequest/properties/country_call_code" - - "iam.yml#/components/schemas/PatchedCustomUserRequest/properties/password" - - "iam.yml#/components/schemas/PatchedGroupRequest/properties/name" - - "iam.yml#/components/schemas/PatchedGroupRequest/properties/company_name" - - "iam.yml#/components/schemas/PatchedGroupRequest/properties/unique_identifier" - - "iam.yml#/components/schemas/PatchedGroupRequest/properties/company_size" - - "iam.yml#/components/schemas/PatchedGroupRequest/properties/job_function" - - "iam.yml#/components/schemas/PatchedGroupRequest/properties/address" - - "iam.yml#/components/schemas/PatchedGroupRequest/properties/complement" - - "iam.yml#/components/schemas/PatchedGroupRequest/properties/city" - - "iam.yml#/components/schemas/PatchedGroupRequest/properties/postal_code" - - "iam.yml#/components/schemas/PatchedGroupRequest/properties/role" - - "iam.yml#/components/schemas/PatchedGroupRequest/properties/billing_emails" - - "iam.yml#/components/schemas/PatchedGroupRequest/properties/code" - - "iam.yml#/components/schemas/PatchedOIDCIdPRequest/properties/name" - - "iam.yml#/components/schemas/PatchedOIDCIdPRequest/properties/client_id" - - "iam.yml#/components/schemas/PatchedOIDCIdPRequest/properties/client_secret" - - "iam.yml#/components/schemas/PatchedResellerRequest/properties/name" - - "iam.yml#/components/schemas/PatchedResellerRequest/properties/company_name" - - "iam.yml#/components/schemas/PatchedResellerRequest/properties/unique_identifier" - - "iam.yml#/components/schemas/PatchedResellerRequest/properties/company_size" - - "iam.yml#/components/schemas/PatchedResellerRequest/properties/job_function" - - "iam.yml#/components/schemas/PatchedResellerRequest/properties/address" - - "iam.yml#/components/schemas/PatchedResellerRequest/properties/complement" - - "iam.yml#/components/schemas/PatchedResellerRequest/properties/city" - - "iam.yml#/components/schemas/PatchedResellerRequest/properties/postal_code" - - "iam.yml#/components/schemas/PatchedResellerRequest/properties/role" - - "iam.yml#/components/schemas/PatchedResellerRequest/properties/currency_iso_code" - - "iam.yml#/components/schemas/PatchedSAMLIdPRequest/properties/name" - - "iam.yml#/components/schemas/PatchedTeamRequest/properties/name" - - "iam.yml#/components/schemas/PatchedUserPreferencesRequest/properties/first_name" - - "iam.yml#/components/schemas/PatchedUserPreferencesRequest/properties/last_name" - - "iam.yml#/components/schemas/PatchedUserPreferencesRequest/properties/country_call_code" - - "iam.yml#/components/schemas/PatchedUserPreferencesRequest/properties/password" - - "iam.yml#/components/schemas/PatchedUserPreferencesRequest/properties/old_password" - - "iam.yml#/components/schemas/Permission/properties/name" - - "iam.yml#/components/schemas/Permission/properties/slug" - - "iam.yml#/components/schemas/Permission/properties/group" - - "iam.yml#/components/schemas/PermissionRequest/properties/name" - - "iam.yml#/components/schemas/PermissionRequest/properties/slug" - - "iam.yml#/components/schemas/PermissionRequest/properties/group" - - "iam.yml#/components/schemas/PersonalToken/properties/name" - - "iam.yml#/components/schemas/PersonalToken/properties/description" - - "iam.yml#/components/schemas/PersonalTokenRequest/properties/name" - - "iam.yml#/components/schemas/PersonalTokenRequest/properties/description" - - "iam.yml#/components/schemas/Reseller/properties/name" - - "iam.yml#/components/schemas/Reseller/properties/company_name" - - "iam.yml#/components/schemas/Reseller/properties/unique_identifier" - - "iam.yml#/components/schemas/Reseller/properties/company_size" - - "iam.yml#/components/schemas/Reseller/properties/job_function" - - "iam.yml#/components/schemas/Reseller/properties/address" - - "iam.yml#/components/schemas/Reseller/properties/complement" - - "iam.yml#/components/schemas/Reseller/properties/city" - - "iam.yml#/components/schemas/Reseller/properties/postal_code" - - "iam.yml#/components/schemas/Reseller/properties/role" - - "iam.yml#/components/schemas/Reseller/properties/currency_iso_code" - - "iam.yml#/components/schemas/ResellerRequest/properties/name" - - "iam.yml#/components/schemas/ResellerRequest/properties/company_name" - - "iam.yml#/components/schemas/ResellerRequest/properties/unique_identifier" - - "iam.yml#/components/schemas/ResellerRequest/properties/company_size" - - "iam.yml#/components/schemas/ResellerRequest/properties/job_function" - - "iam.yml#/components/schemas/ResellerRequest/properties/address" - - "iam.yml#/components/schemas/ResellerRequest/properties/complement" - - "iam.yml#/components/schemas/ResellerRequest/properties/city" - - "iam.yml#/components/schemas/ResellerRequest/properties/postal_code" - - "iam.yml#/components/schemas/ResellerRequest/properties/role" - - "iam.yml#/components/schemas/ResellerRequest/properties/currency_iso_code" - - "iam.yml#/components/schemas/SAMLIdP/properties/name" - - "iam.yml#/components/schemas/SAMLIdPRequest/properties/name" - - "iam.yml#/components/schemas/SetNewPasswordRequest/properties/password" - - "iam.yml#/components/schemas/Team/properties/name" - - "iam.yml#/components/schemas/TeamRequest/properties/name" - - "iam.yml#/components/schemas/UserPreferences/properties/first_name" - - "iam.yml#/components/schemas/UserPreferences/properties/last_name" - - "iam.yml#/components/schemas/UserPreferences/properties/country_call_code" - - "iam.yml#/components/schemas/UserTeams/properties/name" - - "iam.yml#/components/schemas/UserTeamsRequest/properties/name" - rules: - azion-string-pattern-properties-rule: "off" \ No newline at end of file diff --git a/spectral/.spectral-idns.yaml b/spectral/.spectral-idns.yaml deleted file mode 100644 index 88ff875..0000000 --- a/spectral/.spectral-idns.yaml +++ /dev/null @@ -1,109 +0,0 @@ -extends: .spectral.yaml -overrides: - - files: - - "idns.yaml#/paths/~1intelligent_dns" - - "idns.yaml#/paths/~1intelligent_dns~1%7Bzone_id%7D" - - "idns.yaml#/paths/~1intelligent_dns~1%7Bzone_id%7D~1dnssec" - - "idns.yaml#/paths/~1intelligent_dns~1%7Bzone_id%7D~1records" - - "idns.yaml#/paths/~1intelligent_dns~1%7Bzone_id%7D~1records~1%7Brecord_id%7D" - rules: - azion-mandatory-status-codes: "off" - - files: - - "idns.yaml#/components/schemas/Zone/properties/id" - - "idns.yaml#/components/schemas/GetZonesResponse/properties/schema_version" - - "idns.yaml#/components/schemas/GetZonesResponse/properties/count" - - "idns.yaml#/components/schemas/GetZonesResponse/properties/total_pages" - - "idns.yaml#/components/schemas/GetZoneResponse/properties/schema_version" - - "idns.yaml#/components/schemas/PostOrPutZoneResponse/properties/schema_version" - - "idns.yaml#/components/schemas/RecordGet/properties/record_id" - - "idns.yaml#/components/schemas/RecordGet/properties/weight" - - "idns.yaml#/components/schemas/RecordGet/properties/ttl" - - "idns.yaml#/components/schemas/RecordPostOrPut/properties/id" - - "idns.yaml#/components/schemas/RecordPostOrPut/properties/weight" - - "idns.yaml#/components/schemas/RecordPostOrPut/properties/ttl" - - "idns.yaml#/components/schemas/GetRecordsResponse/properties/schema_version" - - "idns.yaml#/components/schemas/GetRecordsResponse/properties/count" - - "idns.yaml#/components/schemas/GetRecordsResponse/properties/total_pages" - - "idns.yaml#/components/schemas/PostOrPutRecordResponse/properties/schema_version" - - "idns.yaml#/components/schemas/GetOrPatchDnsSecResponse/properties/schema_version" - - "idns.yaml#/components/schemas/GetRecordsResponse_results/properties/zone_id" - - "idns.yaml#/components/schemas/DnsSec_delegation_signer_digest_type/properties/id" - rules: - azion-number-minimum-limit-rule: "off" - - files: - - "idns.yaml#/components/schemas/Zone/properties/id" - - "idns.yaml#/components/schemas/GetZonesResponse/properties/schema_version" - - "idns.yaml#/components/schemas/GetZonesResponse/properties/count" - - "idns.yaml#/components/schemas/GetZonesResponse/properties/total_pages" - - "idns.yaml#/components/schemas/GetZoneResponse/properties/schema_version" - - "idns.yaml#/components/schemas/PostOrPutZoneResponse/properties/schema_version" - - "idns.yaml#/components/schemas/RecordGet/properties/record_id" - - "idns.yaml#/components/schemas/RecordGet/properties/weight" - - "idns.yaml#/components/schemas/RecordGet/properties/ttl" - - "idns.yaml#/components/schemas/RecordPostOrPut/properties/id" - - "idns.yaml#/components/schemas/RecordPostOrPut/properties/weight" - - "idns.yaml#/components/schemas/RecordPostOrPut/properties/ttl" - - "idns.yaml#/components/schemas/GetRecordsResponse/properties/schema_version" - - "idns.yaml#/components/schemas/GetRecordsResponse/properties/count" - - "idns.yaml#/components/schemas/GetRecordsResponse/properties/total_pages" - - "idns.yaml#/components/schemas/PostOrPutRecordResponse/properties/schema_version" - - "idns.yaml#/components/schemas/GetOrPatchDnsSecResponse/properties/schema_version" - - "idns.yaml#/components/schemas/GetRecordsResponse_results/properties/zone_id" - - "idns.yaml#/components/schemas/DnsSec_delegation_signer_digest_type/properties/id" - rules: - azion-number-maximum-limit-rule: "off" - - files: - - "idns.yaml#/components/schemas/Zone/properties/name" - - "idns.yaml#/components/schemas/Zone/properties/domain" - - "idns.yaml#/components/schemas/RecordGet/properties/entry" - - "idns.yaml#/components/schemas/RecordGet/properties/description" - - "idns.yaml#/components/schemas/RecordGet/properties/policy" - - "idns.yaml#/components/schemas/RecordGet/properties/record_type" - - "idns.yaml#/components/schemas/RecordPostOrPut/properties/entry" - - "idns.yaml#/components/schemas/RecordPostOrPut/properties/description" - - "idns.yaml#/components/schemas/RecordPostOrPut/properties/policy" - - "idns.yaml#/components/schemas/RecordPostOrPut/properties/record_type" - - "idns.yaml#/components/schemas/ErrorResponse/properties/detail" - - "idns.yaml#/components/schemas/GetRecordsResponse_results/properties/zone_domain" - - "idns.yaml#/components/schemas/DnsSec_delegation_signer_digest_type/properties/slug" - - "idns.yaml#/components/schemas/DnsSec_delegation_signer/properties/digest" - rules: - azion-string-minlength-properties-rule: "off" - - files: - - "idns.yaml#/components/schemas/Zone/properties/name" - - "idns.yaml#/components/schemas/Zone/properties/domain" - - "idns.yaml#/components/schemas/RecordGet/properties/entry" - - "idns.yaml#/components/schemas/RecordGet/properties/description" - - "idns.yaml#/components/schemas/RecordGet/properties/policy" - - "idns.yaml#/components/schemas/RecordGet/properties/record_type" - - "idns.yaml#/components/schemas/RecordPostOrPut/properties/entry" - - "idns.yaml#/components/schemas/RecordPostOrPut/properties/description" - - "idns.yaml#/components/schemas/RecordPostOrPut/properties/policy" - - "idns.yaml#/components/schemas/RecordPostOrPut/properties/record_type" - - "idns.yaml#/components/schemas/ErrorResponse/properties/detail" - - "idns.yaml#/components/schemas/GetZonesResponse_links/properties/previous" - - "idns.yaml#/components/schemas/GetZonesResponse_links/properties/next" - - "idns.yaml#/components/schemas/GetRecordsResponse_results/properties/zone_domain" - - "idns.yaml#/components/schemas/DnsSec_delegation_signer_digest_type/properties/slug" - - "idns.yaml#/components/schemas/DnsSec_delegation_signer/properties/digest" - rules: - azion-string-maxlength-properties-rule: "off" - - files: - - "idns.yaml#/components/schemas/Zone/properties/name" - - "idns.yaml#/components/schemas/Zone/properties/domain" - - "idns.yaml#/components/schemas/RecordGet/properties/entry" - - "idns.yaml#/components/schemas/RecordGet/properties/description" - - "idns.yaml#/components/schemas/RecordGet/properties/policy" - - "idns.yaml#/components/schemas/RecordGet/properties/record_type" - - "idns.yaml#/components/schemas/RecordPostOrPut/properties/entry" - - "idns.yaml#/components/schemas/RecordPostOrPut/properties/description" - - "idns.yaml#/components/schemas/RecordPostOrPut/properties/policy" - - "idns.yaml#/components/schemas/RecordPostOrPut/properties/record_type" - - "idns.yaml#/components/schemas/ErrorResponse/properties/detail" - - "idns.yaml#/components/schemas/GetZonesResponse_links/properties/previous" - - "idns.yaml#/components/schemas/GetZonesResponse_links/properties/next" - - "idns.yaml#/components/schemas/GetRecordsResponse_results/properties/zone_domain" - - "idns.yaml#/components/schemas/DnsSec_delegation_signer_digest_type/properties/slug" - - "idns.yaml#/components/schemas/DnsSec_delegation_signer/properties/digest" - rules: - azion-string-pattern-properties-rule: "off" \ No newline at end of file diff --git a/spectral/.spectral-networklist.yaml b/spectral/.spectral-networklist.yaml deleted file mode 100644 index a6b9da3..0000000 --- a/spectral/.spectral-networklist.yaml +++ /dev/null @@ -1,94 +0,0 @@ -extends: .spectral.yaml -overrides: - - files: - - "networklist.yaml#/paths/~1network_lists" - - "networklist.yaml#/paths/~1network_lists~1%7Buuid%7D" - rules: - azion-mandatory-status-codes: "off" - - files: - - "networklist.yaml#/components/schemas/NetworkLists/properties/id" - - "networklist.yaml#/components/schemas/ListNetworkListsResponse/properties/count" - - "networklist.yaml#/components/schemas/ListNetworkListsResponse/properties/total_pages" - - "networklist.yaml#/components/schemas/ListNetworkListsResponse/properties/schema_version" - - "networklist.yaml#/components/schemas/NetworkListResponseEntry/properties/id" - - "networklist.yaml#/components/schemas/NetworkListsResponse/properties/schema_version" - - "networklist.yaml#/components/schemas/NetworkListUuidResponse/properties/schema_version" - rules: - azion-number-minimum-limit-rule: "off" - - files: - - "networklist.yaml#/components/schemas/NetworkLists/properties/id" - - "networklist.yaml#/components/schemas/ListNetworkListsResponse/properties/count" - - "networklist.yaml#/components/schemas/ListNetworkListsResponse/properties/total_pages" - - "networklist.yaml#/components/schemas/ListNetworkListsResponse/properties/schema_version" - - "networklist.yaml#/components/schemas/NetworkListResponseEntry/properties/id" - - "networklist.yaml#/components/schemas/NetworkListsResponse/properties/schema_version" - - "networklist.yaml#/components/schemas/NetworkListUuidResponse/properties/schema_version" - rules: - azion-number-maximum-limit-rule: "off" - - files: - - "networklist.yaml#/components/schemas/ErrorModel/properties/code" - - "networklist.yaml#/components/schemas/NetworkLists/properties/last_editor" - - "networklist.yaml#/components/schemas/NetworkLists/properties/last_modified" - - "networklist.yaml#/components/schemas/NetworkLists/properties/list_type" - - "networklist.yaml#/components/schemas/NetworkLists/properties/name" - - "networklist.yaml#/components/schemas/NetworkListResponseEntry/properties/last_editor" - - "networklist.yaml#/components/schemas/NetworkListResponseEntry/properties/last_modified" - - "networklist.yaml#/components/schemas/NetworkListResponseEntry/properties/list_type" - - "networklist.yaml#/components/schemas/NetworkListResponseEntry/properties/name" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryString/properties/name" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryString/properties/last_editor" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryString/properties/last_modified" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryString/properties/list_type" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryInt/properties/last_editor" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryInt/properties/last_modified" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryInt/properties/list_type" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryInt/properties/name" - - "networklist.yaml#/components/schemas/CreateNetworkListsRequest/properties/name" - rules: - azion-string-minlength-properties-rule: "off" - - files: - - "networklist.yaml#/components/schemas/ErrorModel/properties/code" - - "networklist.yaml#/components/schemas/Links/properties/previous" - - "networklist.yaml#/components/schemas/Links/properties/next" - - "networklist.yaml#/components/schemas/NetworkLists/properties/last_editor" - - "networklist.yaml#/components/schemas/NetworkLists/properties/last_modified" - - "networklist.yaml#/components/schemas/NetworkLists/properties/list_type" - - "networklist.yaml#/components/schemas/NetworkLists/properties/name" - - "networklist.yaml#/components/schemas/NetworkListResponseEntry/properties/last_editor" - - "networklist.yaml#/components/schemas/NetworkListResponseEntry/properties/last_modified" - - "networklist.yaml#/components/schemas/NetworkListResponseEntry/properties/list_type" - - "networklist.yaml#/components/schemas/NetworkListResponseEntry/properties/name" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryString/properties/name" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryString/properties/last_editor" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryString/properties/last_modified" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryString/properties/list_type" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryInt/properties/last_editor" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryInt/properties/last_modified" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryInt/properties/list_type" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryInt/properties/name" - - "networklist.yaml#/components/schemas/CreateNetworkListsRequest/properties/name" - rules: - azion-string-maxlength-properties-rule: "off" - - files: - - "networklist.yaml#/components/schemas/ErrorModel/properties/code" - - "networklist.yaml#/components/schemas/Links/properties/previous" - - "networklist.yaml#/components/schemas/Links/properties/next" - - "networklist.yaml#/components/schemas/NetworkLists/properties/last_editor" - - "networklist.yaml#/components/schemas/NetworkLists/properties/last_modified" - - "networklist.yaml#/components/schemas/NetworkLists/properties/list_type" - - "networklist.yaml#/components/schemas/NetworkLists/properties/name" - - "networklist.yaml#/components/schemas/NetworkListResponseEntry/properties/last_editor" - - "networklist.yaml#/components/schemas/NetworkListResponseEntry/properties/last_modified" - - "networklist.yaml#/components/schemas/NetworkListResponseEntry/properties/list_type" - - "networklist.yaml#/components/schemas/NetworkListResponseEntry/properties/name" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryString/properties/name" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryString/properties/last_editor" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryString/properties/last_modified" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryString/properties/list_type" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryInt/properties/last_editor" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryInt/properties/last_modified" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryInt/properties/list_type" - - "networklist.yaml#/components/schemas/NetworkListUuidResponseEntryInt/properties/name" - - "networklist.yaml#/components/schemas/CreateNetworkListsRequest/properties/name" - rules: - azion-string-pattern-properties-rule: "off" \ No newline at end of file diff --git a/spectral/.spectral-personaltokens.yaml b/spectral/.spectral-personaltokens.yaml deleted file mode 100644 index 388024e..0000000 --- a/spectral/.spectral-personaltokens.yaml +++ /dev/null @@ -1,43 +0,0 @@ -extends: .spectral.yaml -overrides: - - files: - - "personal_tokens.yaml#/components/schemas/PersonalTokenResponseWithResults/properties/count" - - "personal_tokens.yaml#/components/schemas/PersonalTokenResponseWithResults/properties/total_pages" - - "personal_tokens.yaml#/components/schemas/PersonalTokenResponseWithResults/properties/schema_version" - - "personal_tokens.yaml#/components/schemas/CreatePersonalTokenResponse/properties/user_id" - rules: - azion-number-minimum-limit-rule: "off" - - files: - - "personal_tokens.yaml#/components/schemas/PersonalTokenResponseWithResults/properties/count" - - "personal_tokens.yaml#/components/schemas/PersonalTokenResponseWithResults/properties/total_pages" - - "personal_tokens.yaml#/components/schemas/PersonalTokenResponseWithResults/properties/schema_version" - - "personal_tokens.yaml#/components/schemas/CreatePersonalTokenResponse/properties/user_id" - rules: - azion-number-maximum-limit-rule: "off" - - files: - - "personal_tokens.yaml#/components/schemas/PersonalTokenResponseGet/properties/name" - - "personal_tokens.yaml#/components/schemas/CreatePersonalTokenRequest/properties/name" - - "personal_tokens.yaml#/components/schemas/CreatePersonalTokenResponse/properties/name" - - "personal_tokens.yaml#/components/schemas/CreatePersonalTokenResponse/properties/key" - rules: - azion-string-minlength-properties-rule: "off" - - files: - - "personal_tokens.yaml#/components/schemas/PersonalTokenResponseGet/properties/name" - - "personal_tokens.yaml#/components/schemas/PersonalTokenResponseGet/properties/description" - - "personal_tokens.yaml#/components/schemas/CreatePersonalTokenRequest/properties/name" - - "personal_tokens.yaml#/components/schemas/CreatePersonalTokenRequest/properties/description" - - "personal_tokens.yaml#/components/schemas/CreatePersonalTokenResponse/properties/name" - - "personal_tokens.yaml#/components/schemas/CreatePersonalTokenResponse/properties/key" - - "personal_tokens.yaml#/components/schemas/CreatePersonalTokenResponse/properties/description" - rules: - azion-string-maxlength-properties-rule: "off" - - files: - - "personal_tokens.yaml#/components/schemas/PersonalTokenResponseGet/properties/name" - - "personal_tokens.yaml#/components/schemas/PersonalTokenResponseGet/properties/description" - - "personal_tokens.yaml#/components/schemas/CreatePersonalTokenRequest/properties/name" - - "personal_tokens.yaml#/components/schemas/CreatePersonalTokenRequest/properties/description" - - "personal_tokens.yaml#/components/schemas/CreatePersonalTokenResponse/properties/name" - - "personal_tokens.yaml#/components/schemas/CreatePersonalTokenResponse/properties/key" - - "personal_tokens.yaml#/components/schemas/CreatePersonalTokenResponse/properties/description" - rules: - azion-string-pattern-properties-rule: "off" \ No newline at end of file diff --git a/spectral/.spectral-realtimepurge.yaml b/spectral/.spectral-realtimepurge.yaml deleted file mode 100644 index f4c7e94..0000000 --- a/spectral/.spectral-realtimepurge.yaml +++ /dev/null @@ -1,23 +0,0 @@ -extends: .spectral.yaml -overrides: - - files: - - "realtimepurge.yaml#/components/schemas/PurgeUrlRequest/properties/method" - - "realtimepurge.yaml#/components/schemas/PurgeCacheKeyRequest/properties/method" - - "realtimepurge.yaml#/components/schemas/PurgeCacheKeyRequest/properties/layer" - - "realtimepurge.yaml#/components/schemas/PurgeWildcardRequest/properties/method" - rules: - azion-string-minlength-properties-rule: "off" - - files: - - "realtimepurge.yaml#/components/schemas/PurgeUrlRequest/properties/method" - - "realtimepurge.yaml#/components/schemas/PurgeCacheKeyRequest/properties/method" - - "realtimepurge.yaml#/components/schemas/PurgeCacheKeyRequest/properties/layer" - - "realtimepurge.yaml#/components/schemas/PurgeWildcardRequest/properties/method" - rules: - azion-string-maxlength-properties-rule: "off" - - files: - - "realtimepurge.yaml#/components/schemas/PurgeUrlRequest/properties/method" - - "realtimepurge.yaml#/components/schemas/PurgeCacheKeyRequest/properties/method" - - "realtimepurge.yaml#/components/schemas/PurgeCacheKeyRequest/properties/layer" - - "realtimepurge.yaml#/components/schemas/PurgeWildcardRequest/properties/method" - rules: - azion-string-pattern-properties-rule: "off" \ No newline at end of file diff --git a/spectral/.spectral-services.yaml b/spectral/.spectral-services.yaml deleted file mode 100644 index 5171852..0000000 --- a/spectral/.spectral-services.yaml +++ /dev/null @@ -1,106 +0,0 @@ -extends: .spectral.yaml -overrides: - - files: - - "services.yaml#/paths/~1edge_services" - - "services.yaml#/paths/~1edge_services~1%7Bid%7D" - - "services.yaml#/paths/~1edge_services~1%7BserviceId%7D~1resources" - - "services.yaml#/paths/~1edge_services~1%7BserviceId%7D~1resources~1%7BresourceId%7D" - rules: - azion-mandatory-status-codes: "off" - - files: - - "services.yaml#/components/schemas/ResourceDetail/properties/id" - - "services.yaml#/components/schemas/ResourceResponse/properties/id" - - "services.yaml#/components/schemas/ServiceResponse/properties/bound_nodes" - - "services.yaml#/components/schemas/ServiceResponse/properties/id" - - "services.yaml#/components/schemas/ServiceResponseWithTotals/properties/total" - rules: - azion-number-minimum-limit-rule: "off" - - files: - - "services.yaml#/components/schemas/ResourceDetail/properties/id" - - "services.yaml#/components/schemas/ResourceResponse/properties/id" - - "services.yaml#/components/schemas/ServiceResponse/properties/bound_nodes" - - "services.yaml#/components/schemas/ServiceResponse/properties/id" - - "services.yaml#/components/schemas/ServiceResponseWithTotals/properties/total" - rules: - azion-number-maximum-limit-rule: "off" - - files: - - "services.yaml#/components/schemas/CreateResourceRequest/properties/name" - - "services.yaml#/components/schemas/CreateResourceRequest/properties/trigger" - - "services.yaml#/components/schemas/CreateResourceRequest/properties/content" - - "services.yaml#/components/schemas/CreateResourceRequest/properties/content_type" - - "services.yaml#/components/schemas/CreateServiceRequest/properties/name" - - "services.yaml#/components/schemas/ResourceDetail/properties/content" - - "services.yaml#/components/schemas/ResourceDetail/properties/content_type" - - "services.yaml#/components/schemas/ResourceDetail/properties/name" - - "services.yaml#/components/schemas/ResourceDetail/properties/trigger" - - "services.yaml#/components/schemas/ResourceResponse/properties/content_type" - - "services.yaml#/components/schemas/ResourceResponse/properties/last_editor" - - "services.yaml#/components/schemas/ResourceResponse/properties/name" - - "services.yaml#/components/schemas/ResourceResponse/properties/trigger" - - "services.yaml#/components/schemas/ResourceResponse/properties/updated_at" - - "services.yaml#/components/schemas/ServiceResponse/properties/last_editor" - - "services.yaml#/components/schemas/ServiceResponse/properties/name" - - "services.yaml#/components/schemas/ServiceResponse/properties/updated_at" - - "services.yaml#/components/schemas/UpdateResourceRequest/properties/content" - - "services.yaml#/components/schemas/UpdateResourceRequest/properties/content_type" - - "services.yaml#/components/schemas/UpdateResourceRequest/properties/name" - - "services.yaml#/components/schemas/UpdateResourceRequest/properties/trigger" - - "services.yaml#/components/schemas/UpdateServiceRequest/properties/name" - - "services.yaml#/components/schemas/Variable/properties/name" - - "services.yaml#/components/schemas/Variable/properties/value" - rules: - azion-string-minlength-properties-rule: "off" - - files: - - "services.yaml#/components/schemas/CreateResourceRequest/properties/name" - - "services.yaml#/components/schemas/CreateResourceRequest/properties/trigger" - - "services.yaml#/components/schemas/CreateResourceRequest/properties/content" - - "services.yaml#/components/schemas/CreateResourceRequest/properties/content_type" - - "services.yaml#/components/schemas/CreateServiceRequest/properties/name" - - "services.yaml#/components/schemas/ResourceDetail/properties/content" - - "services.yaml#/components/schemas/ResourceDetail/properties/content_type" - - "services.yaml#/components/schemas/ResourceDetail/properties/name" - - "services.yaml#/components/schemas/ResourceDetail/properties/trigger" - - "services.yaml#/components/schemas/ResourceResponse/properties/content_type" - - "services.yaml#/components/schemas/ResourceResponse/properties/last_editor" - - "services.yaml#/components/schemas/ResourceResponse/properties/name" - - "services.yaml#/components/schemas/ResourceResponse/properties/trigger" - - "services.yaml#/components/schemas/ResourceResponse/properties/updated_at" - - "services.yaml#/components/schemas/ServiceResponse/properties/last_editor" - - "services.yaml#/components/schemas/ServiceResponse/properties/name" - - "services.yaml#/components/schemas/ServiceResponse/properties/updated_at" - - "services.yaml#/components/schemas/UpdateResourceRequest/properties/content" - - "services.yaml#/components/schemas/UpdateResourceRequest/properties/content_type" - - "services.yaml#/components/schemas/UpdateResourceRequest/properties/name" - - "services.yaml#/components/schemas/UpdateResourceRequest/properties/trigger" - - "services.yaml#/components/schemas/UpdateServiceRequest/properties/name" - - "services.yaml#/components/schemas/Variable/properties/name" - - "services.yaml#/components/schemas/Variable/properties/value" - rules: - azion-string-maxlength-properties-rule: "off" - - files: - - "services.yaml#/components/schemas/CreateResourceRequest/properties/name" - - "services.yaml#/components/schemas/CreateResourceRequest/properties/trigger" - - "services.yaml#/components/schemas/CreateResourceRequest/properties/content" - - "services.yaml#/components/schemas/CreateResourceRequest/properties/content_type" - - "services.yaml#/components/schemas/CreateServiceRequest/properties/name" - - "services.yaml#/components/schemas/ResourceDetail/properties/content" - - "services.yaml#/components/schemas/ResourceDetail/properties/content_type" - - "services.yaml#/components/schemas/ResourceDetail/properties/name" - - "services.yaml#/components/schemas/ResourceDetail/properties/trigger" - - "services.yaml#/components/schemas/ResourceResponse/properties/content_type" - - "services.yaml#/components/schemas/ResourceResponse/properties/last_editor" - - "services.yaml#/components/schemas/ResourceResponse/properties/name" - - "services.yaml#/components/schemas/ResourceResponse/properties/trigger" - - "services.yaml#/components/schemas/ResourceResponse/properties/updated_at" - - "services.yaml#/components/schemas/ServiceResponse/properties/last_editor" - - "services.yaml#/components/schemas/ServiceResponse/properties/name" - - "services.yaml#/components/schemas/ServiceResponse/properties/updated_at" - - "services.yaml#/components/schemas/UpdateResourceRequest/properties/content" - - "services.yaml#/components/schemas/UpdateResourceRequest/properties/content_type" - - "services.yaml#/components/schemas/UpdateResourceRequest/properties/name" - - "services.yaml#/components/schemas/UpdateResourceRequest/properties/trigger" - - "services.yaml#/components/schemas/UpdateServiceRequest/properties/name" - - "services.yaml#/components/schemas/Variable/properties/name" - - "services.yaml#/components/schemas/Variable/properties/value" - rules: - azion-string-pattern-properties-rule: "off" \ No newline at end of file diff --git a/spectral/.spectral-storage.yaml b/spectral/.spectral-storage.yaml deleted file mode 100644 index 72a7d31..0000000 --- a/spectral/.spectral-storage.yaml +++ /dev/null @@ -1,26 +0,0 @@ -extends: .spectral.yaml -overrides: - - files: - - "storage.yaml#/components/schemas/PaginatedBucketList/properties/count" - - "storage.yaml#/components/schemas/PaginatedBucketObjectList/properties/count" - rules: - azion-number-minimum-limit-rule: "off" - - files: - - "storage.yaml#/components/schemas/PaginatedBucketList/properties/count" - - "storage.yaml#/components/schemas/PaginatedBucketObjectList/properties/count" - rules: - azion-number-maximum-limit-rule: "off" - - files: - - "storage.yaml#/components/schemas/BucketCreate/properties/name" - - "storage.yaml#/components/schemas/ObjectResponseData/properties/object_key" - rules: - azion-string-pattern-properties-rule: "off" - - files: - - "storage.yaml#/components/schemas/ObjectResponseData/properties/object_key" - rules: - azion-string-maxlength-properties-rule: "off" - - files: - - "storage.yaml#/components/schemas/ObjectResponseData/properties/object_key" - rules: - azion-string-minlength-properties-rule: "off" - \ No newline at end of file diff --git a/spectral/.spectral-variables.yaml b/spectral/.spectral-variables.yaml deleted file mode 100644 index ec7c4e5..0000000 --- a/spectral/.spectral-variables.yaml +++ /dev/null @@ -1,15 +0,0 @@ -extends: .spectral.yaml -overrides: - - files: - - "variables.yaml#/paths/~1variables" - - "variables.yaml#/paths/~1variables~1%7Buuid%7D" - rules: - azion-mandatory-status-codes: "off" - - files: - - "variables.yaml#/components/schemas/Variable/properties/key" - - "variables.yaml#/components/schemas/Variable/properties/value" - - "variables.yaml#/components/schemas/VariableCreate/properties/key" - - "variables.yaml#/components/schemas/VariableCreate/properties/value" - - "variables.yaml#/components/schemas/VariableGet/properties/key" - rules: - azion-string-pattern-properties-rule: "off" \ No newline at end of file diff --git a/spectral/.spectral-waf.yaml b/spectral/.spectral-waf.yaml deleted file mode 100644 index aa974de..0000000 --- a/spectral/.spectral-waf.yaml +++ /dev/null @@ -1,65 +0,0 @@ -extends: .spectral.yaml -overrides: - - files: - - "waf.yaml#/paths/~1waf" - - "waf.yaml#/paths/~1waf~1rulesets" - - "waf.yaml#/paths/~1waf~1%7Bwaf_id%7D~1domains" - - "waf.yaml#/paths/~1waf~1%7Bwaf_id%7D~1waf_events" - - "waf.yaml#/paths/~1waf~1rulesets~1%7Bwaf_rule_set_id%7D" - rules: - azion-mandatory-status-codes: "off" - - files: - - "waf.yaml#/components/schemas/SingleWAF/properties/id" - - "waf.yaml#/components/schemas/WAFList200/properties/count" - - "waf.yaml#/components/schemas/WAFList200/properties/total_pages" - - "waf.yaml#/components/schemas/WAFList200/properties/schema_version" - - "waf.yaml#/components/schemas/WAFSingle200/properties/schema_version" - - "waf.yaml#/components/schemas/WAFDomainList200/properties/id" - - "waf.yaml#/components/schemas/WAFDomains200/properties/count" - - "waf.yaml#/components/schemas/WAFDomains200/properties/total_pages" - - "waf.yaml#/components/schemas/WAFDomains200/properties/schema_version" - - "waf.yaml#/components/schemas/WAFEvents400/properties/schema_version" - - "waf.yaml#/components/schemas/WAFEvents404/properties/schema_version" - - "waf.yaml#/components/schemas/WAFEvents200/properties/schema_version" - rules: - azion-number-maximum-limit-rule: "off" - - files: - - "waf.yaml#/components/schemas/SingleWAF/properties/id" - - "waf.yaml#/components/schemas/WAFList200/properties/count" - - "waf.yaml#/components/schemas/WAFList200/properties/total_pages" - - "waf.yaml#/components/schemas/WAFList200/properties/schema_version" - - "waf.yaml#/components/schemas/WAFSingle200/properties/schema_version" - - "waf.yaml#/components/schemas/WAFDomainList200/properties/id" - - "waf.yaml#/components/schemas/WAFDomains200/properties/count" - - "waf.yaml#/components/schemas/WAFDomains200/properties/total_pages" - - "waf.yaml#/components/schemas/WAFDomains200/properties/schema_version" - - "waf.yaml#/components/schemas/WAFEvents400/properties/schema_version" - - "waf.yaml#/components/schemas/WAFEvents404/properties/schema_version" - - "waf.yaml#/components/schemas/WAFEvents200/properties/schema_version" - rules: - azion-number-minimum-limit-rule: "off" - - files: - - "waf.yaml#/components/schemas/Links/properties/previous" - - "waf.yaml#/components/schemas/Links/properties/next" - - "waf.yaml#/components/schemas/SingleWAF/properties/name" - - "waf.yaml#/components/schemas/WAFDomainList200/properties/name" - - "waf.yaml#/components/schemas/WAFDomainList200/properties/domain" - - "waf.yaml#/components/schemas/WAFEvents401/properties/detail" - rules: - azion-string-maxlength-properties-rule: "off" - - files: - - "waf.yaml#/components/schemas/SingleWAF/properties/name" - - "waf.yaml#/components/schemas/WAFDomainList200/properties/name" - - "waf.yaml#/components/schemas/WAFDomainList200/properties/domain" - - "waf.yaml#/components/schemas/WAFEvents401/properties/detail" - rules: - azion-string-minlength-properties-rule: "off" - - files: - - "waf.yaml#/components/schemas/Links/properties/previous" - - "waf.yaml#/components/schemas/Links/properties/next" - - "waf.yaml#/components/schemas/SingleWAF/properties/name" - - "waf.yaml#/components/schemas/WAFDomainList200/properties/name" - - "waf.yaml#/components/schemas/WAFDomainList200/properties/domain" - - "waf.yaml#/components/schemas/WAFEvents401/properties/detail" - rules: - azion-string-pattern-properties-rule: "off" \ No newline at end of file diff --git a/spectral/.spectral.yaml b/spectral/.spectral.yaml deleted file mode 100644 index ece6e5b..0000000 --- a/spectral/.spectral.yaml +++ /dev/null @@ -1,45 +0,0 @@ -functions: - - ./checkEndpointStatusCodes - - ./checkNumberMinimumLimit - - ./checkNumberMaximumLimit - - ./checkStringMinLength - - ./checkStringMaxLength - - ./checkStringPattern -extends: spectral:oas -rules: - azion-mandatory-status-codes: - message: "{{error}}" - severity: error - given: "$.paths.*" - then: - function: checkEndpointStatusCodes - azion-number-minimum-limit-rule: - message: "{{error}}" - severity: error - given: "$.components.schemas.*.properties.*" - then: - function: checkNumberMinimumLimit - azion-number-maximum-limit-rule: - message: "{{error}}" - severity: error - given: "$.components.schemas.*.properties.*" - then: - function: checkNumberMaximumLimit - azion-string-minlength-properties-rule: - message: "{{error}}" - severity: error - given: "$.components.schemas.*.properties.*" - then: - function: checkStringMinLength - azion-string-maxlength-properties-rule: - message: "{{error}}" - severity: error - given: "$.components.schemas.*.properties.*" - then: - function: checkStringMaxLength - azion-string-pattern-properties-rule: - message: "{{error}}" - severity: error - given: "$.components.schemas.*.properties.*" - then: - function: checkStringPattern \ No newline at end of file diff --git a/spectral/README.md b/spectral/README.md new file mode 100644 index 0000000..27d38a9 --- /dev/null +++ b/spectral/README.md @@ -0,0 +1,354 @@ +#### Basic Spectral Guide for OpenAPI + +This is a quick guide on how to use Spectral, a tool for validating and linting OpenAPI specifications. It helps ensure consistency, quality, and compliance within OpenAPI definitions. + +For a complete guide, refer to [here](https://docs.google.com/document/d/1nTX3SIufCRktpixwGXwwLuSM_IiM9467btCbQUQTNYI/edit). + +## Basic Usage + +### Installation + +If you haven't installed Spectral yet, use npm (Node Package Manager) with the following command: +``` +npm install -g @stoplight/spectral +``` +Execution +To run Spectral on an OpenAPI file (e.g., a YAML file), use the following command: +``` +spectral lint your_openapi_file.yaml +``` +This command will analyze your OpenAPI file and return any problems or errors found, including details on what's incorrect and where. + +## Customizing Rules + +Spectral allows rule customization to fit your validation needs. You can create or use custom rules by defining them in a .spectral.yaml file in your project. + +For more details and specific examples, refer to the complete document. + +--- + +## Azion Custom Rules + +This document describes all custom Spectral rules configured in `spectral/spectral.yaml`. + +**Total Rules**: 61 (26 original + 35 new) +**Custom Functions**: 16 (all implemented) + +--- + +## Rules by Category + +### 1. Operation IDs + +#### `azion-operation-id-required` +- **Severity**: error +- **Description**: Every operation must have an explicit operationId + +#### `azion-operation-id-pattern` +- **Severity**: error +- **Description**: operationId must follow snake_case convention +- **Pattern**: `^[a-z][a-z0-9]*(_[a-z0-9]+)*$` + +#### `azion-operation-id-crud-convention` +- **Severity**: warn +- **Description**: CRUD operations should follow naming conventions (list_*, get_*, create_*, update_*, patch_*, delete_*) + +### 2. Path Parameters + +#### `azion-path-parameter-type-required` +- **Severity**: error +- **Description**: Path parameters must have explicit type + +#### `azion-path-parameter-required` +- **Severity**: error +- **Description**: Path parameters must be marked as required + +#### `azion-path-parameter-description-required` +- **Severity**: error +- **Description**: Path parameters must have a description + +### 3. Query Parameters - Pagination + +#### `azion-mandatory-query-string-pagination` +- **Severity**: error +- **Description**: Validates that list endpoints implement pagination correctly with query strings +- **Function**: `checkQueryStringsPagination` + +### 4. Query Parameters - Filters + +#### `azion-query-param-fields-rule` +- **Severity**: error +- **Description**: Validates correct usage of the `fields` parameter in query strings +- **Function**: `checkFieldsQueryParam` + +#### `azion-filter-description-required` +- **Severity**: error +- **Description**: Query parameters (filters) must have a description + +### 5. Search and Ordering + +#### `azion-match-search-parameter` +- **Severity**: error +- **Description**: Validates that the `search` query parameter follows the expected pattern +- **Function**: `checkSearchParameter` + +#### `azion-match-ordering-parameter` +- **Severity**: error +- **Description**: Validates that the `ordering` query parameter follows the expected pattern +- **Function**: `checkOrderingParameter` + +#### `azion-ordering-enum-required` +- **Severity**: warn +- **Description**: Ordering parameter must have enum with valid field names + +### 6. Status Codes + +#### `azion-sps-invalid-status-code` +- **Severity**: error +- **Description**: Validates that only allowed status codes are used +- **Allowed values**: 200, 201, 202, 204, 400, 401, 403, 404, 405, 406, 409, 422, 429, 500 + +#### `azion-mandatory-status-codes` +- **Severity**: error +- **Description**: Validates that endpoints return appropriate mandatory status codes +- **Function**: `checkEndpointStatusCodes` + +#### `azion-delete-response-codes` +- **Severity**: error +- **Description**: DELETE operations must return 204 or 202, and must not return 200 +- **Validation**: Requires 204 or 202, prohibits 200 + +#### `azion-204-no-response-body` +- **Severity**: error +- **Description**: Responses with status 204 must not have a response body + +#### `azion-get-response-200` +- **Severity**: error +- **Description**: GET operations must return 200 status code + +#### `azion-post-response-codes` +- **Severity**: error +- **Description**: POST operations must return 201 (sync) or 202 (async) + +#### `azion-put-response-200` +- **Severity**: error +- **Description**: PUT operations must return 200 status code + +#### `azion-patch-response-codes` +- **Severity**: error +- **Description**: PATCH operations must return 200 (sync) or 202 (async) + +### 7. Error Responses - JSON:API Format + +#### `azion-has-key-error-response` +- **Severity**: error +- **Description**: Error responses must contain the `detail` property + +#### `azion-match-type-error-response` +- **Severity**: error +- **Description**: The `detail` property in error responses must be of type string + +#### `azion-auth-error-responses-required` +- **Severity**: error +- **Description**: Endpoints with security must document 401 and 403 error responses + +### 8. Async Operations (202 Accepted) + +#### `azion-async-operation-id-required` +- **Severity**: warn +- **Description**: Async operation response must have operation_id field + +#### `azion-async-status-url-required` +- **Severity**: warn +- **Description**: Async operation response must have status_url field + +### 9. Schemas - Naming Conventions + +#### `azion-boolean-naming-convention` +- **Severity**: error +- **Description**: Boolean property names must not start with the 'is' prefix +- **Pattern**: Must not start with `is[A-Z]` + +### 10. Constraints + +#### `azion-number-minimum-limit-rule` +- **Severity**: error +- **Description**: Validates minimum limits for numeric properties +- **Function**: `checkNumberMinimumLimit` + +#### `azion-number-maximum-limit-rule` +- **Severity**: error +- **Description**: Validates maximum limits for numeric properties +- **Function**: `checkNumberMaximumLimit` + +#### `azion-string-minlength-properties-rule` +- **Severity**: error +- **Description**: Validates minimum length for string properties +- **Function**: `checkStringMinLength` + +#### `azion-string-maxlength-properties-rule` +- **Severity**: error +- **Description**: Validates maximum length for string properties +- **Function**: `checkStringMaxLength` + +#### `azion-string-pattern-properties-rule` +- **Severity**: error +- **Description**: Validates regex patterns for string properties +- **Function**: `checkStringPattern` + +#### `azion-date-time-format-rule` +- **Severity**: error +- **Description**: Validates that `last_modified` properties follow ISO 8601 format +- **Pattern**: `^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$` + +### 11. Descriptions + +#### `azion-operation-description-required` +- **Severity**: error +- **Description**: Operations must have a detailed description + +#### `azion-operation-summary-length` +- **Severity**: warn +- **Description**: Operation summary should be concise (max 100 characters) + +#### `azion-field-description-required` +- **Severity**: error +- **Description**: Schema properties must have descriptions + +#### `azion-schema-description-required` +- **Severity**: error +- **Description**: Schemas must have descriptions + +### 12. Examples + +#### `azion-request-examples-required` +- **Severity**: warn +- **Description**: POST and PUT operations should have request examples + +### 13. Content-Type + +#### `azion-match-content-type-response` +- **Severity**: error +- **Description**: Validates that response content-type is appropriate +- **Function**: `checkContentTypeResponse` + +### 14. Path Naming + +#### `azion-sps-paths-valid-uri` +- **Severity**: warn +- **Description**: Validates that path URIs do not contain invalid patterns +- **Pattern (notMatch)**: `api|v4|^[^/]*\/[^/]*$|/$` + +#### `azion-endpoint-ddd-and-snake` +- **Severity**: error +- **Description**: Endpoints must follow DDD and snake_case convention +- **Pattern**: `^(/[a-z][a-z0-9]+(_[a-z][a-z0-9]+)*){2}($|/({[a-z][a-z0-9]+[a-zA-Z0-9]*}|[a-z][a-z0-9]+(_[a-z0-9]+)*)+)+` + +#### `azion-path-naming-convention` +- **Severity**: warn +- **Description**: Validates path naming convention (plural for list endpoints) +- **Function**: `checkPathEndsWithSForList` + +#### `azion-endpoint-uri-method-validation` +- **Severity**: error +- **Description**: Endpoint URIs must not contain HTTP method names +- **Pattern (notMatch)**: `/.*(GET|POST|PUT|PATCH|DELETE).*/i` + +#### `azion-validate-resource-id-usage` +- **Severity**: error +- **Description**: Validates correct usage of resource IDs in paths +- **Function**: `checkResourceIDUsage` + +### 15. Authorization + +#### `azion-authorization-header` +- **Severity**: error +- **Description**: Endpoints must have security configuration (security) + +#### `azion-security-scheme-bearer` +- **Severity**: error +- **Description**: Security schemes should use Bearer token with JWT + +### 16. Request Body + +#### `azion-request-body-required` +- **Severity**: error +- **Description**: POST, PUT, and PATCH operations must have requestBody + +#### `azion-request-body-required-flag` +- **Severity**: warn +- **Description**: requestBody should be marked as required + +### 17. Headers + +#### `azion-header-disallowed` +- **Severity**: error +- **Description**: Authorization, Content-Type, and Accept headers must not be explicitly defined as parameters +- **Pattern (notMatch)**: `/^(authorization|content-type|accept)$/i` + +### 18. Metadata Global + +#### `azion-service-name-pattern` +- **Severity**: error +- **Description**: Service title (info.title) must end with `-api` +- **Pattern**: `.*-api$` + +#### `azion-version-semantic` +- **Severity**: error +- **Description**: API version should follow semantic versioning +- **Pattern**: `^\\d+\\.\\d+\\.\\d+$` + +### 19. Response Bodies + +#### `azion-validate-count-and-results` +- **Severity**: error +- **Description**: Validates paginated response structure with `count` (integer) and `results` (array) + +#### `azion-data-object-type-rule` +- **Severity**: error +- **Description**: Validates the type of the `data` object in responses +- **Function**: `checkDataObjectType` + +#### `azion-data-keys-presence-rule` +- **Severity**: error +- **Description**: Validates the presence of required keys in the `data` object +- **Function**: `checkDataKeysPresence` + +### 20. Deleted Resources + +#### `azion-deleted-resource-state-validation` +- **Severity**: error +- **Description**: Validates the state of deleted resources +- **Function**: `checkStateDeletedResource` + +### 21. Business Naming + +#### `azion-no-technical-schema-names` +- **Severity**: error +- **Description**: Schema names must use business terminology, not technical implementation details +- **Examples**: Use 'Database' instead of 'OpenAPISchema', 'PaginatedDatabaseList' instead of 'PaginatedOpenAPISchemaList' +- **Pattern (notMatch)**: `^.*(OpenAPI|Schema(?!Enum$)|DTO|Entity|Model(?!$)|RESTful|Swagger).*$` + +### 22. Extensible Enums + +#### `x-extensible-enum-required` +- **Severity**: error +- **Description**: Enums must include x-extensible-enum to ensure forward compatibility +- **Purpose**: Allows clients to handle unknown enum values gracefully without breaking + +--- + +## Summary + +All rules are documented organized into 22 categories covering: +- Operation IDs and naming conventions +- Path and query parameters +- Status codes and error handling +- Async operations +- Schema validation and naming +- Content-type and examples +- Security and authorization +- Business domain naming +- Extensible enums for forward compatibility + +For implementation details, see `spectral/spectral.yaml`. diff --git a/spectral/functions/checkAsyncOperationSchema.js b/spectral/functions/checkAsyncOperationSchema.js new file mode 100644 index 0000000..ba2f226 --- /dev/null +++ b/spectral/functions/checkAsyncOperationSchema.js @@ -0,0 +1,37 @@ +module.exports = (response, _opts, paths) => { + const errors = []; + + if (!response.content) { + errors.push({ + message: "202 response must have content with AsyncOperationResponse schema" + }); + return errors; + } + + const schema = response.content['application/json']?.schema; + if (!schema || !schema.properties) { + errors.push({ + message: "202 response is missing schema" + }); + return errors; + } + + const requiredFields = ['operation_id', 'status', 'status_url']; + + requiredFields.forEach(field => { + if (!schema.properties[field]) { + errors.push({ + message: `202 response must have '${field}' field` + }); + } + }); + + // Validar enum do status + if (schema.properties.status && !schema.properties.status.enum) { + errors.push({ + message: "'status' field must have enum: ['pending', 'running', 'completed', 'failed']" + }); + } + + return errors; +}; diff --git a/spectral/functions/checkAuthenticationScheme.js b/spectral/functions/checkAuthenticationScheme.js new file mode 100644 index 0000000..c8500c8 --- /dev/null +++ b/spectral/functions/checkAuthenticationScheme.js @@ -0,0 +1,34 @@ +module.exports = (securitySchemes, _opts, paths) => { + const errors = []; + + if (!securitySchemes || Object.keys(securitySchemes).length === 0) { + errors.push({ + message: "API must define at least one security scheme in components.securitySchemes" + }); + return errors; + } + + // Verificar se tem Bearer token + let hasBearerAuth = false; + + Object.entries(securitySchemes).forEach(([name, scheme]) => { + if (scheme.type === 'http' && scheme.scheme === 'bearer') { + hasBearerAuth = true; + + // Validar formato JWT + if (scheme.bearerFormat && scheme.bearerFormat !== 'JWT') { + errors.push({ + message: `Security scheme '${name}' should use bearerFormat: 'JWT'` + }); + } + } + }); + + if (!hasBearerAuth) { + errors.push({ + message: "API should include a Bearer token authentication scheme (type: http, scheme: bearer)" + }); + } + + return errors; +}; diff --git a/spectral/functions/checkContactRequired.js b/spectral/functions/checkContactRequired.js new file mode 100644 index 0000000..3f57656 --- /dev/null +++ b/spectral/functions/checkContactRequired.js @@ -0,0 +1,31 @@ +module.exports = (info, _opts, paths) => { + const errors = []; + + if (!info.contact) { + errors.push({ + message: "API must have 'info.contact' with support information" + }); + return errors; + } + + // Validar campos obrigatórios do contact + if (!info.contact.name) { + errors.push({ + message: "info.contact must have 'name' field" + }); + } + + if (!info.contact.email) { + errors.push({ + message: "info.contact must have 'email' field" + }); + } + + if (!info.contact.url) { + errors.push({ + message: "info.contact should have 'url' field pointing to documentation or support" + }); + } + + return errors; +}; diff --git a/spectral/functions/checkContentTypeResponse.js b/spectral/functions/checkContentTypeResponse.js new file mode 100644 index 0000000..09c3991 --- /dev/null +++ b/spectral/functions/checkContentTypeResponse.js @@ -0,0 +1,13 @@ +module.exports = function (context) { + const errors = []; + const mimeTypeList = Object.getOwnPropertyNames(context); + for (const mimeType of mimeTypeList){ + if (!mimeType.match(/^(application\/(json|octet-stream))$/)) { + errors.push({ + message: `The content type of the "${mimeType}" response must be "application/json" or "application/octet-stream".`, + severity: 'error', + }); + } + } + return errors; + }; diff --git a/spectral/functions/checkDataKeysPresence.js b/spectral/functions/checkDataKeysPresence.js new file mode 100644 index 0000000..705882a --- /dev/null +++ b/spectral/functions/checkDataKeysPresence.js @@ -0,0 +1,19 @@ +module.exports = function checkDataKeysPresence(context) { + const schema = context.get('content.application/json.schema'); + if (!schema) { + return; + } + + const dataSchema = schema.properties.data; + if (!dataSchema) { + return; + } + + const idKey = dataSchema.properties.id; + const nameKey = dataSchema.properties.name; + + if (!idKey || !nameKey) { + context.message = 'The "data" object should contain "id" and "name" properties.'; + context.path = ['responses', '[*]', 'content', 'application/json', 'schema', 'properties', 'data']; + } + }; diff --git a/spectral/functions/checkDataObjectType.js b/spectral/functions/checkDataObjectType.js new file mode 100644 index 0000000..052180b --- /dev/null +++ b/spectral/functions/checkDataObjectType.js @@ -0,0 +1,18 @@ +module.exports = function checkDataObjectType(context) { + const schema = context.get('content.application/json.schema'); + if (!schema) { + return; + } + + const dataSchema = schema.properties.data; + if (!dataSchema) { + context.message = 'The "data" object is missing from the response schema.'; + context.path = ['responses', '[*]', 'content', 'application/json', 'schema', 'properties', 'data']; + return; + } + + if (dataSchema.type !== 'object') { + context.message = 'The "data" object should have a type of "object".'; + context.path = ['responses', '[*]', 'content', 'application/json', 'schema', 'properties', 'data']; + } + }; diff --git a/spectral/functions/checkDiscriminatorPresent.js b/spectral/functions/checkDiscriminatorPresent.js new file mode 100644 index 0000000..064c39d --- /dev/null +++ b/spectral/functions/checkDiscriminatorPresent.js @@ -0,0 +1,34 @@ +module.exports = (schema, _opts, paths) => { + const errors = []; + + // Verificar se é um schema polimórfico (tem oneOf, anyOf, ou allOf) + const isPolymorphic = schema.oneOf || schema.anyOf || schema.allOf; + + if (!isPolymorphic) { + return []; // Não é polimórfico + } + + // Schemas polimórficos devem ter discriminator + if (!schema.discriminator) { + const schemaName = paths.target[paths.target.length - 1]; + errors.push({ + message: `Polymorphic schema '${schemaName}' should have 'discriminator' for better SDK generation` + }); + } else { + // Validar estrutura do discriminator + if (!schema.discriminator.propertyName) { + errors.push({ + message: "Discriminator must have 'propertyName' field" + }); + } + + // Recomendar mapping + if (!schema.discriminator.mapping) { + errors.push({ + message: "Discriminator should include 'mapping' for explicit type references" + }); + } + } + + return errors; +}; diff --git a/spectral/functions/checkEndpointStatusCodes.js b/spectral/functions/checkEndpointStatusCodes.js index dee53fa..23ea798 100644 --- a/spectral/functions/checkEndpointStatusCodes.js +++ b/spectral/functions/checkEndpointStatusCodes.js @@ -6,15 +6,14 @@ export default path => { "get": ["200", "400", "401", "403", "404", "429"], "patch": ["200", "400", "401", "403", "404", "429"], "put": ["200", "400", "401", "403", "404", "429"], - // DELETE on v4 APIs returns 200 and v3 returns 204, so the status code is not unique - "delete": ["400", "401", "403", "404", "429"] + "delete": ["202", "200", "400", "401", "403", "404", "429"] }; for (const method in path) { if (requiredStatusCodes[method] && path[method].responses) { const statusCodes = Object.keys(path[method].responses); const missingStatusCodes = requiredStatusCodes[method].filter(code => !statusCodes.includes(code)); - + if (missingStatusCodes.length > 0) { errors.push({ message: `Missing status codes ${missingStatusCodes.join(', ')} for ${method.toUpperCase()} endpoint` diff --git a/spectral/functions/checkErrorResponseJsonApi.js b/spectral/functions/checkErrorResponseJsonApi.js new file mode 100644 index 0000000..5ed6980 --- /dev/null +++ b/spectral/functions/checkErrorResponseJsonApi.js @@ -0,0 +1,36 @@ +module.exports = (response, _opts, paths) => { + const errors = []; + + if (!response.content) { + return []; // Sem content (ex: 204) + } + + const contentTypes = Object.keys(response.content); + const jsonApiContent = response.content['application/vnd.api+json'] || + response.content['application/json']; + + if (!jsonApiContent) { + return []; // Não é JSON + } + + const schema = jsonApiContent.schema; + if (!schema || !schema.properties) { + errors.push({ + message: "Error response is missing schema definition" + }); + return errors; + } + + // Verificar estrutura JSON:API + if (!schema.properties.errors) { + errors.push({ + message: "Error response must have 'errors' array following JSON:API format" + }); + } else if (schema.properties.errors.type !== 'array') { + errors.push({ + message: "'errors' must be an array" + }); + } + + return errors; +}; diff --git a/spectral/functions/checkExamplesRequired.js b/spectral/functions/checkExamplesRequired.js new file mode 100644 index 0000000..6b925d5 --- /dev/null +++ b/spectral/functions/checkExamplesRequired.js @@ -0,0 +1,21 @@ +module.exports = (schema, _opts, paths) => { + const errors = []; + + // Verificar se é um schema de response + const pathParts = paths.target; + const isResponseSchema = pathParts.includes('responses'); + + if (!isResponseSchema) { + return []; // Só validar schemas de response + } + + // Verificar se tem examples ou example + if (!schema.example && !schema.examples) { + const schemaName = pathParts[pathParts.length - 1]; + errors.push({ + message: `Response schema should include 'example' or 'examples' for better documentation` + }); + } + + return errors; +}; diff --git a/spectral/functions/checkFieldsQueryParam.js b/spectral/functions/checkFieldsQueryParam.js new file mode 100644 index 0000000..a172736 --- /dev/null +++ b/spectral/functions/checkFieldsQueryParam.js @@ -0,0 +1,28 @@ +export default paths => { + const errors = []; + + for (const currentPath in paths) { + for (const httpVerb in paths[currentPath]) { + if (httpVerb != "get") { + continue; + } + + const endpointOpenAPISections = Object.keys(paths[currentPath][httpVerb]) + if (endpointOpenAPISections.includes('parameters') === false) { + errors.push({message: `Missing parameters section`}); + break; + } + + const parameters = paths[currentPath][httpVerb]['parameters'] + const fieldsParamenter = parameters.find(currentParameter => currentParameter.name == "fields"); + if (!fieldsParamenter) { + errors.push({ + message: `Missing query string "fields" on ${httpVerb}`, + path: ['paths', currentPath], + }); + } + } + } + + return errors; +} diff --git a/spectral/functions/checkFilterDocumentation.js b/spectral/functions/checkFilterDocumentation.js new file mode 100644 index 0000000..c5e7be2 --- /dev/null +++ b/spectral/functions/checkFilterDocumentation.js @@ -0,0 +1,25 @@ +module.exports = (operation, _opts, paths) => { + const errors = []; + const parameters = operation.parameters || []; + + // Verificar se é um list endpoint (GET sem path params) + const pathString = paths.target.join('.'); + const hasPathParams = /\{[^}]+\}/.test(pathString); + + if (hasPathParams) { + return []; // Não é list endpoint + } + + const paramNames = parameters.map(p => p.name); + const commonFilters = ['page', 'page_size', 'ordering']; + + commonFilters.forEach(filter => { + if (!paramNames.includes(filter)) { + errors.push({ + message: `List endpoint should document '${filter}' parameter` + }); + } + }); + + return errors; +}; diff --git a/spectral/functions/checkHelpTextRequired.js b/spectral/functions/checkHelpTextRequired.js new file mode 100644 index 0000000..bda1419 --- /dev/null +++ b/spectral/functions/checkHelpTextRequired.js @@ -0,0 +1,12 @@ +module.exports = (property, _opts, paths) => { + const errors = []; + + if (!property.description || property.description.trim() === '') { + const propertyName = paths.target[paths.target.length - 1]; + errors.push({ + message: `Property '${propertyName}' is missing 'description'` + }); + } + + return errors; +}; diff --git a/spectral/functions/checkOperationIdRequired.js b/spectral/functions/checkOperationIdRequired.js new file mode 100644 index 0000000..1513b22 --- /dev/null +++ b/spectral/functions/checkOperationIdRequired.js @@ -0,0 +1,11 @@ +module.exports = (operation, _opts, paths) => { + const errors = []; + + if (!operation.operationId || operation.operationId.trim() === '') { + errors.push({ + message: `Operation is missing required 'operationId'` + }); + } + + return errors; +}; diff --git a/spectral/functions/checkOrderingParameter.js b/spectral/functions/checkOrderingParameter.js new file mode 100644 index 0000000..0d80a41 --- /dev/null +++ b/spectral/functions/checkOrderingParameter.js @@ -0,0 +1,11 @@ +module.exports = function checkOrderingParameter(context) { + const parameter = context.get('value'); + const pattern = /^(?:(?:-|)([a-zA-Z0-9_]+)(?:,)?)+$/; + + if (!pattern.test(parameter)) { + return { + message: `The ordering parameter must follow the pattern '-,,...'. Each field must be a valid field name.`, + path: context.path + }; + } +}; diff --git a/spectral/functions/checkPaginationResponseSchema.js b/spectral/functions/checkPaginationResponseSchema.js new file mode 100644 index 0000000..fc2b2ea --- /dev/null +++ b/spectral/functions/checkPaginationResponseSchema.js @@ -0,0 +1,37 @@ +module.exports = (schema, _opts, paths) => { + const errors = []; + const requiredFields = ['count', 'total_pages', 'page', 'page_size', 'next', 'previous', 'results']; + + if (!schema.properties) { + return []; // Não é um schema de objeto + } + + // Verificar se parece ser uma resposta paginada + // (se tem 'results', assume que é paginada) + if (!schema.properties.results) { + return []; // Não é paginada + } + + requiredFields.forEach(field => { + if (!schema.properties[field]) { + errors.push({ + message: `Paginated response is missing required field: '${field}'` + }); + } + }); + + // Validar tipos + if (schema.properties.count && schema.properties.count.type !== 'integer') { + errors.push({ + message: "'count' must be of type 'integer'" + }); + } + + if (schema.properties.results && schema.properties.results.type !== 'array') { + errors.push({ + message: "'results' must be of type 'array'" + }); + } + + return errors; +}; diff --git a/spectral/functions/checkPathEndsWithSForList.js b/spectral/functions/checkPathEndsWithSForList.js new file mode 100644 index 0000000..5f6ac6d --- /dev/null +++ b/spectral/functions/checkPathEndsWithSForList.js @@ -0,0 +1,19 @@ +export default paths => { + const errors = []; + for (const pathName of Object.keys(paths)) { + const path = paths[pathName]; + for (const method in path) { + if (method === 'get' && + path[method]?.responses?.['200']?.content?.['application/json']?.schema?.properties?.results?.type + ) { + if (!pathName.endsWith('s')) { + errors.push({ + message: `GET method from ${pathName} returns a list, but its name is not plural`, + path: ['paths', pathName], + }); + } + } + } + } + return errors; +}; diff --git a/spectral/functions/checkPathParametersComplete.js b/spectral/functions/checkPathParametersComplete.js new file mode 100644 index 0000000..bd101ce --- /dev/null +++ b/spectral/functions/checkPathParametersComplete.js @@ -0,0 +1,34 @@ +module.exports = (pathItem, _opts, paths) => { + const errors = []; + const pathString = paths.target.join('.'); + + // Extrair parâmetros da URL: /workspace/{app_id}/{conn_id} + const urlParams = (pathString.match(/\{([^}]+)\}/g) || []) + .map(param => param.slice(1, -1)); // Remove {} + + if (urlParams.length === 0) { + return []; // Sem parâmetros na URL + } + + // Verificar cada operação (get, post, put, etc.) + const operations = ['get', 'post', 'put', 'patch', 'delete', 'options', 'head']; + + operations.forEach(method => { + if (pathItem[method]) { + const operation = pathItem[method]; + const definedParams = (operation.parameters || []) + .filter(p => p.in === 'path') + .map(p => p.name); + + urlParams.forEach(urlParam => { + if (!definedParams.includes(urlParam)) { + errors.push({ + message: `Declared path parameter '${urlParam}' needs to be defined as a parameter in ${method.toUpperCase()} operation` + }); + } + }); + } + }); + + return errors; +}; diff --git a/spectral/functions/checkQueryStringsPagination.js b/spectral/functions/checkQueryStringsPagination.js new file mode 100644 index 0000000..f665c33 --- /dev/null +++ b/spectral/functions/checkQueryStringsPagination.js @@ -0,0 +1,45 @@ +export default paths => { + const errors = []; + for (const currentPath in paths) { + // if the path accepts a parameter at the end of the URI (Ex: /domains/{id}), then it's NOT a GET/List + const lastChar = currentPath.slice(-1) + if (lastChar === '}') + continue; + for (const httpVerb in paths[currentPath]) { + // query strings for pagination and ordering data can only exist in GET List + if (httpVerb === 'get') { + const list = Object.keys(paths[currentPath][httpVerb]) + if (list.includes('parameters') === false) { + errors.push({message: `Missing parameters section`}); + break; + } + const parameters = paths[currentPath][httpVerb]['parameters'] + const parameterNameList = []; + for (const currentParameter of parameters) { + parameterNameList.push(currentParameter.name); + } + const expectedNames = ["page_size", "page", "ordering"]; + for (const currentName of expectedNames) { + if (parameterNameList.includes(currentName) === false) { + errors.push({ + message: `Missing query string ${currentName} on GET List`, + path: ['paths', currentPath], + }); + } else { + // Check the data type of the parameter + const parameter = parameters.find(p => p.name === currentName); + if (currentName === "page_size" || currentName === "page") { + if (parameter.schema.type !== 'integer') { + errors.push({ + message: `Query string parameter "${currentName}" must have type "integer" on GET List`, + path: ['paths', currentPath, 'parameters', parameter.name], + }); + } + } + } + } + } + } + } + return errors; +} diff --git a/spectral/functions/checkRequestBodyRequired.js b/spectral/functions/checkRequestBodyRequired.js new file mode 100644 index 0000000..444896b --- /dev/null +++ b/spectral/functions/checkRequestBodyRequired.js @@ -0,0 +1,25 @@ +module.exports = (operation, _opts, paths) => { + const errors = []; + const method = paths.target[paths.target.length - 1]; // 'get', 'post', etc. + + // POST, PUT, PATCH devem ter requestBody + const methodsRequiringBody = ['post', 'put', 'patch']; + + if (methodsRequiringBody.includes(method)) { + if (!operation.requestBody) { + errors.push({ + message: `${method.toUpperCase()} operation must have requestBody defined` + }); + } else if (!operation.requestBody.content) { + errors.push({ + message: `${method.toUpperCase()} operation requestBody must have content` + }); + } else if (!operation.requestBody.content['application/json']) { + errors.push({ + message: `${method.toUpperCase()} operation requestBody must include 'application/json' content type` + }); + } + } + + return errors; +}; diff --git a/spectral/functions/checkResourceIDUsage.js b/spectral/functions/checkResourceIDUsage.js new file mode 100644 index 0000000..b2dbe28 --- /dev/null +++ b/spectral/functions/checkResourceIDUsage.js @@ -0,0 +1,25 @@ +// Define extract_id_from_path function +function extractIdFromPath(path) { + // Extract the last parameter from path and check if it looks like an ID + // Only match parameters that contain 'id' or 'uuid' in their name (case insensitive) + const match = path.match(/\/{([^}]*(?:id|uuid)[^}]*)}$/i); + return match ? match[1] : null; +} + +module.exports = function checkResourceIDUsage(value) { + const errors = []; + const paths = Object.getOwnPropertyNames(value) + for (const path of paths) { + const methods = Object.getOwnPropertyNames(value[path]); + const extractedId = extractIdFromPath(path) + + for (const method of methods) { + if (method === 'post' && extractedId) { + errors.push({ + message: `Resource ID should not be used for POST method. ID found in path: ${path}`, + }); + } + } + }; + return errors; +} diff --git a/spectral/functions/checkSchemaNamingConvention.js b/spectral/functions/checkSchemaNamingConvention.js new file mode 100644 index 0000000..1133cc4 --- /dev/null +++ b/spectral/functions/checkSchemaNamingConvention.js @@ -0,0 +1,23 @@ +module.exports = (schema, _opts, paths) => { + const errors = []; + const schemaName = paths.target[paths.target.length - 1]; + + // Padrões válidos + const patterns = [ + /^[A-Z][a-zA-Z0-9]+Request$/, // ApplicationRequest + /^[A-Z][a-zA-Z0-9]+Response$/, // AsyncOperationResponse + /^Paginated[A-Z][a-zA-Z0-9]+List$/, // PaginatedApplicationList + /^[A-Z][a-zA-Z0-9]+$/, // Application + /^JSONAPI[A-Z][a-zA-Z0-9]+$/, // JSONAPIErrorObject + ]; + + const isValid = patterns.some(pattern => pattern.test(schemaName)); + + if (!isValid) { + errors.push({ + message: `Schema name '${schemaName}' doesn't follow naming conventions (Resource, ResourceRequest, PaginatedResourceList, ResourceResponse)` + }); + } + + return errors; +}; diff --git a/spectral/functions/checkSearchParameter.js b/spectral/functions/checkSearchParameter.js new file mode 100644 index 0000000..e6248db --- /dev/null +++ b/spectral/functions/checkSearchParameter.js @@ -0,0 +1,11 @@ +module.exports = function (context) { + const parameter = context.get('value'); + + if (parameter.schema.type !== 'string') { + return { + message: 'The "search" parameter must be of type string.', + }; + } + + return null; +}; diff --git a/spectral/functions/checkServersRequired.js b/spectral/functions/checkServersRequired.js new file mode 100644 index 0000000..7f4a3f9 --- /dev/null +++ b/spectral/functions/checkServersRequired.js @@ -0,0 +1,34 @@ +module.exports = (openapi, _opts, paths) => { + const errors = []; + + if (!openapi.servers || openapi.servers.length === 0) { + errors.push({ + message: "API must define at least one server in 'servers' array" + }); + return errors; + } + + // Validar cada servidor + openapi.servers.forEach((server, index) => { + if (!server.url) { + errors.push({ + message: `Server at index ${index} must have 'url' field` + }); + } + + if (!server.description) { + errors.push({ + message: `Server at index ${index} should have 'description' field` + }); + } + + // Validar formato da URL + if (server.url && !server.url.startsWith('http') && !server.url.startsWith('{')) { + errors.push({ + message: `Server URL '${server.url}' should be a valid HTTP(S) URL or use variables` + }); + } + }); + + return errors; +}; diff --git a/spectral/functions/checkStateDeletedResource.js b/spectral/functions/checkStateDeletedResource.js new file mode 100644 index 0000000..3e009d9 --- /dev/null +++ b/spectral/functions/checkStateDeletedResource.js @@ -0,0 +1,20 @@ +module.exports = function checkStateDeletedResource(context) { + const { path, value } = context; + if (path && path.includes("delete") && value.hasOwnProperty("content")) { + const content = value.content; + if (!content.hasOwnProperty("application/json") || !content["application/json"].schema.hasOwnProperty("properties") || !content["application/json"].schema.properties.hasOwnProperty("state")) { + return { + message: "DELETE response must contain the 'state' key in JSON schema", + path: path, + }; + } + const stateSchema = content["application/json"].schema.properties.state; + const allowedTypes = ["string", "integer", "boolean"]; + if (!allowedTypes.includes(stateSchema.type)) { + return { + message: "The data type of the 'state' field in the DELETE response must be 'string', 'integer', or 'boolean'", + path: path, + }; + } + } + }; diff --git a/spectral/functions/checkStatusCodesByMethod.js b/spectral/functions/checkStatusCodesByMethod.js new file mode 100644 index 0000000..926c082 --- /dev/null +++ b/spectral/functions/checkStatusCodesByMethod.js @@ -0,0 +1,27 @@ +module.exports = (operation, _opts, paths) => { + const errors = []; + const method = paths.target[paths.target.length - 1]; // 'get', 'post', etc. + const responses = operation.responses || {}; + const statusCodes = Object.keys(responses); + + const rules = { + get: ['200'], + post: ['201', '202'], + put: ['200'], + patch: ['200', '202'], + delete: ['200', '202'] + }; + + if (rules[method]) { + const requiredCodes = rules[method]; + const hasRequired = requiredCodes.some(code => statusCodes.includes(code)); + + if (!hasRequired) { + errors.push({ + message: `${method.toUpperCase()} operation must include one of: ${requiredCodes.join(', ')}` + }); + } + } + + return errors; +}; diff --git a/spectral/functions/checkSummaryDescriptionRequired.js b/spectral/functions/checkSummaryDescriptionRequired.js new file mode 100644 index 0000000..312b376 --- /dev/null +++ b/spectral/functions/checkSummaryDescriptionRequired.js @@ -0,0 +1,23 @@ +module.exports = (operation, _opts, paths) => { + const errors = []; + + if (!operation.summary || operation.summary.trim() === '') { + errors.push({ + message: "Operation is missing 'summary'" + }); + } + + if (!operation.description || operation.description.trim() === '') { + errors.push({ + message: "Operation is missing 'description'" + }); + } + + if (operation.summary && operation.summary.length > 100) { + errors.push({ + message: `Operation summary is too long (${operation.summary.length} chars). Keep it under 100 characters.` + }); + } + + return errors; +}; diff --git a/spectral/spectral.yaml b/spectral/spectral.yaml new file mode 100644 index 0000000..0042e7d --- /dev/null +++ b/spectral/spectral.yaml @@ -0,0 +1,587 @@ +# Spectral OpenAPI Linting Rules - Azion Standards + +extends: spectral:oas + +# ============================================================================== +# CUSTOM FUNCTIONS +# ============================================================================== +functions: + - ./checkEndpointStatusCodes + - ./checkQueryStringsPagination + - ./checkNumberMinimumLimit + - ./checkNumberMaximumLimit + - ./checkStringMinLength + - ./checkStringMaxLength + - ./checkStringPattern + - ./checkFieldsQueryParam + - ./checkContentTypeResponse + - ./checkStateDeletedResource + - ./checkSearchParameter + - ./checkOrderingParameter + - ./checkResourceIDUsage + - ./checkPathEndsWithSForList + - ./checkDataObjectType + - ./checkDataKeysPresence + +rules: + # ============================================================================ + # 1. OPERATION IDs + # ============================================================================ + azion-operation-id-required: + description: Every operation must have an explicit operationId + message: "Operation '{{property}}' is missing required 'operationId'" + severity: error + given: $.paths.*[get,put,post,patch,delete,options,head] + then: + field: operationId + function: truthy + + azion-operation-id-pattern: + message: "operationId must follow snake_case convention (e.g., 'list_applications', not 'listApplications')" + severity: error + given: $.paths.*[get,put,post,patch,delete,options,head] + then: + field: operationId + function: pattern + functionOptions: + match: '^[a-z][a-z0-9]*(_[a-z0-9]+)*$' + + azion-operation-id-crud-convention: + description: CRUD operations should follow naming conventions (list_*, get_*, create_*, update_*, patch_*, delete_*) + message: "operationId '{{value}}' doesn't follow CRUD convention for {{property}} method" + severity: warn + given: $.paths.*[get,post,put,patch,delete] + then: + field: operationId + function: pattern + functionOptions: + match: '^(list_|get_|create_|update_|patch_|delete_|clone_|purge_|activate_|deactivate_)[a-z][a-z0-9_]*$' + + # ============================================================================ + # 2. PATH PARAMETERS + # ============================================================================ + azion-path-parameter-type-required: + description: Path parameters must have explicit type + message: "Path parameter '{{property}}' is missing 'schema.type'" + severity: error + given: $.paths.*.*.parameters[?(@.in == 'path')] + then: + field: schema.type + function: truthy + + azion-path-parameter-required: + description: Path parameters must be marked as required + message: "Path parameter '{{property}}' must have 'required: true'" + severity: error + given: $.paths.*.*.parameters[?(@.in == 'path')] + then: + field: required + function: truthy + + azion-path-parameter-description-required: + description: Path parameters must have a description + message: "Path parameter '{{property}}' is missing 'description'" + severity: error + given: $.paths.*.*.parameters[?(@.in == 'path')] + then: + field: description + function: truthy + + # ============================================================================ + # 3. QUERY PARAMETERS - PAGINATION + # ============================================================================ + azion-mandatory-query-string-pagination: + message: "{{error}}" + severity: error + given: "$.paths[?(@property != '/api/schema')]" + then: + function: checkQueryStringsPagination + + # ============================================================================ + # 4. QUERY PARAMETERS - FILTERS + # ============================================================================ + azion-query-param-fields-rule: + message: "{{error}}" + severity: error + given: "$.paths" + then: + function: checkFieldsQueryParam + + azion-filter-description-required: + description: Query parameters (filters) must have a description + message: "Query parameter '{{property}}' is missing 'description'" + severity: error + given: "$.paths.*.*.parameters[?(@.in == 'query')]" + then: + field: description + function: truthy + + # ============================================================================ + # 5. SEARCH AND ORDERING + # ============================================================================ + azion-match-search-parameter: + message: "{{error}}" + severity: error + given: "$.paths.*.*.parameters[*][?(@.in == 'query' && @.name == 'search')]" + then: + function: checkSearchParameter + + azion-match-ordering-parameter: + message: "{{error}}" + severity: error + given: "$.paths.*.*.parameters[*][?(@.in == 'query' && @.name == 'ordering')]" + then: + function: checkOrderingParameter + + azion-ordering-enum-required: + description: Ordering parameter must have enum with valid field names + message: "Ordering parameter must define 'enum' with available fields (e.g., ['id', '-id', 'name', '-name'])" + severity: warn + given: "$.paths.*.*.parameters[*][?(@.in == 'query' && @.name == 'ordering')]" + then: + field: schema.enum + function: truthy + + # ============================================================================ + # 6. STATUS CODES + # ============================================================================ + azion-sps-invalid-status-code: + message: "Status code '{{property}}' is not in the allowed list" + severity: error + given: $.paths...responses.*~ + then: + function: enumeration + functionOptions: + values: ["200","201","202","204","400","401","403","404","405","406","409","422","429","500"] + + azion-mandatory-status-codes: + message: "{{error}}" + severity: error + given: "$.paths[?(@property != '/api/schema')].*" + then: + function: checkEndpointStatusCodes + + azion-delete-response-codes: + description: DELETE operations must return 200 or 202, not 204 + message: DELETE operations must return 200 (OK) or 202 (Accepted), not 204 + severity: error + given: $.paths[*].delete.responses + then: + function: schema + functionOptions: + schema: + anyOf: + - required: ['200'] + - required: ['202'] + not: + required: ['204'] + + azion-204-no-response-body: + description: 204 responses must not have a response body + severity: error + given: $.paths[*][*].responses.204 + then: + field: content + function: falsy + + azion-get-response-200: + description: GET operations must return 200 status code + message: GET operation must include 200 status code in responses + severity: error + given: $.paths[*].get.responses + then: + field: "200" + function: truthy + + azion-post-response-codes: + description: POST operations must return 201 (sync) or 202 (async) + message: POST operations must return 201 (Created) or 202 (Accepted) + severity: error + given: $.paths[*].post.responses + then: + function: schema + functionOptions: + schema: + anyOf: + - required: ['201'] + - required: ['202'] + + azion-put-response-200: + description: PUT operations must return 200 status code + message: PUT operation must include 200 status code in responses + severity: error + given: $.paths[*].put.responses + then: + field: "200" + function: truthy + + azion-patch-response-codes: + description: PATCH operations must return 200 (sync) or 202 (async) + message: PATCH operations must return 200 (OK) or 202 (Accepted) + severity: error + given: $.paths[*].patch.responses + then: + function: schema + functionOptions: + schema: + anyOf: + - required: ['200'] + - required: ['202'] + + # ============================================================================ + # 7. ERROR RESPONSES - JSON:API FORMAT + # ============================================================================ + + azion-has-key-error-response: + message: "Error response must have 'detail' field" + severity: error + given: "$.responses[*]" + then: + field: content.application/json.schema.properties.detail + function: truthy + + azion-match-type-error-response: + message: "Error 'detail' field must be of type string" + severity: error + given: "$.responses[*]" + then: + field: content.application/json.schema.properties.detail.type + function: schema + functionOptions: + schema: + type: string + + azion-auth-error-responses-required: + description: Endpoints with security must document 401 and 403 error responses + message: "Authenticated endpoint must document 401 (Unauthorized) and 403 (Forbidden) responses" + severity: error + given: "$.paths.*.*[?(@.security)]" + then: + function: schema + functionOptions: + schema: + properties: + responses: + required: ['401', '403'] + + # ============================================================================ + # 8. ASYNC OPERATIONS (202 Accepted) + # ============================================================================ + + azion-async-operation-id-required: + description: Async operation response must have operation_id field + message: "202 response schema must include 'operation_id' field" + severity: warn + given: "$.paths.*.*.responses.202.content.*.schema.properties" + then: + field: operation_id + function: truthy + + # ============================================================================ + # 9. SCHEMAS - NAMING CONVENTIONS + # ============================================================================ + + azion-boolean-naming-convention: + description: Boolean properties must not start with 'is' prefix + severity: error + given: $..properties[*][?(@ && @.type == 'boolean')]^ + then: + field: "@key" + function: pattern + functionOptions: + notMatch: '^is[A-Z]' + + # ============================================================================ + # 10. CONSTRAINTS + # ============================================================================ + + azion-number-minimum-limit-rule: + message: "{{error}}" + severity: error + given: "$.components.schemas.*.properties.*" + then: + function: checkNumberMinimumLimit + + azion-number-maximum-limit-rule: + message: "{{error}}" + severity: error + given: "$.components.schemas.*.properties.*" + then: + function: checkNumberMaximumLimit + + azion-string-minlength-properties-rule: + message: "{{error}}" + severity: error + given: "$.components.schemas.*.properties.*" + then: + function: checkStringMinLength + + azion-string-maxlength-properties-rule: + message: "{{error}}" + severity: error + given: "$.components.schemas.*.properties.*" + then: + function: checkStringMaxLength + + azion-string-pattern-properties-rule: + message: "{{error}}" + severity: error + given: "$.components.schemas.*.properties.*" + then: + function: checkStringPattern + + azion-date-time-format-rule: + message: "DateTime fields must follow RFC 3339 format" + severity: error + given: "$.components.schemas.*.properties.last_modified" + then: + - function: checkStringPattern + pattern: "^\\d{4}-\\d{2}-\\d{2}T\\d{2}:\\d{2}:\\d{2}Z$" + + # ============================================================================ + # 11. DESCRIPTIONS + # ============================================================================ + + azion-operation-description-required: + description: Operations must have a detailed description + message: "Operation '{{property}}' is missing 'description'" + severity: error + given: $.paths.*[get,put,post,patch,delete] + then: + field: description + function: truthy + + azion-operation-summary-length: + description: Operation summary should be concise (max 100 characters) + message: "Operation summary is too long ({{value}} chars). Keep it under 100 characters." + severity: warn + given: $.paths.*[get,put,post,patch,delete].summary + then: + function: length + functionOptions: + max: 100 + + # ============================================================================ + # 12. EXAMPLES + # ============================================================================ + + azion-request-examples-required: + description: POST and PUT operations should have request examples + message: "{{property}} operation should include request examples for better documentation" + severity: warn + given: "$.paths.*[post,put]" + then: + field: requestBody.content.*.examples + function: truthy + + # ============================================================================ + # 13. CONTENT-TYPE + # ============================================================================ + + azion-match-content-type-response: + message: "{{error}}" + severity: error + given: "$.paths[?(@property != '/api/schema')].*.responses.*.content" + then: + function: checkContentTypeResponse + + # ============================================================================ + # 14. PATH NAMING + # ============================================================================ + + azion-sps-paths-valid-uri: + message: "Path should not contain 'api', 'v4', single segment, or trailing slash" + severity: warn + given: "$.paths" + then: + function: pattern + functionOptions: + notMatch: "api|v4|^[^/]*\/[^/]*$|/$" + + azion-endpoint-ddd-and-snake: + message: "Path must follow snake_case and hierarchical structure" + severity: error + given: $.paths.*~ + then: + - function: pattern + functionOptions: + match: "^(/[a-z][a-z0-9]+(_[a-z][a-z0-9]+)*){2,}($|/({[a-z][a-zA-Z0-9_]+}|[a-z][a-z0-9]+(_[a-z0-9]+)*)+)*$" + + azion-path-naming-convention: + message: "{{error}}" + severity: warn + given: $.paths + then: + function: checkPathEndsWithSForList + + azion-endpoint-uri-method-validation: + message: "Path should not contain HTTP method names" + severity: error + given: $.paths.*~ + then: + - function: pattern + functionOptions: + notMatch: "/.*(GET|POST|PUT|PATCH|DELETE).*/i" + + azion-validate-resource-id-usage: + message: "{{error}}" + severity: error + given: "$.paths" + then: + function: checkResourceIDUsage + + # ============================================================================ + # 15. AUTHORIZATION + # ============================================================================ + + azion-authorization-header: + message: "Operation must define security requirements" + severity: error + given: "$.paths.*.*.security" + then: + function: truthy + + azion-security-scheme-bearer: + description: Security schemes should use Bearer token with JWT + message: "Security scheme must use 'bearer' scheme with bearerFormat 'JWT'" + severity: error + given: "$.components.securitySchemes.*[?(@.type == 'http')]" + then: + field: scheme + function: pattern + functionOptions: + match: "^bearer$" + + # ============================================================================ + # 16. REQUEST BODY + # ============================================================================ + + azion-request-body-required: + description: POST, PUT, and PATCH operations must have requestBody + message: "{{property}} operation is missing 'requestBody'" + severity: error + given: "$.paths.*[post,put,patch]" + then: + field: requestBody + function: truthy + + azion-request-body-required-flag: + description: requestBody should be marked as required + message: "requestBody should have 'required: true'" + severity: warn + given: "$.paths.*[post,put,patch].requestBody" + then: + field: required + function: truthy + + # ============================================================================ + # 17. HEADERS + # ============================================================================ + + azion-header-disallowed: + description: Authorization, Content-Type, and Accept headers must not be defined as header parameters + message: 'Header parameter "{{value}}" must not be defined explicitly' + severity: error + given: + - $.paths[?(!@property.match(/storage.*objects/))].parameters[?(@.in == 'header')] + - $.paths[?(!@property.match(/storage.*objects/))].*[get,put,post,patch,delete,options,head].parameters[?(@.in == 'header')] + then: + function: pattern + field: name + functionOptions: + notMatch: '/^(authorization|content-type|accept)$/i' + + # ============================================================================ + # 18. METADATA GLOBAL + # ============================================================================ + + azion-service-name-pattern: + message: "API title must end with '-api'" + severity: error + given: "$.info.title" + then: + function: pattern + functionOptions: + match: ".*-api$" + + azion-version-semantic: + description: API version should follow semantic versioning + message: "info.version should follow semantic versioning (e.g., '4.0.0')" + severity: error + given: "$.info.version" + then: + function: pattern + functionOptions: + match: "^\\d+\\.\\d+\\.\\d+$" + + # ============================================================================ + # 19. RESPONSE BODIES + # ============================================================================ + + azion-validate-count-and-results: + message: "{{error}}" + severity: error + given: "$.responses[*]" + then: + - field: content.application/json.schema.properties.detail.properties + function: schema + functionOptions: + schema: + type: object + properties: + count: + type: integer + results: + type: array + + azion-data-object-type-rule: + message: "{{error}}" + severity: error + given: "$.responses[*].content.application/json.schema" + then: + function: checkDataObjectType + + azion-data-keys-presence-rule: + message: "{{error}}" + severity: error + given: "$.responses[*].content.application/json.schema" + then: + function: checkDataKeysPresence + + # ============================================================================ + # 20. DELETED RESOURCES + # ============================================================================ + + azion-deleted-resource-state-validation: + message: "{{error}}" + severity: error + given: "$.paths.*.*.responses.*" + then: + function: checkStateDeletedResource + + # ============================================================================ + # 21. BUSINESS NAMING + # ============================================================================ + + azion-no-technical-schema-names: + description: Schema names must use business terminology, not technical implementation details + message: "Schema '{{property}}' uses technical naming. Use business domain names instead. Examples: 'Database' instead of 'OpenAPISchema', 'PaginatedDatabaseList' instead of 'PaginatedOpenAPISchemaList'" + severity: error + given: $.components.schemas.*~ + then: + function: pattern + functionOptions: + notMatch: "^.*(OpenAPI|Schema(?!Enum$)|DTO|Entity|Model(?!$)|RESTful|Swagger).*$" + + # ============================================================================ + # 22. EXTENSIBLE ENUMS + # ============================================================================ + + x-extensible-enum-required: + description: Enums must include x-extensible-enum to ensure forward compatibility + message: "Enum '{{path}}' is missing 'x-extensible-enum' property for forward compatibility" + severity: error + given: "$.components.schemas[*][?(@property === 'enum')]^" + then: + field: x-extensible-enum + function: truthy From f5122c0bbd4273f37aeed6885d305105bf3cc5b7 Mon Sep 17 00:00:00 2001 From: jose-torquato Date: Thu, 29 Jan 2026 11:23:14 -0300 Subject: [PATCH 4/4] feat: update workflows and README for v4 structure --- .github/workflows/ci.yml | 62 ++++++----------------------- .github/workflows/linters.yml | 74 +++++++---------------------------- .github/workflows/sync-v4.yml | 66 +++++++++++++++++++++++++++++++ README.md | 39 ++++++++++++------ 4 files changed, 122 insertions(+), 119 deletions(-) create mode 100644 .github/workflows/sync-v4.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a79631d..62eb44d 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -1,64 +1,28 @@ - name: CI on: push: - branches: [ main ] + branches: [main] pull_request: - branches: [ main ] - - # Allows you to run this workflow manually from the Actions tab + branches: [main] workflow_dispatch: jobs: - test_job: + validate: + name: Validate OpenAPI runs-on: ubuntu-latest - container: - image: ubuntu:22.04 - steps: - - name: Setup Env - run: apt-get update && apt-get install -y git npm - - - uses: actions/setup-node@v3 - with: - node-version: 14 - - - name: Setting GIT - run: git config --global url."https://${{ secrets.GLOBAL_TOKEN }}:x-oauth-basic@github.com/aziontech".insteadOf "https://github.com/aziontech" + steps: - name: Checkout code - uses: actions/checkout@v3 - with: - fetch-depth: 0 - - - name: Git config - run: git config --global --add safe.directory /__w/azionapi-openapi/azionapi-openapi - shell: bash + uses: actions/checkout@v4 - - name: install openapi-linter - run: npm i -g @superfaceai/openapi-linter - - #get all .yaml files which were added/modified - - name: Get changed files - id: changed-files - uses: tj-actions/changed-files@v35 + - name: Setup Node.js + uses: actions/setup-node@v4 with: - files: | - **/*.yaml - files_ignore: | - spectral/.spectral*.yaml - - - name: Run linter for changed files - run: | - for file in ${{ steps.changed-files.outputs.all_changed_files }}; do - oal lint $file -f yaml - done + node-version: '20' - - name: install redocly-cli - run: npm i -g @redocly/cli@1.0.0-beta.129 + - name: Install Redocly CLI + run: npm install -g @redocly/cli - - name: Run linter for changed files - run: | - for file in ${{ steps.changed-files.outputs.all_changed_files }}; do - redocly lint $file - done + - name: Validate OpenAPI v4 + run: redocly lint openapi.yaml diff --git a/.github/workflows/linters.yml b/.github/workflows/linters.yml index 756e98a..f193175 100644 --- a/.github/workflows/linters.yml +++ b/.github/workflows/linters.yml @@ -3,71 +3,27 @@ name: OpenAPI Spectral Linter on: pull_request: branches: - - main + - main + push: + branches: + - main jobs: - spectral: + spectral-v4: + name: Lint OpenAPI v4 runs-on: ubuntu-latest - container: - image: node:14-alpine3.12 steps: - name: Checkout code - uses: actions/checkout@v3 - - - name: Install Spectral - run: npm install @stoplight/spectral-cli - - - name: Run Spectral Lint on Credentials API - run: npx spectral lint --verbose --ruleset spectral/.spectral-credentials.yaml credentials.yaml --display-only-failures || exit 1 - - - name: Run Spectral Lint on Data Streaming API - run: npx spectral lint --verbose --ruleset spectral/.spectral-datastreaming.yaml data_streaming.yaml --display-only-failures || exit 1 - - - name: Run Spectral Lint on Digital Certificates API - run: npx spectral lint --verbose --ruleset spectral/.spectral-digital_certificates.yaml digital_certificates.yaml --display-only-failures || exit 1 - - - name: Run Spectral Lint on Domains API - run: npx spectral lint --verbose --ruleset spectral/.spectral-domains.yaml domains.yaml --display-only-failures || exit 1 - - - name: Run Spectral Lint on Edge Applications API - run: npx spectral lint --verbose --ruleset spectral/.spectral-edgeapplications.yaml edgeapplications.yaml --display-only-failures || exit 1 - - - name: Run Spectral Lint on Edge Firewall API - run: npx spectral lint --verbose --ruleset spectral/.spectral-edgefirewall.yaml edgefirewall.yaml --display-only-failures || exit 1 - - - name: Run Spectral Lint on Edge Functions API - run: npx spectral lint --verbose --ruleset spectral/.spectral-edgefunctions.yaml edgefunctions.yaml --display-only-failures || exit 1 + uses: actions/checkout@v4 - - name: Run Spectral Lint on Edge Functions Instance Edge Firewall API - run: npx spectral lint --verbose --ruleset spectral/.spectral-edgefuncinstedgefirewall.yaml edgefunctionsinstance_edgefirewall.yaml --display-only-failures || exit 1 + - name: Setup Node.js + uses: actions/setup-node@v4 + with: + node-version: '20' - - name: Run Spectral Lint on Edge Node API - run: npx spectral lint --verbose --ruleset spectral/.spectral-edgenode.yaml edgenode.yaml --display-only-failures || exit 1 - - - name: Run Spectral Lint on IAM API API - run: npx spectral lint --verbose --ruleset spectral/.spectral-iam.yaml iam.yml --display-only-failures || exit 1 - - - name: Run Spectral Lint on Intelligent DNS API - run: npx spectral lint --verbose --ruleset spectral/.spectral-idns.yaml idns.yaml --display-only-failures || exit 1 - - - name: Run Spectral Lint on Network List API - run: npx spectral lint --verbose --ruleset spectral/.spectral-networklist.yaml networklist.yaml --display-only-failures || exit 1 - - - name: Run Spectral Lint on Personal Tokens API - run: npx spectral lint --verbose --ruleset spectral/.spectral-personaltokens.yaml personal_tokens.yaml --display-only-failures || exit 1 - - - name: Run Spectral Lint on Realtime Purge API - run: npx spectral lint --verbose --ruleset spectral/.spectral-realtimepurge.yaml realtimepurge.yaml --display-only-failures || exit 1 - - - name: Run Spectral Lint on Services API - run: npx spectral lint --verbose --ruleset spectral/.spectral-services.yaml services.yaml --display-only-failures || exit 1 - - - name: Run Spectral Lint on Storage API - run: npx spectral lint --verbose --ruleset spectral/.spectral-storage.yaml storage.yaml --display-only-failures || exit 1 - - - name: Run Spectral Lint on Variables API - run: npx spectral lint --verbose --ruleset spectral/.spectral-variables.yaml variables.yaml --display-only-failures || exit 1 + - name: Install Spectral + run: npm install -g @stoplight/spectral-cli - - name: Run Spectral Lint on WAF API - run: npx spectral lint --verbose --ruleset spectral/.spectral-waf.yaml waf.yaml --display-only-failures || exit 1 + - name: Run Spectral Lint on OpenAPI v4 + run: spectral lint openapi.yaml --ruleset spectral/spectral.yaml --verbose diff --git a/.github/workflows/sync-v4.yml b/.github/workflows/sync-v4.yml new file mode 100644 index 0000000..30b3cdc --- /dev/null +++ b/.github/workflows/sync-v4.yml @@ -0,0 +1,66 @@ +name: Sync from azionapi-v4-openapi + +on: + # Triggered by repository dispatch from azionapi-v4-openapi + repository_dispatch: + types: [sync-openapi-v4] + + # Manual trigger + workflow_dispatch: + inputs: + source_ref: + description: 'Branch or tag from azionapi-v4-openapi to sync from' + required: false + default: 'main' + +jobs: + sync: + name: Sync OpenAPI v4 + runs-on: ubuntu-latest + + steps: + - name: Checkout azionapi-openapi + uses: actions/checkout@v4 + with: + token: ${{ secrets.GLOBAL_TOKEN }} + fetch-depth: 0 + + - name: Checkout azionapi-v4-openapi + uses: actions/checkout@v4 + with: + repository: aziontech/azionapi-v4-openapi + ref: ${{ github.event.inputs.source_ref || 'main' }} + path: v4-source + token: ${{ secrets.GLOBAL_TOKEN }} + + - name: Sync openapi.yaml + run: | + cp v4-source/openapi.yaml openapi.yaml + echo "Synced openapi.yaml from azionapi-v4-openapi" + + - name: Sync spectral rules + run: | + rm -rf spectral + cp -r v4-source/spectral spectral + echo "Synced spectral rules from azionapi-v4-openapi" + + - name: Cleanup + run: rm -rf v4-source + + - name: Check for changes + id: changes + run: | + if git diff --quiet; then + echo "has_changes=false" >> $GITHUB_OUTPUT + else + echo "has_changes=true" >> $GITHUB_OUTPUT + fi + + - name: Commit and push changes + if: steps.changes.outputs.has_changes == 'true' + run: | + git config user.name "github-actions[bot]" + git config user.email "github-actions[bot]@users.noreply.github.com" + git add openapi.yaml spectral/ + git commit -m "chore: sync openapi.yaml and spectral from azionapi-v4-openapi" + git push diff --git a/README.md b/README.md index 1bfde05..bf0ce00 100644 --- a/README.md +++ b/README.md @@ -3,17 +3,34 @@ OpenAPI 3.0 specification for Azion APIs. -|YAML|DESCRIPTION| -|---|---| -|`credentials.yaml`|Credentials API, part of the Orchestration Architecture.| -|`domains.yaml`|Domains API enables you to retrieve, create, remove or update Domains used by Edge Applications.| -|`edgeapplications.yaml`|Edge Applications allows you to check, remove and/or update your existing settings, as well as creating new ones.| -|`edgefunctions.yaml`|Edge Functions API.| -|`edgenode.yaml`|Edge Node API, part of the Orchestration Architecture.| -|`idns.yaml`|Intelligent DNS API.| -|`realtimepurge.yaml`|Real-Time Purge API enables you to purge a cache entry before its TTL for Edge Caching or L2 Caching| -|`services.yaml`|Edge Services API, part of the Orchestration Architecture.| -|`waf.yaml`|WAF API -- WAF self-calibration enables you to create allowed rules that are meaningful to your application.| +## 📄 OpenAPI Files + +### API v4 (Current) +- **[openapi.yaml](openapi.yaml)** - Complete Azion API v4 specification + +### API v3 (Legacy) +Legacy API specifications are available in the `v3/` directory for backward compatibility. + +## 🚀 Quick Start + +```bash +# View with Swagger UI +npx @redocly/cli preview-docs openapi.yaml + +# Validate with Spectral +npx @stoplight/spectral-cli lint openapi.yaml --ruleset spectral/spectral.yaml + +# Generate client SDKs +openapi-generator-cli generate -i openapi.yaml -g python -o ./client +``` + +## 📚 Documentation + +- **[Spectral Validation Rules](spectral/README.md)** - Comprehensive guide to all custom Spectral linting rules + +## 🔄 Synchronization + +The `openapi.yaml` file is automatically synchronized from [azionapi-v4-openapi](https://github.com/aziontech/azionapi-v4-openapi) when changes are merged to the main branch. ## License