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.
| Name | Type | Required | Description |
|---|
| x-api-key | string | Yes | Your Sixtyfour API key |
| Content-Type | string | For POST with body | application/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
| Name | Location | Required | Description |
|---|
| workflow_id | path | Yes | The 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
| Field | Type | Required | Description |
|---|
| workflow_name | string | Yes | Display name for the workflow |
| workflow_description | string | Yes | Description of what the workflow does |
| workflow_definition | object | Yes | Blocks and edges defining the pipeline |
| id | string | No | Custom workflow ID; auto-generated if omitted |
workflow_definition
| Field | Type | Description |
|---|
| blocks | array | List of block objects with sequence_number, block_type, block_name, specs, and optional block_id |
| edges | array | List 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
| Name | Required | Description |
|---|
| workflow_id | Yes | The workflow ID to update |
Request Body
All fields are optional; only include what you want to change.
| Field | Type | Description |
|---|
| workflow_name | string | New display name |
| workflow_description | string | New description |
| workflow_definition | object | New 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
| Name | Required | Description |
|---|
| workflow_id | Yes | The 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:
| Block | Description |
|---|
| webhook | Accept incoming data via API |
| read_csv | Read data from CSV files (UI only; not API-triggerable) |
| enrich_company | Enrich company information |
| enrich_person | Enrich person/contact data |
| validate_email | Validate email addresses |
| validate_phone | Validate phone numbers |
| filter | Filter rows based on conditions |
| deduplicate | Remove duplicate records |
| merge | Merge datasets |
| transform | Transform data fields |
| export | Export to external systems |
For detailed block specifications and configuration options, refer to the workflow editor’s Workflow API Reference in the
Sixtyfour dashboard.