Skip to content

Workflows

Export workflow

Export the saved draft as portable workflow data with workspace read access. Registered credential fields and opaque table/tool values are cleared; environment references and ordinary workflow variables remain included. Review other configuration before sharing. Default exports clear workspace bindings. Use `includeWorkspaceBindings=true` to retain non-secret bindings for a same-workspace import, or `includeReferences=true` for source identities and field occurrences used by mapped imports. Exporting records an audit event. `HEAD` checks access with the same authorization as `GET` but skips side effects, returning an empty `200` without payload headers on success. Workspace folder trees exceeding 10,000 folders return `413`. OAuth scope: `api:read`.

GET/api/v2/workflows/{workflowId}/export

Export the saved draft as portable workflow data with workspace read access. Registered credential fields and opaque table/tool values are cleared; environment references and ordinary workflow variables remain included. Review other configuration before sharing.

Default exports clear workspace bindings. Use includeWorkspaceBindings=true to retain non-secret bindings for a same-workspace import, or includeReferences=true for source identities and field occurrences used by mapped imports. Exporting records an audit event. HEAD checks access with the same authorization as GET but skips side effects, returning an empty 200 without payload headers on success. Workspace folder trees exceeding 10,000 folders return 413.

OAuth scope: api:read.

Authentication

Send a personal or workspace API key in X-API-Key. See key types and access; operations that reject workspace keys say so in their description.

Send X-API-Key in the request header.

Alternatively

Send a Sim OAuth access token in Authorization: Bearer. See OAuth authentication and scopes.

Authorization: Bearer YOUR_ACCESS_TOKEN

Required scopes: api:read

OAuth flows
json
{
  "authorizationCode": {
    "authorizationUrl": "https://www.sim.ai/api/auth/oauth2/authorize",
    "tokenUrl": "https://www.sim.ai/api/auth/oauth2/token",
    "refreshUrl": "https://www.sim.ai/api/auth/oauth2/token",
    "scopes": {
      "api:read": "Read your workspaces, workflows, files, tables, and logs",
      "api:write": "Read, create, change, run, and delete resources in your workspaces",
      "offline_access": "Stay signed in without asking again"
    }
  }
}

OAuth scope: api:read.

Path parameters

workflowIdstringRequired

Unique workflow identifier.

minLength
1

Query parameters

includeReferencesboolean

Include non-secret resource identifiers and source field occurrences for mapped imports.

includeWorkspaceBindingsboolean

Keep non-secret table, knowledge base, document, folder, channel, and other workspace bindings for a same-workspace import. Defaults to false, which clears these IDs. Registered credential fields and opaque table/tool values are cleared either way; environment references and ordinary workflow variables remain included.

Responses

200

The workflow export payload.

object

Portable workflow data with registered credential fields cleared.

1 field
dataobjectRequired

Response data.

5 fields
versionstringRequired

Workflow export format version.

const
1.0
exportedAtstringRequired

ISO 8601 timestamp when the export was created.

format
date-time
workflowobjectRequired

Source workflow metadata.

5 fields
idstringRequired

Identifier of the source workflow.

namestringRequired

Name of the exported workflow.

descriptionvalueRequired

Description of the exported workflow, or null when unset.

Schema details

Any of

Option 1string
Option 2null
workspaceIdvalueRequired

Identifier of the source workspace, or null for legacy exports.

Schema details

Any of

Option 1string
Option 2null
folderPathstringRequired

Canonical containing-folder path; / is the workspace root.

maxLength
4096

Additional properties are not allowed.

stateobjectRequired

Saved graph, edges, containers, metadata, and variables. Registered credential fields are cleared; ordinary variables and unresolved environment references remain included.

referenceManifestobject

Versioned non-secret identifiers and registered source field occurrences for mapped import.

2 fields
versionnumberRequired

Reference format or deployment version number.

const
1
referencesarrayRequired

Non-secret resource identifiers and their registered occurrences.

maxItems
10000
Schema details
Array itemobject
4 fields
kindstringRequired

Resource or operation kind.

enum
["credential","env-var","knowledge-base","knowledge-document","table","file","file-folder","mcp-server","custom-tool","custom-block","skill","sandbox","workflow"]
sourceIdstringRequired

Untrusted source reference label; imports never use it to authorize or query a source workspace.

minLength
1
maxLength
4096
requiredbooleanRequired

Whether the reference or configuration is required for this operation.

occurrencesarrayRequired

Every registered source block and field occurrence of this reference.

minItems
1
maxItems
10000
Schema details
Array itemobject
5 fields
blockIdstringRequired

Source block identifier before graph ID regeneration.

minLength
1
maxLength
256
subBlockKeystringRequired

Registered source field key, including the tool index for nested Agent fields.

minLength
1
maxLength
256
valuePatharrayRequired

Path within the field value; strings address properties and numbers address array entries.

maxItems
8
Schema details
Array itemvalue
Schema details

Any of

Option 1string
minLength
1
maxLength
256
Option 2integer
minimum
0
maximum
2000
positionsarray

Positions occupied by this identifier in a multi-value field.

maxItems
2000
Schema details
Array iteminteger
minimum
0
maximum
2000
encodingstringRequired

Registered encoding used to discover and rewrite the reference.

enum
["scalar","array","csv","files","environment"]

Additional properties are not allowed.

Additional properties are not allowed.

Additional properties are not allowed.

Additional properties are not allowed.

Additional properties are not allowed.

Response example 1

json
{
  "data": {
    "version": "1.0",
    "exportedAt": "2026-08-09T18:04:11.000Z",
    "workflow": {
      "id": "3b1f7c92-8d4e-4a6b-9c0d-5e2f8a714b36",
      "name": "Customer support triage",
      "description": "Routes incoming support requests to the right team.",
      "workspaceId": "a91c4b2e-6d3f-4e8a-b5c7-0d9e2f1a8c64",
      "folderPath": "/Operations"
    },
    "state": {
      "blocks": {},
      "edges": []
    }
  }
}

Response headers

X-RateLimit-Limitinteger

Maximum requests allowed in the current window.

minimum
0
maximum
9007199254740991
X-RateLimit-Remaininginteger

Requests remaining in the current window.

minimum
0
maximum
9007199254740991
X-RateLimit-Resetstring

ISO 8601 timestamp when the current rate-limit window resets.

format
date-time
pattern
^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$
Was this helpful?
Suggest an edit