# Parse a business card

`POST /api/v1/cards/parse`

Splits business-card lines read on the phone (OCR) into fields: name, title, department, company, mobile / other phone (fax skipped), e-mail, website, address, city. No image is sent, text only. When AI is available to the user (unless `ai: false`), the text is corrected with a fast model and every field is checked against the OCR text — an e-mail / phone / website / city not in the text, or a name / company unlike the words on the card, is rejected and the rule-based value kept (`fields.ai_fields`: fields corrected by AI, `engine`: `rules` | `ai`). `match`: an existing contact (e-mail or phone), company (e-mail domain, same name) or similarly named companies (`similar`); `hidden_exists` = a company with this name exists in another team. Matching does not use AI.

## Body

| Field | Type | Description |
|---|---|---|
| `lines` (required) | array<object> | OCR lines: `t` text, `h` line height / image height (0–1, optional). Max 60 lines. |
| `ai` | boolean | `false` = do not use AI. |
