Approval workflows
This page describes the endpoints for enacting workflow requirements to ensure quality and comply with regulatory obligations. When you create a new or change an existing deployment, if the approval workflow is enabled, an MLOps administrator within your organization must approve your changes. Approval policies affect the users who have permissions to review deployments and provide automated actions when reviews time out. Approval policies also affect users whose deployment events are governed by a configured policy (e.g., new deployment creation, model replacement).
List Approval Policies
Operation path: GET /api/v2/approvalPolicies/
Authentication requirements: BearerAuth
List Approval Policies.
Parameters
| Name |
In |
Type |
Required |
Description |
| offset |
query |
integer |
false |
Number of results to skip. |
| limit |
query |
integer |
false |
At most this many results are returned. The default may change without notice. |
| entityType |
query |
string |
false |
Type of entity to filter policies by. |
| namePart |
query |
string |
false |
Part of the policy name to search by. |
Enumerated Values
| Parameter |
Value |
| entityType |
[deployment, Deployment, DEPLOYMENT, deploymentModel, DeploymentModel, DEPLOYMENT_MODEL, deploymentConfig, DeploymentConfig, DEPLOYMENT_CONFIG, deploymentStatus, DeploymentStatus, DEPLOYMENT_STATUS, deploymentMonitoringData, DeploymentMonitoringData, DEPLOYMENT_MONITORING_DATA] |
Example responses
200 Response
{
"properties": {
"count": {
"description": "Number of items returned on this page.",
"type": "integer"
},
"data": {
"description": "List of Approval Policies.",
"items": {
"properties": {
"active": {
"default": true,
"description": "Whether this policy is active.",
"type": "boolean"
},
"automaticAction": {
"description": "An object describing the automated action on the Change Request that will be performed if the request is not resolved within a given time period after its creation. If ``null``, no automated actions will be taken on the related Change Requests.",
"properties": {
"action": {
"description": "Action of the workflow automation.",
"enum": [
"cancel",
"Cancel",
"CANCEL",
"approve",
"Approve",
"APPROVE"
],
"type": "string"
},
"period": {
"description": "Period (ISO 8601) after which an action is executed on a Change Request if it is not resolved or cancelled.",
"format": "duration",
"type": "string"
}
},
"required": [
"action",
"period"
],
"type": "object"
},
"id": {
"description": "ID of the Approval Policy.",
"type": "string"
},
"name": {
"description": "Name of the Approval Policy.",
"maxLength": 50,
"type": "string"
},
"openRequests": {
"description": "Number of open Change Requests associated with the policy.",
"minimum": 0,
"type": "integer"
},
"review": {
"description": "An object describing review requirements for Change Requests, related to a specific policy. If ``null``, no additional review requirements are added to the related Change Requests.",
"properties": {
"groups": {
"description": "A list of user groups that will be added as required reviewers on Change Requests for the entities that match the policy.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
},
"reminderPeriod": {
"description": "Duration period in ISO 8601 format that indicates when to send a reminder for reviewing a Change Request after its creation or last reminder if it hasn't been approved yet. If ``null``, no review reminders are sent to the reviewers.",
"format": "duration",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"trigger": {
"description": "An object describing the trigger for the Approval Policy.",
"properties": {
"entityType": {
"description": "Type of entity to trigger on.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT",
"deploymentModel",
"DeploymentModel",
"DEPLOYMENT_MODEL",
"deploymentConfig",
"DeploymentConfig",
"DEPLOYMENT_CONFIG",
"deploymentStatus",
"DeploymentStatus",
"DEPLOYMENT_STATUS",
"deploymentMonitoringData",
"DeploymentMonitoringData",
"DEPLOYMENT_MONITORING_DATA"
],
"type": "string"
},
"filterGroups": {
"description": "A list of user groups to apply Approval Policy for. If User 'A' and User 'B' are both members of the same organisation, and User 'A' is a member of one of the groups listed in this field,but User 'B' is not, then an approval workflow will be triggerred for User 'A' on an action to the entity that matches policy condition, but not for User 'B'. If ``null``, approvals workflow will be triggered for all users.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"intendedAction": {
"description": "An object, describing the approvals workflow intended action.",
"properties": {
"action": {
"description": "Type of action to trigger on.",
"enum": [
"create",
"Create",
"CREATE",
"update",
"Update",
"UPDATE",
"delete",
"Delete",
"DELETE"
],
"type": "string"
},
"condition": {
"description": "An object, describing the condition to trigger on.",
"properties": {
"condition": {
"description": "Condition for the field content to trigger on.",
"enum": [
"equals",
"Equals",
"EQUALS"
],
"type": "string"
},
"fieldName": {
"description": "Name of the attribute of the entity to filter entities by. An example value is ``importance`` attribute for the deployment entity.",
"maxLength": 50,
"type": "string"
},
"values": {
"description": "Array of field values to apply condition to trigger on. If ``null`` for ``equals`` condition, then any value for the field is accepted.",
"items": {
"maxLength": 50,
"type": "string"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"condition",
"fieldName",
"values"
],
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"labels": {
"description": "Trigger Labels.",
"properties": {
"groupLabel": {
"description": "Group Label.",
"type": "string"
},
"label": {
"description": "Label.",
"type": "string"
}
},
"required": [
"groupLabel",
"label"
],
"type": "object"
}
},
"required": [
"entityType",
"intendedAction"
],
"type": "object"
}
},
"required": [
"active",
"id",
"name",
"openRequests",
"trigger"
],
"type": "object"
},
"type": "array"
},
"next": {
"description": "URL pointing to the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "URL pointing to the previous page (if null, there is no previous page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "The total number of items across all pages.",
"type": "integer"
}
},
"required": [
"data",
"next",
"previous",
"totalCount"
],
"type": "object"
}
Responses
| Status |
Meaning |
Description |
Schema |
| 200 |
OK |
Approval Policy has been successfully updated. |
ApprovalPolicyListResponse |
| 403 |
Forbidden |
Approval Policy management feature is disabled for the user. |
None |
Create a new Approval Policy
Operation path: POST /api/v2/approvalPolicies/
Authentication requirements: BearerAuth
Create a new Approval Policy.
Body parameter
{
"properties": {
"active": {
"default": true,
"description": "Whether this policy is active.",
"type": "boolean"
},
"automaticAction": {
"description": "An object describing the automated action on the Change Request that will be performed if the request is not resolved within a given time period after its creation. If ``null``, no automated actions will be taken on the related Change Requests.",
"properties": {
"action": {
"description": "Action of the workflow automation.",
"enum": [
"cancel",
"Cancel",
"CANCEL",
"approve",
"Approve",
"APPROVE"
],
"type": "string"
},
"period": {
"description": "Period (ISO 8601) after which an action is executed on a Change Request if it is not resolved or cancelled.",
"format": "duration",
"type": "string"
}
},
"required": [
"action",
"period"
],
"type": "object"
},
"name": {
"description": "Name of the Approval Policy.",
"maxLength": 50,
"type": "string"
},
"review": {
"description": "An object describing review requirements for Change Requests, related to a specific policy. If ``null``, no additional review requirements are added to the related Change Requests.",
"properties": {
"groups": {
"description": "A list of user groups that will be added as required reviewers on Change Requests for the entities that match the policy.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
},
"reminderPeriod": {
"description": "Duration period in ISO 8601 format that indicates when to send a reminder for reviewing a Change Request after its creation or last reminder if it hasn't been approved yet. If ``null``, no review reminders are sent to the reviewers.",
"format": "duration",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"trigger": {
"description": "An object describing the trigger for the Approval Policy.",
"properties": {
"entityType": {
"description": "Type of entity to trigger on.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT",
"deploymentModel",
"DeploymentModel",
"DEPLOYMENT_MODEL",
"deploymentConfig",
"DeploymentConfig",
"DEPLOYMENT_CONFIG",
"deploymentStatus",
"DeploymentStatus",
"DEPLOYMENT_STATUS",
"deploymentMonitoringData",
"DeploymentMonitoringData",
"DEPLOYMENT_MONITORING_DATA"
],
"type": "string"
},
"filterGroups": {
"description": "A list of user groups to apply Approval Policy for. If User 'A' and User 'B' are both members of the same organisation, and User 'A' is a member of one of the groups listed in this field,but User 'B' is not, then an approval workflow will be triggerred for User 'A' on an action to the entity that matches policy condition, but not for User 'B'. If ``null``, approvals workflow will be triggered for all users.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"intendedAction": {
"description": "An object, describing the approvals workflow intended action.",
"properties": {
"action": {
"description": "Type of action to trigger on.",
"enum": [
"create",
"Create",
"CREATE",
"update",
"Update",
"UPDATE",
"delete",
"Delete",
"DELETE"
],
"type": "string"
},
"condition": {
"description": "An object, describing the condition to trigger on.",
"properties": {
"condition": {
"description": "Condition for the field content to trigger on.",
"enum": [
"equals",
"Equals",
"EQUALS"
],
"type": "string"
},
"fieldName": {
"description": "Name of the attribute of the entity to filter entities by. An example value is ``importance`` attribute for the deployment entity.",
"maxLength": 50,
"type": "string"
},
"values": {
"description": "Array of field values to apply condition to trigger on. If ``null`` for ``equals`` condition, then any value for the field is accepted.",
"items": {
"maxLength": 50,
"type": "string"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"condition",
"fieldName",
"values"
],
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"labels": {
"description": "Trigger Labels.",
"properties": {
"groupLabel": {
"description": "Group Label.",
"type": "string"
},
"label": {
"description": "Label.",
"type": "string"
}
},
"required": [
"groupLabel",
"label"
],
"type": "object"
}
},
"required": [
"entityType",
"intendedAction"
],
"type": "object"
}
},
"required": [
"active",
"name",
"trigger"
],
"type": "object"
}
Parameters
Example responses
201 Response
{
"properties": {
"active": {
"default": true,
"description": "Whether this policy is active.",
"type": "boolean"
},
"automaticAction": {
"description": "An object describing the automated action on the Change Request that will be performed if the request is not resolved within a given time period after its creation. If ``null``, no automated actions will be taken on the related Change Requests.",
"properties": {
"action": {
"description": "Action of the workflow automation.",
"enum": [
"cancel",
"Cancel",
"CANCEL",
"approve",
"Approve",
"APPROVE"
],
"type": "string"
},
"period": {
"description": "Period (ISO 8601) after which an action is executed on a Change Request if it is not resolved or cancelled.",
"format": "duration",
"type": "string"
}
},
"required": [
"action",
"period"
],
"type": "object"
},
"id": {
"description": "ID of the Approval Policy.",
"type": "string"
},
"name": {
"description": "Name of the Approval Policy.",
"maxLength": 50,
"type": "string"
},
"openRequests": {
"description": "Number of open Change Requests associated with the policy.",
"minimum": 0,
"type": "integer"
},
"review": {
"description": "An object describing review requirements for Change Requests, related to a specific policy. If ``null``, no additional review requirements are added to the related Change Requests.",
"properties": {
"groups": {
"description": "A list of user groups that will be added as required reviewers on Change Requests for the entities that match the policy.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
},
"reminderPeriod": {
"description": "Duration period in ISO 8601 format that indicates when to send a reminder for reviewing a Change Request after its creation or last reminder if it hasn't been approved yet. If ``null``, no review reminders are sent to the reviewers.",
"format": "duration",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"trigger": {
"description": "An object describing the trigger for the Approval Policy.",
"properties": {
"entityType": {
"description": "Type of entity to trigger on.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT",
"deploymentModel",
"DeploymentModel",
"DEPLOYMENT_MODEL",
"deploymentConfig",
"DeploymentConfig",
"DEPLOYMENT_CONFIG",
"deploymentStatus",
"DeploymentStatus",
"DEPLOYMENT_STATUS",
"deploymentMonitoringData",
"DeploymentMonitoringData",
"DEPLOYMENT_MONITORING_DATA"
],
"type": "string"
},
"filterGroups": {
"description": "A list of user groups to apply Approval Policy for. If User 'A' and User 'B' are both members of the same organisation, and User 'A' is a member of one of the groups listed in this field,but User 'B' is not, then an approval workflow will be triggerred for User 'A' on an action to the entity that matches policy condition, but not for User 'B'. If ``null``, approvals workflow will be triggered for all users.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"intendedAction": {
"description": "An object, describing the approvals workflow intended action.",
"properties": {
"action": {
"description": "Type of action to trigger on.",
"enum": [
"create",
"Create",
"CREATE",
"update",
"Update",
"UPDATE",
"delete",
"Delete",
"DELETE"
],
"type": "string"
},
"condition": {
"description": "An object, describing the condition to trigger on.",
"properties": {
"condition": {
"description": "Condition for the field content to trigger on.",
"enum": [
"equals",
"Equals",
"EQUALS"
],
"type": "string"
},
"fieldName": {
"description": "Name of the attribute of the entity to filter entities by. An example value is ``importance`` attribute for the deployment entity.",
"maxLength": 50,
"type": "string"
},
"values": {
"description": "Array of field values to apply condition to trigger on. If ``null`` for ``equals`` condition, then any value for the field is accepted.",
"items": {
"maxLength": 50,
"type": "string"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"condition",
"fieldName",
"values"
],
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"labels": {
"description": "Trigger Labels.",
"properties": {
"groupLabel": {
"description": "Group Label.",
"type": "string"
},
"label": {
"description": "Label.",
"type": "string"
}
},
"required": [
"groupLabel",
"label"
],
"type": "object"
}
},
"required": [
"entityType",
"intendedAction"
],
"type": "object"
}
},
"required": [
"active",
"id",
"name",
"openRequests",
"trigger"
],
"type": "object"
}
Responses
Delete an Approval Policy by approval policy ID
Operation path: DELETE /api/v2/approvalPolicies/{approvalPolicyId}/
Authentication requirements: BearerAuth
Delete the policy with the given ID.
Parameters
| Name |
In |
Type |
Required |
Description |
| approvalPolicyId |
path |
string |
true |
ID of the Approval Policy. |
Responses
| Status |
Meaning |
Description |
Schema |
| 204 |
No Content |
Approval Policy has been successfully deleted. |
None |
| 403 |
Forbidden |
Approval Policy management feature is disabled for the user. |
None |
| 404 |
Not Found |
Approval Policy does not exist or the user doesn't have access to it. |
None |
Retrieve an Approval Policy by approval policy ID
Operation path: GET /api/v2/approvalPolicies/{approvalPolicyId}/
Authentication requirements: BearerAuth
Retrieve the policy with the given ID.
Parameters
| Name |
In |
Type |
Required |
Description |
| approvalPolicyId |
path |
string |
true |
ID of the Approval Policy. |
Example responses
200 Response
{
"properties": {
"active": {
"default": true,
"description": "Whether this policy is active.",
"type": "boolean"
},
"automaticAction": {
"description": "An object describing the automated action on the Change Request that will be performed if the request is not resolved within a given time period after its creation. If ``null``, no automated actions will be taken on the related Change Requests.",
"properties": {
"action": {
"description": "Action of the workflow automation.",
"enum": [
"cancel",
"Cancel",
"CANCEL",
"approve",
"Approve",
"APPROVE"
],
"type": "string"
},
"period": {
"description": "Period (ISO 8601) after which an action is executed on a Change Request if it is not resolved or cancelled.",
"format": "duration",
"type": "string"
}
},
"required": [
"action",
"period"
],
"type": "object"
},
"id": {
"description": "ID of the Approval Policy.",
"type": "string"
},
"name": {
"description": "Name of the Approval Policy.",
"maxLength": 50,
"type": "string"
},
"openRequests": {
"description": "Number of open Change Requests associated with the policy.",
"minimum": 0,
"type": "integer"
},
"review": {
"description": "An object describing review requirements for Change Requests, related to a specific policy. If ``null``, no additional review requirements are added to the related Change Requests.",
"properties": {
"groups": {
"description": "A list of user groups that will be added as required reviewers on Change Requests for the entities that match the policy.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
},
"reminderPeriod": {
"description": "Duration period in ISO 8601 format that indicates when to send a reminder for reviewing a Change Request after its creation or last reminder if it hasn't been approved yet. If ``null``, no review reminders are sent to the reviewers.",
"format": "duration",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"trigger": {
"description": "An object describing the trigger for the Approval Policy.",
"properties": {
"entityType": {
"description": "Type of entity to trigger on.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT",
"deploymentModel",
"DeploymentModel",
"DEPLOYMENT_MODEL",
"deploymentConfig",
"DeploymentConfig",
"DEPLOYMENT_CONFIG",
"deploymentStatus",
"DeploymentStatus",
"DEPLOYMENT_STATUS",
"deploymentMonitoringData",
"DeploymentMonitoringData",
"DEPLOYMENT_MONITORING_DATA"
],
"type": "string"
},
"filterGroups": {
"description": "A list of user groups to apply Approval Policy for. If User 'A' and User 'B' are both members of the same organisation, and User 'A' is a member of one of the groups listed in this field,but User 'B' is not, then an approval workflow will be triggerred for User 'A' on an action to the entity that matches policy condition, but not for User 'B'. If ``null``, approvals workflow will be triggered for all users.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"intendedAction": {
"description": "An object, describing the approvals workflow intended action.",
"properties": {
"action": {
"description": "Type of action to trigger on.",
"enum": [
"create",
"Create",
"CREATE",
"update",
"Update",
"UPDATE",
"delete",
"Delete",
"DELETE"
],
"type": "string"
},
"condition": {
"description": "An object, describing the condition to trigger on.",
"properties": {
"condition": {
"description": "Condition for the field content to trigger on.",
"enum": [
"equals",
"Equals",
"EQUALS"
],
"type": "string"
},
"fieldName": {
"description": "Name of the attribute of the entity to filter entities by. An example value is ``importance`` attribute for the deployment entity.",
"maxLength": 50,
"type": "string"
},
"values": {
"description": "Array of field values to apply condition to trigger on. If ``null`` for ``equals`` condition, then any value for the field is accepted.",
"items": {
"maxLength": 50,
"type": "string"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"condition",
"fieldName",
"values"
],
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"labels": {
"description": "Trigger Labels.",
"properties": {
"groupLabel": {
"description": "Group Label.",
"type": "string"
},
"label": {
"description": "Label.",
"type": "string"
}
},
"required": [
"groupLabel",
"label"
],
"type": "object"
}
},
"required": [
"entityType",
"intendedAction"
],
"type": "object"
}
},
"required": [
"active",
"id",
"name",
"openRequests",
"trigger"
],
"type": "object"
}
Responses
| Status |
Meaning |
Description |
Schema |
| 200 |
OK |
Approval Policy has been successfully retrieved. |
ApprovalPolicyResponse |
| 403 |
Forbidden |
Approval Policy management feature is disabled for the user. |
None |
| 404 |
Not Found |
Approval Policy does not exist or the user doesn't have access to it. |
None |
Update an Approval Policy by approval policy ID
Operation path: PUT /api/v2/approvalPolicies/{approvalPolicyId}/
Authentication requirements: BearerAuth
Update the policy with the given ID.
Body parameter
{
"properties": {
"active": {
"default": true,
"description": "Whether this policy is active.",
"type": "boolean"
},
"automaticAction": {
"description": "An object describing the automated action on the Change Request that will be performed if the request is not resolved within a given time period after its creation. If ``null``, no automated actions will be taken on the related Change Requests.",
"properties": {
"action": {
"description": "Action of the workflow automation.",
"enum": [
"cancel",
"Cancel",
"CANCEL",
"approve",
"Approve",
"APPROVE"
],
"type": "string"
},
"period": {
"description": "Period (ISO 8601) after which an action is executed on a Change Request if it is not resolved or cancelled.",
"format": "duration",
"type": "string"
}
},
"required": [
"action",
"period"
],
"type": "object"
},
"name": {
"description": "Name of the Approval Policy.",
"maxLength": 50,
"type": "string"
},
"review": {
"description": "An object describing review requirements for Change Requests, related to a specific policy. If ``null``, no additional review requirements are added to the related Change Requests.",
"properties": {
"groups": {
"description": "A list of user groups that will be added as required reviewers on Change Requests for the entities that match the policy.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
},
"reminderPeriod": {
"description": "Duration period in ISO 8601 format that indicates when to send a reminder for reviewing a Change Request after its creation or last reminder if it hasn't been approved yet. If ``null``, no review reminders are sent to the reviewers.",
"format": "duration",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"trigger": {
"description": "An object describing the trigger for the Approval Policy.",
"properties": {
"entityType": {
"description": "Type of entity to trigger on.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT",
"deploymentModel",
"DeploymentModel",
"DEPLOYMENT_MODEL",
"deploymentConfig",
"DeploymentConfig",
"DEPLOYMENT_CONFIG",
"deploymentStatus",
"DeploymentStatus",
"DEPLOYMENT_STATUS",
"deploymentMonitoringData",
"DeploymentMonitoringData",
"DEPLOYMENT_MONITORING_DATA"
],
"type": "string"
},
"filterGroups": {
"description": "A list of user groups to apply Approval Policy for. If User 'A' and User 'B' are both members of the same organisation, and User 'A' is a member of one of the groups listed in this field,but User 'B' is not, then an approval workflow will be triggerred for User 'A' on an action to the entity that matches policy condition, but not for User 'B'. If ``null``, approvals workflow will be triggered for all users.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"intendedAction": {
"description": "An object, describing the approvals workflow intended action.",
"properties": {
"action": {
"description": "Type of action to trigger on.",
"enum": [
"create",
"Create",
"CREATE",
"update",
"Update",
"UPDATE",
"delete",
"Delete",
"DELETE"
],
"type": "string"
},
"condition": {
"description": "An object, describing the condition to trigger on.",
"properties": {
"condition": {
"description": "Condition for the field content to trigger on.",
"enum": [
"equals",
"Equals",
"EQUALS"
],
"type": "string"
},
"fieldName": {
"description": "Name of the attribute of the entity to filter entities by. An example value is ``importance`` attribute for the deployment entity.",
"maxLength": 50,
"type": "string"
},
"values": {
"description": "Array of field values to apply condition to trigger on. If ``null`` for ``equals`` condition, then any value for the field is accepted.",
"items": {
"maxLength": 50,
"type": "string"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"condition",
"fieldName",
"values"
],
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"labels": {
"description": "Trigger Labels.",
"properties": {
"groupLabel": {
"description": "Group Label.",
"type": "string"
},
"label": {
"description": "Label.",
"type": "string"
}
},
"required": [
"groupLabel",
"label"
],
"type": "object"
}
},
"required": [
"entityType",
"intendedAction"
],
"type": "object"
}
},
"required": [
"active",
"name",
"trigger"
],
"type": "object"
}
Parameters
| Name |
In |
Type |
Required |
Description |
| approvalPolicyId |
path |
string |
true |
ID of the Approval Policy. |
| body |
body |
ApprovalPolicy |
false |
none |
Example responses
200 Response
{
"properties": {
"active": {
"default": true,
"description": "Whether this policy is active.",
"type": "boolean"
},
"automaticAction": {
"description": "An object describing the automated action on the Change Request that will be performed if the request is not resolved within a given time period after its creation. If ``null``, no automated actions will be taken on the related Change Requests.",
"properties": {
"action": {
"description": "Action of the workflow automation.",
"enum": [
"cancel",
"Cancel",
"CANCEL",
"approve",
"Approve",
"APPROVE"
],
"type": "string"
},
"period": {
"description": "Period (ISO 8601) after which an action is executed on a Change Request if it is not resolved or cancelled.",
"format": "duration",
"type": "string"
}
},
"required": [
"action",
"period"
],
"type": "object"
},
"id": {
"description": "ID of the Approval Policy.",
"type": "string"
},
"name": {
"description": "Name of the Approval Policy.",
"maxLength": 50,
"type": "string"
},
"openRequests": {
"description": "Number of open Change Requests associated with the policy.",
"minimum": 0,
"type": "integer"
},
"review": {
"description": "An object describing review requirements for Change Requests, related to a specific policy. If ``null``, no additional review requirements are added to the related Change Requests.",
"properties": {
"groups": {
"description": "A list of user groups that will be added as required reviewers on Change Requests for the entities that match the policy.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
},
"reminderPeriod": {
"description": "Duration period in ISO 8601 format that indicates when to send a reminder for reviewing a Change Request after its creation or last reminder if it hasn't been approved yet. If ``null``, no review reminders are sent to the reviewers.",
"format": "duration",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"trigger": {
"description": "An object describing the trigger for the Approval Policy.",
"properties": {
"entityType": {
"description": "Type of entity to trigger on.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT",
"deploymentModel",
"DeploymentModel",
"DEPLOYMENT_MODEL",
"deploymentConfig",
"DeploymentConfig",
"DEPLOYMENT_CONFIG",
"deploymentStatus",
"DeploymentStatus",
"DEPLOYMENT_STATUS",
"deploymentMonitoringData",
"DeploymentMonitoringData",
"DEPLOYMENT_MONITORING_DATA"
],
"type": "string"
},
"filterGroups": {
"description": "A list of user groups to apply Approval Policy for. If User 'A' and User 'B' are both members of the same organisation, and User 'A' is a member of one of the groups listed in this field,but User 'B' is not, then an approval workflow will be triggerred for User 'A' on an action to the entity that matches policy condition, but not for User 'B'. If ``null``, approvals workflow will be triggered for all users.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"intendedAction": {
"description": "An object, describing the approvals workflow intended action.",
"properties": {
"action": {
"description": "Type of action to trigger on.",
"enum": [
"create",
"Create",
"CREATE",
"update",
"Update",
"UPDATE",
"delete",
"Delete",
"DELETE"
],
"type": "string"
},
"condition": {
"description": "An object, describing the condition to trigger on.",
"properties": {
"condition": {
"description": "Condition for the field content to trigger on.",
"enum": [
"equals",
"Equals",
"EQUALS"
],
"type": "string"
},
"fieldName": {
"description": "Name of the attribute of the entity to filter entities by. An example value is ``importance`` attribute for the deployment entity.",
"maxLength": 50,
"type": "string"
},
"values": {
"description": "Array of field values to apply condition to trigger on. If ``null`` for ``equals`` condition, then any value for the field is accepted.",
"items": {
"maxLength": 50,
"type": "string"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"condition",
"fieldName",
"values"
],
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"labels": {
"description": "Trigger Labels.",
"properties": {
"groupLabel": {
"description": "Group Label.",
"type": "string"
},
"label": {
"description": "Label.",
"type": "string"
}
},
"required": [
"groupLabel",
"label"
],
"type": "object"
}
},
"required": [
"entityType",
"intendedAction"
],
"type": "object"
}
},
"required": [
"active",
"id",
"name",
"openRequests",
"trigger"
],
"type": "object"
}
Responses
| Status |
Meaning |
Description |
Schema |
| 200 |
OK |
Approval Policy has been successfully updated. |
ApprovalPolicyResponse |
| 403 |
Forbidden |
Approval Policy management feature is disabled for the user. |
None |
| 404 |
Not Found |
Approval Policy does not exist or the user doesn't have access to it. |
None |
| 422 |
Unprocessable Entity |
Approval Policy could not be created with the given input. |
None |
Retrieve associated Change Requests Info by approval policy ID
Operation path: GET /api/v2/approvalPolicies/{approvalPolicyId}/shareableChangeRequests/
Authentication requirements: BearerAuth
Get information about Change Requests submitted for a certain Approval Policy.
Parameters
| Name |
In |
Type |
Required |
Description |
| offset |
query |
integer |
false |
Number of results to skip. |
| limit |
query |
integer |
false |
At most this many results are returned. The default may change without notice. |
| orderBy |
query |
string |
false |
Attribute to order Change Requests by. |
| approvalPolicyId |
path |
string |
true |
ID of the Approval Policy. |
Example responses
200 Response
{
"properties": {
"count": {
"description": "Number of items returned on this page.",
"type": "integer"
},
"data": {
"description": "List of Approval Policies.",
"items": {
"properties": {
"changeRequestId": {
"description": "ID of the Change Request.",
"type": "string"
},
"createDate": {
"description": "Change Request creation date.",
"format": "date-time",
"type": "string"
},
"entityId": {
"description": "ID of the modified entity.",
"type": "string"
},
"entityName": {
"description": "Name of the modified entity.",
"type": [
"string",
"null"
]
},
"requester": {
"description": "Username of the account that initiated a Change Request.",
"type": "string"
},
"state": {
"description": "Status of the Change Request.",
"enum": [
"OPENED",
"RESOLVED",
"CANCELLED"
],
"type": "string"
},
"updateDate": {
"description": "Last date when Change Request was modified.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"updatedBy": {
"description": "Username of the account that last updated the Change Request.",
"type": [
"string",
"null"
]
}
},
"required": [
"changeRequestId",
"createDate",
"entityId",
"entityName",
"requester",
"state",
"updateDate",
"updatedBy"
],
"type": "object"
},
"type": "array"
},
"next": {
"description": "URL pointing to the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "URL pointing to the previous page (if null, there is no previous page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "The total number of items across all pages.",
"type": "integer"
}
},
"required": [
"data",
"next",
"previous",
"totalCount"
],
"type": "object"
}
Responses
| Status |
Meaning |
Description |
Schema |
| 200 |
OK |
Change Requests information has been successfully retrieved. |
ChangeRequestInfoListResponse |
| 403 |
Forbidden |
Approval Policy management feature is disabled for the user. |
None |
| 404 |
Not Found |
Approval Policy does not exist or the user doesn't have access to it. |
None |
Get policy ID matching the query
Operation path: GET /api/v2/approvalPolicyMatch/
Authentication requirements: BearerAuth
Get policy ID matching the query.
Parameters
| Name |
In |
Type |
Required |
Description |
| entityType |
query |
string |
true |
Searched typed of the entity. |
| action |
query |
string |
true |
Searched policy action. |
| fieldName |
query |
string,null |
false |
Name of the entity field to filter policies by. |
| fieldValue |
query |
string,null |
false |
Value of the entity field to filter policies by. |
Enumerated Values
| Parameter |
Value |
| entityType |
[deployment, Deployment, DEPLOYMENT, deploymentModel, DeploymentModel, DEPLOYMENT_MODEL, deploymentConfig, DeploymentConfig, DEPLOYMENT_CONFIG, deploymentStatus, DeploymentStatus, DEPLOYMENT_STATUS, deploymentMonitoringData, DeploymentMonitoringData, DEPLOYMENT_MONITORING_DATA] |
| action |
[create, Create, CREATE, update, Update, UPDATE, delete, Delete, DELETE] |
Example responses
200 Response
{
"properties": {
"action": {
"description": "Searched policy action.",
"enum": [
"create",
"Create",
"CREATE",
"update",
"Update",
"UPDATE",
"delete",
"Delete",
"DELETE"
],
"type": "string"
},
"entityType": {
"description": "Searched typed of the entity.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT",
"deploymentModel",
"DeploymentModel",
"DEPLOYMENT_MODEL",
"deploymentConfig",
"DeploymentConfig",
"DEPLOYMENT_CONFIG",
"deploymentStatus",
"DeploymentStatus",
"DEPLOYMENT_STATUS",
"deploymentMonitoringData",
"DeploymentMonitoringData",
"DEPLOYMENT_MONITORING_DATA"
],
"type": "string"
},
"fieldName": {
"description": "Name of the entity field to filter policies by.",
"maxLength": 50,
"type": [
"string",
"null"
]
},
"fieldValue": {
"description": "Value of the entity field to filter policies by.",
"maxLength": 50,
"type": [
"string",
"null"
]
},
"policyId": {
"description": "ID of the matching approval policy. ``null`` if no matching policies found.",
"type": [
"string",
"null"
]
}
},
"required": [
"action",
"entityType",
"policyId"
],
"type": "object"
}
Responses
Get a list of available policy triggers
Operation path: GET /api/v2/approvalPolicyTriggers/
Authentication requirements: BearerAuth
Get a list of available policy triggers.
Example responses
200 Response
{
"properties": {
"data": {
"description": "List of available Approval Policy Triggers.",
"items": {
"description": "An object describing the trigger for the Approval Policy.",
"properties": {
"entityType": {
"description": "Type of entity to trigger on.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT",
"deploymentModel",
"DeploymentModel",
"DEPLOYMENT_MODEL",
"deploymentConfig",
"DeploymentConfig",
"DEPLOYMENT_CONFIG",
"deploymentStatus",
"DeploymentStatus",
"DEPLOYMENT_STATUS",
"deploymentMonitoringData",
"DeploymentMonitoringData",
"DEPLOYMENT_MONITORING_DATA"
],
"type": "string"
},
"filterGroups": {
"description": "A list of user groups to apply Approval Policy for. If User 'A' and User 'B' are both members of the same organisation, and User 'A' is a member of one of the groups listed in this field,but User 'B' is not, then an approval workflow will be triggerred for User 'A' on an action to the entity that matches policy condition, but not for User 'B'. If ``null``, approvals workflow will be triggered for all users.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"intendedAction": {
"description": "An object, describing the approvals workflow intended action.",
"properties": {
"action": {
"description": "Type of action to trigger on.",
"enum": [
"create",
"Create",
"CREATE",
"update",
"Update",
"UPDATE",
"delete",
"Delete",
"DELETE"
],
"type": "string"
},
"condition": {
"description": "An object, describing the condition to trigger on.",
"properties": {
"condition": {
"description": "Condition for the field content to trigger on.",
"enum": [
"equals",
"Equals",
"EQUALS"
],
"type": "string"
},
"fieldName": {
"description": "Name of the attribute of the entity to filter entities by. An example value is ``importance`` attribute for the deployment entity.",
"maxLength": 50,
"type": "string"
},
"values": {
"description": "Array of field values to apply condition to trigger on. If ``null`` for ``equals`` condition, then any value for the field is accepted.",
"items": {
"maxLength": 50,
"type": "string"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"condition",
"fieldName",
"values"
],
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"labels": {
"description": "Trigger Labels.",
"properties": {
"groupLabel": {
"description": "Group Label.",
"type": "string"
},
"label": {
"description": "Label.",
"type": "string"
}
},
"required": [
"groupLabel",
"label"
],
"type": "object"
}
},
"required": [
"entityType",
"intendedAction"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"data"
],
"type": "object"
}
Responses
List Change Requests
Operation path: GET /api/v2/changeRequests/
Authentication requirements: BearerAuth
List all Change Requests accessible by the user for the given product entity type.
Parameters
| Name |
In |
Type |
Required |
Description |
| offset |
query |
integer |
false |
Number of results to skip. |
| limit |
query |
integer |
false |
At most this many results are returned. The default may change without notice. |
| entityType |
query |
string |
true |
Type of the entity to filter requests by. |
| entityId |
query |
any |
false |
ID of the entity to filter change requests by. |
| myRequests |
query |
string |
false |
Filter change requests by the owner. If true, only returns change requests owned by the user. If false, only returns change requests owned by other users but accessible to the requester. |
| showApproved |
query |
string |
false |
Filter change requests by status. If true, only returns approved change requests. If false, only returns not approved change requests. |
| showCancelled |
query |
string |
false |
Filter change requests by status. If true, only returns cancelled change requests. If false, only returns not cancelled change requests. |
| status |
query |
any |
false |
Filter change requests by status. |
| orderBy |
query |
string |
false |
The order that the results should be retrieved in. |
Enumerated Values
| Parameter |
Value |
| entityType |
[deployment, Deployment, DEPLOYMENT] |
| myRequests |
[false, False, true, True] |
| showApproved |
[false, False, true, True] |
| showCancelled |
[false, False, true, True] |
| orderBy |
[createdAt, -createdAt, processedAt, -processedAt, updatedAt, -updatedAt] |
Example responses
201 Response
{
"properties": {
"count": {
"description": "Number of items returned on this page.",
"type": "integer"
},
"data": {
"description": "List of Change Requests",
"items": {
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"approve",
"Approve",
"APPROVE",
"changeStatus",
"ChangeStatus",
"CHANGE_STATUS",
"changeImportance",
"ChangeImportance",
"CHANGE_IMPORTANCE",
"cleanupStats",
"CleanupStats",
"CLEANUP_STATS",
"delete",
"Delete",
"DELETE",
"replaceModel",
"ReplaceModel",
"REPLACE_MODEL",
"replaceModelPackage",
"ReplaceModelPackage",
"REPLACE_MODEL_PACKAGE",
"updateSecondaryDatasetConfigs",
"UpdateSecondaryDatasetConfigs",
"UPDATE_SECONDARY_DATASET_CONFIGS"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Change that the user wants to apply to the entity. Needs to be provided if the action, like `approve` action for a deployment, requires additional parameters . `null` if the action does not require any additional parameters to be applied. ",
"oneOf": [
{
"description": "Approve a deployment.",
"properties": {
"approvalStatus": {
"description": "Deployment approval status to set.",
"enum": [
"APPROVED"
],
"type": "string"
}
},
"required": [
"approvalStatus"
],
"type": "object"
},
{
"description": "Change deployment status.",
"properties": {
"status": {
"description": "Deployment status to set.",
"enum": [
"active",
"inactive"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"description": "Change deployment importance.",
"properties": {
"importance": {
"description": "Deployment Importance to set.",
"enum": [
"CRITICAL",
"HIGH",
"MODERATE",
"LOW"
],
"type": "string"
}
},
"required": [
"importance"
],
"type": "object"
},
{
"description": "Cleanup deployment stats.",
"properties": {
"dataType": {
"description": "Type of stats to cleanup.",
"enum": [
"monitoring"
],
"type": "string"
},
"end": {
"description": "If specified, the stats will be cleaned up to this timestamp. If ``null`` all stats till the deployment end forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"modelId": {
"default": null,
"description": "ID of the model to remove deployment stats for. If ``null``, the stats will be cleaned up for all models in the mathcing period. Defaults to ``null``.",
"type": [
"string",
"null"
]
},
"start": {
"description": "If specified, the stats will be cleaned up from this timestamp. If ``null`` all stats from the deployment start forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
}
},
"required": [
"dataType",
"end",
"modelId",
"start"
],
"type": "object"
},
{
"description": "Replace model in deployment.",
"properties": {
"modelId": {
"description": "ID of the Model to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelId",
"replacementReason"
],
"type": "object"
},
{
"description": "Replace model package in deployment.",
"properties": {
"modelPackageId": {
"description": "ID of the Model Package to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelPackageId",
"replacementReason"
],
"type": "object"
},
{
"description": "Update secondary dataset config for deployment.",
"properties": {
"secondaryDatasetsConfigId": {
"description": "ID of the secondary dataset configs.",
"type": "string"
}
},
"required": [
"secondaryDatasetsConfigId"
],
"type": "object"
},
{
"type": "null"
}
]
},
"changeVersionId": {
"description": "ID of the current version of change within this Change Request. It's possible to modify the changes that have been requested. At the same time, we need to make sure that review is associated with the correct changes, that's why we implement versioning on the changes and associate user reviews with the specific Change Request versions.",
"type": "string"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"createdAt": {
"description": "Timestamp when the request was created.",
"format": "date-time",
"type": "string"
},
"diff": {
"description": "The difference between the current entity state and the state of the entity if the Change Request gets applied.",
"properties": {
"changesFrom": {
"description": "List of human readable messages describing the state of the entity before changes are applied.",
"items": {
"description": "Single message line.",
"type": "string"
},
"maxItems": 1000,
"type": "array"
},
"changesTo": {
"description": "List of human readable messages describing the state of the entity after changes are applied.",
"items": {
"description": "Single message line.",
"type": "string"
},
"maxItems": 1000,
"type": "array"
}
},
"required": [
"changesFrom",
"changesTo"
],
"type": "object"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
},
"id": {
"description": "ID of the Change Request.",
"type": "string"
},
"numApprovalsRequired": {
"description": "Number of approving reviews required for the Change Request to be considered approved.",
"minimum": 0,
"type": "integer"
},
"processedAt": {
"description": "Timestamp when the request was processed.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"status": {
"description": "Change Request Status.",
"enum": [
"pending",
"Pending",
"PENDING",
"approved",
"Approved",
"APPROVED",
"changesRequested",
"ChangesRequested",
"CHANGES_REQUESTED",
"resolved",
"Resolved",
"RESOLVED",
"cancelled",
"Cancelled",
"CANCELLED"
],
"type": "string"
},
"statusChangedAt": {
"description": "Timestamp when the current request status was set. `null` if status is set by the system.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"statusChangedBy": {
"description": "ID of the user who set the current request status. `null` if the status was set by the system.",
"type": [
"string",
"null"
]
},
"updatedAt": {
"description": "Timestamp when the request was last modified.",
"format": "date-time",
"type": "string"
},
"userId": {
"description": "ID of the user, who created the Change Request.",
"type": "string"
},
"userName": {
"description": "Email of the user, who created the Change Request",
"type": [
"string",
"null"
]
},
"userOperations": {
"description": "A set operations the user can or can not make with the Change Request.",
"properties": {
"canCancel": {
"description": "Whether the user can cancel the Change Request.",
"type": "boolean"
},
"canComment": {
"description": "Whether the user can create commenting review on the Change Request.",
"type": "boolean"
},
"canResolve": {
"description": "Whether the user can resolve the Change Request.",
"type": "boolean"
},
"canReview": {
"description": "Whether the user can review (approve or request updates) the Change Request.",
"type": "boolean"
},
"canUpdate": {
"description": "Whether the user can update the Change Request.",
"type": "boolean"
}
},
"required": [
"canCancel",
"canComment",
"canResolve",
"canReview",
"canUpdate"
],
"type": "object"
}
},
"required": [
"action",
"autoApply",
"change",
"changeVersionId",
"createdAt",
"diff",
"entityId",
"entityType",
"id",
"numApprovalsRequired",
"processedAt",
"status",
"statusChangedAt",
"statusChangedBy",
"updatedAt",
"userId",
"userName",
"userOperations"
],
"type": "object"
},
"maxItems": 1000,
"type": "array"
},
"next": {
"description": "URL pointing to the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "URL pointing to the previous page (if null, there is no previous page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "The total number of items across all pages.",
"type": "integer"
}
},
"required": [
"data",
"next",
"previous",
"totalCount"
],
"type": "object"
}
Responses
Create Change Request
Operation path: POST /api/v2/changeRequests/
Authentication requirements: BearerAuth
Request changes for a supported product entity. For now, you can request changes for deployments only.
Body parameter
{
"discriminator": {
"propertyName": "action"
},
"oneOf": [
{
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"approve"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Approve a deployment.",
"properties": {
"approvalStatus": {
"description": "Deployment approval status to set.",
"enum": [
"APPROVED"
],
"type": "string"
}
},
"required": [
"approvalStatus"
],
"type": "object"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
}
},
"required": [
"action",
"autoApply",
"change",
"entityId",
"entityType"
],
"type": "object"
},
{
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"changeStatus"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Change deployment status.",
"properties": {
"status": {
"description": "Deployment status to set.",
"enum": [
"active",
"inactive"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
}
},
"required": [
"action",
"autoApply",
"change",
"entityId",
"entityType"
],
"type": "object"
},
{
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"changeImportance"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Change deployment importance.",
"properties": {
"importance": {
"description": "Deployment Importance to set.",
"enum": [
"CRITICAL",
"HIGH",
"MODERATE",
"LOW"
],
"type": "string"
}
},
"required": [
"importance"
],
"type": "object"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
}
},
"required": [
"action",
"autoApply",
"change",
"entityId",
"entityType"
],
"type": "object"
},
{
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"cleanupStats"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Cleanup deployment stats.",
"properties": {
"dataType": {
"description": "Type of stats to cleanup.",
"enum": [
"monitoring"
],
"type": "string"
},
"end": {
"description": "If specified, the stats will be cleaned up to this timestamp. If ``null`` all stats till the deployment end forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"modelId": {
"default": null,
"description": "ID of the model to remove deployment stats for. If ``null``, the stats will be cleaned up for all models in the mathcing period. Defaults to ``null``.",
"type": [
"string",
"null"
]
},
"start": {
"description": "If specified, the stats will be cleaned up from this timestamp. If ``null`` all stats from the deployment start forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
}
},
"required": [
"dataType",
"end",
"modelId",
"start"
],
"type": "object"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
}
},
"required": [
"action",
"autoApply",
"change",
"entityId",
"entityType"
],
"type": "object"
},
{
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"delete"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Delete a deployment.",
"properties": {
"defaultDeploymentId": {
"description": "Used by management agent to recalculate endpoint traffic. Traffic from the deploymentbeing deleted flipped to a default deployment.",
"type": "string"
},
"ignoreManagementAgent": {
"default": "false",
"description": "Do not wait for management agent to delete the deployment first.",
"enum": [
"false",
"False",
"true",
"True"
],
"type": "string"
}
},
"type": "object"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
}
},
"required": [
"action",
"autoApply",
"entityId",
"entityType"
],
"type": "object"
},
{
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"replaceModel"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Replace model in deployment.",
"properties": {
"modelId": {
"description": "ID of the Model to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelId",
"replacementReason"
],
"type": "object"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
}
},
"required": [
"action",
"autoApply",
"change",
"entityId",
"entityType"
],
"type": "object"
},
{
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"replaceModelPackage"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Replace model package in deployment.",
"properties": {
"modelPackageId": {
"description": "ID of the Model Package to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelPackageId",
"replacementReason"
],
"type": "object"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
}
},
"required": [
"action",
"autoApply",
"change",
"entityId",
"entityType"
],
"type": "object"
},
{
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"updateSecondaryDatasetConfigs"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Update secondary dataset config for deployment.",
"properties": {
"secondaryDatasetsConfigId": {
"description": "ID of the secondary dataset configs.",
"type": "string"
}
},
"required": [
"secondaryDatasetsConfigId"
],
"type": "object"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
}
},
"required": [
"action",
"autoApply",
"change",
"entityId",
"entityType"
],
"type": "object"
}
]
}
Parameters
Example responses
201 Response
{
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"approve",
"Approve",
"APPROVE",
"changeStatus",
"ChangeStatus",
"CHANGE_STATUS",
"changeImportance",
"ChangeImportance",
"CHANGE_IMPORTANCE",
"cleanupStats",
"CleanupStats",
"CLEANUP_STATS",
"delete",
"Delete",
"DELETE",
"replaceModel",
"ReplaceModel",
"REPLACE_MODEL",
"replaceModelPackage",
"ReplaceModelPackage",
"REPLACE_MODEL_PACKAGE",
"updateSecondaryDatasetConfigs",
"UpdateSecondaryDatasetConfigs",
"UPDATE_SECONDARY_DATASET_CONFIGS"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Change that the user wants to apply to the entity. Needs to be provided if the action, like `approve` action for a deployment, requires additional parameters . `null` if the action does not require any additional parameters to be applied. ",
"oneOf": [
{
"description": "Approve a deployment.",
"properties": {
"approvalStatus": {
"description": "Deployment approval status to set.",
"enum": [
"APPROVED"
],
"type": "string"
}
},
"required": [
"approvalStatus"
],
"type": "object"
},
{
"description": "Change deployment status.",
"properties": {
"status": {
"description": "Deployment status to set.",
"enum": [
"active",
"inactive"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"description": "Change deployment importance.",
"properties": {
"importance": {
"description": "Deployment Importance to set.",
"enum": [
"CRITICAL",
"HIGH",
"MODERATE",
"LOW"
],
"type": "string"
}
},
"required": [
"importance"
],
"type": "object"
},
{
"description": "Cleanup deployment stats.",
"properties": {
"dataType": {
"description": "Type of stats to cleanup.",
"enum": [
"monitoring"
],
"type": "string"
},
"end": {
"description": "If specified, the stats will be cleaned up to this timestamp. If ``null`` all stats till the deployment end forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"modelId": {
"default": null,
"description": "ID of the model to remove deployment stats for. If ``null``, the stats will be cleaned up for all models in the mathcing period. Defaults to ``null``.",
"type": [
"string",
"null"
]
},
"start": {
"description": "If specified, the stats will be cleaned up from this timestamp. If ``null`` all stats from the deployment start forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
}
},
"required": [
"dataType",
"end",
"modelId",
"start"
],
"type": "object"
},
{
"description": "Replace model in deployment.",
"properties": {
"modelId": {
"description": "ID of the Model to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelId",
"replacementReason"
],
"type": "object"
},
{
"description": "Replace model package in deployment.",
"properties": {
"modelPackageId": {
"description": "ID of the Model Package to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelPackageId",
"replacementReason"
],
"type": "object"
},
{
"description": "Update secondary dataset config for deployment.",
"properties": {
"secondaryDatasetsConfigId": {
"description": "ID of the secondary dataset configs.",
"type": "string"
}
},
"required": [
"secondaryDatasetsConfigId"
],
"type": "object"
},
{
"type": "null"
}
]
},
"changeVersionId": {
"description": "ID of the current version of change within this Change Request. It's possible to modify the changes that have been requested. At the same time, we need to make sure that review is associated with the correct changes, that's why we implement versioning on the changes and associate user reviews with the specific Change Request versions.",
"type": "string"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"createdAt": {
"description": "Timestamp when the request was created.",
"format": "date-time",
"type": "string"
},
"diff": {
"description": "The difference between the current entity state and the state of the entity if the Change Request gets applied.",
"properties": {
"changesFrom": {
"description": "List of human readable messages describing the state of the entity before changes are applied.",
"items": {
"description": "Single message line.",
"type": "string"
},
"maxItems": 1000,
"type": "array"
},
"changesTo": {
"description": "List of human readable messages describing the state of the entity after changes are applied.",
"items": {
"description": "Single message line.",
"type": "string"
},
"maxItems": 1000,
"type": "array"
}
},
"required": [
"changesFrom",
"changesTo"
],
"type": "object"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
},
"id": {
"description": "ID of the Change Request.",
"type": "string"
},
"numApprovalsRequired": {
"description": "Number of approving reviews required for the Change Request to be considered approved.",
"minimum": 0,
"type": "integer"
},
"processedAt": {
"description": "Timestamp when the request was processed.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"status": {
"description": "Change Request Status.",
"enum": [
"pending",
"Pending",
"PENDING",
"approved",
"Approved",
"APPROVED",
"changesRequested",
"ChangesRequested",
"CHANGES_REQUESTED",
"resolved",
"Resolved",
"RESOLVED",
"cancelled",
"Cancelled",
"CANCELLED"
],
"type": "string"
},
"statusChangedAt": {
"description": "Timestamp when the current request status was set. `null` if status is set by the system.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"statusChangedBy": {
"description": "ID of the user who set the current request status. `null` if the status was set by the system.",
"type": [
"string",
"null"
]
},
"updatedAt": {
"description": "Timestamp when the request was last modified.",
"format": "date-time",
"type": "string"
},
"userId": {
"description": "ID of the user, who created the Change Request.",
"type": "string"
},
"userName": {
"description": "Email of the user, who created the Change Request",
"type": [
"string",
"null"
]
},
"userOperations": {
"description": "A set operations the user can or can not make with the Change Request.",
"properties": {
"canCancel": {
"description": "Whether the user can cancel the Change Request.",
"type": "boolean"
},
"canComment": {
"description": "Whether the user can create commenting review on the Change Request.",
"type": "boolean"
},
"canResolve": {
"description": "Whether the user can resolve the Change Request.",
"type": "boolean"
},
"canReview": {
"description": "Whether the user can review (approve or request updates) the Change Request.",
"type": "boolean"
},
"canUpdate": {
"description": "Whether the user can update the Change Request.",
"type": "boolean"
}
},
"required": [
"canCancel",
"canComment",
"canResolve",
"canReview",
"canUpdate"
],
"type": "object"
}
},
"required": [
"action",
"autoApply",
"change",
"changeVersionId",
"createdAt",
"diff",
"entityId",
"entityType",
"id",
"numApprovalsRequired",
"processedAt",
"status",
"statusChangedAt",
"statusChangedBy",
"updatedAt",
"userId",
"userName",
"userOperations"
],
"type": "object"
}
Responses
Retrieve Change Request by change request ID
Operation path: GET /api/v2/changeRequests/{changeRequestId}/
Authentication requirements: BearerAuth
Retrieve Change Request by ID.
Parameters
| Name |
In |
Type |
Required |
Description |
| changeRequestId |
path |
string |
true |
ID of the Change Request. |
Example responses
200 Response
{
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"approve",
"Approve",
"APPROVE",
"changeStatus",
"ChangeStatus",
"CHANGE_STATUS",
"changeImportance",
"ChangeImportance",
"CHANGE_IMPORTANCE",
"cleanupStats",
"CleanupStats",
"CLEANUP_STATS",
"delete",
"Delete",
"DELETE",
"replaceModel",
"ReplaceModel",
"REPLACE_MODEL",
"replaceModelPackage",
"ReplaceModelPackage",
"REPLACE_MODEL_PACKAGE",
"updateSecondaryDatasetConfigs",
"UpdateSecondaryDatasetConfigs",
"UPDATE_SECONDARY_DATASET_CONFIGS"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Change that the user wants to apply to the entity. Needs to be provided if the action, like `approve` action for a deployment, requires additional parameters . `null` if the action does not require any additional parameters to be applied. ",
"oneOf": [
{
"description": "Approve a deployment.",
"properties": {
"approvalStatus": {
"description": "Deployment approval status to set.",
"enum": [
"APPROVED"
],
"type": "string"
}
},
"required": [
"approvalStatus"
],
"type": "object"
},
{
"description": "Change deployment status.",
"properties": {
"status": {
"description": "Deployment status to set.",
"enum": [
"active",
"inactive"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"description": "Change deployment importance.",
"properties": {
"importance": {
"description": "Deployment Importance to set.",
"enum": [
"CRITICAL",
"HIGH",
"MODERATE",
"LOW"
],
"type": "string"
}
},
"required": [
"importance"
],
"type": "object"
},
{
"description": "Cleanup deployment stats.",
"properties": {
"dataType": {
"description": "Type of stats to cleanup.",
"enum": [
"monitoring"
],
"type": "string"
},
"end": {
"description": "If specified, the stats will be cleaned up to this timestamp. If ``null`` all stats till the deployment end forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"modelId": {
"default": null,
"description": "ID of the model to remove deployment stats for. If ``null``, the stats will be cleaned up for all models in the mathcing period. Defaults to ``null``.",
"type": [
"string",
"null"
]
},
"start": {
"description": "If specified, the stats will be cleaned up from this timestamp. If ``null`` all stats from the deployment start forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
}
},
"required": [
"dataType",
"end",
"modelId",
"start"
],
"type": "object"
},
{
"description": "Replace model in deployment.",
"properties": {
"modelId": {
"description": "ID of the Model to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelId",
"replacementReason"
],
"type": "object"
},
{
"description": "Replace model package in deployment.",
"properties": {
"modelPackageId": {
"description": "ID of the Model Package to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelPackageId",
"replacementReason"
],
"type": "object"
},
{
"description": "Update secondary dataset config for deployment.",
"properties": {
"secondaryDatasetsConfigId": {
"description": "ID of the secondary dataset configs.",
"type": "string"
}
},
"required": [
"secondaryDatasetsConfigId"
],
"type": "object"
},
{
"type": "null"
}
]
},
"changeVersionId": {
"description": "ID of the current version of change within this Change Request. It's possible to modify the changes that have been requested. At the same time, we need to make sure that review is associated with the correct changes, that's why we implement versioning on the changes and associate user reviews with the specific Change Request versions.",
"type": "string"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"createdAt": {
"description": "Timestamp when the request was created.",
"format": "date-time",
"type": "string"
},
"diff": {
"description": "The difference between the current entity state and the state of the entity if the Change Request gets applied.",
"properties": {
"changesFrom": {
"description": "List of human readable messages describing the state of the entity before changes are applied.",
"items": {
"description": "Single message line.",
"type": "string"
},
"maxItems": 1000,
"type": "array"
},
"changesTo": {
"description": "List of human readable messages describing the state of the entity after changes are applied.",
"items": {
"description": "Single message line.",
"type": "string"
},
"maxItems": 1000,
"type": "array"
}
},
"required": [
"changesFrom",
"changesTo"
],
"type": "object"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
},
"id": {
"description": "ID of the Change Request.",
"type": "string"
},
"numApprovalsRequired": {
"description": "Number of approving reviews required for the Change Request to be considered approved.",
"minimum": 0,
"type": "integer"
},
"processedAt": {
"description": "Timestamp when the request was processed.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"status": {
"description": "Change Request Status.",
"enum": [
"pending",
"Pending",
"PENDING",
"approved",
"Approved",
"APPROVED",
"changesRequested",
"ChangesRequested",
"CHANGES_REQUESTED",
"resolved",
"Resolved",
"RESOLVED",
"cancelled",
"Cancelled",
"CANCELLED"
],
"type": "string"
},
"statusChangedAt": {
"description": "Timestamp when the current request status was set. `null` if status is set by the system.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"statusChangedBy": {
"description": "ID of the user who set the current request status. `null` if the status was set by the system.",
"type": [
"string",
"null"
]
},
"updatedAt": {
"description": "Timestamp when the request was last modified.",
"format": "date-time",
"type": "string"
},
"userId": {
"description": "ID of the user, who created the Change Request.",
"type": "string"
},
"userName": {
"description": "Email of the user, who created the Change Request",
"type": [
"string",
"null"
]
},
"userOperations": {
"description": "A set operations the user can or can not make with the Change Request.",
"properties": {
"canCancel": {
"description": "Whether the user can cancel the Change Request.",
"type": "boolean"
},
"canComment": {
"description": "Whether the user can create commenting review on the Change Request.",
"type": "boolean"
},
"canResolve": {
"description": "Whether the user can resolve the Change Request.",
"type": "boolean"
},
"canReview": {
"description": "Whether the user can review (approve or request updates) the Change Request.",
"type": "boolean"
},
"canUpdate": {
"description": "Whether the user can update the Change Request.",
"type": "boolean"
}
},
"required": [
"canCancel",
"canComment",
"canResolve",
"canReview",
"canUpdate"
],
"type": "object"
}
},
"required": [
"action",
"autoApply",
"change",
"changeVersionId",
"createdAt",
"diff",
"entityId",
"entityType",
"id",
"numApprovalsRequired",
"processedAt",
"status",
"statusChangedAt",
"statusChangedBy",
"updatedAt",
"userId",
"userName",
"userOperations"
],
"type": "object"
}
Responses
Update Change Request by change request ID
Operation path: PATCH /api/v2/changeRequests/{changeRequestId}/
Authentication requirements: BearerAuth
Update Change Request with the given ID.
Body parameter
{
"properties": {
"autoApply": {
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Change that the user wants to apply to the entity. Needs to be provided if the action, like `approve` action for a deployment, requires additional parameters . `null` if the action does not require any additional parameters to be applied. ",
"oneOf": [
{
"description": "Approve a deployment.",
"properties": {
"approvalStatus": {
"description": "Deployment approval status to set.",
"enum": [
"APPROVED"
],
"type": "string"
}
},
"required": [
"approvalStatus"
],
"type": "object"
},
{
"description": "Change deployment status.",
"properties": {
"status": {
"description": "Deployment status to set.",
"enum": [
"active",
"inactive"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"description": "Change deployment importance.",
"properties": {
"importance": {
"description": "Deployment Importance to set.",
"enum": [
"CRITICAL",
"HIGH",
"MODERATE",
"LOW"
],
"type": "string"
}
},
"required": [
"importance"
],
"type": "object"
},
{
"description": "Cleanup deployment stats.",
"properties": {
"dataType": {
"description": "Type of stats to cleanup.",
"enum": [
"monitoring"
],
"type": "string"
},
"end": {
"description": "If specified, the stats will be cleaned up to this timestamp. If ``null`` all stats till the deployment end forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"modelId": {
"default": null,
"description": "ID of the model to remove deployment stats for. If ``null``, the stats will be cleaned up for all models in the mathcing period. Defaults to ``null``.",
"type": [
"string",
"null"
]
},
"start": {
"description": "If specified, the stats will be cleaned up from this timestamp. If ``null`` all stats from the deployment start forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
}
},
"required": [
"dataType",
"end",
"modelId",
"start"
],
"type": "object"
},
{
"description": "Replace model in deployment.",
"properties": {
"modelId": {
"description": "ID of the Model to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelId",
"replacementReason"
],
"type": "object"
},
{
"description": "Replace model package in deployment.",
"properties": {
"modelPackageId": {
"description": "ID of the Model Package to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelPackageId",
"replacementReason"
],
"type": "object"
},
{
"description": "Update secondary dataset config for deployment.",
"properties": {
"secondaryDatasetsConfigId": {
"description": "ID of the secondary dataset configs.",
"type": "string"
}
},
"required": [
"secondaryDatasetsConfigId"
],
"type": "object"
}
]
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
}
},
"type": "object"
}
Parameters
| Name |
In |
Type |
Required |
Description |
| changeRequestId |
path |
string |
true |
ID of the Change Request. |
| body |
body |
ChangeRequestUpdate |
false |
none |
Example responses
200 Response
{
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"approve",
"Approve",
"APPROVE",
"changeStatus",
"ChangeStatus",
"CHANGE_STATUS",
"changeImportance",
"ChangeImportance",
"CHANGE_IMPORTANCE",
"cleanupStats",
"CleanupStats",
"CLEANUP_STATS",
"delete",
"Delete",
"DELETE",
"replaceModel",
"ReplaceModel",
"REPLACE_MODEL",
"replaceModelPackage",
"ReplaceModelPackage",
"REPLACE_MODEL_PACKAGE",
"updateSecondaryDatasetConfigs",
"UpdateSecondaryDatasetConfigs",
"UPDATE_SECONDARY_DATASET_CONFIGS"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Change that the user wants to apply to the entity. Needs to be provided if the action, like `approve` action for a deployment, requires additional parameters . `null` if the action does not require any additional parameters to be applied. ",
"oneOf": [
{
"description": "Approve a deployment.",
"properties": {
"approvalStatus": {
"description": "Deployment approval status to set.",
"enum": [
"APPROVED"
],
"type": "string"
}
},
"required": [
"approvalStatus"
],
"type": "object"
},
{
"description": "Change deployment status.",
"properties": {
"status": {
"description": "Deployment status to set.",
"enum": [
"active",
"inactive"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"description": "Change deployment importance.",
"properties": {
"importance": {
"description": "Deployment Importance to set.",
"enum": [
"CRITICAL",
"HIGH",
"MODERATE",
"LOW"
],
"type": "string"
}
},
"required": [
"importance"
],
"type": "object"
},
{
"description": "Cleanup deployment stats.",
"properties": {
"dataType": {
"description": "Type of stats to cleanup.",
"enum": [
"monitoring"
],
"type": "string"
},
"end": {
"description": "If specified, the stats will be cleaned up to this timestamp. If ``null`` all stats till the deployment end forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"modelId": {
"default": null,
"description": "ID of the model to remove deployment stats for. If ``null``, the stats will be cleaned up for all models in the mathcing period. Defaults to ``null``.",
"type": [
"string",
"null"
]
},
"start": {
"description": "If specified, the stats will be cleaned up from this timestamp. If ``null`` all stats from the deployment start forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
}
},
"required": [
"dataType",
"end",
"modelId",
"start"
],
"type": "object"
},
{
"description": "Replace model in deployment.",
"properties": {
"modelId": {
"description": "ID of the Model to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelId",
"replacementReason"
],
"type": "object"
},
{
"description": "Replace model package in deployment.",
"properties": {
"modelPackageId": {
"description": "ID of the Model Package to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelPackageId",
"replacementReason"
],
"type": "object"
},
{
"description": "Update secondary dataset config for deployment.",
"properties": {
"secondaryDatasetsConfigId": {
"description": "ID of the secondary dataset configs.",
"type": "string"
}
},
"required": [
"secondaryDatasetsConfigId"
],
"type": "object"
},
{
"type": "null"
}
]
},
"changeVersionId": {
"description": "ID of the current version of change within this Change Request. It's possible to modify the changes that have been requested. At the same time, we need to make sure that review is associated with the correct changes, that's why we implement versioning on the changes and associate user reviews with the specific Change Request versions.",
"type": "string"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"createdAt": {
"description": "Timestamp when the request was created.",
"format": "date-time",
"type": "string"
},
"diff": {
"description": "The difference between the current entity state and the state of the entity if the Change Request gets applied.",
"properties": {
"changesFrom": {
"description": "List of human readable messages describing the state of the entity before changes are applied.",
"items": {
"description": "Single message line.",
"type": "string"
},
"maxItems": 1000,
"type": "array"
},
"changesTo": {
"description": "List of human readable messages describing the state of the entity after changes are applied.",
"items": {
"description": "Single message line.",
"type": "string"
},
"maxItems": 1000,
"type": "array"
}
},
"required": [
"changesFrom",
"changesTo"
],
"type": "object"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
},
"id": {
"description": "ID of the Change Request.",
"type": "string"
},
"numApprovalsRequired": {
"description": "Number of approving reviews required for the Change Request to be considered approved.",
"minimum": 0,
"type": "integer"
},
"processedAt": {
"description": "Timestamp when the request was processed.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"status": {
"description": "Change Request Status.",
"enum": [
"pending",
"Pending",
"PENDING",
"approved",
"Approved",
"APPROVED",
"changesRequested",
"ChangesRequested",
"CHANGES_REQUESTED",
"resolved",
"Resolved",
"RESOLVED",
"cancelled",
"Cancelled",
"CANCELLED"
],
"type": "string"
},
"statusChangedAt": {
"description": "Timestamp when the current request status was set. `null` if status is set by the system.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"statusChangedBy": {
"description": "ID of the user who set the current request status. `null` if the status was set by the system.",
"type": [
"string",
"null"
]
},
"updatedAt": {
"description": "Timestamp when the request was last modified.",
"format": "date-time",
"type": "string"
},
"userId": {
"description": "ID of the user, who created the Change Request.",
"type": "string"
},
"userName": {
"description": "Email of the user, who created the Change Request",
"type": [
"string",
"null"
]
},
"userOperations": {
"description": "A set operations the user can or can not make with the Change Request.",
"properties": {
"canCancel": {
"description": "Whether the user can cancel the Change Request.",
"type": "boolean"
},
"canComment": {
"description": "Whether the user can create commenting review on the Change Request.",
"type": "boolean"
},
"canResolve": {
"description": "Whether the user can resolve the Change Request.",
"type": "boolean"
},
"canReview": {
"description": "Whether the user can review (approve or request updates) the Change Request.",
"type": "boolean"
},
"canUpdate": {
"description": "Whether the user can update the Change Request.",
"type": "boolean"
}
},
"required": [
"canCancel",
"canComment",
"canResolve",
"canReview",
"canUpdate"
],
"type": "object"
}
},
"required": [
"action",
"autoApply",
"change",
"changeVersionId",
"createdAt",
"diff",
"entityId",
"entityType",
"id",
"numApprovalsRequired",
"processedAt",
"status",
"statusChangedAt",
"statusChangedBy",
"updatedAt",
"userId",
"userName",
"userOperations"
],
"type": "object"
}
Responses
Request Change Request Review by change request ID
Operation path: POST /api/v2/changeRequests/{changeRequestId}/requestReview/
Authentication requirements: BearerAuth
Request review for Change Request with the given ID.
Body parameter
{
"properties": {
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
}
},
"type": "object",
"x-versionadded": "v2.38"
}
Parameters
| Name |
In |
Type |
Required |
Description |
| changeRequestId |
path |
string |
true |
ID of the Change Request. |
| body |
body |
ChangeRequestRequestReview |
false |
none |
Responses
| Status |
Meaning |
Description |
Schema |
| 202 |
Accepted |
none |
None |
List Change Request reviews by change request ID
Operation path: GET /api/v2/changeRequests/{changeRequestId}/reviews/
Authentication requirements: BearerAuth
List Change Request reviews.
Parameters
| Name |
In |
Type |
Required |
Description |
| offset |
query |
integer |
false |
Number of results to skip. |
| limit |
query |
integer |
false |
At most this many results are returned. The default may change without notice. |
| status |
query |
string |
false |
Review status to filter by. |
| changeVersionId |
query |
string |
false |
ID of the change version to filter by |
| changeRequestId |
path |
string |
true |
ID of the Change Request. |
Enumerated Values
| Parameter |
Value |
| status |
[approved, Approved, APPROVED, changesRequested, ChangesRequested, CHANGES_REQUESTED, commented, Commented, COMMENTED] |
Example responses
200 Response
{
"properties": {
"count": {
"description": "Number of items returned on this page.",
"type": "integer"
},
"data": {
"description": "List of change request reviews.",
"items": {
"properties": {
"changeRequestId": {
"description": "ID of the Change Request.",
"type": "string"
},
"changeVersionId": {
"description": "ID of the change version.",
"type": "string"
},
"comment": {
"description": "Free form text to comment on the review.",
"maxLength": 10000,
"type": "string"
},
"createdAt": {
"description": "Timestamp when the review was created.",
"format": "date-time",
"type": "string"
},
"id": {
"description": "ID of the review.",
"type": "string"
},
"status": {
"description": "Status of the review.",
"enum": [
"approved",
"Approved",
"APPROVED",
"changesRequested",
"ChangesRequested",
"CHANGES_REQUESTED",
"commented",
"Commented",
"COMMENTED"
],
"type": "string"
},
"userId": {
"description": "ID of the user, who created the review.",
"type": "string"
},
"userName": {
"description": "Email of the user, who created the review",
"type": [
"string",
"null"
]
}
},
"required": [
"changeRequestId",
"changeVersionId",
"createdAt",
"id",
"status",
"userId",
"userName"
],
"type": "object"
},
"maxItems": 1000,
"type": "array"
},
"next": {
"description": "URL pointing to the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "URL pointing to the previous page (if null, there is no previous page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "The total number of items across all pages.",
"type": "integer"
}
},
"required": [
"data",
"next",
"previous",
"totalCount"
],
"type": "object"
}
Responses
Create review by change request ID
Operation path: POST /api/v2/changeRequests/{changeRequestId}/reviews/
Authentication requirements: BearerAuth
Review the Change Request.
Body parameter
{
"properties": {
"changeVersionId": {
"description": "ID of the change version.",
"type": "string"
},
"comment": {
"description": "Free form text to comment on the review.",
"maxLength": 10000,
"type": "string"
},
"status": {
"description": "Status of the review.",
"enum": [
"approved",
"Approved",
"APPROVED",
"changesRequested",
"ChangesRequested",
"CHANGES_REQUESTED",
"commented",
"Commented",
"COMMENTED"
],
"type": "string"
}
},
"required": [
"changeVersionId",
"status"
],
"type": "object"
}
Parameters
| Name |
In |
Type |
Required |
Description |
| changeRequestId |
path |
string |
true |
ID of the Change Request. |
| body |
body |
ReviewCreate |
false |
none |
Example responses
201 Response
{
"properties": {
"changeRequestId": {
"description": "ID of the Change Request.",
"type": "string"
},
"changeVersionId": {
"description": "ID of the change version.",
"type": "string"
},
"comment": {
"description": "Free form text to comment on the review.",
"maxLength": 10000,
"type": "string"
},
"createdAt": {
"description": "Timestamp when the review was created.",
"format": "date-time",
"type": "string"
},
"id": {
"description": "ID of the review.",
"type": "string"
},
"status": {
"description": "Status of the review.",
"enum": [
"approved",
"Approved",
"APPROVED",
"changesRequested",
"ChangesRequested",
"CHANGES_REQUESTED",
"commented",
"Commented",
"COMMENTED"
],
"type": "string"
},
"userId": {
"description": "ID of the user, who created the review.",
"type": "string"
},
"userName": {
"description": "Email of the user, who created the review",
"type": [
"string",
"null"
]
}
},
"required": [
"changeRequestId",
"changeVersionId",
"createdAt",
"id",
"status",
"userId",
"userName"
],
"type": "object"
}
Responses
Retrieve review by change request ID
Operation path: GET /api/v2/changeRequests/{changeRequestId}/reviews/{reviewId}/
Authentication requirements: BearerAuth
Retrieve a review by ID.
Parameters
| Name |
In |
Type |
Required |
Description |
| changeRequestId |
path |
string |
true |
ID of the Change Request. |
| reviewId |
path |
string |
true |
ID of the review. |
Example responses
200 Response
{
"properties": {
"changeRequestId": {
"description": "ID of the Change Request.",
"type": "string"
},
"changeVersionId": {
"description": "ID of the change version.",
"type": "string"
},
"comment": {
"description": "Free form text to comment on the review.",
"maxLength": 10000,
"type": "string"
},
"createdAt": {
"description": "Timestamp when the review was created.",
"format": "date-time",
"type": "string"
},
"id": {
"description": "ID of the review.",
"type": "string"
},
"status": {
"description": "Status of the review.",
"enum": [
"approved",
"Approved",
"APPROVED",
"changesRequested",
"ChangesRequested",
"CHANGES_REQUESTED",
"commented",
"Commented",
"COMMENTED"
],
"type": "string"
},
"userId": {
"description": "ID of the user, who created the review.",
"type": "string"
},
"userName": {
"description": "Email of the user, who created the review",
"type": [
"string",
"null"
]
}
},
"required": [
"changeRequestId",
"changeVersionId",
"createdAt",
"id",
"status",
"userId",
"userName"
],
"type": "object"
}
Responses
Resolve by change request ID
Operation path: PATCH /api/v2/changeRequests/{changeRequestId}/status/
Authentication requirements: BearerAuth
Resolve or Cancel the Change Request.
Body parameter
{
"properties": {
"status": {
"description": "Change Request status to set.",
"enum": [
"cancelled",
"resolving"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
}
Parameters
| Name |
In |
Type |
Required |
Description |
| changeRequestId |
path |
string |
true |
ID of the Change Request. |
| body |
body |
ChangeRequestUpdateStatus |
false |
none |
Example responses
200 Response
{
"properties": {
"status": {
"description": "Change Request status to set.",
"enum": [
"cancelled",
"resolving"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
}
Responses
| Status |
Header |
Type |
Format |
Description |
| 200 |
Location |
string |
|
A url that can be polled to check the status. |
List suggested reviewers by change request ID
Operation path: GET /api/v2/changeRequests/{changeRequestId}/suggestedReviewers/
Authentication requirements: BearerAuth
List users, suggested to review the Change Request.
Parameters
| Name |
In |
Type |
Required |
Description |
| offset |
query |
integer |
false |
Number of results to skip. |
| limit |
query |
integer |
false |
At most this many results are returned. The default may change without notice. |
| changeRequestId |
path |
string |
true |
ID of the Change Request. |
Example responses
200 Response
{
"properties": {
"count": {
"description": "Number of items returned on this page.",
"type": "integer"
},
"data": {
"description": "List of suggested change request reviewers.",
"items": {
"properties": {
"firstName": {
"description": "First Name.",
"type": "string"
},
"lastName": {
"description": "Last Name.",
"type": "string"
},
"userId": {
"description": "ID of the User.",
"type": "string"
},
"username": {
"description": "Username.",
"type": "string"
}
},
"required": [
"firstName",
"lastName",
"userId",
"username"
],
"type": "object"
},
"maxItems": 1000,
"type": "array"
},
"next": {
"description": "URL pointing to the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "URL pointing to the previous page (if null, there is no previous page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "The total number of items across all pages.",
"type": "integer"
}
},
"required": [
"data",
"next",
"previous",
"totalCount"
],
"type": "object"
}
Responses
Operation path: GET /api/v2/recommendedSettings/{entityType}/
Authentication requirements: BearerAuth
Retrieve configured recommended settings for an entity.
Parameters
| Name |
In |
Type |
Required |
Description |
| entityType |
path |
string |
true |
Type of the entity to create/get the recommended settings for |
Enumerated Values
| Parameter |
Value |
| entityType |
[deployment, Deployment, DEPLOYMENT] |
Example responses
200 Response
{
"properties": {
"data": {
"description": "List of recommended settings",
"items": {
"properties": {
"hint": {
"description": "Optional hint for the setting",
"maxLength": 255,
"type": [
"string",
"null"
]
},
"label": {
"description": "Label of the setting",
"maxLength": 80,
"type": "string"
},
"setting": {
"description": "Internal name of the setting",
"maxLength": 30,
"type": "string"
}
},
"required": [
"label",
"setting"
],
"type": "object",
"x-versionadded": "v2.38"
},
"maxItems": 20,
"type": "array"
}
},
"required": [
"data"
],
"type": "object",
"x-versionadded": "v2.38"
}
Responses
Update recommended settings by entitytype
Operation path: PUT /api/v2/recommendedSettings/{entityType}/
Authentication requirements: BearerAuth
Update recommended settings for an entity.
Body parameter
{
"properties": {
"data": {
"description": "List of recommended settings to update",
"items": {
"properties": {
"hint": {
"description": "Optional hint for the setting",
"maxLength": 255,
"type": [
"string",
"null"
]
},
"setting": {
"description": "Internal name of the setting",
"maxLength": 30,
"type": "string"
}
},
"required": [
"setting"
],
"type": "object",
"x-versionadded": "v2.38"
},
"maxItems": 20,
"type": "array"
}
},
"required": [
"data"
],
"type": "object",
"x-versionadded": "v2.38"
}
Parameters
| Name |
In |
Type |
Required |
Description |
| entityType |
path |
string |
true |
Type of the entity to create/get the recommended settings for |
| body |
body |
RecommendedSettingsUpdate |
false |
none |
Enumerated Values
| Parameter |
Value |
| entityType |
[deployment, Deployment, DEPLOYMENT] |
Responses
| Status |
Meaning |
Description |
Schema |
| 200 |
OK |
none |
None |
Retrieve available setting choices list by entitytype
Operation path: GET /api/v2/recommendedSettings/{entityType}/choices/
Authentication requirements: BearerAuth
Retrieve available setting choices list for an entity.
Parameters
| Name |
In |
Type |
Required |
Description |
| entityType |
path |
string |
true |
Type of the entity to create/get the recommended settings for |
Enumerated Values
| Parameter |
Value |
| entityType |
[deployment, Deployment, DEPLOYMENT] |
Example responses
200 Response
{
"properties": {
"data": {
"description": "List of recommended settings",
"items": {
"properties": {
"label": {
"description": "Label of the setting",
"maxLength": 80,
"type": "string"
},
"setting": {
"description": "Internal name of the setting",
"maxLength": 30,
"type": "string"
}
},
"required": [
"label",
"setting"
],
"type": "object",
"x-versionadded": "v2.38"
},
"maxItems": 20,
"type": "array"
}
},
"required": [
"data"
],
"type": "object",
"x-versionadded": "v2.38"
}
Responses
Schemas
ApprovalPolicy
{
"properties": {
"active": {
"default": true,
"description": "Whether this policy is active.",
"type": "boolean"
},
"automaticAction": {
"description": "An object describing the automated action on the Change Request that will be performed if the request is not resolved within a given time period after its creation. If ``null``, no automated actions will be taken on the related Change Requests.",
"properties": {
"action": {
"description": "Action of the workflow automation.",
"enum": [
"cancel",
"Cancel",
"CANCEL",
"approve",
"Approve",
"APPROVE"
],
"type": "string"
},
"period": {
"description": "Period (ISO 8601) after which an action is executed on a Change Request if it is not resolved or cancelled.",
"format": "duration",
"type": "string"
}
},
"required": [
"action",
"period"
],
"type": "object"
},
"name": {
"description": "Name of the Approval Policy.",
"maxLength": 50,
"type": "string"
},
"review": {
"description": "An object describing review requirements for Change Requests, related to a specific policy. If ``null``, no additional review requirements are added to the related Change Requests.",
"properties": {
"groups": {
"description": "A list of user groups that will be added as required reviewers on Change Requests for the entities that match the policy.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
},
"reminderPeriod": {
"description": "Duration period in ISO 8601 format that indicates when to send a reminder for reviewing a Change Request after its creation or last reminder if it hasn't been approved yet. If ``null``, no review reminders are sent to the reviewers.",
"format": "duration",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"trigger": {
"description": "An object describing the trigger for the Approval Policy.",
"properties": {
"entityType": {
"description": "Type of entity to trigger on.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT",
"deploymentModel",
"DeploymentModel",
"DEPLOYMENT_MODEL",
"deploymentConfig",
"DeploymentConfig",
"DEPLOYMENT_CONFIG",
"deploymentStatus",
"DeploymentStatus",
"DEPLOYMENT_STATUS",
"deploymentMonitoringData",
"DeploymentMonitoringData",
"DEPLOYMENT_MONITORING_DATA"
],
"type": "string"
},
"filterGroups": {
"description": "A list of user groups to apply Approval Policy for. If User 'A' and User 'B' are both members of the same organisation, and User 'A' is a member of one of the groups listed in this field,but User 'B' is not, then an approval workflow will be triggerred for User 'A' on an action to the entity that matches policy condition, but not for User 'B'. If ``null``, approvals workflow will be triggered for all users.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"intendedAction": {
"description": "An object, describing the approvals workflow intended action.",
"properties": {
"action": {
"description": "Type of action to trigger on.",
"enum": [
"create",
"Create",
"CREATE",
"update",
"Update",
"UPDATE",
"delete",
"Delete",
"DELETE"
],
"type": "string"
},
"condition": {
"description": "An object, describing the condition to trigger on.",
"properties": {
"condition": {
"description": "Condition for the field content to trigger on.",
"enum": [
"equals",
"Equals",
"EQUALS"
],
"type": "string"
},
"fieldName": {
"description": "Name of the attribute of the entity to filter entities by. An example value is ``importance`` attribute for the deployment entity.",
"maxLength": 50,
"type": "string"
},
"values": {
"description": "Array of field values to apply condition to trigger on. If ``null`` for ``equals`` condition, then any value for the field is accepted.",
"items": {
"maxLength": 50,
"type": "string"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"condition",
"fieldName",
"values"
],
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"labels": {
"description": "Trigger Labels.",
"properties": {
"groupLabel": {
"description": "Group Label.",
"type": "string"
},
"label": {
"description": "Label.",
"type": "string"
}
},
"required": [
"groupLabel",
"label"
],
"type": "object"
}
},
"required": [
"entityType",
"intendedAction"
],
"type": "object"
}
},
"required": [
"active",
"name",
"trigger"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| active |
boolean |
true |
|
Whether this policy is active. |
| automaticAction |
ApprovalPolicyAutomaticAction |
false |
|
An object describing the automated action on the Change Request that will be performed if the request is not resolved within a given time period after its creation. If null, no automated actions will be taken on the related Change Requests. |
| name |
string |
true |
maxLength: 50
|
Name of the Approval Policy. |
| review |
ApprovalPolicyReview |
false |
|
An object describing review requirements for Change Requests, related to a specific policy. If null, no additional review requirements are added to the related Change Requests. |
| trigger |
ApprovalPolicyTrigger |
true |
|
An object describing the trigger for the Approval Policy. |
ApprovalPolicyAutomaticAction
{
"description": "An object describing the automated action on the Change Request that will be performed if the request is not resolved within a given time period after its creation. If ``null``, no automated actions will be taken on the related Change Requests.",
"properties": {
"action": {
"description": "Action of the workflow automation.",
"enum": [
"cancel",
"Cancel",
"CANCEL",
"approve",
"Approve",
"APPROVE"
],
"type": "string"
},
"period": {
"description": "Period (ISO 8601) after which an action is executed on a Change Request if it is not resolved or cancelled.",
"format": "duration",
"type": "string"
}
},
"required": [
"action",
"period"
],
"type": "object"
}
An object describing the automated action on the Change Request that will be performed if the request is not resolved within a given time period after its creation. If null, no automated actions will be taken on the related Change Requests.
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| action |
string |
true |
|
Action of the workflow automation. |
| period |
string(duration) |
true |
|
Period (ISO 8601) after which an action is executed on a Change Request if it is not resolved or cancelled. |
Enumerated Values
| Property |
Value |
| action |
[cancel, Cancel, CANCEL, approve, Approve, APPROVE] |
ApprovalPolicyIntendedAction
{
"description": "An object, describing the approvals workflow intended action.",
"properties": {
"action": {
"description": "Type of action to trigger on.",
"enum": [
"create",
"Create",
"CREATE",
"update",
"Update",
"UPDATE",
"delete",
"Delete",
"DELETE"
],
"type": "string"
},
"condition": {
"description": "An object, describing the condition to trigger on.",
"properties": {
"condition": {
"description": "Condition for the field content to trigger on.",
"enum": [
"equals",
"Equals",
"EQUALS"
],
"type": "string"
},
"fieldName": {
"description": "Name of the attribute of the entity to filter entities by. An example value is ``importance`` attribute for the deployment entity.",
"maxLength": 50,
"type": "string"
},
"values": {
"description": "Array of field values to apply condition to trigger on. If ``null`` for ``equals`` condition, then any value for the field is accepted.",
"items": {
"maxLength": 50,
"type": "string"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"condition",
"fieldName",
"values"
],
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
}
An object, describing the approvals workflow intended action.
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| action |
string |
true |
|
Type of action to trigger on. |
| condition |
ApprovalPolicyIntendedActionCondition |
false |
|
An object, describing the condition to trigger on. |
Enumerated Values
| Property |
Value |
| action |
[create, Create, CREATE, update, Update, UPDATE, delete, Delete, DELETE] |
ApprovalPolicyIntendedActionCondition
{
"description": "An object, describing the condition to trigger on.",
"properties": {
"condition": {
"description": "Condition for the field content to trigger on.",
"enum": [
"equals",
"Equals",
"EQUALS"
],
"type": "string"
},
"fieldName": {
"description": "Name of the attribute of the entity to filter entities by. An example value is ``importance`` attribute for the deployment entity.",
"maxLength": 50,
"type": "string"
},
"values": {
"description": "Array of field values to apply condition to trigger on. If ``null`` for ``equals`` condition, then any value for the field is accepted.",
"items": {
"maxLength": 50,
"type": "string"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"condition",
"fieldName",
"values"
],
"type": "object"
}
An object, describing the condition to trigger on.
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| condition |
string |
true |
|
Condition for the field content to trigger on. |
| fieldName |
string |
true |
maxLength: 50
|
Name of the attribute of the entity to filter entities by. An example value is importance attribute for the deployment entity. |
| values |
[string] |
true |
maxItems: 100
|
Array of field values to apply condition to trigger on. If null for equals condition, then any value for the field is accepted. |
Enumerated Values
| Property |
Value |
| condition |
[equals, Equals, EQUALS] |
ApprovalPolicyListResponse
{
"properties": {
"count": {
"description": "Number of items returned on this page.",
"type": "integer"
},
"data": {
"description": "List of Approval Policies.",
"items": {
"properties": {
"active": {
"default": true,
"description": "Whether this policy is active.",
"type": "boolean"
},
"automaticAction": {
"description": "An object describing the automated action on the Change Request that will be performed if the request is not resolved within a given time period after its creation. If ``null``, no automated actions will be taken on the related Change Requests.",
"properties": {
"action": {
"description": "Action of the workflow automation.",
"enum": [
"cancel",
"Cancel",
"CANCEL",
"approve",
"Approve",
"APPROVE"
],
"type": "string"
},
"period": {
"description": "Period (ISO 8601) after which an action is executed on a Change Request if it is not resolved or cancelled.",
"format": "duration",
"type": "string"
}
},
"required": [
"action",
"period"
],
"type": "object"
},
"id": {
"description": "ID of the Approval Policy.",
"type": "string"
},
"name": {
"description": "Name of the Approval Policy.",
"maxLength": 50,
"type": "string"
},
"openRequests": {
"description": "Number of open Change Requests associated with the policy.",
"minimum": 0,
"type": "integer"
},
"review": {
"description": "An object describing review requirements for Change Requests, related to a specific policy. If ``null``, no additional review requirements are added to the related Change Requests.",
"properties": {
"groups": {
"description": "A list of user groups that will be added as required reviewers on Change Requests for the entities that match the policy.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
},
"reminderPeriod": {
"description": "Duration period in ISO 8601 format that indicates when to send a reminder for reviewing a Change Request after its creation or last reminder if it hasn't been approved yet. If ``null``, no review reminders are sent to the reviewers.",
"format": "duration",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"trigger": {
"description": "An object describing the trigger for the Approval Policy.",
"properties": {
"entityType": {
"description": "Type of entity to trigger on.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT",
"deploymentModel",
"DeploymentModel",
"DEPLOYMENT_MODEL",
"deploymentConfig",
"DeploymentConfig",
"DEPLOYMENT_CONFIG",
"deploymentStatus",
"DeploymentStatus",
"DEPLOYMENT_STATUS",
"deploymentMonitoringData",
"DeploymentMonitoringData",
"DEPLOYMENT_MONITORING_DATA"
],
"type": "string"
},
"filterGroups": {
"description": "A list of user groups to apply Approval Policy for. If User 'A' and User 'B' are both members of the same organisation, and User 'A' is a member of one of the groups listed in this field,but User 'B' is not, then an approval workflow will be triggerred for User 'A' on an action to the entity that matches policy condition, but not for User 'B'. If ``null``, approvals workflow will be triggered for all users.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"intendedAction": {
"description": "An object, describing the approvals workflow intended action.",
"properties": {
"action": {
"description": "Type of action to trigger on.",
"enum": [
"create",
"Create",
"CREATE",
"update",
"Update",
"UPDATE",
"delete",
"Delete",
"DELETE"
],
"type": "string"
},
"condition": {
"description": "An object, describing the condition to trigger on.",
"properties": {
"condition": {
"description": "Condition for the field content to trigger on.",
"enum": [
"equals",
"Equals",
"EQUALS"
],
"type": "string"
},
"fieldName": {
"description": "Name of the attribute of the entity to filter entities by. An example value is ``importance`` attribute for the deployment entity.",
"maxLength": 50,
"type": "string"
},
"values": {
"description": "Array of field values to apply condition to trigger on. If ``null`` for ``equals`` condition, then any value for the field is accepted.",
"items": {
"maxLength": 50,
"type": "string"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"condition",
"fieldName",
"values"
],
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"labels": {
"description": "Trigger Labels.",
"properties": {
"groupLabel": {
"description": "Group Label.",
"type": "string"
},
"label": {
"description": "Label.",
"type": "string"
}
},
"required": [
"groupLabel",
"label"
],
"type": "object"
}
},
"required": [
"entityType",
"intendedAction"
],
"type": "object"
}
},
"required": [
"active",
"id",
"name",
"openRequests",
"trigger"
],
"type": "object"
},
"type": "array"
},
"next": {
"description": "URL pointing to the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "URL pointing to the previous page (if null, there is no previous page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "The total number of items across all pages.",
"type": "integer"
}
},
"required": [
"data",
"next",
"previous",
"totalCount"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| count |
integer |
false |
|
Number of items returned on this page. |
| data |
[ApprovalPolicyResponse] |
true |
|
List of Approval Policies. |
| next |
string,null(uri) |
true |
|
URL pointing to the next page (if null, there is no next page). |
| previous |
string,null(uri) |
true |
|
URL pointing to the previous page (if null, there is no previous page). |
| totalCount |
integer |
true |
|
The total number of items across all pages. |
ApprovalPolicyMatchResponse
{
"properties": {
"action": {
"description": "Searched policy action.",
"enum": [
"create",
"Create",
"CREATE",
"update",
"Update",
"UPDATE",
"delete",
"Delete",
"DELETE"
],
"type": "string"
},
"entityType": {
"description": "Searched typed of the entity.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT",
"deploymentModel",
"DeploymentModel",
"DEPLOYMENT_MODEL",
"deploymentConfig",
"DeploymentConfig",
"DEPLOYMENT_CONFIG",
"deploymentStatus",
"DeploymentStatus",
"DEPLOYMENT_STATUS",
"deploymentMonitoringData",
"DeploymentMonitoringData",
"DEPLOYMENT_MONITORING_DATA"
],
"type": "string"
},
"fieldName": {
"description": "Name of the entity field to filter policies by.",
"maxLength": 50,
"type": [
"string",
"null"
]
},
"fieldValue": {
"description": "Value of the entity field to filter policies by.",
"maxLength": 50,
"type": [
"string",
"null"
]
},
"policyId": {
"description": "ID of the matching approval policy. ``null`` if no matching policies found.",
"type": [
"string",
"null"
]
}
},
"required": [
"action",
"entityType",
"policyId"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| action |
string |
true |
|
Searched policy action. |
| entityType |
string |
true |
|
Searched typed of the entity. |
| fieldName |
string,null |
false |
maxLength: 50
|
Name of the entity field to filter policies by. |
| fieldValue |
string,null |
false |
maxLength: 50
|
Value of the entity field to filter policies by. |
| policyId |
string,null |
true |
|
ID of the matching approval policy. null if no matching policies found. |
Enumerated Values
| Property |
Value |
| action |
[create, Create, CREATE, update, Update, UPDATE, delete, Delete, DELETE] |
| entityType |
[deployment, Deployment, DEPLOYMENT, deploymentModel, DeploymentModel, DEPLOYMENT_MODEL, deploymentConfig, DeploymentConfig, DEPLOYMENT_CONFIG, deploymentStatus, DeploymentStatus, DEPLOYMENT_STATUS, deploymentMonitoringData, DeploymentMonitoringData, DEPLOYMENT_MONITORING_DATA] |
ApprovalPolicyResponse
{
"properties": {
"active": {
"default": true,
"description": "Whether this policy is active.",
"type": "boolean"
},
"automaticAction": {
"description": "An object describing the automated action on the Change Request that will be performed if the request is not resolved within a given time period after its creation. If ``null``, no automated actions will be taken on the related Change Requests.",
"properties": {
"action": {
"description": "Action of the workflow automation.",
"enum": [
"cancel",
"Cancel",
"CANCEL",
"approve",
"Approve",
"APPROVE"
],
"type": "string"
},
"period": {
"description": "Period (ISO 8601) after which an action is executed on a Change Request if it is not resolved or cancelled.",
"format": "duration",
"type": "string"
}
},
"required": [
"action",
"period"
],
"type": "object"
},
"id": {
"description": "ID of the Approval Policy.",
"type": "string"
},
"name": {
"description": "Name of the Approval Policy.",
"maxLength": 50,
"type": "string"
},
"openRequests": {
"description": "Number of open Change Requests associated with the policy.",
"minimum": 0,
"type": "integer"
},
"review": {
"description": "An object describing review requirements for Change Requests, related to a specific policy. If ``null``, no additional review requirements are added to the related Change Requests.",
"properties": {
"groups": {
"description": "A list of user groups that will be added as required reviewers on Change Requests for the entities that match the policy.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
},
"reminderPeriod": {
"description": "Duration period in ISO 8601 format that indicates when to send a reminder for reviewing a Change Request after its creation or last reminder if it hasn't been approved yet. If ``null``, no review reminders are sent to the reviewers.",
"format": "duration",
"type": [
"string",
"null"
]
}
},
"type": "object"
},
"trigger": {
"description": "An object describing the trigger for the Approval Policy.",
"properties": {
"entityType": {
"description": "Type of entity to trigger on.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT",
"deploymentModel",
"DeploymentModel",
"DEPLOYMENT_MODEL",
"deploymentConfig",
"DeploymentConfig",
"DEPLOYMENT_CONFIG",
"deploymentStatus",
"DeploymentStatus",
"DEPLOYMENT_STATUS",
"deploymentMonitoringData",
"DeploymentMonitoringData",
"DEPLOYMENT_MONITORING_DATA"
],
"type": "string"
},
"filterGroups": {
"description": "A list of user groups to apply Approval Policy for. If User 'A' and User 'B' are both members of the same organisation, and User 'A' is a member of one of the groups listed in this field,but User 'B' is not, then an approval workflow will be triggerred for User 'A' on an action to the entity that matches policy condition, but not for User 'B'. If ``null``, approvals workflow will be triggered for all users.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"intendedAction": {
"description": "An object, describing the approvals workflow intended action.",
"properties": {
"action": {
"description": "Type of action to trigger on.",
"enum": [
"create",
"Create",
"CREATE",
"update",
"Update",
"UPDATE",
"delete",
"Delete",
"DELETE"
],
"type": "string"
},
"condition": {
"description": "An object, describing the condition to trigger on.",
"properties": {
"condition": {
"description": "Condition for the field content to trigger on.",
"enum": [
"equals",
"Equals",
"EQUALS"
],
"type": "string"
},
"fieldName": {
"description": "Name of the attribute of the entity to filter entities by. An example value is ``importance`` attribute for the deployment entity.",
"maxLength": 50,
"type": "string"
},
"values": {
"description": "Array of field values to apply condition to trigger on. If ``null`` for ``equals`` condition, then any value for the field is accepted.",
"items": {
"maxLength": 50,
"type": "string"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"condition",
"fieldName",
"values"
],
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"labels": {
"description": "Trigger Labels.",
"properties": {
"groupLabel": {
"description": "Group Label.",
"type": "string"
},
"label": {
"description": "Label.",
"type": "string"
}
},
"required": [
"groupLabel",
"label"
],
"type": "object"
}
},
"required": [
"entityType",
"intendedAction"
],
"type": "object"
}
},
"required": [
"active",
"id",
"name",
"openRequests",
"trigger"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| active |
boolean |
true |
|
Whether this policy is active. |
| automaticAction |
ApprovalPolicyAutomaticAction |
false |
|
An object describing the automated action on the Change Request that will be performed if the request is not resolved within a given time period after its creation. If null, no automated actions will be taken on the related Change Requests. |
| id |
string |
true |
|
ID of the Approval Policy. |
| name |
string |
true |
maxLength: 50
|
Name of the Approval Policy. |
| openRequests |
integer |
true |
minimum: 0
|
Number of open Change Requests associated with the policy. |
| review |
ApprovalPolicyReview |
false |
|
An object describing review requirements for Change Requests, related to a specific policy. If null, no additional review requirements are added to the related Change Requests. |
| trigger |
ApprovalPolicyTrigger |
true |
|
An object describing the trigger for the Approval Policy. |
ApprovalPolicyReview
{
"description": "An object describing review requirements for Change Requests, related to a specific policy. If ``null``, no additional review requirements are added to the related Change Requests.",
"properties": {
"groups": {
"description": "A list of user groups that will be added as required reviewers on Change Requests for the entities that match the policy.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"minItems": 1,
"type": "array"
},
"reminderPeriod": {
"description": "Duration period in ISO 8601 format that indicates when to send a reminder for reviewing a Change Request after its creation or last reminder if it hasn't been approved yet. If ``null``, no review reminders are sent to the reviewers.",
"format": "duration",
"type": [
"string",
"null"
]
}
},
"type": "object"
}
An object describing review requirements for Change Requests, related to a specific policy. If null, no additional review requirements are added to the related Change Requests.
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| groups |
[PolicyUserGroup] |
false |
maxItems: 100 minItems: 1
|
A list of user groups that will be added as required reviewers on Change Requests for the entities that match the policy. |
| reminderPeriod |
string,null(duration) |
false |
|
Duration period in ISO 8601 format that indicates when to send a reminder for reviewing a Change Request after its creation or last reminder if it hasn't been approved yet. If null, no review reminders are sent to the reviewers. |
ApprovalPolicyTrigger
{
"description": "An object describing the trigger for the Approval Policy.",
"properties": {
"entityType": {
"description": "Type of entity to trigger on.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT",
"deploymentModel",
"DeploymentModel",
"DEPLOYMENT_MODEL",
"deploymentConfig",
"DeploymentConfig",
"DEPLOYMENT_CONFIG",
"deploymentStatus",
"DeploymentStatus",
"DEPLOYMENT_STATUS",
"deploymentMonitoringData",
"DeploymentMonitoringData",
"DEPLOYMENT_MONITORING_DATA"
],
"type": "string"
},
"filterGroups": {
"description": "A list of user groups to apply Approval Policy for. If User 'A' and User 'B' are both members of the same organisation, and User 'A' is a member of one of the groups listed in this field,but User 'B' is not, then an approval workflow will be triggerred for User 'A' on an action to the entity that matches policy condition, but not for User 'B'. If ``null``, approvals workflow will be triggered for all users.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"intendedAction": {
"description": "An object, describing the approvals workflow intended action.",
"properties": {
"action": {
"description": "Type of action to trigger on.",
"enum": [
"create",
"Create",
"CREATE",
"update",
"Update",
"UPDATE",
"delete",
"Delete",
"DELETE"
],
"type": "string"
},
"condition": {
"description": "An object, describing the condition to trigger on.",
"properties": {
"condition": {
"description": "Condition for the field content to trigger on.",
"enum": [
"equals",
"Equals",
"EQUALS"
],
"type": "string"
},
"fieldName": {
"description": "Name of the attribute of the entity to filter entities by. An example value is ``importance`` attribute for the deployment entity.",
"maxLength": 50,
"type": "string"
},
"values": {
"description": "Array of field values to apply condition to trigger on. If ``null`` for ``equals`` condition, then any value for the field is accepted.",
"items": {
"maxLength": 50,
"type": "string"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"condition",
"fieldName",
"values"
],
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"labels": {
"description": "Trigger Labels.",
"properties": {
"groupLabel": {
"description": "Group Label.",
"type": "string"
},
"label": {
"description": "Label.",
"type": "string"
}
},
"required": [
"groupLabel",
"label"
],
"type": "object"
}
},
"required": [
"entityType",
"intendedAction"
],
"type": "object"
}
An object describing the trigger for the Approval Policy.
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| entityType |
string |
true |
|
Type of entity to trigger on. |
| filterGroups |
[PolicyUserGroup] |
false |
maxItems: 100
|
A list of user groups to apply Approval Policy for. If User 'A' and User 'B' are both members of the same organisation, and User 'A' is a member of one of the groups listed in this field,but User 'B' is not, then an approval workflow will be triggerred for User 'A' on an action to the entity that matches policy condition, but not for User 'B'. If null, approvals workflow will be triggered for all users. |
| intendedAction |
ApprovalPolicyIntendedAction |
true |
|
An object, describing the approvals workflow intended action. |
| labels |
ApprovalPolicyTriggerLabel |
false |
|
Trigger Labels. |
Enumerated Values
| Property |
Value |
| entityType |
[deployment, Deployment, DEPLOYMENT, deploymentModel, DeploymentModel, DEPLOYMENT_MODEL, deploymentConfig, DeploymentConfig, DEPLOYMENT_CONFIG, deploymentStatus, DeploymentStatus, DEPLOYMENT_STATUS, deploymentMonitoringData, DeploymentMonitoringData, DEPLOYMENT_MONITORING_DATA] |
ApprovalPolicyTriggerLabel
{
"description": "Trigger Labels.",
"properties": {
"groupLabel": {
"description": "Group Label.",
"type": "string"
},
"label": {
"description": "Label.",
"type": "string"
}
},
"required": [
"groupLabel",
"label"
],
"type": "object"
}
Trigger Labels.
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| groupLabel |
string |
true |
|
Group Label. |
| label |
string |
true |
|
Label. |
ApprovalWorkflowListTriggerResponse
{
"properties": {
"data": {
"description": "List of available Approval Policy Triggers.",
"items": {
"description": "An object describing the trigger for the Approval Policy.",
"properties": {
"entityType": {
"description": "Type of entity to trigger on.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT",
"deploymentModel",
"DeploymentModel",
"DEPLOYMENT_MODEL",
"deploymentConfig",
"DeploymentConfig",
"DEPLOYMENT_CONFIG",
"deploymentStatus",
"DeploymentStatus",
"DEPLOYMENT_STATUS",
"deploymentMonitoringData",
"DeploymentMonitoringData",
"DEPLOYMENT_MONITORING_DATA"
],
"type": "string"
},
"filterGroups": {
"description": "A list of user groups to apply Approval Policy for. If User 'A' and User 'B' are both members of the same organisation, and User 'A' is a member of one of the groups listed in this field,but User 'B' is not, then an approval workflow will be triggerred for User 'A' on an action to the entity that matches policy condition, but not for User 'B'. If ``null``, approvals workflow will be triggered for all users.",
"items": {
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 100,
"type": "array"
},
"intendedAction": {
"description": "An object, describing the approvals workflow intended action.",
"properties": {
"action": {
"description": "Type of action to trigger on.",
"enum": [
"create",
"Create",
"CREATE",
"update",
"Update",
"UPDATE",
"delete",
"Delete",
"DELETE"
],
"type": "string"
},
"condition": {
"description": "An object, describing the condition to trigger on.",
"properties": {
"condition": {
"description": "Condition for the field content to trigger on.",
"enum": [
"equals",
"Equals",
"EQUALS"
],
"type": "string"
},
"fieldName": {
"description": "Name of the attribute of the entity to filter entities by. An example value is ``importance`` attribute for the deployment entity.",
"maxLength": 50,
"type": "string"
},
"values": {
"description": "Array of field values to apply condition to trigger on. If ``null`` for ``equals`` condition, then any value for the field is accepted.",
"items": {
"maxLength": 50,
"type": "string"
},
"maxItems": 100,
"type": "array"
}
},
"required": [
"condition",
"fieldName",
"values"
],
"type": "object"
}
},
"required": [
"action"
],
"type": "object"
},
"labels": {
"description": "Trigger Labels.",
"properties": {
"groupLabel": {
"description": "Group Label.",
"type": "string"
},
"label": {
"description": "Label.",
"type": "string"
}
},
"required": [
"groupLabel",
"label"
],
"type": "object"
}
},
"required": [
"entityType",
"intendedAction"
],
"type": "object"
},
"type": "array"
}
},
"required": [
"data"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| data |
[ApprovalPolicyTrigger] |
true |
|
List of available Approval Policy Triggers. |
ChangeRequestCreate
{
"discriminator": {
"propertyName": "action"
},
"oneOf": [
{
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"approve"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Approve a deployment.",
"properties": {
"approvalStatus": {
"description": "Deployment approval status to set.",
"enum": [
"APPROVED"
],
"type": "string"
}
},
"required": [
"approvalStatus"
],
"type": "object"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
}
},
"required": [
"action",
"autoApply",
"change",
"entityId",
"entityType"
],
"type": "object"
},
{
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"changeStatus"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Change deployment status.",
"properties": {
"status": {
"description": "Deployment status to set.",
"enum": [
"active",
"inactive"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
}
},
"required": [
"action",
"autoApply",
"change",
"entityId",
"entityType"
],
"type": "object"
},
{
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"changeImportance"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Change deployment importance.",
"properties": {
"importance": {
"description": "Deployment Importance to set.",
"enum": [
"CRITICAL",
"HIGH",
"MODERATE",
"LOW"
],
"type": "string"
}
},
"required": [
"importance"
],
"type": "object"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
}
},
"required": [
"action",
"autoApply",
"change",
"entityId",
"entityType"
],
"type": "object"
},
{
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"cleanupStats"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Cleanup deployment stats.",
"properties": {
"dataType": {
"description": "Type of stats to cleanup.",
"enum": [
"monitoring"
],
"type": "string"
},
"end": {
"description": "If specified, the stats will be cleaned up to this timestamp. If ``null`` all stats till the deployment end forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"modelId": {
"default": null,
"description": "ID of the model to remove deployment stats for. If ``null``, the stats will be cleaned up for all models in the mathcing period. Defaults to ``null``.",
"type": [
"string",
"null"
]
},
"start": {
"description": "If specified, the stats will be cleaned up from this timestamp. If ``null`` all stats from the deployment start forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
}
},
"required": [
"dataType",
"end",
"modelId",
"start"
],
"type": "object"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
}
},
"required": [
"action",
"autoApply",
"change",
"entityId",
"entityType"
],
"type": "object"
},
{
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"delete"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Delete a deployment.",
"properties": {
"defaultDeploymentId": {
"description": "Used by management agent to recalculate endpoint traffic. Traffic from the deploymentbeing deleted flipped to a default deployment.",
"type": "string"
},
"ignoreManagementAgent": {
"default": "false",
"description": "Do not wait for management agent to delete the deployment first.",
"enum": [
"false",
"False",
"true",
"True"
],
"type": "string"
}
},
"type": "object"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
}
},
"required": [
"action",
"autoApply",
"entityId",
"entityType"
],
"type": "object"
},
{
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"replaceModel"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Replace model in deployment.",
"properties": {
"modelId": {
"description": "ID of the Model to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelId",
"replacementReason"
],
"type": "object"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
}
},
"required": [
"action",
"autoApply",
"change",
"entityId",
"entityType"
],
"type": "object"
},
{
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"replaceModelPackage"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Replace model package in deployment.",
"properties": {
"modelPackageId": {
"description": "ID of the Model Package to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelPackageId",
"replacementReason"
],
"type": "object"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
}
},
"required": [
"action",
"autoApply",
"change",
"entityId",
"entityType"
],
"type": "object"
},
{
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"updateSecondaryDatasetConfigs"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Update secondary dataset config for deployment.",
"properties": {
"secondaryDatasetsConfigId": {
"description": "ID of the secondary dataset configs.",
"type": "string"
}
},
"required": [
"secondaryDatasetsConfigId"
],
"type": "object"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
}
},
"required": [
"action",
"autoApply",
"change",
"entityId",
"entityType"
],
"type": "object"
}
]
}
Properties
oneOf
| Name |
Type |
Required |
Restrictions |
Description |
| anonymous |
object |
false |
|
none |
| » action |
string |
true |
|
Actions the user can take on the entity. Each entity type has a specific set of actions. |
| » autoApply |
boolean |
true |
|
Whether to automatically apply the change when the request is approved. If true, the requested changes will be applied on approval. |
| » change |
DeploymentApproveChange |
true |
|
Approve a deployment. |
| » comment |
string |
false |
maxLength: 10000
|
Free form text to comment on the requested changes. |
| » entityId |
string |
true |
|
ID of the Product Entity the request is intended to change. |
| » entityType |
string |
true |
|
Type of the Product Entity that is requested to be changed. |
xor
| Name |
Type |
Required |
Restrictions |
Description |
| anonymous |
object |
false |
|
none |
| » action |
string |
true |
|
Actions the user can take on the entity. Each entity type has a specific set of actions. |
| » autoApply |
boolean |
true |
|
Whether to automatically apply the change when the request is approved. If true, the requested changes will be applied on approval. |
| » change |
DeploymentChangeStatusChange |
true |
|
Change deployment status. |
| » comment |
string |
false |
maxLength: 10000
|
Free form text to comment on the requested changes. |
| » entityId |
string |
true |
|
ID of the Product Entity the request is intended to change. |
| » entityType |
string |
true |
|
Type of the Product Entity that is requested to be changed. |
xor
| Name |
Type |
Required |
Restrictions |
Description |
| anonymous |
object |
false |
|
none |
| » action |
string |
true |
|
Actions the user can take on the entity. Each entity type has a specific set of actions. |
| » autoApply |
boolean |
true |
|
Whether to automatically apply the change when the request is approved. If true, the requested changes will be applied on approval. |
| » change |
DeploymentChangeImportanceChange |
true |
|
Change deployment importance. |
| » comment |
string |
false |
maxLength: 10000
|
Free form text to comment on the requested changes. |
| » entityId |
string |
true |
|
ID of the Product Entity the request is intended to change. |
| » entityType |
string |
true |
|
Type of the Product Entity that is requested to be changed. |
xor
| Name |
Type |
Required |
Restrictions |
Description |
| anonymous |
object |
false |
|
none |
| » action |
string |
true |
|
Actions the user can take on the entity. Each entity type has a specific set of actions. |
| » autoApply |
boolean |
true |
|
Whether to automatically apply the change when the request is approved. If true, the requested changes will be applied on approval. |
| » change |
DeploymentCleanupStatsChange |
true |
|
Cleanup deployment stats. |
| » comment |
string |
false |
maxLength: 10000
|
Free form text to comment on the requested changes. |
| » entityId |
string |
true |
|
ID of the Product Entity the request is intended to change. |
| » entityType |
string |
true |
|
Type of the Product Entity that is requested to be changed. |
xor
| Name |
Type |
Required |
Restrictions |
Description |
| anonymous |
object |
false |
|
none |
| » action |
string |
true |
|
Actions the user can take on the entity. Each entity type has a specific set of actions. |
| » autoApply |
boolean |
true |
|
Whether to automatically apply the change when the request is approved. If true, the requested changes will be applied on approval. |
| » change |
DeploymentDeleteChange |
false |
|
Delete a deployment. |
| » comment |
string |
false |
maxLength: 10000
|
Free form text to comment on the requested changes. |
| » entityId |
string |
true |
|
ID of the Product Entity the request is intended to change. |
| » entityType |
string |
true |
|
Type of the Product Entity that is requested to be changed. |
xor
| Name |
Type |
Required |
Restrictions |
Description |
| anonymous |
object |
false |
|
none |
| » action |
string |
true |
|
Actions the user can take on the entity. Each entity type has a specific set of actions. |
| » autoApply |
boolean |
true |
|
Whether to automatically apply the change when the request is approved. If true, the requested changes will be applied on approval. |
| » change |
DeploymentReplaceModelChange |
true |
|
Replace model in deployment. |
| » comment |
string |
false |
maxLength: 10000
|
Free form text to comment on the requested changes. |
| » entityId |
string |
true |
|
ID of the Product Entity the request is intended to change. |
| » entityType |
string |
true |
|
Type of the Product Entity that is requested to be changed. |
xor
| Name |
Type |
Required |
Restrictions |
Description |
| anonymous |
object |
false |
|
none |
| » action |
string |
true |
|
Actions the user can take on the entity. Each entity type has a specific set of actions. |
| » autoApply |
boolean |
true |
|
Whether to automatically apply the change when the request is approved. If true, the requested changes will be applied on approval. |
| » change |
DeploymentReplaceModelPackageChange |
true |
|
Replace model package in deployment. |
| » comment |
string |
false |
maxLength: 10000
|
Free form text to comment on the requested changes. |
| » entityId |
string |
true |
|
ID of the Product Entity the request is intended to change. |
| » entityType |
string |
true |
|
Type of the Product Entity that is requested to be changed. |
xor
| Name |
Type |
Required |
Restrictions |
Description |
| anonymous |
object |
false |
|
none |
| » action |
string |
true |
|
Actions the user can take on the entity. Each entity type has a specific set of actions. |
| » autoApply |
boolean |
true |
|
Whether to automatically apply the change when the request is approved. If true, the requested changes will be applied on approval. |
| » change |
DeploymentUpdateSecondaryDatasetConfigChange |
true |
|
Update secondary dataset config for deployment. |
| » comment |
string |
false |
maxLength: 10000
|
Free form text to comment on the requested changes. |
| » entityId |
string |
true |
|
ID of the Product Entity the request is intended to change. |
| » entityType |
string |
true |
|
Type of the Product Entity that is requested to be changed. |
Enumerated Values
| Property |
Value |
| action |
approve |
| entityType |
[deployment, Deployment, DEPLOYMENT] |
| action |
changeStatus |
| entityType |
[deployment, Deployment, DEPLOYMENT] |
| action |
changeImportance |
| entityType |
[deployment, Deployment, DEPLOYMENT] |
| action |
cleanupStats |
| entityType |
[deployment, Deployment, DEPLOYMENT] |
| action |
delete |
| entityType |
[deployment, Deployment, DEPLOYMENT] |
| action |
replaceModel |
| entityType |
[deployment, Deployment, DEPLOYMENT] |
| action |
replaceModelPackage |
| entityType |
[deployment, Deployment, DEPLOYMENT] |
| action |
updateSecondaryDatasetConfigs |
| entityType |
[deployment, Deployment, DEPLOYMENT] |
ChangeRequestDiff
{
"description": "The difference between the current entity state and the state of the entity if the Change Request gets applied.",
"properties": {
"changesFrom": {
"description": "List of human readable messages describing the state of the entity before changes are applied.",
"items": {
"description": "Single message line.",
"type": "string"
},
"maxItems": 1000,
"type": "array"
},
"changesTo": {
"description": "List of human readable messages describing the state of the entity after changes are applied.",
"items": {
"description": "Single message line.",
"type": "string"
},
"maxItems": 1000,
"type": "array"
}
},
"required": [
"changesFrom",
"changesTo"
],
"type": "object"
}
The difference between the current entity state and the state of the entity if the Change Request gets applied.
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| changesFrom |
[string] |
true |
maxItems: 1000
|
List of human readable messages describing the state of the entity before changes are applied. |
| changesTo |
[string] |
true |
maxItems: 1000
|
List of human readable messages describing the state of the entity after changes are applied. |
ChangeRequestInfoListResponse
{
"properties": {
"count": {
"description": "Number of items returned on this page.",
"type": "integer"
},
"data": {
"description": "List of Approval Policies.",
"items": {
"properties": {
"changeRequestId": {
"description": "ID of the Change Request.",
"type": "string"
},
"createDate": {
"description": "Change Request creation date.",
"format": "date-time",
"type": "string"
},
"entityId": {
"description": "ID of the modified entity.",
"type": "string"
},
"entityName": {
"description": "Name of the modified entity.",
"type": [
"string",
"null"
]
},
"requester": {
"description": "Username of the account that initiated a Change Request.",
"type": "string"
},
"state": {
"description": "Status of the Change Request.",
"enum": [
"OPENED",
"RESOLVED",
"CANCELLED"
],
"type": "string"
},
"updateDate": {
"description": "Last date when Change Request was modified.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"updatedBy": {
"description": "Username of the account that last updated the Change Request.",
"type": [
"string",
"null"
]
}
},
"required": [
"changeRequestId",
"createDate",
"entityId",
"entityName",
"requester",
"state",
"updateDate",
"updatedBy"
],
"type": "object"
},
"type": "array"
},
"next": {
"description": "URL pointing to the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "URL pointing to the previous page (if null, there is no previous page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "The total number of items across all pages.",
"type": "integer"
}
},
"required": [
"data",
"next",
"previous",
"totalCount"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| count |
integer |
false |
|
Number of items returned on this page. |
| data |
[ChangeRequestInfoResponse] |
true |
|
List of Approval Policies. |
| next |
string,null(uri) |
true |
|
URL pointing to the next page (if null, there is no next page). |
| previous |
string,null(uri) |
true |
|
URL pointing to the previous page (if null, there is no previous page). |
| totalCount |
integer |
true |
|
The total number of items across all pages. |
ChangeRequestInfoResponse
{
"properties": {
"changeRequestId": {
"description": "ID of the Change Request.",
"type": "string"
},
"createDate": {
"description": "Change Request creation date.",
"format": "date-time",
"type": "string"
},
"entityId": {
"description": "ID of the modified entity.",
"type": "string"
},
"entityName": {
"description": "Name of the modified entity.",
"type": [
"string",
"null"
]
},
"requester": {
"description": "Username of the account that initiated a Change Request.",
"type": "string"
},
"state": {
"description": "Status of the Change Request.",
"enum": [
"OPENED",
"RESOLVED",
"CANCELLED"
],
"type": "string"
},
"updateDate": {
"description": "Last date when Change Request was modified.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"updatedBy": {
"description": "Username of the account that last updated the Change Request.",
"type": [
"string",
"null"
]
}
},
"required": [
"changeRequestId",
"createDate",
"entityId",
"entityName",
"requester",
"state",
"updateDate",
"updatedBy"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| changeRequestId |
string |
true |
|
ID of the Change Request. |
| createDate |
string(date-time) |
true |
|
Change Request creation date. |
| entityId |
string |
true |
|
ID of the modified entity. |
| entityName |
string,null |
true |
|
Name of the modified entity. |
| requester |
string |
true |
|
Username of the account that initiated a Change Request. |
| state |
string |
true |
|
Status of the Change Request. |
| updateDate |
string,null(date-time) |
true |
|
Last date when Change Request was modified. |
| updatedBy |
string,null |
true |
|
Username of the account that last updated the Change Request. |
Enumerated Values
| Property |
Value |
| state |
[OPENED, RESOLVED, CANCELLED] |
ChangeRequestRequestReview
{
"properties": {
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
}
},
"type": "object",
"x-versionadded": "v2.38"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| comment |
string |
false |
maxLength: 10000
|
Free form text to comment on the requested changes. |
ChangeRequestResponse
{
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"approve",
"Approve",
"APPROVE",
"changeStatus",
"ChangeStatus",
"CHANGE_STATUS",
"changeImportance",
"ChangeImportance",
"CHANGE_IMPORTANCE",
"cleanupStats",
"CleanupStats",
"CLEANUP_STATS",
"delete",
"Delete",
"DELETE",
"replaceModel",
"ReplaceModel",
"REPLACE_MODEL",
"replaceModelPackage",
"ReplaceModelPackage",
"REPLACE_MODEL_PACKAGE",
"updateSecondaryDatasetConfigs",
"UpdateSecondaryDatasetConfigs",
"UPDATE_SECONDARY_DATASET_CONFIGS"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Change that the user wants to apply to the entity. Needs to be provided if the action, like `approve` action for a deployment, requires additional parameters . `null` if the action does not require any additional parameters to be applied. ",
"oneOf": [
{
"description": "Approve a deployment.",
"properties": {
"approvalStatus": {
"description": "Deployment approval status to set.",
"enum": [
"APPROVED"
],
"type": "string"
}
},
"required": [
"approvalStatus"
],
"type": "object"
},
{
"description": "Change deployment status.",
"properties": {
"status": {
"description": "Deployment status to set.",
"enum": [
"active",
"inactive"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"description": "Change deployment importance.",
"properties": {
"importance": {
"description": "Deployment Importance to set.",
"enum": [
"CRITICAL",
"HIGH",
"MODERATE",
"LOW"
],
"type": "string"
}
},
"required": [
"importance"
],
"type": "object"
},
{
"description": "Cleanup deployment stats.",
"properties": {
"dataType": {
"description": "Type of stats to cleanup.",
"enum": [
"monitoring"
],
"type": "string"
},
"end": {
"description": "If specified, the stats will be cleaned up to this timestamp. If ``null`` all stats till the deployment end forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"modelId": {
"default": null,
"description": "ID of the model to remove deployment stats for. If ``null``, the stats will be cleaned up for all models in the mathcing period. Defaults to ``null``.",
"type": [
"string",
"null"
]
},
"start": {
"description": "If specified, the stats will be cleaned up from this timestamp. If ``null`` all stats from the deployment start forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
}
},
"required": [
"dataType",
"end",
"modelId",
"start"
],
"type": "object"
},
{
"description": "Replace model in deployment.",
"properties": {
"modelId": {
"description": "ID of the Model to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelId",
"replacementReason"
],
"type": "object"
},
{
"description": "Replace model package in deployment.",
"properties": {
"modelPackageId": {
"description": "ID of the Model Package to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelPackageId",
"replacementReason"
],
"type": "object"
},
{
"description": "Update secondary dataset config for deployment.",
"properties": {
"secondaryDatasetsConfigId": {
"description": "ID of the secondary dataset configs.",
"type": "string"
}
},
"required": [
"secondaryDatasetsConfigId"
],
"type": "object"
},
{
"type": "null"
}
]
},
"changeVersionId": {
"description": "ID of the current version of change within this Change Request. It's possible to modify the changes that have been requested. At the same time, we need to make sure that review is associated with the correct changes, that's why we implement versioning on the changes and associate user reviews with the specific Change Request versions.",
"type": "string"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"createdAt": {
"description": "Timestamp when the request was created.",
"format": "date-time",
"type": "string"
},
"diff": {
"description": "The difference between the current entity state and the state of the entity if the Change Request gets applied.",
"properties": {
"changesFrom": {
"description": "List of human readable messages describing the state of the entity before changes are applied.",
"items": {
"description": "Single message line.",
"type": "string"
},
"maxItems": 1000,
"type": "array"
},
"changesTo": {
"description": "List of human readable messages describing the state of the entity after changes are applied.",
"items": {
"description": "Single message line.",
"type": "string"
},
"maxItems": 1000,
"type": "array"
}
},
"required": [
"changesFrom",
"changesTo"
],
"type": "object"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
},
"id": {
"description": "ID of the Change Request.",
"type": "string"
},
"numApprovalsRequired": {
"description": "Number of approving reviews required for the Change Request to be considered approved.",
"minimum": 0,
"type": "integer"
},
"processedAt": {
"description": "Timestamp when the request was processed.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"status": {
"description": "Change Request Status.",
"enum": [
"pending",
"Pending",
"PENDING",
"approved",
"Approved",
"APPROVED",
"changesRequested",
"ChangesRequested",
"CHANGES_REQUESTED",
"resolved",
"Resolved",
"RESOLVED",
"cancelled",
"Cancelled",
"CANCELLED"
],
"type": "string"
},
"statusChangedAt": {
"description": "Timestamp when the current request status was set. `null` if status is set by the system.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"statusChangedBy": {
"description": "ID of the user who set the current request status. `null` if the status was set by the system.",
"type": [
"string",
"null"
]
},
"updatedAt": {
"description": "Timestamp when the request was last modified.",
"format": "date-time",
"type": "string"
},
"userId": {
"description": "ID of the user, who created the Change Request.",
"type": "string"
},
"userName": {
"description": "Email of the user, who created the Change Request",
"type": [
"string",
"null"
]
},
"userOperations": {
"description": "A set operations the user can or can not make with the Change Request.",
"properties": {
"canCancel": {
"description": "Whether the user can cancel the Change Request.",
"type": "boolean"
},
"canComment": {
"description": "Whether the user can create commenting review on the Change Request.",
"type": "boolean"
},
"canResolve": {
"description": "Whether the user can resolve the Change Request.",
"type": "boolean"
},
"canReview": {
"description": "Whether the user can review (approve or request updates) the Change Request.",
"type": "boolean"
},
"canUpdate": {
"description": "Whether the user can update the Change Request.",
"type": "boolean"
}
},
"required": [
"canCancel",
"canComment",
"canResolve",
"canReview",
"canUpdate"
],
"type": "object"
}
},
"required": [
"action",
"autoApply",
"change",
"changeVersionId",
"createdAt",
"diff",
"entityId",
"entityType",
"id",
"numApprovalsRequired",
"processedAt",
"status",
"statusChangedAt",
"statusChangedBy",
"updatedAt",
"userId",
"userName",
"userOperations"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| action |
string |
true |
|
Actions the user can take on the entity. Each entity type has a specific set of actions. |
| autoApply |
boolean |
true |
|
Whether to automatically apply the change when the request is approved. If true, the requested changes will be applied on approval. |
| change |
any |
true |
|
Change that the user wants to apply to the entity. Needs to be provided if the action, like approve action for a deployment, requires additional parameters . null if the action does not require any additional parameters to be applied. |
oneOf
xor
xor
xor
xor
xor
xor
xor
| Name |
Type |
Required |
Restrictions |
Description |
| » anonymous |
null |
false |
|
none |
continued
| Name |
Type |
Required |
Restrictions |
Description |
| changeVersionId |
string |
true |
|
ID of the current version of change within this Change Request. It's possible to modify the changes that have been requested. At the same time, we need to make sure that review is associated with the correct changes, that's why we implement versioning on the changes and associate user reviews with the specific Change Request versions. |
| comment |
string |
false |
maxLength: 10000
|
Free form text to comment on the requested changes. |
| createdAt |
string(date-time) |
true |
|
Timestamp when the request was created. |
| diff |
ChangeRequestDiff |
true |
|
The difference between the current entity state and the state of the entity if the Change Request gets applied. |
| entityId |
string |
true |
|
ID of the Product Entity the request is intended to change. |
| entityType |
string |
true |
|
Type of the Product Entity that is requested to be changed. |
| id |
string |
true |
|
ID of the Change Request. |
| numApprovalsRequired |
integer |
true |
minimum: 0
|
Number of approving reviews required for the Change Request to be considered approved. |
| processedAt |
string,null(date-time) |
true |
|
Timestamp when the request was processed. |
| status |
string |
true |
|
Change Request Status. |
| statusChangedAt |
string,null(date-time) |
true |
|
Timestamp when the current request status was set. null if status is set by the system. |
| statusChangedBy |
string,null |
true |
|
ID of the user who set the current request status. null if the status was set by the system. |
| updatedAt |
string(date-time) |
true |
|
Timestamp when the request was last modified. |
| userId |
string |
true |
|
ID of the user, who created the Change Request. |
| userName |
string,null |
true |
|
Email of the user, who created the Change Request |
| userOperations |
UserOperations |
true |
|
A set operations the user can or can not make with the Change Request. |
Enumerated Values
| Property |
Value |
| action |
[approve, Approve, APPROVE, changeStatus, ChangeStatus, CHANGE_STATUS, changeImportance, ChangeImportance, CHANGE_IMPORTANCE, cleanupStats, CleanupStats, CLEANUP_STATS, delete, Delete, DELETE, replaceModel, ReplaceModel, REPLACE_MODEL, replaceModelPackage, ReplaceModelPackage, REPLACE_MODEL_PACKAGE, updateSecondaryDatasetConfigs, UpdateSecondaryDatasetConfigs, UPDATE_SECONDARY_DATASET_CONFIGS] |
| entityType |
[deployment, Deployment, DEPLOYMENT] |
| status |
[pending, Pending, PENDING, approved, Approved, APPROVED, changesRequested, ChangesRequested, CHANGES_REQUESTED, resolved, Resolved, RESOLVED, cancelled, Cancelled, CANCELLED] |
ChangeRequestUpdate
{
"properties": {
"autoApply": {
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Change that the user wants to apply to the entity. Needs to be provided if the action, like `approve` action for a deployment, requires additional parameters . `null` if the action does not require any additional parameters to be applied. ",
"oneOf": [
{
"description": "Approve a deployment.",
"properties": {
"approvalStatus": {
"description": "Deployment approval status to set.",
"enum": [
"APPROVED"
],
"type": "string"
}
},
"required": [
"approvalStatus"
],
"type": "object"
},
{
"description": "Change deployment status.",
"properties": {
"status": {
"description": "Deployment status to set.",
"enum": [
"active",
"inactive"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"description": "Change deployment importance.",
"properties": {
"importance": {
"description": "Deployment Importance to set.",
"enum": [
"CRITICAL",
"HIGH",
"MODERATE",
"LOW"
],
"type": "string"
}
},
"required": [
"importance"
],
"type": "object"
},
{
"description": "Cleanup deployment stats.",
"properties": {
"dataType": {
"description": "Type of stats to cleanup.",
"enum": [
"monitoring"
],
"type": "string"
},
"end": {
"description": "If specified, the stats will be cleaned up to this timestamp. If ``null`` all stats till the deployment end forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"modelId": {
"default": null,
"description": "ID of the model to remove deployment stats for. If ``null``, the stats will be cleaned up for all models in the mathcing period. Defaults to ``null``.",
"type": [
"string",
"null"
]
},
"start": {
"description": "If specified, the stats will be cleaned up from this timestamp. If ``null`` all stats from the deployment start forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
}
},
"required": [
"dataType",
"end",
"modelId",
"start"
],
"type": "object"
},
{
"description": "Replace model in deployment.",
"properties": {
"modelId": {
"description": "ID of the Model to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelId",
"replacementReason"
],
"type": "object"
},
{
"description": "Replace model package in deployment.",
"properties": {
"modelPackageId": {
"description": "ID of the Model Package to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelPackageId",
"replacementReason"
],
"type": "object"
},
{
"description": "Update secondary dataset config for deployment.",
"properties": {
"secondaryDatasetsConfigId": {
"description": "ID of the secondary dataset configs.",
"type": "string"
}
},
"required": [
"secondaryDatasetsConfigId"
],
"type": "object"
}
]
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
}
},
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| autoApply |
boolean |
false |
|
Whether to automatically apply the change when the request is approved. If true, the requested changes will be applied on approval. |
| change |
any |
false |
|
Change that the user wants to apply to the entity. Needs to be provided if the action, like approve action for a deployment, requires additional parameters . null if the action does not require any additional parameters to be applied. |
oneOf
xor
xor
xor
xor
xor
xor
continued
| Name |
Type |
Required |
Restrictions |
Description |
| comment |
string |
false |
maxLength: 10000
|
Free form text to comment on the requested changes. |
ChangeRequestUpdateStatus
{
"properties": {
"status": {
"description": "Change Request status to set.",
"enum": [
"cancelled",
"resolving"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| status |
string |
true |
|
Change Request status to set. |
Enumerated Values
| Property |
Value |
| status |
[cancelled, resolving] |
ChangeRequestsListResponse
{
"properties": {
"count": {
"description": "Number of items returned on this page.",
"type": "integer"
},
"data": {
"description": "List of Change Requests",
"items": {
"properties": {
"action": {
"description": "Actions the user can take on the entity. Each entity type has a specific set of actions.",
"enum": [
"approve",
"Approve",
"APPROVE",
"changeStatus",
"ChangeStatus",
"CHANGE_STATUS",
"changeImportance",
"ChangeImportance",
"CHANGE_IMPORTANCE",
"cleanupStats",
"CleanupStats",
"CLEANUP_STATS",
"delete",
"Delete",
"DELETE",
"replaceModel",
"ReplaceModel",
"REPLACE_MODEL",
"replaceModelPackage",
"ReplaceModelPackage",
"REPLACE_MODEL_PACKAGE",
"updateSecondaryDatasetConfigs",
"UpdateSecondaryDatasetConfigs",
"UPDATE_SECONDARY_DATASET_CONFIGS"
],
"type": "string"
},
"autoApply": {
"default": false,
"description": "Whether to automatically apply the change when the request is approved. If `true`, the requested changes will be applied on approval.",
"type": "boolean"
},
"change": {
"description": "Change that the user wants to apply to the entity. Needs to be provided if the action, like `approve` action for a deployment, requires additional parameters . `null` if the action does not require any additional parameters to be applied. ",
"oneOf": [
{
"description": "Approve a deployment.",
"properties": {
"approvalStatus": {
"description": "Deployment approval status to set.",
"enum": [
"APPROVED"
],
"type": "string"
}
},
"required": [
"approvalStatus"
],
"type": "object"
},
{
"description": "Change deployment status.",
"properties": {
"status": {
"description": "Deployment status to set.",
"enum": [
"active",
"inactive"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
},
{
"description": "Change deployment importance.",
"properties": {
"importance": {
"description": "Deployment Importance to set.",
"enum": [
"CRITICAL",
"HIGH",
"MODERATE",
"LOW"
],
"type": "string"
}
},
"required": [
"importance"
],
"type": "object"
},
{
"description": "Cleanup deployment stats.",
"properties": {
"dataType": {
"description": "Type of stats to cleanup.",
"enum": [
"monitoring"
],
"type": "string"
},
"end": {
"description": "If specified, the stats will be cleaned up to this timestamp. If ``null`` all stats till the deployment end forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"modelId": {
"default": null,
"description": "ID of the model to remove deployment stats for. If ``null``, the stats will be cleaned up for all models in the mathcing period. Defaults to ``null``.",
"type": [
"string",
"null"
]
},
"start": {
"description": "If specified, the stats will be cleaned up from this timestamp. If ``null`` all stats from the deployment start forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
}
},
"required": [
"dataType",
"end",
"modelId",
"start"
],
"type": "object"
},
{
"description": "Replace model in deployment.",
"properties": {
"modelId": {
"description": "ID of the Model to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelId",
"replacementReason"
],
"type": "object"
},
{
"description": "Replace model package in deployment.",
"properties": {
"modelPackageId": {
"description": "ID of the Model Package to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelPackageId",
"replacementReason"
],
"type": "object"
},
{
"description": "Update secondary dataset config for deployment.",
"properties": {
"secondaryDatasetsConfigId": {
"description": "ID of the secondary dataset configs.",
"type": "string"
}
},
"required": [
"secondaryDatasetsConfigId"
],
"type": "object"
},
{
"type": "null"
}
]
},
"changeVersionId": {
"description": "ID of the current version of change within this Change Request. It's possible to modify the changes that have been requested. At the same time, we need to make sure that review is associated with the correct changes, that's why we implement versioning on the changes and associate user reviews with the specific Change Request versions.",
"type": "string"
},
"comment": {
"description": "Free form text to comment on the requested changes.",
"maxLength": 10000,
"type": "string"
},
"createdAt": {
"description": "Timestamp when the request was created.",
"format": "date-time",
"type": "string"
},
"diff": {
"description": "The difference between the current entity state and the state of the entity if the Change Request gets applied.",
"properties": {
"changesFrom": {
"description": "List of human readable messages describing the state of the entity before changes are applied.",
"items": {
"description": "Single message line.",
"type": "string"
},
"maxItems": 1000,
"type": "array"
},
"changesTo": {
"description": "List of human readable messages describing the state of the entity after changes are applied.",
"items": {
"description": "Single message line.",
"type": "string"
},
"maxItems": 1000,
"type": "array"
}
},
"required": [
"changesFrom",
"changesTo"
],
"type": "object"
},
"entityId": {
"description": "ID of the Product Entity the request is intended to change.",
"type": "string"
},
"entityType": {
"description": "Type of the Product Entity that is requested to be changed.",
"enum": [
"deployment",
"Deployment",
"DEPLOYMENT"
],
"type": "string"
},
"id": {
"description": "ID of the Change Request.",
"type": "string"
},
"numApprovalsRequired": {
"description": "Number of approving reviews required for the Change Request to be considered approved.",
"minimum": 0,
"type": "integer"
},
"processedAt": {
"description": "Timestamp when the request was processed.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"status": {
"description": "Change Request Status.",
"enum": [
"pending",
"Pending",
"PENDING",
"approved",
"Approved",
"APPROVED",
"changesRequested",
"ChangesRequested",
"CHANGES_REQUESTED",
"resolved",
"Resolved",
"RESOLVED",
"cancelled",
"Cancelled",
"CANCELLED"
],
"type": "string"
},
"statusChangedAt": {
"description": "Timestamp when the current request status was set. `null` if status is set by the system.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"statusChangedBy": {
"description": "ID of the user who set the current request status. `null` if the status was set by the system.",
"type": [
"string",
"null"
]
},
"updatedAt": {
"description": "Timestamp when the request was last modified.",
"format": "date-time",
"type": "string"
},
"userId": {
"description": "ID of the user, who created the Change Request.",
"type": "string"
},
"userName": {
"description": "Email of the user, who created the Change Request",
"type": [
"string",
"null"
]
},
"userOperations": {
"description": "A set operations the user can or can not make with the Change Request.",
"properties": {
"canCancel": {
"description": "Whether the user can cancel the Change Request.",
"type": "boolean"
},
"canComment": {
"description": "Whether the user can create commenting review on the Change Request.",
"type": "boolean"
},
"canResolve": {
"description": "Whether the user can resolve the Change Request.",
"type": "boolean"
},
"canReview": {
"description": "Whether the user can review (approve or request updates) the Change Request.",
"type": "boolean"
},
"canUpdate": {
"description": "Whether the user can update the Change Request.",
"type": "boolean"
}
},
"required": [
"canCancel",
"canComment",
"canResolve",
"canReview",
"canUpdate"
],
"type": "object"
}
},
"required": [
"action",
"autoApply",
"change",
"changeVersionId",
"createdAt",
"diff",
"entityId",
"entityType",
"id",
"numApprovalsRequired",
"processedAt",
"status",
"statusChangedAt",
"statusChangedBy",
"updatedAt",
"userId",
"userName",
"userOperations"
],
"type": "object"
},
"maxItems": 1000,
"type": "array"
},
"next": {
"description": "URL pointing to the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "URL pointing to the previous page (if null, there is no previous page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "The total number of items across all pages.",
"type": "integer"
}
},
"required": [
"data",
"next",
"previous",
"totalCount"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| count |
integer |
false |
|
Number of items returned on this page. |
| data |
[ChangeRequestResponse] |
true |
maxItems: 1000
|
List of Change Requests |
| next |
string,null(uri) |
true |
|
URL pointing to the next page (if null, there is no next page). |
| previous |
string,null(uri) |
true |
|
URL pointing to the previous page (if null, there is no previous page). |
| totalCount |
integer |
true |
|
The total number of items across all pages. |
DeploymentApproveChange
{
"description": "Approve a deployment.",
"properties": {
"approvalStatus": {
"description": "Deployment approval status to set.",
"enum": [
"APPROVED"
],
"type": "string"
}
},
"required": [
"approvalStatus"
],
"type": "object"
}
Approve a deployment.
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| approvalStatus |
string |
true |
|
Deployment approval status to set. |
Enumerated Values
| Property |
Value |
| approvalStatus |
APPROVED |
DeploymentChangeImportanceChange
{
"description": "Change deployment importance.",
"properties": {
"importance": {
"description": "Deployment Importance to set.",
"enum": [
"CRITICAL",
"HIGH",
"MODERATE",
"LOW"
],
"type": "string"
}
},
"required": [
"importance"
],
"type": "object"
}
Change deployment importance.
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| importance |
string |
true |
|
Deployment Importance to set. |
Enumerated Values
| Property |
Value |
| importance |
[CRITICAL, HIGH, MODERATE, LOW] |
DeploymentChangeStatusChange
{
"description": "Change deployment status.",
"properties": {
"status": {
"description": "Deployment status to set.",
"enum": [
"active",
"inactive"
],
"type": "string"
}
},
"required": [
"status"
],
"type": "object"
}
Change deployment status.
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| status |
string |
true |
|
Deployment status to set. |
Enumerated Values
| Property |
Value |
| status |
[active, inactive] |
DeploymentCleanupStatsChange
{
"description": "Cleanup deployment stats.",
"properties": {
"dataType": {
"description": "Type of stats to cleanup.",
"enum": [
"monitoring"
],
"type": "string"
},
"end": {
"description": "If specified, the stats will be cleaned up to this timestamp. If ``null`` all stats till the deployment end forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
},
"modelId": {
"default": null,
"description": "ID of the model to remove deployment stats for. If ``null``, the stats will be cleaned up for all models in the mathcing period. Defaults to ``null``.",
"type": [
"string",
"null"
]
},
"start": {
"description": "If specified, the stats will be cleaned up from this timestamp. If ``null`` all stats from the deployment start forecast date will be cleaned up. Defaults to ``null``.",
"format": "date-time",
"type": [
"string",
"null"
]
}
},
"required": [
"dataType",
"end",
"modelId",
"start"
],
"type": "object"
}
Cleanup deployment stats.
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| dataType |
string |
true |
|
Type of stats to cleanup. |
| end |
string,null(date-time) |
true |
|
If specified, the stats will be cleaned up to this timestamp. If null all stats till the deployment end forecast date will be cleaned up. Defaults to null. |
| modelId |
string,null |
true |
|
ID of the model to remove deployment stats for. If null, the stats will be cleaned up for all models in the mathcing period. Defaults to null. |
| start |
string,null(date-time) |
true |
|
If specified, the stats will be cleaned up from this timestamp. If null all stats from the deployment start forecast date will be cleaned up. Defaults to null. |
Enumerated Values
| Property |
Value |
| dataType |
monitoring |
DeploymentDeleteChange
{
"description": "Delete a deployment.",
"properties": {
"defaultDeploymentId": {
"description": "Used by management agent to recalculate endpoint traffic. Traffic from the deploymentbeing deleted flipped to a default deployment.",
"type": "string"
},
"ignoreManagementAgent": {
"default": "false",
"description": "Do not wait for management agent to delete the deployment first.",
"enum": [
"false",
"False",
"true",
"True"
],
"type": "string"
}
},
"type": "object"
}
Delete a deployment.
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| defaultDeploymentId |
string |
false |
|
Used by management agent to recalculate endpoint traffic. Traffic from the deploymentbeing deleted flipped to a default deployment. |
| ignoreManagementAgent |
string |
false |
|
Do not wait for management agent to delete the deployment first. |
Enumerated Values
| Property |
Value |
| ignoreManagementAgent |
[false, False, true, True] |
DeploymentReplaceModelChange
{
"description": "Replace model in deployment.",
"properties": {
"modelId": {
"description": "ID of the Model to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelId",
"replacementReason"
],
"type": "object"
}
Replace model in deployment.
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| modelId |
string |
true |
|
ID of the Model to deploy. |
| replacementReason |
string |
true |
|
Reason for replacement. |
Enumerated Values
| Property |
Value |
| replacementReason |
[accuracy, data_drift, errors, scheduled_refresh, scoring_speed, deprecation, other] |
DeploymentReplaceModelPackageChange
{
"description": "Replace model package in deployment.",
"properties": {
"modelPackageId": {
"description": "ID of the Model Package to deploy.",
"type": "string"
},
"replacementReason": {
"default": "other",
"description": "Reason for replacement.",
"enum": [
"accuracy",
"data_drift",
"errors",
"scheduled_refresh",
"scoring_speed",
"deprecation",
"other"
],
"type": "string"
}
},
"required": [
"modelPackageId",
"replacementReason"
],
"type": "object"
}
Replace model package in deployment.
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| modelPackageId |
string |
true |
|
ID of the Model Package to deploy. |
| replacementReason |
string |
true |
|
Reason for replacement. |
Enumerated Values
| Property |
Value |
| replacementReason |
[accuracy, data_drift, errors, scheduled_refresh, scoring_speed, deprecation, other] |
DeploymentUpdateSecondaryDatasetConfigChange
{
"description": "Update secondary dataset config for deployment.",
"properties": {
"secondaryDatasetsConfigId": {
"description": "ID of the secondary dataset configs.",
"type": "string"
}
},
"required": [
"secondaryDatasetsConfigId"
],
"type": "object"
}
Update secondary dataset config for deployment.
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| secondaryDatasetsConfigId |
string |
true |
|
ID of the secondary dataset configs. |
PolicyUserGroup
{
"properties": {
"id": {
"description": "ID of the user group.",
"type": "string"
},
"name": {
"description": "Name of the user group.",
"maxLength": 50,
"type": [
"string",
"null"
]
}
},
"required": [
"id"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| id |
string |
true |
|
ID of the user group. |
| name |
string,null |
false |
maxLength: 50
|
Name of the user group. |
RecommendedSetting
{
"properties": {
"hint": {
"description": "Optional hint for the setting",
"maxLength": 255,
"type": [
"string",
"null"
]
},
"label": {
"description": "Label of the setting",
"maxLength": 80,
"type": "string"
},
"setting": {
"description": "Internal name of the setting",
"maxLength": 30,
"type": "string"
}
},
"required": [
"label",
"setting"
],
"type": "object",
"x-versionadded": "v2.38"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| hint |
string,null |
false |
maxLength: 255
|
Optional hint for the setting |
| label |
string |
true |
maxLength: 80
|
Label of the setting |
| setting |
string |
true |
maxLength: 30
|
Internal name of the setting |
RecommendedSettingChoice
{
"properties": {
"label": {
"description": "Label of the setting",
"maxLength": 80,
"type": "string"
},
"setting": {
"description": "Internal name of the setting",
"maxLength": 30,
"type": "string"
}
},
"required": [
"label",
"setting"
],
"type": "object",
"x-versionadded": "v2.38"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| label |
string |
true |
maxLength: 80
|
Label of the setting |
| setting |
string |
true |
maxLength: 30
|
Internal name of the setting |
RecommendedSettingItem
{
"properties": {
"hint": {
"description": "Optional hint for the setting",
"maxLength": 255,
"type": [
"string",
"null"
]
},
"setting": {
"description": "Internal name of the setting",
"maxLength": 30,
"type": "string"
}
},
"required": [
"setting"
],
"type": "object",
"x-versionadded": "v2.38"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| hint |
string,null |
false |
maxLength: 255
|
Optional hint for the setting |
| setting |
string |
true |
maxLength: 30
|
Internal name of the setting |
RecommendedSettingsChoices
{
"properties": {
"data": {
"description": "List of recommended settings",
"items": {
"properties": {
"label": {
"description": "Label of the setting",
"maxLength": 80,
"type": "string"
},
"setting": {
"description": "Internal name of the setting",
"maxLength": 30,
"type": "string"
}
},
"required": [
"label",
"setting"
],
"type": "object",
"x-versionadded": "v2.38"
},
"maxItems": 20,
"type": "array"
}
},
"required": [
"data"
],
"type": "object",
"x-versionadded": "v2.38"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| data |
[RecommendedSettingChoice] |
true |
maxItems: 20
|
List of recommended settings |
RecommendedSettingsResponse
{
"properties": {
"data": {
"description": "List of recommended settings",
"items": {
"properties": {
"hint": {
"description": "Optional hint for the setting",
"maxLength": 255,
"type": [
"string",
"null"
]
},
"label": {
"description": "Label of the setting",
"maxLength": 80,
"type": "string"
},
"setting": {
"description": "Internal name of the setting",
"maxLength": 30,
"type": "string"
}
},
"required": [
"label",
"setting"
],
"type": "object",
"x-versionadded": "v2.38"
},
"maxItems": 20,
"type": "array"
}
},
"required": [
"data"
],
"type": "object",
"x-versionadded": "v2.38"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| data |
[RecommendedSetting] |
true |
maxItems: 20
|
List of recommended settings |
RecommendedSettingsUpdate
{
"properties": {
"data": {
"description": "List of recommended settings to update",
"items": {
"properties": {
"hint": {
"description": "Optional hint for the setting",
"maxLength": 255,
"type": [
"string",
"null"
]
},
"setting": {
"description": "Internal name of the setting",
"maxLength": 30,
"type": "string"
}
},
"required": [
"setting"
],
"type": "object",
"x-versionadded": "v2.38"
},
"maxItems": 20,
"type": "array"
}
},
"required": [
"data"
],
"type": "object",
"x-versionadded": "v2.38"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| data |
[RecommendedSettingItem] |
true |
maxItems: 20
|
List of recommended settings to update |
ReviewCreate
{
"properties": {
"changeVersionId": {
"description": "ID of the change version.",
"type": "string"
},
"comment": {
"description": "Free form text to comment on the review.",
"maxLength": 10000,
"type": "string"
},
"status": {
"description": "Status of the review.",
"enum": [
"approved",
"Approved",
"APPROVED",
"changesRequested",
"ChangesRequested",
"CHANGES_REQUESTED",
"commented",
"Commented",
"COMMENTED"
],
"type": "string"
}
},
"required": [
"changeVersionId",
"status"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| changeVersionId |
string |
true |
|
ID of the change version. |
| comment |
string |
false |
maxLength: 10000
|
Free form text to comment on the review. |
| status |
string |
true |
|
Status of the review. |
Enumerated Values
| Property |
Value |
| status |
[approved, Approved, APPROVED, changesRequested, ChangesRequested, CHANGES_REQUESTED, commented, Commented, COMMENTED] |
ReviewResponse
{
"properties": {
"changeRequestId": {
"description": "ID of the Change Request.",
"type": "string"
},
"changeVersionId": {
"description": "ID of the change version.",
"type": "string"
},
"comment": {
"description": "Free form text to comment on the review.",
"maxLength": 10000,
"type": "string"
},
"createdAt": {
"description": "Timestamp when the review was created.",
"format": "date-time",
"type": "string"
},
"id": {
"description": "ID of the review.",
"type": "string"
},
"status": {
"description": "Status of the review.",
"enum": [
"approved",
"Approved",
"APPROVED",
"changesRequested",
"ChangesRequested",
"CHANGES_REQUESTED",
"commented",
"Commented",
"COMMENTED"
],
"type": "string"
},
"userId": {
"description": "ID of the user, who created the review.",
"type": "string"
},
"userName": {
"description": "Email of the user, who created the review",
"type": [
"string",
"null"
]
}
},
"required": [
"changeRequestId",
"changeVersionId",
"createdAt",
"id",
"status",
"userId",
"userName"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| changeRequestId |
string |
true |
|
ID of the Change Request. |
| changeVersionId |
string |
true |
|
ID of the change version. |
| comment |
string |
false |
maxLength: 10000
|
Free form text to comment on the review. |
| createdAt |
string(date-time) |
true |
|
Timestamp when the review was created. |
| id |
string |
true |
|
ID of the review. |
| status |
string |
true |
|
Status of the review. |
| userId |
string |
true |
|
ID of the user, who created the review. |
| userName |
string,null |
true |
|
Email of the user, who created the review |
Enumerated Values
| Property |
Value |
| status |
[approved, Approved, APPROVED, changesRequested, ChangesRequested, CHANGES_REQUESTED, commented, Commented, COMMENTED] |
ReviewsListResponse
{
"properties": {
"count": {
"description": "Number of items returned on this page.",
"type": "integer"
},
"data": {
"description": "List of change request reviews.",
"items": {
"properties": {
"changeRequestId": {
"description": "ID of the Change Request.",
"type": "string"
},
"changeVersionId": {
"description": "ID of the change version.",
"type": "string"
},
"comment": {
"description": "Free form text to comment on the review.",
"maxLength": 10000,
"type": "string"
},
"createdAt": {
"description": "Timestamp when the review was created.",
"format": "date-time",
"type": "string"
},
"id": {
"description": "ID of the review.",
"type": "string"
},
"status": {
"description": "Status of the review.",
"enum": [
"approved",
"Approved",
"APPROVED",
"changesRequested",
"ChangesRequested",
"CHANGES_REQUESTED",
"commented",
"Commented",
"COMMENTED"
],
"type": "string"
},
"userId": {
"description": "ID of the user, who created the review.",
"type": "string"
},
"userName": {
"description": "Email of the user, who created the review",
"type": [
"string",
"null"
]
}
},
"required": [
"changeRequestId",
"changeVersionId",
"createdAt",
"id",
"status",
"userId",
"userName"
],
"type": "object"
},
"maxItems": 1000,
"type": "array"
},
"next": {
"description": "URL pointing to the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "URL pointing to the previous page (if null, there is no previous page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "The total number of items across all pages.",
"type": "integer"
}
},
"required": [
"data",
"next",
"previous",
"totalCount"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| count |
integer |
false |
|
Number of items returned on this page. |
| data |
[ReviewResponse] |
true |
maxItems: 1000
|
List of change request reviews. |
| next |
string,null(uri) |
true |
|
URL pointing to the next page (if null, there is no next page). |
| previous |
string,null(uri) |
true |
|
URL pointing to the previous page (if null, there is no previous page). |
| totalCount |
integer |
true |
|
The total number of items across all pages. |
SuggestedReviewersResponse
{
"properties": {
"count": {
"description": "Number of items returned on this page.",
"type": "integer"
},
"data": {
"description": "List of suggested change request reviewers.",
"items": {
"properties": {
"firstName": {
"description": "First Name.",
"type": "string"
},
"lastName": {
"description": "Last Name.",
"type": "string"
},
"userId": {
"description": "ID of the User.",
"type": "string"
},
"username": {
"description": "Username.",
"type": "string"
}
},
"required": [
"firstName",
"lastName",
"userId",
"username"
],
"type": "object"
},
"maxItems": 1000,
"type": "array"
},
"next": {
"description": "URL pointing to the next page (if null, there is no next page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"previous": {
"description": "URL pointing to the previous page (if null, there is no previous page).",
"format": "uri",
"type": [
"string",
"null"
]
},
"totalCount": {
"description": "The total number of items across all pages.",
"type": "integer"
}
},
"required": [
"data",
"next",
"previous",
"totalCount"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| count |
integer |
false |
|
Number of items returned on this page. |
| data |
[UserInfo] |
true |
maxItems: 1000
|
List of suggested change request reviewers. |
| next |
string,null(uri) |
true |
|
URL pointing to the next page (if null, there is no next page). |
| previous |
string,null(uri) |
true |
|
URL pointing to the previous page (if null, there is no previous page). |
| totalCount |
integer |
true |
|
The total number of items across all pages. |
UserInfo
{
"properties": {
"firstName": {
"description": "First Name.",
"type": "string"
},
"lastName": {
"description": "Last Name.",
"type": "string"
},
"userId": {
"description": "ID of the User.",
"type": "string"
},
"username": {
"description": "Username.",
"type": "string"
}
},
"required": [
"firstName",
"lastName",
"userId",
"username"
],
"type": "object"
}
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| firstName |
string |
true |
|
First Name. |
| lastName |
string |
true |
|
Last Name. |
| userId |
string |
true |
|
ID of the User. |
| username |
string |
true |
|
Username. |
UserOperations
{
"description": "A set operations the user can or can not make with the Change Request.",
"properties": {
"canCancel": {
"description": "Whether the user can cancel the Change Request.",
"type": "boolean"
},
"canComment": {
"description": "Whether the user can create commenting review on the Change Request.",
"type": "boolean"
},
"canResolve": {
"description": "Whether the user can resolve the Change Request.",
"type": "boolean"
},
"canReview": {
"description": "Whether the user can review (approve or request updates) the Change Request.",
"type": "boolean"
},
"canUpdate": {
"description": "Whether the user can update the Change Request.",
"type": "boolean"
}
},
"required": [
"canCancel",
"canComment",
"canResolve",
"canReview",
"canUpdate"
],
"type": "object"
}
A set operations the user can or can not make with the Change Request.
Properties
| Name |
Type |
Required |
Restrictions |
Description |
| canCancel |
boolean |
true |
|
Whether the user can cancel the Change Request. |
| canComment |
boolean |
true |
|
Whether the user can create commenting review on the Change Request. |
| canResolve |
boolean |
true |
|
Whether the user can resolve the Change Request. |
| canReview |
boolean |
true |
|
Whether the user can review (approve or request updates) the Change Request. |
| canUpdate |
boolean |
true |
|
Whether the user can update the Change Request. |