Argo Workflows Io Argoproj Workflow V1Alpha1 Node Status Structure
NodeStatus contains status information about an individual node in the workflow
io.argoproj.workflow.v1alpha1.NodeStatus is a JSON Structure definition published by Argo Workflows, describing 28 properties, of which 3 are required. It conforms to the https://json-structure.org/meta/core/v0/# meta-schema.
Properties
Meta-schema: https://json-structure.org/meta/core/v0/#
JSON Structure
{
"$schema": "https://json-structure.org/meta/core/v0/#",
"$id": "https://raw.githubusercontent.com/api-evangelist/argo-workflows/refs/heads/main/json-structure/argo-workflows-io-argoproj-workflow-v1alpha1-node-status-structure.json",
"name": "io.argoproj.workflow.v1alpha1.NodeStatus",
"description": "NodeStatus contains status information about an individual node in the workflow",
"type": "object",
"properties": {
"boundaryID": {
"description": "BoundaryID indicates the node ID of the associated template root node in which this node belongs to",
"type": "string"
},
"children": {
"description": "Children is a list of child node IDs",
"type": "array",
"items": {
"type": "string"
}
},
"daemoned": {
"description": "Daemoned tracks whether or not this node was daemoned and need to be terminated",
"type": "boolean"
},
"displayName": {
"description": "DisplayName is a human readable representation of the node. Unique within a template boundary",
"type": "string"
},
"estimatedDuration": {
"description": "EstimatedDuration in seconds.",
"type": "int32"
},
"failedPodRestarts": {
"description": "FailedPodRestarts tracks the number of times the pod for this node was restarted due to infrastructure failures before the main container started.",
"type": "int32"
},
"finishedAt": {
"description": "Time at which this node completed",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
},
"hostNodeName": {
"description": "HostNodeName name of the Kubernetes node on which the Pod is running, if applicable",
"type": "string"
},
"id": {
"description": "ID is a unique identifier of a node within the worklow It is implemented as a hash of the node name, which makes the ID deterministic",
"type": "string"
},
"inputs": {
"description": "Inputs captures input parameter values and artifact locations supplied to this template invocation",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Inputs"
},
"memoizationStatus": {
"description": "MemoizationStatus holds information about cached nodes",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.MemoizationStatus"
},
"message": {
"description": "A human readable message indicating details about why the node is in this condition.",
"type": "string"
},
"name": {
"description": "Name is unique name in the node tree used to generate the node ID",
"type": "string"
},
"nodeFlag": {
"description": "NodeFlag tracks some history of node. e.g.) hooked, retried, etc.",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.NodeFlag"
},
"outboundNodes": {
"description": "OutboundNodes tracks the node IDs which are considered \"outbound\" nodes to a template invocation. For every invocation of a template, there are nodes which we considered as \"outbound\". Essentially, these are last nodes in the execution sequence to run, before the template is considered completed. These nodes are then connected as parents to a following step.\n\nIn the case of single pod steps (i.e. container, script, resource templates), this list will be nil since the pod itself is already considered the \"outbound\" node. In the case of DAGs, outbound nodes are the \"target\" tasks (tasks with no children). In the case of steps, outbound nodes are all the containers involved in the last step group. NOTE: since templates are composable, the list of outbound nodes are carried upwards when a DAG/steps template invokes another DAG/steps template. In other words, the outbound nodes of a template, will be a superset of the outbound nodes of its last children.",
"type": "array",
"items": {
"type": "string"
}
},
"outputs": {
"description": "Outputs captures output parameter values and artifact locations produced by this template invocation",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.Outputs"
},
"phase": {
"description": "Phase a simple, high-level summary of where the node is in its lifecycle. Can be used as a state machine. Will be one of these values \"Pending\", \"Running\" before the node is completed, or \"Succeeded\", \"Skipped\", \"Failed\", \"Error\", or \"Omitted\" as a final state.",
"type": "string"
},
"podIP": {
"description": "PodIP captures the IP of the pod for daemoned steps",
"type": "string"
},
"progress": {
"description": "Progress to completion",
"type": "string"
},
"resourcesDuration": {
"description": "ResourcesDuration is indicative, but not accurate, resource duration. This is populated when the nodes completes.",
"type": "object",
"additionalProperties": {
"type": "int64"
}
},
"restartingPodUID": {
"description": "RestartingPodUID tracks the UID of the pod that is currently being restarted. This prevents duplicate restart attempts when the controller processes the same failed pod multiple times. Cleared when the replacement pod starts running.",
"type": "string"
},
"startedAt": {
"description": "Time at which this node started",
"$ref": "#/definitions/io.k8s.apimachinery.pkg.apis.meta.v1.Time"
},
"synchronizationStatus": {
"description": "SynchronizationStatus is the synchronization status of the node",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.NodeSynchronizationStatus"
},
"taskResultSynced": {
"description": "TaskResultSynced is used to determine if the node's output has been received",
"type": "boolean"
},
"templateName": {
"description": "TemplateName is the template name which this node corresponds to. Not applicable to virtual nodes (e.g. Retry, StepGroup)",
"type": "string"
},
"templateRef": {
"description": "TemplateRef is the reference to the template resource which this node corresponds to. Not applicable to virtual nodes (e.g. Retry, StepGroup)",
"$ref": "#/definitions/io.argoproj.workflow.v1alpha1.TemplateRef"
},
"templateScope": {
"description": "TemplateScope is the template scope in which the template of this node was retrieved.",
"type": "string"
},
"type": {
"description": "Type indicates type of node",
"type": "string"
}
},
"required": [
"id",
"name",
"type"
]
}
Work with this as data
Every JSON Structure here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for json structure
4 MCP tools reach this
find_json_structuresBrowse and filter every JSON Structure in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/json-structures/argo-workflows-io-argoproj-workflow-v1alpha1-node-status-structure"
curl "https://apis.io/api/v1/json-structures?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.