---
title: "Search workers accessible to the calling company"
method: POST
path: "/public/worker/v1/search-workers"
tags: ["Worker"]
---

# Search workers accessible to the calling company

`POST /public/worker/v1/search-workers`

Returns a paged list of workers visible to the calling company.

A worker is visible when the calling company either added the worker, or has any non-deleted
and non-aborted order with the worker (as company or intermediary). Workers outside this
access scope are never returned.

The optional `search` term is matched case-insensitively against both the worker's full name
(first + middle + last) and email address; a worker matches when either contains the term.
When `search` is omitted, all accessible workers are returned.

## Request body

- SearchWorkersRequestV1
  - `search` string — Optional free-text term, matched case-insensitively against both the worker's full name (first + middle + last) and email address. A worker matches when either contains the term. When omitted, all accessible workers are returned.
  - `page` PageRequestV1 — Generic paging request parameters, reusable across public API endpoints. If omitted, defaults are number=0, size=25.
    - `number` integer — Zero-based page index.
    - `size` integer — Number of items per page. No maximum is enforced — callers running automated bulk fetches may request larger pages.

## Response `200`

Successfully retrieved a page of workers.

- SearchWorkersResponseV1
  - `workers` WorkerSummaryV1[], required
    - `workerId` string, uuid, required — The unique id of the worker.
    - `fullName` string, required — The worker's full name (first + middle + last, blanks collapsed).
    - `emailAddress` string, email, required — The worker's email address.
  - `page` PageV1, required — Generic paging metadata returned alongside a page of results, reusable across public API endpoints.
    - `number` integer, required — Zero-based index of the returned page.
    - `size` integer, required — Number of items returned on this page.
    - `totalElements` integer, required — Total number of items matching the query across all pages.
    - `totalPages` integer, required — Total number of pages available for the query.

## Other responses

- `401` — The request did not contain credentials identifying the caller, or the provided credentials were invalid.
- `403` — The caller is not allowed to use this endpoint.

---

[API](https://skmtc.net/maqqie/apis/maqqie-public-api.md) · [All operations](https://skmtc.net/maqqie/apis/maqqie-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/maqqie/maqqie-public-api/versions/87ac62a48f6e/schema)
