Skip to content

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).

GET /api/v2/approvalPolicies/

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

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

POST /api/v2/approvalPolicies/

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

Name In Type Required Description
body body ApprovalPolicy false none

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

Status Meaning Description Schema
201 Created Approval Policy has been successfully created. ApprovalPolicyResponse
403 Forbidden Approval Policy management feature is disabled for the user. None
422 Unprocessable Entity Approval Policy could not be created with the given input. None

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

DELETE /api/v2/approvalPolicies/{approvalPolicyId}/

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

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/approvalPolicies/{approvalPolicyId}/

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

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

PUT /api/v2/approvalPolicies/{approvalPolicyId}/

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

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/approvalPolicies/{approvalPolicyId}/shareableChangeRequests/

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

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/approvalPolicyMatch/

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

Status Meaning Description Schema
200 OK Search executed successfully. ApprovalPolicyMatchResponse
403 Forbidden Approval Policy management feature is disabled for the user. None

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/approvalPolicyTriggers/

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

Status Meaning Description Schema
200 OK The list of triggers is successfully generated. ApprovalWorkflowListTriggerResponse
403 Forbidden Approval Policy management feature is disabled for the user. None

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/changeRequests/

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"
              }
            ]
          },
          "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

Status Meaning Description Schema
201 Created none ChangeRequestsListResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

POST /api/v2/changeRequests/

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

Name In Type Required Description
body body ChangeRequestCreate false none

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"
        }
      ]
    },
    "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

Status Meaning Description Schema
201 Created Change Request Created. ChangeRequestResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/changeRequests/{changeRequestId}/

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"
        }
      ]
    },
    "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

Status Meaning Description Schema
200 OK none ChangeRequestResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

PATCH /api/v2/changeRequests/{changeRequestId}/

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"
        }
      ]
    },
    "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

Status Meaning Description Schema
200 OK none ChangeRequestResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/changeRequests/{changeRequestId}/reviews/

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

Status Meaning Description Schema
200 OK none ReviewsListResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

POST /api/v2/changeRequests/{changeRequestId}/reviews/

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

Status Meaning Description Schema
201 Created none ReviewResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/changeRequests/{changeRequestId}/reviews/{reviewId}/

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

Status Meaning Description Schema
200 OK none ReviewResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

PATCH /api/v2/changeRequests/{changeRequestId}/status/

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 Meaning Description Schema
200 OK none ChangeRequestUpdateStatus

Response Headers

Status Header Type Format Description
200 Location string A url that can be polled to check the status.

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

GET /api/v2/changeRequests/{changeRequestId}/suggestedReviewers/

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

Status Meaning Description Schema
200 OK none SuggestedReviewersResponse

To perform this operation, you must be authenticated by means of one of the following methods:

BearerAuth

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]

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"
        }
      ]
    },
    "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

Name Type Required Restrictions Description
» anonymous DeploymentApproveChange false Approve a deployment.

xor

Name Type Required Restrictions Description
» anonymous DeploymentChangeStatusChange false Change deployment status.

xor

Name Type Required Restrictions Description
» anonymous DeploymentChangeImportanceChange false Change deployment importance.

xor

Name Type Required Restrictions Description
» anonymous DeploymentCleanupStatsChange false Cleanup deployment stats.

xor

Name Type Required Restrictions Description
» anonymous DeploymentReplaceModelChange false Replace model in deployment.

xor

Name Type Required Restrictions Description
» anonymous DeploymentReplaceModelPackageChange false Replace model package in deployment.

xor

Name Type Required Restrictions Description
» anonymous DeploymentUpdateSecondaryDatasetConfigChange false Update secondary dataset config for deployment.

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

Name Type Required Restrictions Description
» anonymous DeploymentApproveChange false Approve a deployment.

xor

Name Type Required Restrictions Description
» anonymous DeploymentChangeStatusChange false Change deployment status.

xor

Name Type Required Restrictions Description
» anonymous DeploymentChangeImportanceChange false Change deployment importance.

xor

Name Type Required Restrictions Description
» anonymous DeploymentCleanupStatsChange false Cleanup deployment stats.

xor

Name Type Required Restrictions Description
» anonymous DeploymentReplaceModelChange false Replace model in deployment.

xor

Name Type Required Restrictions Description
» anonymous DeploymentReplaceModelPackageChange false Replace model package in deployment.

xor

Name Type Required Restrictions Description
» anonymous DeploymentUpdateSecondaryDatasetConfigChange false Update secondary dataset config for deployment.

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"
              }
            ]
          },
          "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.

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.