---
title: "Publicv1Leadrouter.Start Chase"
method: POST
path: "/v1/leads/{eve_lead_or_submission_id}/chase"
tags: ["v1"]
---

# Publicv1Leadrouter.Start Chase

`POST /v1/leads/{eve_lead_or_submission_id}/chase`

## Request

- Base URL: `https://app.eve.legal` (the document declares no server; this is the origin it was published from)
- URL: `https://app.eve.legal/v1/leads/{eve_lead_or_submission_id}/chase`
- Auth: OAuth 2
  - Password
  - Token URL: `token`

Start an autonomous outbound chase of a lead.

Accepts an Eve lead id, the tab id shown in the Eve lead-page URL, an
external lead id, or a lead-submission id whose
lead hasn't been created yet (the chase starts the moment it is). By
calling this endpoint the firm attests it holds prior express consent to
call this lead; the attestation is stored as the audit record.

## Path parameters

- `eve_lead_or_submission_id` string, required

## Request body

- StartChaseRequest
  - `consent` ChaseConsent, required
    - `obtained` boolean, required: Attestation that the firm holds prior express consent to call this lead. Must be true.
    - `source` string, required: Where the consent lives, e.g. 'website form checkbox, submission 2026-08-01'. Stored as the audit record.
  - `voiceAgentId` string, uuid, nullable: Optional: the Eve voice-agent id of the intake agent that should place this chase call. List the available ids from GET /v1/leads/voice_agents. Overrides the firm's configured chase agent. Required when the firm set the chase agent to be specified per call (else the start is refused with AGENT_NOT_SPECIFIED). Refused with AGENT_NOT_FOUND if the id is unknown, or AGENT_HAS_NO_NUMBER if the agent has no branded number to dial from.

## Response `202`

Successful Response

- StartChaseResponse
  - `status` 'ACTIVE' | 'PENDING', required
  - `chase` ChaseDetails
    - `chaseId` string, uuid, required: ID of the chase
    - `leadId` string, uuid, nullable: Eve lead id this chase belongs to — usable on GET /leads/{id} and /chase/stop
    - `status` 'ACTIVE' | 'ENDED', required
    - `endReason` 'COMPLETED' | 'OPTED_OUT' | 'STOPPED' | 'EXHAUSTED' | 'WRONG_NUMBER' | 'INVALID_NUMBER' | 'CALLBACK_REQUESTED' | 'DECLINED_AI'
    - `attemptsMade` integer, required: Dials placed so far
    - `nextAttemptAt` string, nullable: When the next dial is scheduled (ISO 8601); null when none is queued
    - `startedAt` string, required: When the chase started (ISO 8601)
    - `endedAt` string, nullable: When the chase ended (ISO 8601); null while active
    - `attempts` ChaseAttemptData[]: Per-dial history, oldest first
      - `attemptNumber` integer, required: 1-based position of this call attempt within the chase
      - `calledAt` string, nullable: When the dial was placed (ISO 8601); null if never dialed
      - `outcome` 'CONNECTED' | 'NOT_CONNECTED' | 'VOICEMAIL' | 'BUSY'
      - `voicemailLeft` boolean: Whether the scripted voicemail was left on this dial
      - `callId` string, uuid, nullable: Eve call id carrying the recording/transcript
    - `phone` string, nullable: The E.164 number this chase dials

## Other responses

- `401`: Unauthorized
- `422`: Validation Error

---

[API](https://skmtc.dev/eve/apis/eve-public-api.md) - [All operations](https://skmtc.dev/eve/apis/eve-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/eve/apis/eve-public-api/revisions/1a108b551ef3?raw)
