---
title: "Get Decision Makers"
method: POST
path: "/v3/contacts/decision-makers"
tags: ["Decision Makers"]
---

# Get Decision Makers

`POST /v3/contacts/decision-makers`

Resolve each supplied company to a Lusha company ID, rank the most relevant decision makers per company using the buying-committee-ranker model, and return them grouped per company.

Results are free previews — name, title, company, location, LinkedIn, seniority, and department — with `has` and `canReveal` fields. Reveal emails and phones separately via Enrich Contacts.

**Accepted company identifiers (exactly one required per entry):**
- `domain` — resolved to a Lusha company ID server-side
- `id` — encrypted Lusha company ID (`vN.…`); legacy numeric IDs accepted during transition

## Request body

- DecisionMakersRequest
  - `companies` DecisionMakersCompanyInput[], required — 1–N companies. Each entry must contain exactly one of `domain` or `id`.
    - `domain` string — Company domain, resolved to a Lusha company ID server-side. Mutually exclusive with `id`.
    - `id` string — Encrypted Lusha company ID (`vN.…`); legacy numeric IDs accepted. Mutually exclusive with `domain`.
    - `clientReferenceId` string — Caller-supplied correlation token, echoed back on the matching result.
  - `pagination` object
    - `page` integer
    - `size` integer

## Response `200`

Successful response

- DecisionMakersResponse
  - `requestId` string, uuid
  - `results` DecisionMakersCompanyResult[]
    - `clientReferenceId` string — Echoed from the matching request entry.
    - `companyId` string — Encrypted Lusha company ID the decision makers belong to. Omitted on NOT_FOUND entries.
    - `domain` string — Requested domain, echoed back on a NOT_FOUND entry.
    - `decisionMakers` V3ContactPreview[] — Ranked decision makers, highest relevance first.
      - `clientReferenceId` string
      - `id` string
      - `firstName` string
      - `lastName` string
      - `jobTitle` object
        - `title` string
        - `departments` string[]
        - `seniority` string
      - `company` object
        - `id` string
        - `name` string
        - `domain` string
      - `location` object
        - `country` string
        - `state` string
        - `city` string
      - `socialLinks` object
        - `linkedin` string
      - `has` string[]
      - `canReveal` V3CanRevealItem[]
        - `field` 'emails' | 'phones'
        - `credits` integer — Credit cost (0 when already revealed for this account)
      - `signalTypes` string[]
      - `error` V3ItemError — Per-item error in a batch response
        - `code` 'NOT_FOUND' | 'COMPLIANCE_RESTRICTED' | 'ENRICH_FAILED'
        - `message` string
    - `error` V3ItemError — Per-item error in a batch response
      - `code` 'NOT_FOUND' | 'COMPLIANCE_RESTRICTED' | 'ENRICH_FAILED'
      - `message` string
  - `billing` V3Billing — Credit usage summary for a V3 API request
    - `creditsCharged` integer — Total credits charged for this request
    - `resultsReturned` integer — Number of successful results returned

## Other responses

- `400` — Bad request - invalid input data
- `401` — Unauthorized - invalid or missing API key
- `402` — Payment required - insufficient credits
- `403` — Forbidden - account inactive, V3 access not enabled, or plan does not include this feature
- `429` — Too many requests - rate limit exceeded

---

[API](https://skmtc.net/lusha/apis/lusha-api-documentation.md) · [All operations](https://skmtc.net/lusha/apis/lusha-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/lusha/lusha-api-documentation/revisions/4c51e40e3e67/schema)
