Skip to content
Start here

Get Workflow version graph

client.Workflows.Versions.Graph(ctx, workflowName, versionID, query) (*VersionGraphResponse, error)
GET/accounts/{account_id}/workflows/{workflow_name}/versions/{version_id}/graph

Retrieves the graph visualization of a workflow version.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Workers Tail ReadWorkers Scripts WriteWorkers Scripts Read
ParametersExpand Collapse
workflowName string
maxLength64
minLength1
versionID string
formatuuid
query VersionGraphParams
AccountID param.Field[string]
ReturnsExpand Collapse
type VersionGraphResponse struct{…}
ID string
formatuuid
ClassName string
CreatedOn Time
formatdate-time
Graph VersionGraphResponseGraph

Versioned workflow graph payload.

Version float64
Workflow VersionGraphResponseGraphWorkflow

A parsed workflow entrypoint with its step graph.

ClassName string
Functions map[string, VersionGraphResponseGraphWorkflowFunction]
Name string
Nodes []unknown

Child nodes (recursive).

Type VersionGraphResponseGraphWorkflowFunctionsType
Nodes []VersionGraphResponseGraphWorkflowNode
One of the following:
type VersionGraphResponseGraphWorkflowNodesObject struct{…}
Duration VersionGraphResponseGraphWorkflowNodesObjectDurationUnion

Duration as milliseconds (number) or human-readable string.

One of the following:
UnionFloat
UnionString
Name string
Type VersionGraphResponseGraphWorkflowNodesObjectType
Resolves float64Optional
Starts float64Optional
type VersionGraphResponseGraphWorkflowNodesObject struct{…}
Config VersionGraphResponseGraphWorkflowNodesObjectConfig

Configuration for a step (retries and timeout).

Retries VersionGraphResponseGraphWorkflowNodesObjectConfigRetries

Retry policy for a step.

Backoff VersionGraphResponseGraphWorkflowNodesObjectConfigRetriesBackoff

Backoff strategy for step retries.

One of the following:
const VersionGraphResponseGraphWorkflowNodesObjectConfigRetriesBackoffConstant VersionGraphResponseGraphWorkflowNodesObjectConfigRetriesBackoff = "constant"
const VersionGraphResponseGraphWorkflowNodesObjectConfigRetriesBackoffLinear VersionGraphResponseGraphWorkflowNodesObjectConfigRetriesBackoff = "linear"
const VersionGraphResponseGraphWorkflowNodesObjectConfigRetriesBackoffExponential VersionGraphResponseGraphWorkflowNodesObjectConfigRetriesBackoff = "exponential"
Delay VersionGraphResponseGraphWorkflowNodesObjectConfigRetriesDelayUnion

Duration as milliseconds (number) or human-readable string.

One of the following:
UnionFloat
UnionString
Limit float64
Timeout VersionGraphResponseGraphWorkflowNodesObjectConfigTimeoutUnion

Duration as milliseconds (number) or human-readable string.

One of the following:
UnionFloat
UnionString
Name string
Nodes []unknown

Child nodes (recursive).

Type VersionGraphResponseGraphWorkflowNodesObjectType
Resolves float64Optional
Starts float64Optional
type VersionGraphResponseGraphWorkflowNodesObject struct{…}
Name string
Options VersionGraphResponseGraphWorkflowNodesObjectOptions

Options for a waitForEvent step.

EventType string
Timeout VersionGraphResponseGraphWorkflowNodesObjectOptionsTimeoutUnion

Duration as milliseconds (number) or human-readable string.

One of the following:
UnionFloat
UnionString
Type VersionGraphResponseGraphWorkflowNodesObjectType
Payload VersionGraphResponseGraphWorkflowNodesObjectPayloadOptional

Shape descriptor for JSON payloads.

One of the following:
type VersionGraphResponseGraphWorkflowNodesObjectPayloadType struct{…}
Type VersionGraphResponseGraphWorkflowNodesObjectPayloadTypeType
type VersionGraphResponseGraphWorkflowNodesObjectPayloadObject struct{…}
Fields map[string, unknown]

Nested JsonShape fields (recursive structure).

Type VersionGraphResponseGraphWorkflowNodesObjectPayloadObjectType
Resolves float64Optional
Starts float64Optional
type VersionGraphResponseGraphWorkflowNodesObject struct{…}
Name string
Timestamp string
Type VersionGraphResponseGraphWorkflowNodesObjectType
Resolves float64Optional
Starts float64Optional
type VersionGraphResponseGraphWorkflowNodesObject struct{…}
Nodes []unknown

Child nodes (recursive).

Type VersionGraphResponseGraphWorkflowNodesObjectType
type VersionGraphResponseGraphWorkflowNodesObject struct{…}
Kind VersionGraphResponseGraphWorkflowNodesObjectKind

Parallel execution strategy.

One of the following:
const VersionGraphResponseGraphWorkflowNodesObjectKindAll VersionGraphResponseGraphWorkflowNodesObjectKind = "all"
const VersionGraphResponseGraphWorkflowNodesObjectKindAny VersionGraphResponseGraphWorkflowNodesObjectKind = "any"
const VersionGraphResponseGraphWorkflowNodesObjectKindAllSettled VersionGraphResponseGraphWorkflowNodesObjectKind = "all_settled"
const VersionGraphResponseGraphWorkflowNodesObjectKindRace VersionGraphResponseGraphWorkflowNodesObjectKind = "race"
Nodes []unknown

Child nodes (recursive).

Type VersionGraphResponseGraphWorkflowNodesObjectType
type VersionGraphResponseGraphWorkflowNodesObject struct{…}
CatchBlock VersionGraphResponseGraphWorkflowNodesObjectCatchBlock
Nodes []unknown

Child nodes (recursive).

Type VersionGraphResponseGraphWorkflowNodesObjectCatchBlockType
FinallyBlock VersionGraphResponseGraphWorkflowNodesObjectFinallyBlock
Nodes []unknown

Child nodes (recursive).

Type VersionGraphResponseGraphWorkflowNodesObjectFinallyBlockType
TryBlock VersionGraphResponseGraphWorkflowNodesObjectTryBlock
Nodes []unknown

Child nodes (recursive).

Type VersionGraphResponseGraphWorkflowNodesObjectTryBlockType
Type VersionGraphResponseGraphWorkflowNodesObjectType
type VersionGraphResponseGraphWorkflowNodesObject struct{…}
Nodes []unknown

Child nodes (recursive).

Type VersionGraphResponseGraphWorkflowNodesObjectType
type VersionGraphResponseGraphWorkflowNodesObject struct{…}
Branches []VersionGraphResponseGraphWorkflowNodesObjectBranch
Condition string
Nodes []unknown

Child nodes (recursive).

Type VersionGraphResponseGraphWorkflowNodesObjectType
type VersionGraphResponseGraphWorkflowNodesObject struct{…}
Branches []VersionGraphResponseGraphWorkflowNodesObjectBranch
Condition string
Nodes []unknown

Child nodes (recursive).

Discriminant string
Type VersionGraphResponseGraphWorkflowNodesObjectType
type VersionGraphResponseGraphWorkflowNodesObject struct{…}
ClassName string
Functions map[string, VersionGraphResponseGraphWorkflowNodesObjectFunction]
Name string
Nodes []unknown

Child nodes (recursive).

Type VersionGraphResponseGraphWorkflowNodesObjectFunctionsType
Nodes []unknown

Child nodes (recursive).

Type VersionGraphResponseGraphWorkflowNodesObjectType
Payload VersionGraphResponseGraphWorkflowNodesObjectPayloadOptional

Shape descriptor for JSON payloads.

One of the following:
type VersionGraphResponseGraphWorkflowNodesObjectPayloadType struct{…}
Type VersionGraphResponseGraphWorkflowNodesObjectPayloadTypeType
type VersionGraphResponseGraphWorkflowNodesObjectPayloadObject struct{…}
Fields map[string, unknown]

Nested JsonShape fields (recursive structure).

Type VersionGraphResponseGraphWorkflowNodesObjectPayloadObjectType
type VersionGraphResponseGraphWorkflowNodesObject struct{…}
Name string
Type VersionGraphResponseGraphWorkflowNodesObjectType
Resolves float64Optional
Starts float64Optional
type VersionGraphResponseGraphWorkflowNodesObject struct{…}
Name string
Nodes []unknown

Child nodes (recursive).

Type VersionGraphResponseGraphWorkflowNodesObjectType
type VersionGraphResponseGraphWorkflowNodesObject struct{…}
Kind VersionGraphResponseGraphWorkflowNodesObjectKind

Break or return from a loop.

One of the following:
const VersionGraphResponseGraphWorkflowNodesObjectKindBreak VersionGraphResponseGraphWorkflowNodesObjectKind = "break"
const VersionGraphResponseGraphWorkflowNodesObjectKindReturn VersionGraphResponseGraphWorkflowNodesObjectKind = "return"
Type VersionGraphResponseGraphWorkflowNodesObjectType
Payload VersionGraphResponseGraphWorkflowPayloadOptional

Shape descriptor for JSON payloads.

One of the following:
type VersionGraphResponseGraphWorkflowPayloadType struct{…}
Type VersionGraphResponseGraphWorkflowPayloadTypeType
type VersionGraphResponseGraphWorkflowPayloadObject struct{…}
Fields map[string, unknown]

Nested JsonShape fields (recursive structure).

Type VersionGraphResponseGraphWorkflowPayloadObjectType
ModifiedOn Time
formatdate-time
WorkflowID string
formatuuid

Get Workflow version graph

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/option"
  "github.com/cloudflare/cloudflare-go/workflows"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  response, err := client.Workflows.Versions.Graph(
    context.TODO(),
    "x",
    "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    workflows.VersionGraphParams{
      AccountID: cloudflare.F("account_id"),
    },
  )
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.ID)
}
{
  "errors": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "messages": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "result": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "class_name": "class_name",
    "created_on": "2019-12-27T18:11:19.117Z",
    "graph": {
      "version": 0,
      "workflow": {
        "class_name": "class_name",
        "functions": {
          "foo": {
            "name": "name",
            "nodes": [
              {}
            ],
            "type": "function_def"
          }
        },
        "nodes": [
          {
            "duration": 0,
            "name": "name",
            "type": "step_sleep",
            "resolves": 0,
            "starts": 0
          }
        ],
        "payload": {
          "type": "unknown"
        }
      }
    },
    "modified_on": "2019-12-27T18:11:19.117Z",
    "workflow_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
  },
  "success": true,
  "result_info": {
    "count": 0,
    "per_page": 0,
    "total_count": 0,
    "cursor": "cursor",
    "page": 0,
    "total_pages": 0
  }
}
Returns Examples
{
  "errors": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "messages": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "result": {
    "id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
    "class_name": "class_name",
    "created_on": "2019-12-27T18:11:19.117Z",
    "graph": {
      "version": 0,
      "workflow": {
        "class_name": "class_name",
        "functions": {
          "foo": {
            "name": "name",
            "nodes": [
              {}
            ],
            "type": "function_def"
          }
        },
        "nodes": [
          {
            "duration": 0,
            "name": "name",
            "type": "step_sleep",
            "resolves": 0,
            "starts": 0
          }
        ],
        "payload": {
          "type": "unknown"
        }
      }
    },
    "modified_on": "2019-12-27T18:11:19.117Z",
    "workflow_id": "182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e"
  },
  "success": true,
  "result_info": {
    "count": 0,
    "per_page": 0,
    "total_count": 0,
    "cursor": "cursor",
    "page": 0,
    "total_pages": 0
  }
}