openapi: 3.0.0 info: title: Humanitec AccountType AutomationRule API version: 0.28.24 description: '# Introduction The *Humanitec API* allows you to automate and integrate Humanitec into your developer and operational workflows. The API is a REST based API. It is based around a set of concepts: * Core * External Resources * Sets and Deltas ## Authentication Almost all requests made to the Humanitec API require Authentication. See our [Developer Docs on API Authentication](https://developer.humanitec.com/platform-orchestrator/reference/api-references/#authentication) for instructions. ## Content Types The Humanitec API, unless explicitly specified, only accepts content types of `application/json` and will always return valid `application/json` or an empty response. ## Response Codes ### Success Any response code in the `2xx` range should be regarded as success. | **Code** | **Meaning** | |----------|-------------------------------------| | `200` | Success | | `201` | Success, a new resource was created | | `204` | Success, but no content in response | _Note: We plan to simplify the interface by replacing 201 with 200 status codes._ ### Failure Any response code in the `4xx` range should be regarded as an error that can be rectified by the client. `5xx` error codes indicate errors that cannot be corrected by the client. | **Code** | **Meaning** | |----------|-----------------------------------------------------------------------------------------------------------------------| | `400` | General error. (Body will contain details) | | `401` | Attempt to access protected resource without `Authorization` Header. | | `403` | The `Bearer` or `JWT` does not grant access to the requested resource. | | `404` | Resource not found. | | `405` | Method not allowed | | `409` | Conflict. Usually indicated a resource with that ID already exists. | | `422` | Unprocessable Entity. The body was not valid JSON, was empty or contained an object different from what was expected. | | `429` | Too many requests - request rate limit has been reached. | | `500` | Internal Error. If it occurs repeatedly, contact support. | ' contact: name: Humanitec Support email: support@humanitec.com x-logo: url: humanitec-logo.png altText: Humanitec logo servers: - url: https://api.humanitec.io/ tags: - name: AutomationRule x-displayName: Automation Rules description: 'An Automation Rule defining how and when artefacts in an environment should be updated. ' paths: /orgs/{orgId}/apps/{appId}/envs/{envId}/rules: get: tags: - AutomationRule operationId: listAutomationRules summary: List all Automation Rules in an Environment. parameters: - $ref: '#/components/parameters/orgIdPathParam' - $ref: '#/components/parameters/appIdPathParam' - $ref: '#/components/parameters/envIdPathParam' responses: '200': description: A possibly empty array of Automation Rules content: application/json: schema: items: $ref: '#/components/schemas/AutomationRuleResponse' type: array post: tags: - AutomationRule operationId: createAutomationRule summary: Create a new Automation Rule for an Environment. description: Items marked as deprecated are still supported (however not recommended) for use and are incompatible with properties of the latest api version. In particular an error is raised if `images_filter` (deprecated) and `artefacts_filter` are used in the same payload. The same is true for `exclude_images_filter` (deprecated) and `exclude_artefacts_filter`. `match` and `update_to` are still supported but will trigger an error if combined with `match_ref`. parameters: - $ref: '#/components/parameters/orgIdPathParam' - $ref: '#/components/parameters/appIdPathParam' - $ref: '#/components/parameters/envIdPathParam' requestBody: description: The definition of the Automation Rule. required: true content: application/json: schema: $ref: '#/components/schemas/AutomationRuleRequest' responses: '201': description: The Automation Rule that was created. content: application/json: schema: $ref: '#/components/schemas/AutomationRuleResponse' '400': $ref: '#/components/responses/400BadRequest' '409': $ref: '#/components/responses/409Conflict' '422': $ref: '#/components/responses/422UnprocessableContent' /orgs/{orgId}/apps/{appId}/envs/{envId}/rules/{ruleId}: get: tags: - AutomationRule operationId: getAutomationRule summary: Get a specific Automation Rule for an Environment. parameters: - $ref: '#/components/parameters/orgIdPathParam' - $ref: '#/components/parameters/appIdPathParam' - $ref: '#/components/parameters/envIdPathParam' - name: ruleId in: path description: The Automation Rule ID. required: true schema: type: string responses: '200': description: The Automation Rule. content: application/json: schema: $ref: '#/components/schemas/AutomationRuleResponse' '404': $ref: '#/components/responses/404NotFound' put: tags: - AutomationRule operationId: updateAutomationRule summary: Update an existing Automation Rule for an Environment. description: Items marked as deprecated are still supported (however not recommended) for use and are incompatible with properties of the latest api version. In particular an error is raised if `images_filter` (deprecated) and `artefacts_filter` are used in the same payload. The same is true for `exclude_images_filter` (deprecated) and `exclude_artefacts_filter`. `match` and `update_to` are still supported but will trigger an error if combined with `match_ref`. parameters: - $ref: '#/components/parameters/orgIdPathParam' - $ref: '#/components/parameters/appIdPathParam' - $ref: '#/components/parameters/envIdPathParam' - name: ruleId in: path description: The Automation Rule ID. required: true schema: type: string requestBody: description: The definition of the Automation Rule. required: true content: application/json: schema: $ref: '#/components/schemas/AutomationRuleRequest' responses: '200': description: The updated Automation Rule. content: application/json: schema: $ref: '#/components/schemas/AutomationRuleResponse' '400': $ref: '#/components/responses/400BadRequest' '404': $ref: '#/components/responses/404NotFound' '422': $ref: '#/components/responses/422UnprocessableContent' delete: tags: - AutomationRule operationId: deleteAutomationRule summary: Delete Automation Rule from an Environment. parameters: - $ref: '#/components/parameters/orgIdPathParam' - $ref: '#/components/parameters/appIdPathParam' - $ref: '#/components/parameters/envIdPathParam' - name: ruleId in: path description: The Automation Rule ID. required: true schema: type: string responses: '204': description: The Automation Rule was deleted. '404': $ref: '#/components/responses/404NotFound' components: schemas: AutomationRuleResponse: description: An Automation Rule defining how and when artefacts in an environment should be updated. properties: active: description: Whether the rule will be processed or not. type: boolean example: true artefacts_filter: description: A list of artefact names to be processed by the rule. If the array is empty, it implies include all. If `exclude_artefacts_filter` is true, this list describes the artefacts to exclude. items: type: string type: array example: - http://registry.org/sample-service created_at: description: The timestamp in UTC of when the Automation Rule was created. example: '2020-06-22T09:37:23.523Z' title: Simplified extended ISO format date/time string. type: string format: date-time exclude_artefacts_filter: description: Whether the artefacts specified in `artefacts_filter` should be excluded (true) or included (false) in the automation rule. type: boolean example: false exclude_images_filter: description: 'DEPRECATED: Whether the images specified in `images_filter` should be excluded (true) or included (false) in the automation rule.' type: boolean example: false deprecated: true id: description: The unique ID for this rule. type: string example: 923486d012f20324 images_filter: description: 'DEPRECATED: A list of image IDs to be processed by the rule. If the array is empty, it implies include all. If `exclude_images_filter` is true, this list describes images to exclude.' items: type: string type: array example: - sample-service deprecated: true match: description: 'DEPRECATED: A regular expression applied to the branch or tag name depending on the value of `update_to`. Defaults to match all if omitted or empty.' type: string example: ^pr-[0-9]+-.*$ deprecated: true match_ref: description: A regular expression applied to the ref of a new artefact version. Defaults to match all if omitted or empty. type: string example: ^refs/heads/pr-[0-9]+-.*$ type: description: Specifies the type of event. Currently, only updates to either branches or tags are supported. Must be `"update"`. pattern: ^(?:update)$ type: string example: update update_to: description: 'DEPRECATED: Specifies whether the update occurs on commit to branch or creation of tag. Must be one of `"branch"` or `"tag"`.' pattern: ^(?:branch|tag)$ type: string example: branch deprecated: true updated_at: description: The timestamp in UTC of when the Automation Rule was updated. example: '2020-06-22T09:37:23.523Z' title: Simplified extended ISO format date/time string. type: string format: date-time required: - id - active - type - images_filter - artefacts_filter - exclude_images_filter - exclude_artefacts_filter - update_to - match - match_ref - created_at - updated_at type: object HumanitecErrorResponse: description: HumanitecError represents a standard Humanitec Error properties: details: additionalProperties: true type: object description: (Optional) Additional information is enclosed here. error: type: string example: API-000 description: A short code to help with error identification. message: type: string example: Could not validate token description: A Human readable message about the error. required: - error - message type: object example: error: API-000 message: Could not validate token. ErrorResponse: description: A standard error response properties: error: description: 'A short code representing the class of error. This code can be used for tracking and observability or to find appropriate troubleshooting documentation. ' example: API-000 type: string message: description: A human-readable explanation of the error. example: Something happened! type: string details: description: An optional payload of metadata associated with the error. additionalProperties: true type: object required: - error - message type: object AutomationRuleRequest: description: An Automation Rule defining how and when artefacts in an environment should be updated. properties: active: description: Whether the rule will be processed or not. type: boolean example: true artefacts_filter: description: A list of artefact names to be processed by the rule. If the array is empty, it implies include all. If `exclude_artefacts_filter` is true, this list describes the artefacts to exclude. items: type: string type: array example: - http://registry.org/sample-service exclude_artefacts_filter: description: Whether the artefacts specified in `artefacts_filter` should be excluded (true) or included (false) in the automation rule. type: boolean example: false exclude_images_filter: description: 'DEPRECATED: Whether the images specified in `images_filter` should be excluded (true) or included (false) in the automation rule.' type: boolean example: false deprecated: true images_filter: description: 'DEPRECATED: A list of image IDs to be processed by the rule. If the array is empty, it implies include all. If `exclude_images_filter` is true, this list describes images to exclude.' items: type: string type: array example: - sample-service deprecated: true match: description: 'DEPRECATED: A regular expression applied to the branch or tag name depending on the value of `update_to`. Defaults to match all if omitted or empty.' type: string example: ^pr-[0-9]+-.*$ deprecated: true match_ref: description: A regular expression applied to the ref of a new artefact version. Defaults to match all if omitted or empty. type: string example: ^refs/heads/pr-[0-9]+-.*$ type: description: Specifies the type of event. Currently, only updates to either branches or tags are supported. Must be `"update"`. pattern: ^(?:update)$ type: string example: update update_to: description: 'DEPRECATED: Specifies whether the update occurs on commit to branch or creation of tag. Must be one of `"branch"` or `"tag"`.' pattern: ^(?:branch|tag)$ type: string example: branch deprecated: true required: - type type: object responses: 422UnprocessableContent: description: 'Server understands the content type of the request, and the syntax of the request is correct, but it was unable to process the contained instructions ' content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' 404NotFound: description: Either the resource or a related resource could not be found. More detail can be found in the error body. content: application/json: schema: $ref: '#/components/schemas/HumanitecErrorResponse' 409Conflict: description: 'The request itself is valid however it could not be applied based on the current state of the resource. More detail can be found in the error body. ' content: application/json: schema: $ref: '#/components/schemas/HumanitecErrorResponse' 400BadRequest: description: The request was invalid. More detail can be found in the error body. content: application/json: schema: $ref: '#/components/schemas/HumanitecErrorResponse' parameters: orgIdPathParam: name: orgId in: path description: The Organization ID example: sample-org required: true schema: type: string pattern: ^[a-z0-9](?:-?[a-z0-9]+)+$ maxLength: 50 envIdPathParam: name: envId in: path description: The Environment ID example: development required: true schema: type: string appIdPathParam: name: appId in: path description: The Application ID required: true example: sample-app schema: pattern: ^[a-z0-9](?:-?[a-z0-9]+)+$ type: string maxLength: 50 externalDocs: description: Find out more about how to use Humanitec in your every-day development work. url: https://developer.humanitec.com/ x-tagGroups: - name: Core tags: - Agents - Application - Artefact - ArtefactVersion - AuditLogs - Logs - Deployment - EnvironmentType - Environment - Image - PublicKeys - Organization - Registry - RuntimeInfo - SecretStore - Value - ValueSetVersion - name: App Configuration tags: - Delta - Set - WorkloadProfile - name: Resources tags: - ActiveResource - DriverDefinition - MatchingCriteria - ResourceDefinition - ResourceDefinitionVersion - ResourceProvision - AccountType - ResourceAccount - ResourceType - ResourceClass - name: Automation tags: - AutomationRule - Event - Pipelines - PipelineRuns - PipelineApprovals - name: Users tags: - UserProfile - UserRole - Group - TokenInfo