Upwind configurations API
The configurations API from Upwind — 14 operation(s) for configurations.
The configurations API from Upwind — 14 operation(s) for configurations.
openapi: 3.0.3
info:
title: Upwind Management REST API v1 access-management configurations API
version: '1.0'
description: Upwind Management REST API — administrative and data endpoints for the Upwind cloud security platform (threats, vulnerabilities, configurations, inventory, API security, workflows, access management). Reconstructed faithfully from the embedded OpenAPI operation definitions published in the Upwind docs (docs.upwind.io) by the API Evangelist enrichment pipeline; operation content is verbatim from the provider.
contact:
name: Upwind Support
email: support@upwind.io
url: https://docs.upwind.io/
x-apievangelist:
generated: '2026-07-21'
method: searched
source: https://docs.upwind.io/restapi/v1/introduction (embedded docusaurus-plugin-openapi-docs operation JSON)
servers:
- url: https://api.upwind.io
description: Production endpoint (US)
- url: https://api.eu.upwind.io
description: Production endpoint (EU)
- url: https://api.me.upwind.io
description: Production endpoint (ME)
security:
- OAuth2ClientCredentials: []
tags:
- name: configurations
paths:
/v1/organizations/{organization-id}/configuration-rules:
post:
operationId: createCustomRule
summary: Create a rule
description: A `POST` request sent to this endpoint creates a Configuration Rule object that is associated with the specified organization. Configuration rules define custom compliance checks using Rego policy language to evaluate your cloud resources against security and governance requirements. To learn more about Configuration Rules, refer to the [Configuration Rules](/configurations/custom-configuration-rules) page.
tags:
- configurations
parameters:
- description: The unique identifier for the Upwind organization.
example: org_Xk9mPq7RtYwN2vLs
in: path
name: organization-id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
asset_kind:
type: string
description: Primary resource type to evaluate.
example: AWS_S3_BUCKET
minLength: 1
category:
type: string
description: Category for the rule.
description:
type: string
description: Short description of the rule.
framework_id:
type: string
description: If this rule is linked to a framework.
name:
type: string
description: Display name for the rule.
example: EnsureS3BucketsAreEncrypted
minLength: 1
rego_policy:
type: string
description: Rego policy logic used to evaluate the rule.
example: is_pass(input_item) := false { input_item.public_access == true } else := true
minLength: 1
related_asset_kinds:
type: array
description: Secondary asset kinds if the rule correlates multiple resources.
items:
type: string
severity:
type: string
default: MEDIUM
description: Severity for the rule. Defaults to MEDIUM.
enum:
- LOW
- MEDIUM
- HIGH
- CRITICAL
required:
- asset_kind
- name
- rego_policy
title: CreateConfigurationRuleRequest
required: true
responses:
'201':
content:
application/json:
schema:
type: object
description: Response schema for creating a configuration rule
properties:
category:
type: string
description: The category of this configuration rule.
create_time:
type: string
format: date-time
description: The timestamp when this configuration rule was created.
description:
type: string
description: The description of this configuration rule.
frameworks:
type: array
description: The frameworks associated with this configuration rule.
items:
type: object
properties:
cloud_provider:
type: string
description: The cloud provider this framework is associated with.
description:
type: string
description: A detailed description of the framework.
id:
type: string
description: The unique identifier for this configuration framework.
revision:
type: string
description: The revision of this configuration framework.
status:
type: string
description: The current status of the framework.
enum:
- ENABLED
- DISABLED
title:
type: string
description: The title of this configuration framework.
version:
type: string
description: The version of this configuration framework.
title: ConfigurationFramework
id:
type: string
description: The unique identifier for this configuration rule.
inventory_query:
description: The inventory query associated with this configuration rule.
name:
type: string
description: The name of this configuration rule.
rego_policy:
type: string
description: The Rego policy logic for this configuration rule.
risk_category:
type: string
description: The risk category of this configuration rule.
severity:
type: string
description: The severity level of this configuration rule.
enum:
- LOW
- MEDIUM
- HIGH
- CRITICAL
update_time:
type: string
format: date-time
description: The timestamp when this configuration rule was last updated.
title: CreateConfigurationRuleResponse
description: Created
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'429':
description: Rate Limit Exceeded
security:
- OAuth2ClientCredentials: []
get:
operationId: getCustomRules
summary: List rules
description: A `GET` request sent to the endpoint root returns a list of Configuration Rule objects that are associated with the specified organization. This endpoint allows you to search and filter configuration rules based on various criteria such as framework, name, and findings status. To learn more about Configurations, refer to the [Configuration Rules](/configurations/custom-configuration-rules) page.
tags:
- configurations
parameters:
- description: The unique identifier for the Upwind organization.
example: org_Xk9mPq7RtYwN2vLs
in: path
name: organization-id
required: true
schema:
type: string
- description: The page number to retrieve. Used for pagination along with the `per-page` parameter.
in: query
name: page
required: false
schema:
type: integer
format: int32
default: 1
- description: Specifies how many results are returned on a page.
in: query
name: per-page
required: false
schema:
type: integer
format: int32
default: 100
- description: Filters rules by the specified framework.
in: query
name: framework
required: false
schema:
type: string
- description: Filters rules by the specified rule name.
in: query
name: name
required: false
schema:
type: string
- description: Filters rules by whether they have associated findings.
in: query
name: has-findings
required: false
schema:
type: boolean
- description: Filters rules by the earliest creation timestamp (in ISO8601 format).
in: query
name: min-create-time
required: false
schema:
type: string
- description: Filters rules by the latest creation timestamp (in ISO8601 format).
in: query
name: max-create-time
required: false
schema:
type: string
- description: Filters rules by the earliest update timestamp (in ISO8601 format).
in: query
name: min-update-time
required: false
schema:
type: string
- description: Filters rules by the latest update timestamp (in ISO8601 format).
in: query
name: max-update-time
required: false
schema:
type: string
responses:
'200':
content:
application/json:
schema:
type: array
items:
type: object
properties:
create_time:
type: string
format: date-time
description: The timestamp when this configuration rule was created.
findings_count:
type: integer
format: int32
description: The number of findings associated with this configuration rule.
framework:
type: string
description: The framework associated with this configuration rule.
id:
type: string
description: The unique identifier for this configuration rule.
name:
type: string
description: The name of this configuration rule.
update_time:
type: string
format: date-time
description: The timestamp when this configuration rule was last updated.
title: ConfigurationRule
description: OK
'401':
description: Unauthorized
'403':
description: Forbidden
'429':
description: Rate Limit Exceeded
security:
- OAuth2ClientCredentials: []
/v1/organizations/{organization-id}/configuration-frameworks:
post:
operationId: createFramework
summary: Create a framework
description: Creates a new compliance framework for the specified organization.
tags:
- configurations
parameters:
- description: The unique identifier for the Upwind organization.
example: org_Xk9mPq7RtYwN2vLs
in: path
name: organization-id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
cloud_provider:
type: string
description: The cloud provider this framework is associated with.
enum:
- AWS
- AZURE
- GCP
- BYOC
- ALL
- KUBERNETES
description:
type: string
description: A detailed description of the framework.
title:
type: string
description: The title of the framework.
title: CreateConfigurationFrameworkRequest
required: true
responses:
'201':
content:
application/json:
schema:
type: object
properties:
cloud_provider:
type: string
description: The cloud provider this framework is associated with.
description:
type: string
description: A detailed description of the framework.
id:
type: string
description: The unique identifier for this configuration framework.
revision:
type: string
description: The revision of this configuration framework.
status:
type: string
description: The current status of the framework.
enum:
- ENABLED
- DISABLED
title:
type: string
description: The title of this configuration framework.
version:
type: string
description: The version of this configuration framework.
title: ConfigurationFramework
description: Created
'400':
content:
application/json:
schema:
type: object
properties:
cloud_provider:
type: string
description: The cloud provider this framework is associated with.
description:
type: string
description: A detailed description of the framework.
id:
type: string
description: The unique identifier for this configuration framework.
revision:
type: string
description: The revision of this configuration framework.
status:
type: string
description: The current status of the framework.
enum:
- ENABLED
- DISABLED
title:
type: string
description: The title of this configuration framework.
version:
type: string
description: The version of this configuration framework.
title: ConfigurationFramework
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'429':
description: Rate Limit Exceeded
'500':
content:
application/json:
schema:
type: object
properties:
cloud_provider:
type: string
description: The cloud provider this framework is associated with.
description:
type: string
description: A detailed description of the framework.
id:
type: string
description: The unique identifier for this configuration framework.
revision:
type: string
description: The revision of this configuration framework.
status:
type: string
description: The current status of the framework.
enum:
- ENABLED
- DISABLED
title:
type: string
description: The title of this configuration framework.
version:
type: string
description: The version of this configuration framework.
title: ConfigurationFramework
description: Internal Server Error
security:
- OAuth2ClientCredentials: []
get:
operationId: getAllFrameworks
summary: List frameworks
description: A `GET` request sent to the endpoint root returns a list of Configuration Framework objects that are associated with the specified organization. This endpoint allows you to search and filter configuration frameworks based on various criteria such as framework IDs, cloud providers, and status. To learn more about Frameworks, refer to the [Frameworks](/configurations/frameworks) page.
tags:
- configurations
parameters:
- description: The unique identifier for the Upwind organization.
example: org_Xk9mPq7RtYwN2vLs
in: path
name: organization-id
required: true
schema:
type: string
- description: The page number to retrieve. Used for pagination along with the `per-page` parameter.
in: query
name: page
required: false
schema:
type: integer
format: int32
default: 1
- description: Specifies how many results are returned on a page.
in: query
name: per-page
required: false
schema:
type: integer
format: int32
default: 100
- description: Filters frameworks by the specified framework IDs.
in: query
name: framework-ids
required: false
schema:
type: array
items:
type: string
uniqueItems: true
- description: Filters frameworks by the specified cloud providers.
in: query
name: cloud-providers
required: false
schema:
type: array
items:
type: string
uniqueItems: true
- description: Filters frameworks by their status.
in: query
name: status
required: false
schema:
type: string
enum:
- ENABLED
- DISABLED
- description: Filters frameworks by the earliest creation timestamp (in ISO8601 format).
in: query
name: min-create-time
required: false
schema:
type: string
- description: Filters frameworks by the latest creation timestamp (in ISO8601 format).
in: query
name: max-create-time
required: false
schema:
type: string
- description: Filters frameworks by the earliest update timestamp (in ISO8601 format).
in: query
name: min-update-time
required: false
schema:
type: string
- description: Filters frameworks by the latest update timestamp (in ISO8601 format).
in: query
name: max-update-time
required: false
schema:
type: string
- description: Filters frameworks by the earliest last scan timestamp (in ISO8601 format).
in: query
name: min-last-scan-time
required: false
schema:
type: string
- description: Filters frameworks by the latest last scan timestamp (in ISO8601 format).
in: query
name: max-last-scan-time
required: false
schema:
type: string
- description: Filters frameworks by the minimum score value.
in: query
name: min-score-value
required: false
schema:
type: integer
format: int32
- description: Filters frameworks by the maximum score value.
in: query
name: max-score-value
required: false
schema:
type: integer
format: int32
- description: Filters frameworks by the specified types.
in: query
name: types
required: false
schema:
type: array
items:
type: string
uniqueItems: true
responses:
'200':
content:
application/json:
schema:
type: array
items:
type: object
properties:
cloud_provider:
type: string
description: The cloud provider this framework is associated with.
compliance_status:
description: The compliance status for this framework.
type: object
properties:
score:
type: integer
format: int32
description: The compliance score for this framework.
title: ConfigurationFrameworkStatus
create_time:
type: string
format: date-time
description: The timestamp when the framework was created.
description:
type: string
description: A detailed description of the framework.
id:
type: string
description: The unique identifier for this configuration framework.
last_scan_time:
type: string
format: date-time
description: The timestamp when the framework was last scanned.
revision:
type: string
description: The revision of this configuration framework.
rollout_state:
type: string
description: The rollout state of the framework.
status:
type: string
description: The current status of the framework.
enum:
- ENABLED
- DISABLED
title:
type: string
description: The title of this configuration framework.
type:
type: string
description: The type of framework.
update_time:
type: string
format: date-time
description: The timestamp when the framework was last updated.
version:
type: string
description: The version of this configuration framework.
title: DetailedComplianceFramework
description: OK
'401':
description: Unauthorized
'403':
description: Forbidden
'429':
description: Rate Limit Exceeded
security:
- OAuth2ClientCredentials: []
/v1/organizations/{organization-id}/configuration-rules/{rule-id}:
delete:
operationId: deleteCustomRule
summary: Delete a rule
description: A `DELETE` request sent to the endpoint deletes a Configuration Rule object that is associated with the specified organization. This action permanently removes the rule and cannot be undone. To learn more about Configuration Rules, refer to the [Configuration Rules](/configurations/custom-configuration-rules) page.
tags:
- configurations
parameters:
- description: The unique identifier for the Upwind organization.
example: org_Xk9mPq7RtYwN2vLs
in: path
name: organization-id
required: true
schema:
type: string
- description: The unique identifier for the configuration rule.
in: path
name: rule-id
required: true
schema:
type: string
responses:
'204':
description: No Content
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'429':
description: Rate Limit Exceeded
security:
- OAuth2ClientCredentials: []
patch:
operationId: editCustomRule
summary: Update a rule
description: A `PATCH` request sent to the endpoint allows you to update an existing Configuration Rule object that is associated with the specified organization. You can modify properties such as name, category, severity, and Rego policy. To learn more about Configuration Rules, refer to the [Configuration Rules](/configurations/custom-configuration-rules) page.
tags:
- configurations
parameters:
- description: The unique identifier for the Upwind organization.
example: org_Xk9mPq7RtYwN2vLs
in: path
name: organization-id
required: true
schema:
type: string
- description: The unique identifier for the configuration rule.
in: path
name: rule-id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
asset_kind:
type: string
description: Primary resource type to evaluate
category:
type: string
description: Category for the rule.
description:
type: string
description: Short description of the rule.
name:
type: string
description: Display name for the rule
rego_policy:
type: string
description: Rego policy for the rule.
maxLength: 50000
minLength: 0
risk_category:
type: string
description: Risk category for the rule.
severity:
type: string
description: Severity for the rule.
enum:
- CRITICAL
- HIGH
- MEDIUM
- LOW
title: CustomRuleEditRequest
required: true
responses:
'200':
content:
application/json:
schema:
type: object
description: Response schema for creating a configuration rule
properties:
category:
type: string
description: The category of this configuration rule.
create_time:
type: string
format: date-time
description: The timestamp when this configuration rule was created.
description:
type: string
description: The description of this configuration rule.
frameworks:
type: array
description: The frameworks associated with this configuration rule.
items:
type: object
properties:
cloud_provider:
type: string
description: The cloud provider this framework is associated with.
description:
type: string
description: A detailed description of the framework.
id:
type: string
description: The unique identifier for this configuration framework.
revision:
type: string
description: The revision of this configuration framework.
status:
type: string
description: The current status of the framework.
enum:
- ENABLED
- DISABLED
title:
type: string
description: The title of this configuration framework.
version:
type: string
description: The version of this configuration framework.
title: ConfigurationFramework
id:
type: string
description: The unique identifier for this configuration rule.
inventory_query:
description: The inventory query associated with this configuration rule.
name:
type: string
description: The name of this configuration rule.
rego_policy:
type: string
description: The Rego policy logic for this configuration rule.
risk_category:
type: string
description: The risk category of this configuration rule.
severity:
type: string
description: The severity level of this configuration rule.
enum:
- LOW
- MEDIUM
- HIGH
- CRITICAL
update_time:
type: string
format: date-time
description: The timestamp when this configuration rule was last updated.
title: CreateConfigurationRuleResponse
description: OK
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'429':
description: Rate Limit Exceeded
security:
- OAuth2ClientCredentials: []
/v1/organizations/{organization-id}/configuration-frameworks/{framework-id}:
patch:
operationId: editFramework
summary: Update a framework
description: A `PATCH` request sent to the endpoint allows you to update an existing Configuration Framework object that is associated with the specified organization. You can modify properties such as title, description, and status. To learn more about Frameworks, refer to the [Frameworks](/configurations/frameworks) page.
tags:
- configurations
parameters:
- description: The unique identifier for the Upwind organization.
example: org_Xk9mPq7RtYwN2vLs
in: path
name: organization-id
required: true
schema:
type: string
- description: The unique identifier for the configuration framework.
in: path
name: framework-id
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
description:
type: string
description: A detailed description of the framework.
status:
type: string
description: Framework scan status.
enum:
- ENABLED
- DISABLED
title:
type: string
description: The title of the framework.
title: UpdateConfigurationFrameworkRequest
required: true
responses:
'200':
content:
application/json:
schema:
type: object
properties:
cloud_provider:
type: string
description: The cloud provider this framework is associated with.
description:
type:
# --- truncated at 32 KB (128 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/upwind/refs/heads/main/openapi/upwind-configurations-api-openapi.yml