Hatchet · Schema
Workflow
Hatchet Workflow entity, derived from the Hatchet OpenAPI spec.
Task QueueWorkflow EngineDurable ExecutionBackground TasksAI AgentsOrchestrationPostgreSQLOpen Source
Properties
| Name | Type | Description |
|---|---|---|
| metadata | object | |
| name | string | The name of the workflow. |
| description | string | The description of the workflow. |
| isPaused | boolean | Whether the workflow is paused. |
| versions | array | |
| tags | array | The tags of the workflow. |
| jobs | array | The jobs of the workflow. |
| tenantId | string | The tenant id of the workflow. |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://api-evangelist.github.io/hatchet/json-schema/hatchet-workflow-schema.json",
"title": "Workflow",
"description": "Hatchet Workflow entity, derived from the Hatchet OpenAPI spec.",
"properties": {
"metadata": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "the id of this resource, in UUID format",
"example": "bb214807-246e-43a5-a25d-41761d1cff9e",
"minLength": 0,
"maxLength": 36
},
"createdAt": {
"type": "string",
"description": "the time that this resource was created",
"format": "date-time",
"example": "2022-12-13T15:06:48.888358-05:00"
},
"updatedAt": {
"type": "string",
"description": "the time that this resource was last updated",
"format": "date-time",
"example": "2022-12-13T15:06:48.888358-05:00"
}
},
"required": [
"id",
"createdAt",
"updatedAt"
]
},
"name": {
"type": "string",
"description": "The name of the workflow."
},
"description": {
"type": "string",
"description": "The description of the workflow."
},
"isPaused": {
"type": "boolean",
"description": "Whether the workflow is paused."
},
"versions": {
"type": "array",
"items": {
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "the id of this resource, in UUID format",
"example": "bb214807-246e-43a5-a25d-41761d1cff9e",
"minLength": 0,
"maxLength": 36
},
"createdAt": {
"type": "string",
"description": "the time that this resource was created",
"format": "date-time",
"example": "2022-12-13T15:06:48.888358-05:00"
},
"updatedAt": {
"type": "string",
"description": "the time that this resource was last updated",
"format": "date-time",
"example": "2022-12-13T15:06:48.888358-05:00"
}
},
"required": [
"id",
"createdAt",
"updatedAt"
]
},
"version": {
"type": "string",
"description": "The version of the workflow."
},
"order": {
"type": "integer",
"format": "int32"
},
"workflowId": {
"type": "string"
},
"workflow": {
"properties": {
"metadata": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "the id of this resource, in UUID format",
"example": "bb214807-246e-43a5-a25d-41761d1cff9e",
"minLength": 0,
"maxLength": 36
},
"createdAt": {
"type": "string",
"description": "the time that this resource was created",
"format": "date-time",
"example": "2022-12-13T15:06:48.888358-05:00"
},
"updatedAt": {
"type": "string",
"description": "the time that this resource was last updated",
"format": "date-time",
"example": "2022-12-13T15:06:48.888358-05:00"
}
},
"required": [
"id",
"createdAt",
"updatedAt"
]
},
"name": {
"type": "string",
"description": "The name of the workflow."
},
"description": {
"type": "string",
"description": "The description of the workflow."
},
"isPaused": {
"type": "boolean",
"description": "Whether the workflow is paused."
},
"versions": {
"type": "array",
"items": {
"$ref": "#/$defs/WorkflowVersionMeta"
}
},
"tags": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the workflow."
},
"color": {
"type": "string",
"description": "The description of the workflow."
}
},
"required": [
"name",
"color"
]
},
"description": "The tags of the workflow."
},
"jobs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "the id of this resource, in UUID format",
"example": "bb214807-246e-43a5-a25d-41761d1cff9e",
"minLength": 0,
"maxLength": 36
},
"createdAt": {
"type": "string",
"description": "the time that this resource was created",
"format": "date-time",
"example": "2022-12-13T15:06:48.888358-05:00"
},
"updatedAt": {
"type": "string",
"description": "the time that this resource was last updated",
"format": "date-time",
"example": "2022-12-13T15:06:48.888358-05:00"
}
},
"required": [
"id",
"createdAt",
"updatedAt"
]
},
"tenantId": {
"type": "string"
},
"versionId": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string",
"description": "The description of the job."
},
"steps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"metadata": {
"description": "Recursive reference truncated"
},
"readableId": {
"type": "string",
"description": "The readable id of the step."
},
"tenantId": {
"type": "string"
},
"jobId": {
"type": "string"
},
"action": {
"type": "string"
},
"timeout": {
"type": "string",
"description": "The timeout of the step."
},
"isDurable": {
"type": "boolean",
"description": "Whether the step is durable."
},
"slotRequests": {
"type": "object",
"description": "Slot requests for the step (slot_type -> units).",
"additionalProperties": {
"type": "integer"
}
},
"children": {
"type": "array",
"items": {
"type": "string"
}
},
"parents": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"metadata",
"readableId",
"tenantId",
"jobId",
"action",
"nextId"
]
}
},
"timeout": {
"type": "string",
"description": "The timeout of the job."
}
},
"required": [
"metadata",
"tenantId",
"versionId",
"name",
"steps"
]
},
"description": "The jobs of the workflow."
},
"tenantId": {
"type": "string",
"description": "The tenant id of the workflow."
}
},
"required": [
"metadata",
"name",
"tenantId"
],
"type": "object"
}
},
"required": [
"metadata",
"version",
"order",
"workflowId"
]
}
},
"tags": {
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "The name of the workflow."
},
"color": {
"type": "string",
"description": "The description of the workflow."
}
},
"required": [
"name",
"color"
]
},
"description": "The tags of the workflow."
},
"jobs": {
"type": "array",
"items": {
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "the id of this resource, in UUID format",
"example": "bb214807-246e-43a5-a25d-41761d1cff9e",
"minLength": 0,
"maxLength": 36
},
"createdAt": {
"type": "string",
"description": "the time that this resource was created",
"format": "date-time",
"example": "2022-12-13T15:06:48.888358-05:00"
},
"updatedAt": {
"type": "string",
"description": "the time that this resource was last updated",
"format": "date-time",
"example": "2022-12-13T15:06:48.888358-05:00"
}
},
"required": [
"id",
"createdAt",
"updatedAt"
]
},
"tenantId": {
"type": "string"
},
"versionId": {
"type": "string"
},
"name": {
"type": "string"
},
"description": {
"type": "string",
"description": "The description of the job."
},
"steps": {
"type": "array",
"items": {
"type": "object",
"properties": {
"metadata": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "the id of this resource, in UUID format",
"example": "bb214807-246e-43a5-a25d-41761d1cff9e",
"minLength": 0,
"maxLength": 36
},
"createdAt": {
"type": "string",
"description": "the time that this resource was created",
"format": "date-time",
"example": "2022-12-13T15:06:48.888358-05:00"
},
"updatedAt": {
"type": "string",
"description": "the time that this resource was last updated",
"format": "date-time",
"example": "2022-12-13T15:06:48.888358-05:00"
}
},
"required": [
"id",
"createdAt",
"updatedAt"
]
},
"readableId": {
"type": "string",
"description": "The readable id of the step."
},
"tenantId": {
"type": "string"
},
"jobId": {
"type": "string"
},
"action": {
"type": "string"
},
"timeout": {
"type": "string",
"description": "The timeout of the step."
},
"isDurable": {
"type": "boolean",
"description": "Whether the step is durable."
},
"slotRequests": {
"type": "object",
"description": "Slot requests for the step (slot_type -> units).",
"additionalProperties": {
"type": "integer"
}
},
"children": {
"type": "array",
"items": {
"type": "string"
}
},
"parents": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"metadata",
"readableId",
"tenantId",
"jobId",
"action",
"nextId"
]
}
},
"timeout": {
"type": "string",
"description": "The timeout of the job."
}
},
"required": [
"metadata",
"tenantId",
"versionId",
"name",
"steps"
]
},
"description": "The jobs of the workflow."
},
"tenantId": {
"type": "string",
"description": "The tenant id of the workflow."
}
},
"required": [
"metadata",
"name",
"tenantId"
],
"type": "object"
}