Skip to main content
POST
/
v1
/
workflows
Create workflow
const options = {
  method: 'POST',
  headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
  body: JSON.stringify({
    name: 'Employment Agreement Extraction',
    rubrics: [
      {
        slot_name: 'party_name',
        label: 'Party Name',
        data_type: 'text',
        validation_rule: 'non empty strings without any numbers',
        description: '',
        extraction_hint: '<string>',
        binding_scope: 'plan'
      }
    ],
    body_md: ''
  })
};

fetch('https://api.factify.com/v1/workflows', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
{
  "id": "wfl_01j9z0000000000000000000a0",
  "name": "<string>",
  "body_md": "<string>",
  "rubrics": [
    {
      "id": "<string>",
      "workflow_id": "<string>",
      "slot_name": "party_name",
      "label": "<string>",
      "data_type": "text",
      "created_at": "2023-11-07T05:31:56Z",
      "validation_rule": "<string>",
      "description": "<string>",
      "extraction_hint": "<string>"
    }
  ],
  "created_at": "2023-11-07T05:31:56Z"
}

Documentation Index

Fetch the complete documentation index at: https://developers.factify.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication using a factapi-issued API key (ffy_<env>_<base32_uuid><base62_random>). Cookie-based sessions are accepted automatically by user-facing endpoints but are not surfaced as an OpenAPI auth scheme.

Body

application/json
name
string
required

Human-readable workflow name.

Example:

"Employment Agreement Extraction"

rubrics
object[]
required

Claim slot definitions to create with this workflow.

body_md
string
default:""

Markdown template body with {{slot_name}} placeholders.

Response

Workflow created.

id
string
required

Workflow TypeID (wfl_…)

Example:

"wfl_01j9z0000000000000000000a0"

name
string
required

Human-readable workflow name.

body_md
string
required

Markdown template body. Claim slot placeholders use {{slot_name}} syntax.

rubrics
object[]
required

Claim slot definitions for this workflow, in creation order.

created_at
string<date-time>
required