---
title: "Match pasted values against a closed vocabulary"
method: POST
path: "/find-leads/match-values/"
tags: ["find-leads"]
---

# Match pasted values against a closed vocabulary

`POST /find-leads/match-values/`

## Request

- Base URL: `https://api.getoneprofile.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.getoneprofile.ai/find-leads/match-values/`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Checks a list of pasted or typed values against one of the search builder's closed vocabularies (a department, a seniority, a size band, an industry or a company type) and returns, for each value, its exact match, the closest option, or neither. Read-only: it runs no search and changes nothing.

## Request body

- MatchLeadValuesRequestSchema: A pasted list of values to check against one of the product's closed vocabularies.
  - `field` 'departments' | 'past_departments' | 'management_levels' | 'past_management_levels' | 'company_size_bands' | 'department' | 'company_industry' | 'past_company_industry' | 'industry' | 'company_type' | 'past_company_type', required: One of the search fields whose values a closed vocabulary decides. Values are the same names the request schemas already give these fields (``PeopleQuerySchema.departments``, and ``FieldSpec.apiFilter`` on the frontend, which pins a provider complaint to the box the person typed in), so matching a value for a field names it exactly as every other surface already does. ``PeopleQuerySchema.company_type`` (a person's current/past employer's type) and ``CompanyQuerySchema.company_type`` (the Companies search's own field) both name themselves ``company_type`` AND share one member here: the People search's employer type is the same eight values as the Companies search's own type (``CLEAN_COMPANY_TYPES``; see its own comment), confirmed independently on both indexes, so one entry serves both schemas' ``company_type``/``past_company_type`` fields.
  - `values` string[], required: The raw values, in whatever case or spacing they were pasted or typed in.

## Response `200`

Successful Response

- MatchedLeadValuesSchema: Every pasted value's outcome, in the order it was sent.
  - `matches` LeadValueMatchSchema[], required
    - `exact_match` string, nullable: The vocabulary's own spelling, when the value was already in it once case and surrounding space are folded away.
    - `suggested_match` string, nullable: The vocabulary entry this value most likely means, when it was not an exact match and something close enough exists.
    - `value` string, required: The value as it was sent.

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `422`: Invalid request made to the API.
- `500`: Internal server error.
- `502`: Bad gateway error.
- `503`: Service unavailable.

---

[API](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile.md) · [All operations](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/llms.txt) · [OpenAPI document](https://skmtc.dev/getoneprofile/apis/api-reference-oneprofile/revisions/4a6bd71e3f02?raw)
