---
title: "Search across multiple entity types"
method: GET
path: "/v2/search"
tags: ["Search"]
---

# Search across multiple entity types

`GET /v2/search`

Returns a list of matching results across entity types based on the provided search term.

By default, results are returned from all entity types (jobs, leads, clients, invoices) up to the specified `limit` per type.

Use the `type` parameter to restrict results to a single entity type. Requesting `type=lead` requires the Leads add-on to be enabled on the account.

Results are ranked by relevance score. The `entityId` field is an ID that can be used with other API endpoints.

## Query parameters

- `term` string, required
- `type` 'job' | 'lead' | 'client' | 'invoice'
- `limit` number

## Headers

- `Authorization` string, required

## Response `200`

Search results grouped with total count and result list.

- ResponseSearchResultsV2Dto
  - `limit` number — The maximum number of results returned per entity type.
  - `totalResults` number — The total number of results.
  - `data` ResponseSearchV2Dto[] — List of matching search results.
    - `entityType` 'job' | 'lead' | 'client' | 'invoice' — The entity type of the result.
    - `entityId` string — ID of the entity. Can be used with the corresponding entity endpoint (e.g. GET /jobs/:id).
    - `uuid` string — UUID of the entity. Not present when the result is a client.
    - `serialId` number — Numeric serial ID of the entity.
    - `name` string — Display name of the entity. For jobs this is the job name, for clients the full name.
    - `status` string — Status of the entity (e.g. `pending`, `completed`). Only present for jobs and leads.
    - `date` string — Scheduled date for jobs and leads. Format: `yyyy-MM-dd HH:mm:ss`. Not present for clients or invoices.
    - `totalPrice` number — Total price of the invoice. Only present for invoices.
    - `amountDue` number — Amount due on the invoice. Only present for invoices.
    - `companyName` string — Company name of the client. Only present for clients.
    - `email` string — Email address of the client. Only present for clients.
    - `primaryPhone` string — Primary phone number of the client. Only present for clients.
    - `fullAddress` string — Full address of the client. Only present for clients.
    - `clientInfo` ResponseSearchClientInfoV2Dto
      - `serialId` number — The serial ID of the client.
      - `fullName` string — The full name of the client.
      - `companyName` string — The company name of the client.
      - `email` string — The email address of the client.
      - `primaryPhone` string — The primary phone number of the client.
      - `fullAddress` string — The full address of the client.

## Other responses

- `400` — Invalid query parameters, or `type=lead` requested without the Leads add-on enabled.
- `401` — Missing or invalid authentication token.

---

[API](https://skmtc.net/workiz/apis/developer-api.md) · [All operations](https://skmtc.net/workiz/apis/developer-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/workiz/developer-api/revisions/14666f4db0f8/schema)
