---
title: "Create a graph execution"
method: POST
path: "/v1/workflows/graph-executions"
tags: ["Workflows"]
---

# Create a graph execution

`POST /v1/workflows/graph-executions`

## Request

- Base URL: `https://api.heygen.com`
- URL: `https://api.heygen.com/v1/workflows/graph-executions`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Submit a multi-workflow graph for asynchronous execution. Returns an execution_id that can be polled via GET /v1/workflows/executions/{execution_id}.

## Request body

- CreateGraphExecutionRequest: Request body for multi-workflow graph execution via POST /v1/workflows/graph-executions.
  - `workflows` WorkflowRequestEntry[], required: Workflows to execute as a DAG
    - `type` string, required: The workflow type (e.g., 'TTSNode', 'TrimVideoNode')
    - `id` string, required: Unique identifier for this workflow within the graph
    - `parent` string[]: IDs of parent workflows this depends on
    - `input` object, required: Workflow-specific input. Use NodeRef objects to reference parent outputs.

## Response `200`

Successful response

- object
  - `data` WorkflowExecutionResponse: Response after submitting a workflow execution (POST /v1/workflows/executions).
    - `execution_id` string, required: The execution ID to poll for results
    - `status` string: Initial status of the submission

## Other responses

- `400`: Invalid request parameters
- `401`: Authentication failed
- `429`: Rate limit exceeded

## Changes

- **2026-11-03** `7dfa5e59b4f5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/heygen/apis/heygen-external-api/changes/v1/workflows/graph-executions/post.md)

---

[API](https://skmtc.dev/heygen/apis/heygen-external-api.md) - [All operations](https://skmtc.dev/heygen/apis/heygen-external-api/llms.txt) - [OpenAPI document](https://skmtc.dev/heygen/apis/heygen-external-api/revisions/7dfa5e59b4f5?raw)
