# Get 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

Endpoint: POST /v3/contacts/decision-makers
Security: ApiKeyAuth

## Request fields (application/json):

  - `companies` (array, required)
    1–N companies. Each entry must contain exactly one of domain or id.

  - `companies.domain` (string)
    Company domain, resolved to a Lusha company ID server-side. Mutually exclusive with id.
    Example: "google.com"

  - `companies.id` (string)
    Encrypted Lusha company ID (vN.…); legacy numeric IDs accepted. Mutually exclusive with domain.
    Example: "v1.AbCdEfGhIjKlMnOpQrStUvWxYz012345"

  - `companies.clientReferenceId` (string)
    Caller-supplied correlation token, echoed back on the matching result.
    Example: "ref-1"

  - `pagination` (object)

  - `pagination.page` (integer)

  - `pagination.size` (integer)
    Example: 10

## Response 200 fields (application/json):

  - `requestId` (string)
    Example: "550e8400-e29b-41d4-a716-446655440000"

  - `results` (array)

  - `results.clientReferenceId` (string)
    Echoed from the matching request entry.
    Example: "ref-1"

  - `results.companyId` (string)
    Encrypted Lusha company ID the decision makers belong to. Omitted on NOT_FOUND entries.
    Example: "v1.AbCdEfGhIjKlMnOpQrStUvWxYz012345"

  - `results.domain` (string)
    Requested domain, echoed back on a NOT_FOUND entry.
    Example: "unknown-co.com"

  - `results.decisionMakers` (array)
    Ranked decision makers, highest relevance first.

  - `results.decisionMakers.clientReferenceId` (string)
    Example: "my-ref-1"

  - `results.decisionMakers.id` (string)
    Example: "4389064704"

  - `results.decisionMakers.firstName` (string)
    Example: "Orit"

  - `results.decisionMakers.lastName` (string)
    Example: "Shilvock"

  - `results.decisionMakers.jobTitle` (object)

  - `results.decisionMakers.jobTitle.title` (string)
    Example: "Vice President of Partnerships"

  - `results.decisionMakers.jobTitle.departments` (array)
    Example: ["Business Development"]

  - `results.decisionMakers.jobTitle.seniority` (string)
    Example: "Vice President"

  - `results.decisionMakers.company` (object)

  - `results.decisionMakers.company.id` (string)
    Example: "16303253"

  - `results.decisionMakers.company.name` (string)
    Example: "Lusha"

  - `results.decisionMakers.company.domain` (string)
    Example: "www.lusha.com"

  - `results.decisionMakers.location` (object)

  - `results.decisionMakers.location.country` (string)
    Example: "Israel"

  - `results.decisionMakers.location.state` (string)
    Example: "Tel Aviv District"

  - `results.decisionMakers.location.city` (string)
    Example: "Tel Aviv"

  - `results.decisionMakers.socialLinks` (object)

  - `results.decisionMakers.socialLinks.linkedin` (string)
    Example: "https://www.linkedin.com/in/orit-shilvock-6243bb5"

  - `results.decisionMakers.has` (array)
    Example: ["firstName","lastName","jobTitle","location","socialLinks","emails"]

  - `results.decisionMakers.canReveal` (array)

  - `results.decisionMakers.canReveal.field` (string)
    Enum: "emails", "phones"

  - `results.decisionMakers.canReveal.credits` (integer)
    Credit cost (0 when already revealed for this account)
    Example: 1

  - `results.decisionMakers.signalTypes` (array)
    Example: ["promotion","companyChange"]

  - `results.decisionMakers.error` (object)
    Per-item error in a batch response

  - `results.decisionMakers.error.code` (string)
    Enum: "NOT_FOUND", "COMPLIANCE_RESTRICTED", "ENRICH_FAILED"

  - `results.decisionMakers.error.message` (string)
    Example: "Contact not found"

  - `results.error` (object)
    Per-item error in a batch response

  - `billing` (object)
    Credit usage summary for a V3 API request

  - `billing.creditsCharged` (integer)
    Total credits charged for this request
    Example: 3

  - `billing.resultsReturned` (integer)
    Number of successful results returned
    Example: 1

## Response 400 fields (application/json):

  - `statusCode` (integer, required)
    HTTP status code
    Example: 400

  - `message` (string, required)
    Error message
    Example: "Validation failed"

  - `errors` (array)
    Detailed error messages (optional, only for validation errors)
    Example: ["entityType must be one of: contact, company"]


