{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/CreateWorkflowDetails",
  "title": "CreateWorkflowDetails",
  "additionalProperties": false,
  "description": "The details of a workflow.",
  "properties": {
    "description": {
      "description": "The description of the workflow. The maximum length is 1000 characters.",
      "type": "string"
    },
    "name": {
      "description": "The name of the workflow. The name must be unique. The maximum length is 255 characters. Characters can be separated by a whitespace but the name cannot start or end with a whitespace.",
      "type": "string"
    },
    "statuses": {
      "description": "The statuses of the workflow. Any status that does not include a transition is added to the workflow without a transition.",
      "items": {
        "$ref": "#/components/schemas/CreateWorkflowStatusDetails"
      },
      "type": "array",
      "uniqueItems": true
    },
    "transitions": {
      "description": "The transitions of the workflow. For the request to be valid, these transitions must:\n\n *  include one *initial* transition.\n *  not use the same name for a *global* and *directed* transition.\n *  have a unique name for each *global* transition.\n *  have a unique 'to' status for each *global* transition.\n *  have unique names for each transition from a status.\n *  not have a 'from' status on *initial* and *global* transitions.\n *  have a 'from' status on *directed* transitions.\n\nAll the transition statuses must be included in `statuses`.",
      "items": {
        "$ref": "#/components/schemas/CreateWorkflowTransitionDetails"
      },
      "type": "array"
    }
  },
  "required": [
    "name",
    "statuses",
    "transitions"
  ],
  "type": "object",
  "writeOnly": true
}