---
title: "Score Lead"
method: POST
path: "/vapi/score-lead"
tags: ["Vapi"]
---

# Score Lead

`POST /vapi/score-lead`

Mid-call live lead scoring. Runs the full classification (name, qualification,
custom_score_output, etc.) using the realtime transcript, persists a Lead row,
and returns a developer-selected subset of `custom_score_output` to the agent.

Gated by `SettingsFeatures.realtime_lead_scoring_enabled` and requires custom_prompt
scoring mode with a populated schema. Idempotent: a second invocation for the same
call returns the existing Lead's filtered `custom_score_output` without a new LLM call.

## Request body

- VapiCustomToolRequest — Wrapper for Vapi custom tool requests.
  - `message` VapiMessage, required
    - `type` string, required
    - `toolCallList` VapiToolCall[], required
      - `id` string, required
      - `type` string
      - `function` VapiToolCallFunction, required
        - `name` string, required
        - `arguments` object, required
    - `call` VapiCallObject
      - `id` string, required

## Response `200`

Successful Response

- VapiCustomToolResponse — Standard Vapi custom tool response format.
  - `results` VapiToolResult[], required
    - `toolCallId` string, required
    - `result` string, required

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/openintake/apis/fastapi.md) · [All operations](https://skmtc.dev/openintake/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openintake/fastapi/revisions/4a81645b59f6/schema)
