Skip to main content
PATCH
Edit a workflow / publish a new version (Beta)

Authorizations

X-API-Key
string
header
required

API key for authentication. Get yours at platform.valyu.ai.

Path Parameters

slug
string
required

The workflow slug.

Body

application/json

Edit an organization workflow. Metadata fields (title, subtitle, etc.) update in place. Supply a version object to publish a new immutable version - it requires a changelog. Valyu-curated workflows cannot be edited (cannot_edit_valyu_workflow).

title
string
subtitle
string
description
string
vertical
string
tags
string[]
Maximum array length: 20
icon
string
version
object

A new version body to publish. Requires changelog (changelog_required otherwise).

set_current
boolean

When publishing a new version, whether to point the workflow's current (floating) version at it.

Example:

true

Response

New version published.

A single workflow returned as a flat object: the list-row fields plus the resolved version body (prompt, strategy, report_format, tools, changelog, output_formats). Returned by get, create (201), and update.

slug
string
required

Unique slug identifying the workflow within its scope. Used as workflow_id when running.

Example:

"ib-company-profile"

version
integer
required

The current (floating) published version number.

Required range: x >= 1
Example:

1

title
string
required

Display title.

Example:

"Company Profile"

vertical
string | null

Vertical the workflow targets (e.g. investment-banking, private-equity, hedge-funds, consulting, life-sciences, legal-regulatory, sales-intelligence, supply-chain).

Example:

"investment-banking"

tags
string[]

Tags for discovery. Up to 20.

Maximum array length: 20
Example:
subtitle
string | null

Short subtitle.

Example:

"One-page profile of a public company."

description
string | null

Longer description of what the workflow does.

Example:

"Builds a company profile covering business, financials, and recent developments."

Whether the workflow is flagged as popular.

Example:

true

Recommended DeepResearch mode for a workflow. Maps directly to the DeepResearch mode parameter.

Available options:
fast,
standard,
heavy,
max
Example:

"heavy"

estimated_time
string | null

Human-readable estimate of how long a run takes.

Example:

"10-20 min"

is_valyu
boolean

Whether this is a Valyu-curated workflow (read-only to users).

Example:

true

owner_org_id
string | null

Organization that owns the workflow. null for Valyu-curated workflows.

Example:

null

variables
object[]

Typed variables referenced by the prompt template. Up to 50.

Maximum array length: 50
deliverables
object[]

Deliverables the workflow produces. Up to 20.

Maximum array length: 20
created_at
string<date-time>

When the workflow was created.

Example:

"2026-01-10T12:00:00Z"

updated_at
string<date-time>

When the workflow's current version was last published.

Example:

"2026-01-15T09:30:00Z"

prompt
string

Prompt template with {key} placeholders. Included on detail (get/create/update) and on list with ?expand=true.

Example:

"Build a company profile for {company} covering its business, financials, and recent developments."

strategy
string | null

Research strategy. Maps to DeepResearch research_strategy. Included on detail and on list with ?expand=true.

report_format
string | null

Report format instructions. Maps to DeepResearch report_format. Included on detail and on list with ?expand=true.

tools
object

Optional tools the workflow's research agent may use.

changelog
string | null

Changelog for the current version. Included on detail and on list with ?expand=true.

output_formats
(enum<string> | object)[]

Output formats the workflow produces. Items are the strings "markdown", "pdf", or "toon", and/or a single JSON Schema object for structured output. Rules: at most one JSON Schema object; a JSON Schema object cannot be combined with "markdown" or "pdf"; "toon" requires a JSON Schema object. An invalid combination returns 400 invalid_output_formats.

At run time, a task created with workflow_id inherits the workflow's output_formats when the request does not pass its own; a request-level output_formats always wins.

Available options:
markdown,
pdf,
toon
Example: