Skip to main content
A pipeline is a sequence of stages (for example assessment → interview → manual review). Candidates advance when they pass, or stop when they fail — unless you hold or reject them.

If you are recruiting / ops

1

Design the funnel

Open Assess → Pipelines, or ask eng to create a linear pipeline via the Public API (POST /pipelines/create/, Growth+). Branching / join nodes are not available yet.
2

Know your stage types

  • Assessment — candidate gets an invite; pass advances, fail rejects
  • Interview — room is prepared from a template; you usually still send/confirm the invite
  • Manual review — waits for a human decision
3

Enroll candidates

Add people from the pipeline UI (or ask eng to enroll via API / n8n). Re-adding the same email is safe — they won’t get a duplicate enrollment.
4

Hold, unhold, reject, or advance

Pause with Hold, resume with Unhold, Reject with an optional reason, or Advance past the current stage. Held candidates do not auto-advance.
Each assessment stage uses a separate invitation against your monthly invite quota. A 3-assessment pipeline for 10 people can use up to 30 invites if everyone progresses.
Success status name: when someone finishes the whole funnel, status is passed (not completed).

For engineers

Mode follows the API key (ct_live_… / ct_test_…). Stages must reference assessments/templates in the same mode. Growth+: filter with team_id / team_slug.

Create (linear stages)

After enrollments exist, stage changes are append-only (cannot remove/reorder existing stages) — same as the dashboard.

Enroll

Creates the enrollment and, if stage 0 is an assessment, the first invite in one step.
  • Same email again → 200 (idempotent)
  • Out of invites → 403 INVITE_QUOTA_EXCEEDED (nothing created)
  • send_email defaults to true for enroll
  • Response: enrollment_id, status, current_stage (0-based)
Bulk enroll: JSON candidates[] or CSV (email required). Also limited to 20 requests/hour.

Status values you will see

List with ?status=in_progress|on_hold|passed|rejected.

Next

Organisation · Webhooks · API changelog · Scopes
Last modified on August 24, 2026