1. API reference
  2. Workflows

Enroll a contact

POSThttps://howdybell.com/api/v1/workflows/{id}/enroll

Starts a new workflow run for the specified contact. Returns a 422 error if the workflow is not published or if the contact already has an active run and re-entry is not allowed.

Parameters

  • idstringRequiredpath

Request body

  • location_idintegerRequired

    The location to work in. Must belong to your workspace.

  • contact_idintegerRequired

    The ID of the contact to enroll.

  • contextobject

    Optional context object for the workflow run.

Responses

201

  • idinteger
  • workflow_idinteger
  • contact_idinteger
  • statusstring
  • current_node_idstring, nullable
  • wait_reasonstring
  • wake_atstring, nullable
    date and time (ISO 8601)
  • ended_reasonstring, nullable
  • enrolled_atstring
    date and time (ISO 8601)
  • completed_atstring, nullable
    date and time (ISO 8601)

422 Validation error

  • messagestring

    Errors overview.

  • errorsobject

    A detailed description of each field that failed validation.

RequestcURL
curl -X POST "https://howdybell.com/api/v1/workflows/123/enroll" \
  -H "Authorization: Bearer $HOWDYBELL_TOKEN" \
  -H "Accept: application/json" \
  -H "Content-Type: application/json" \
  -d '{
  "location_id": 1,
  "contact_id": 1,
  "context": {}
}'
Response201
{
  "id": 1,
  "workflow_id": 1,
  "contact_id": 1,
  "status": "string",
  "current_node_id": 1,
  "wait_reason": "string",
  "wake_at": "2026-10-05T14:30:00Z",
  "ended_reason": "string",
  "enrolled_at": "2026-10-05T14:30:00Z",
  "completed_at": "2026-10-05T14:30:00Z"
}
Enroll a contact (POST /api/v1/workflows/{id}/enroll) | HowdyBell Developers