Skip to main content
PATCH
/
v1
/
workflows
/
{slug}
Edit a workflow / publish a new version (Beta)
curl --request PATCH \
  --url https://api.valyu.ai/v1/workflows/{slug} \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "title": "<string>",
  "subtitle": "<string>",
  "description": "<string>",
  "vertical": "<string>",
  "tags": [
    "<string>"
  ],
  "icon": "<string>",
  "set_current": true
}
'
{
  "slug": "ib-company-profile",
  "version": 1,
  "title": "Company Profile",
  "vertical": "investment-banking",
  "tags": [
    "company-profile",
    "equities"
  ],
  "subtitle": "One-page profile of a public company.",
  "description": "Builds a company profile covering business, financials, and recent developments.",
  "popular": true,
  "recommended_mode": "heavy",
  "estimated_time": "10-20 min",
  "is_valyu": true,
  "owner_org_id": null,
  "variables": [
    {
      "key": "company",
      "label": "Company name",
      "type": "text",
      "required": false,
      "placeholder": "NVIDIA (NVDA)",
      "help": "The company you want to profile.",
      "examples": [
        "NVIDIA (NVDA)",
        "Microsoft (MSFT)"
      ],
      "validation": {
        "min_length": 1,
        "max_length": 2,
        "pattern": "<string>",
        "enum": [
          "<string>"
        ]
      }
    }
  ],
  "deliverables": [
    {
      "type": "xlsx",
      "description": "A model summary tab with revenue, margins, and key ratios."
    }
  ],
  "created_at": "2026-01-10T12:00:00Z",
  "updated_at": "2026-01-15T09:30:00Z",
  "prompt": "Build a company profile for {company} covering its business, financials, and recent developments.",
  "strategy": "<string>",
  "report_format": "<string>",
  "tools": {
    "code_execution": true,
    "screenshots": true,
    "browser_use": true,
    "charts": true
  },
  "changelog": "<string>",
  "output_formats": [
    {
      "type": "object",
      "properties": {
        "base_case": {
          "type": "string"
        },
        "bull_case": {
          "type": "string"
        },
        "bear_case": {
          "type": "string"
        },
        "confidence": {
          "type": "number"
        }
      }
    },
    "toon"
  ]
}

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:
["company-profile", "equities"]
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:
[
{
"type": "object",
"properties": {
"base_case": { "type": "string" },
"bull_case": { "type": "string" },
"bear_case": { "type": "string" },
"confidence": { "type": "number" }
}
},
"toon"
]