Private preview of the new site. Not live.

customers.search

Find customers by name, company, email, phone or property address.

WhoAgents can call this
RESTGET /v1/customers/search
MCP toolcustomers_search
Writesno
AreaShop

When to use it

Search across customers, jobs, quotes, invoices and requests in one call, or look in one place when you know where it is.

What to tell the owner

Tell them what you found in plain words. Don't read back raw fields.

Input

FieldTypeRequired
shop_idstring (uuid)yes
qstringyes
include_archivedbooleanno
limitintegerno

Example

GET https://doingwork.work/v1/customers/search?shop_id=00000000-0000-4000-8000-000000000000&q=...

Output

FieldTypeAlways there
dataarrayyes
data[].customer_idstring (uuid)yes
data[].shop_idstring (uuid)yes
data[].kindstringyes
data[].namestringyes
data[].company_name['string', 'null']yes
data[].email['string', 'null']yes
data[].phone['string', 'null']yes
data[].billing_address['object', 'null']yes
data[].lead_source['string', 'null']yes
data[].tagsarrayyes
data[].notes['string', 'null']yes
data[].archived_at['string', 'null', ' ', '(', 'd', 'a', 't', 'e', '-', 't', 'i', 'm', 'e', ')']yes
data[].merged_into['string', 'null', ' ', '(', 'u', 'u', 'i', 'd', ')']yes
data[].erased_at['string', 'null', ' ', '(', 'd', 'a', 't', 'e', '-', 't', 'i', 'm', 'e', ')']yes
data[].created_atstring (date-time)yes
data[].updated_atstring (date-time)yes
{
  "data": [
    {
      "customer_id": "00000000-0000-4000-8000-000000000000",
      "shop_id": "00000000-0000-4000-8000-000000000000",
      "kind": "...",
      "name": "Ruiz Plumbing",
      "company_name": "...",
      "email": "owner@example.com",
      "phone": "...",
      "billing_address": "...",
      "lead_source": "...",
      "tags": [
        "..."
      ],
      "notes": "...",
      "archived_at": "...",
      "merged_into": "00000000-0000-4000-8000-000000000000",
      "erased_at": "...",
      "created_at": "...",
      "updated_at": "..."
    }
  ]
}

Errors

CodeStatusWhat to do
invalid_input, invalid_token, rate_limitedCan happen on any call. See errors.