---
title: "Manual Case Match"
method: POST
path: "/calls/{call_id}/manual-case-match"
tags: ["Calls"]
---

# Manual Case Match

`POST /calls/{call_id}/manual-case-match`

## Request

- Base URL: `https://api.openintake.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openintake.ai/calls/{call_id}/manual-case-match`
- Auth: none declared

Manually match a call to a specific case (developer).

## Path parameters

- `call_id` string, uuid, required

## Request body

- ManualCaseMatchRequest: Request to manually match a call to a case. Either provide `case_provider` + `case_local_id` (preferred) OR the legacy `smartadvocate_case_id`. When only the legacy field is provided it's interpreted as SmartAdvocate.
  - `case_provider` string, nullable: 'smartadvocate' or 'filevine'
  - `case_local_id` string, uuid, nullable: PK in the provider's local table
  - `smartadvocate_case_id` string, uuid, nullable: Legacy SA-only field
  - `note_text` string, nullable: Case note text to post (if any)

## Response `200`

Successful Response

- ManualCaseMatchResponse: Response from manual case matching.
  - `success` boolean, required: Whether the match was successful
  - `matched_case_number` string, nullable: Case number if matched
  - `matched_case_name` string, nullable: Case name if matched
  - `case_note_posted` boolean: Whether a case note was posted
  - `case_note_external_id` string, nullable: External note ID if posted
  - `message` string, required: Status message

## Other responses

- `422`: Validation Error

---

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