---
title: "Create Workflow"
method: POST
path: "/api/v1/workflows/"
tags: ["Workflows"]
---

# Create Workflow

`POST /api/v1/workflows/`

## Request

- Base URL: `http://localhost:3009`
- URL: `http://localhost:3009/api/v1/workflows/`
- Auth: HTTP bearer

Creates a new empty workflow with a main sheet. Returns the `workflow_id` — this is also the main sheet's `sheet_id` (the two IDs are equal for main sheets). Pass `folder_id` from List Workflow Folders to create it in a folder; omit it for the top level.

## Request body

- CreateWorkflowBody: Body for Create Workflow. Only `name` is required.
  - `name` string, required: Workflow name. Not required to be unique in the organization.
  - `folder_id` unknown

## Response `201`

Default Response

- object
  - `status` integer
  - `data` Workflow: A workflow summary. Timestamps are ISO 8601 UTC; `last_run_at` is `null` until the workflow is first run.
    - `workflow_id` string, uuid, required: UUID of the workflow. Use this with every endpoint that takes `{workflow_id}`.
    - `name` string, required: Workflow name as set at creation.
    - `created_at` string, date-time, required: UTC timestamp (ISO 8601) when the workflow was created.
    - `updated_at` string, date-time, required: UTC timestamp (ISO 8601) of the most recent configuration change (name, inputs, actions, sheet settings).
    - `last_run_at` string, date-time, required: UTC timestamp (ISO 8601) of the most recent run on any sheet in this workflow. `null` if it has never been run. Runs started outside this API — on a schedule, or by a webhook trigger — do not update it.
    - `folder_id` unknown, required
    - `folder_path` string[], required: Folder names from the top-level folder down to the one holding the workflow, e.g. `["Reporting", "Weekly"]`. `null` when `folder_id` is `null`.

## Other responses

- `400`: Missing required fields
- `401`: Unauthorized — missing or invalid API key
- `403`: Forbidden. `code` says which permission refused: ROLE_FORBIDDEN (your role), INSUFFICIENT_SCOPE (the API key's scopes), WORKFLOW_FORBIDDEN (no access to the workflow), KEY_WORKFLOW_FORBIDDEN (the API key's workflow restriction).
- `404`: Folder not found
- `429`: Too Many Requests — rate limit exceeded. Check `Retry-After` header for seconds until the limit resets.

---

[API](https://skmtc.dev/floqer/apis/floqer-public-api.md) - [All operations](https://skmtc.dev/floqer/apis/floqer-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/floqer/apis/floqer-public-api/revisions/fce50dc07b20?raw)
