Skip to main content

Use Case

Create, version, and manage reusable enrichment pipelines programmatically. Use these endpoints to list existing workflows, inspect block definitions, create new pipelines from code, update configurations, or remove workflows you no longer need.

Headers

NameTypeRequiredDescription
x-api-keystringYesYour Sixtyfour API key
Content-TypestringFor POST with bodyapplication/json when sending a request body

List Workflows

Retrieve all workflows in your organization.
GET https://api.sixtyfour.ai/workflows

Response (200)

Returns a lightweight list of workflows without block definitions.
[
  {
    "id": "wf_abc123",
    "name": "Company Enrichment Pipeline",
    "description": "Enriches company data with revenue and employee count",
    "status": "active",
    "step": "completed",
    "created_at": "2026-02-10T12:00:00Z",
    "updated_at": "2026-02-12T10:30:00Z",
    "last_run_date": "2026-02-12T09:15:00Z"
  }
]
Use GET /workflows/{workflow_id} to retrieve a workflow with its full block graph.

Get Workflow

Retrieve a specific workflow including its complete block graph.
GET https://api.sixtyfour.ai/workflows/{workflow_id}

Parameters

NameLocationRequiredDescription
workflow_idpathYesThe workflow identifier

Response (200)

{
  "id": "wf_abc123",
  "name": "Lead Enrichment",
  "description": "Enriches lead data with company information",
  "status": "active",
  "step": "completed",
  "created_at": "2026-02-10T12:00:00Z",
  "updated_at": "2026-02-12T10:30:00Z",
  "workflow_definition": {
    "blocks": [
      {
        "sequence_number": 1,
        "block_type": "webhook",
        "block_name": "webhook",
        "block_id": "block_1",
        "specs": {}
      },
      {
        "sequence_number": 2,
        "block_type": "enrich_company",
        "block_name": "enrich_company",
        "block_id": "block_2",
        "specs": {
          "company_field": "company_name"
        }
      }
    ],
    "edges": [
      {
        "from_block_id": "block_1",
        "to_block_id": "block_2"
      }
    ]
  }
}

Create Workflow

Create a new workflow with a block graph definition.
POST https://api.sixtyfour.ai/workflows/create_workflow

Request Body

FieldTypeRequiredDescription
workflow_namestringYesDisplay name for the workflow
workflow_descriptionstringYesDescription of what the workflow does
workflow_definitionobjectYesBlocks and edges defining the pipeline
idstringNoCustom workflow ID; auto-generated if omitted

workflow_definition

FieldTypeDescription
blocksarrayList of block objects with sequence_number, block_type, block_name, specs, and optional block_id
edgesarrayList of edge objects with from_block_id, to_block_id, and optional condition

Example Request

{
  "workflow_name": "Contact Validation",
  "workflow_description": "Validates email addresses and phone numbers",
  "workflow_definition": {
    "blocks": [
      {
        "sequence_number": 1,
        "block_type": "webhook",
        "block_name": "webhook",
        "block_id": "input",
        "specs": {}
      },
      {
        "sequence_number": 2,
        "block_type": "validate_email",
        "block_name": "validate_email",
        "block_id": "validate",
        "specs": {
          "email_field": "email"
        }
      }
    ],
    "edges": [
      {
        "from_block_id": "input",
        "to_block_id": "validate"
      }
    ]
  },
  "id": "custom_workflow_id"
}

Response (200)

{
  "id": "custom_workflow_id",
  "name": "Contact Validation",
  "description": "Validates email addresses and phone numbers",
  "status": "active",
  "step": "draft",
  "created_at": "2026-02-12T12:00:00Z",
  "updated_at": "2026-02-12T12:00:00Z"
}
All workflows are validated before creation. Block compatibility is checked automatically.

Update Workflow

Update an existing workflow’s name, description, or block definition.
POST https://api.sixtyfour.ai/workflows/update_workflow

Query Parameters

NameRequiredDescription
workflow_idYesThe workflow ID to update

Request Body

All fields are optional; only include what you want to change.
FieldTypeDescription
workflow_namestringNew display name
workflow_descriptionstringNew description
workflow_definitionobjectNew blocks and edges

Example Request

{
  "workflow_name": "Updated Workflow Name",
  "workflow_description": "Updated description",
  "workflow_definition": {
    "blocks": [
      {
        "sequence_number": 1,
        "block_type": "webhook",
        "block_name": "webhook",
        "block_id": "input",
        "specs": {}
      },
      {
        "sequence_number": 2,
        "block_type": "validate_email",
        "block_name": "validate_email",
        "block_id": "validate",
        "specs": { "email_field": "email" }
      }
    ],
    "edges": [
      { "from_block_id": "input", "to_block_id": "validate" }
    ]
  }
}
Performs upsert: creates the workflow if it doesn’t exist. Workflow definition is validated before saving.

Delete Workflow

Permanently delete a workflow.
POST https://api.sixtyfour.ai/workflows/delete_workflow

Query Parameters

NameRequiredDescription
workflow_idYesThe workflow ID to delete

Response (200)

{
  "id": "wf_abc123",
  "name": "Deleted Workflow",
  "status": "deleted",
  "step": "deleted",
  "created_at": "2026-02-10T12:00:00Z",
  "updated_at": "2026-02-12T12:45:00Z"
}
Permanently removes the workflow definition. Historical workflow runs are preserved.

Block Types Reference

Common block types for workflows:
BlockDescription
webhookAccept incoming data via API
read_csvRead data from CSV files (UI only; not API-triggerable)
enrich_companyEnrich company information
enrich_personEnrich person/contact data
validate_emailValidate email addresses
validate_phoneValidate phone numbers
filterFilter rows based on conditions
deduplicateRemove duplicate records
mergeMerge datasets
transformTransform data fields
exportExport to external systems
For detailed block specifications and configuration options, refer to the workflow editor’s Workflow API Reference in the Sixtyfour dashboard.