---
title: "Search Jobs"
method: POST
path: "/jobs/search"
tags: ["jobs"]
---

# Search Jobs

`POST /jobs/search`

## Request

- Base URL: `https://api.acculynx.com/api/v2`
- URL: `https://api.acculynx.com/api/v2/jobs/search`
- Auth: HTTP bearer

Use this endpoint to get a listing of jobs matching the given search criteria. Jobs are returned if they include a given search term and/or they are near a given set of map coordinates. At least one of searchTerm or geoLocation must be included. If both are included, jobs returned must match both criteria.

The size of the return is controlled with the pageSize query parameter which defaults to 10 and must be > 0 and <= 25. Set pageStartIndex >= 0 to access jobs past the first page when more than pageSize jobs meet the search criteria. The pageStartIndex parameter to start looking for records should not exceed 100000.

Unassigned leads or jobs will not be returned.

**Supported includes:** `contact`, `initialAppointment`.

Example: return up to 25 jobs (including initial appointment) that contain "Maple Lane" and are within 1 kilometer of the map location (40.689247,-74.044502).

**/jobs/search?pageSize=25&includes=initialAppointment**
```
{
  "searchTerm": "Maple Lane",
  "geoLocation": {
    "latitude": 40.689247,
    "longitude": -74.044502,
    "mapRadius": 1
  }
}
```

## Query parameters

- `pageSize` integer
- `pageStartIndex` integer
- `includes` string

## Request body

- JobSearchPost
  - `searchTerm` string: select the jobs that include this term.
  - `geoLocation` MapCoordinates
    - `latitude` number: latitude component of the map location
    - `longitude` number: longitude component of the map location
    - `mapRadius` integer: number of kilometers from (latitude, longitude) to consider

## Response `200`

OK

- JobCollection: A paginated collection of job records.
  - `count` integer: The total number of items matching the current query.
  - `pageSize` integer: The requested or default page size.
  - `pageStartIndex` integer: The requested or default index of the first element to return.
  - `items` Job[]
    - `id` string, uuid: The job's unique ID.
    - `_link` string: The URI of this Job.
    - `contacts` JobContact[]: The contacts linked to this job, including relationship metadata for each entry. By default, the nested contact object contains only an ID and link reference. Specify `contact` in the `includes` query parameter to expand each nested contact with its full profile (name, phone numbers, and email addresses).
      - `id` string, uuid: The contact's unique ID.
      - `_link` string: The URI of this contact.
      - `isPrimary` boolean: Is this the primary contact for this job?
      - `relationToPrimary` string: how is this contact related to the primary contact?
      - `contact` union: ContactLink object is included by default. Specify includes=contact in the request to include the full Contact object.
        - Contact
          - `id` string, uuid: The unique GUID identifying this contact.
          - `_link` string: The unique URI for this resource.
          - `firstName` string: First name of the contact.
          - `lastName` string: Last name of the contact.
          - `salutation` string: Salutation of the contact.
          - `crossReference` string: CrossReference of the contact.
          - `companyName` string: CompanyName of the contact.
          - `phoneNumbers` PhoneNumberLink[]
            - `id` string, uuid: The GUID of the Phone Number.
            - `_link` string: The URI of the Phone Number.
          - `emailAddresses` EmailAddressLink[]
            - `id` string, uuid: The GUID of the Email Address.
            - `_link` string: The URI of the Email Address
          - `mailingAddress` Address
            - `street1` string
            - `street2` string
            - `city` string
            - `state` State
              - …
            - `zipCode` string
            - `country` Country
              - …
          - `billingAddress` Address
            - `street1` string
            - `street2` string
            - `city` string
            - `state` State
              - …
            - `zipCode` string
            - `country` Country
              - …
          - `createdDate` string, date-time, nullable: Date the contact was created, in ISO 8601 format. Null when unavailable.
          - `modifiedDate` string, date-time, nullable: Date the contact was last modified, in ISO 8601 format. Null when unavailable.
        - ContactLink
          - `id` string, uuid: The unique GUID identifying this contact.
          - `_link` string: The unique URI for this resource.
    - `locationAddress` Address
      - `street1` string
      - `street2` string
      - `city` string
      - `state` State
        - `id` integer: The id for the state.
        - `name` string: The name of the State.
        - `abbreviation` string: The 2 character abbreviation for the State.
        - `_link` string: The URI of the State.
      - `zipCode` string
      - `country` Country
        - `id` integer: The id for the Country.
        - `name` string: The name of the Country.
        - `abbreviation` string: The 2 character abbreviation for the Country.
        - `_link` string: The URI of the Country.
    - `geoLocation` GeoLocation
      - `latitude` number: latitude component of the map location
      - `longitude` number: longitude component of the map location
    - `tradeTypes` TradeType[]: The trade types assigned to this job.
      - `tradeId` string, uuid
      - `name` string: The name of the Trade.
    - `jobCategory` JobCategory
      - `id` integer: The category's unique identifier.
      - `name` string: The category's name.
    - `workType` WorkType
      - `id` integer: The Work Type unique identifier.
      - `_link` string: The URI of the Work Type.
      - `name` string: The name of the Work Type.
      - `systemDefault` boolean: Shows if the work type is a System Default item.
    - `leadSource` LeadSource
      - `id` string, uuid
      - `_link` string: The URI of the LeadSource.
      - `name` string
      - `children` LeadSourceChild[], nullable
        - `id` string, uuid
        - `name` string
        - `parentId` string, uuid
        - `_link` string: The URI of the LeadSource.
    - `initialAppointment` InitialAppointmentLink
      - `_link` string: The unique URI of the Initial Apppointment for the specified Job.
    - `leadDeadReason` string: The reason why the lead was marked as dead.
    - `milestoneDate` string, date-time: The date/time when the job entered its current milestone.
    - `createdDate` string, date-time: The date/time when this job was created.
    - `modifiedDate` string, date-time: The date and time when this job was last modified.
    - `currentMilestone` 'Lead' | 'Prospect' | 'Approved' | 'Completed' | 'Invoiced' | 'Closed' | 'Cancelled': The job's current workflow milestone.
    - `jobNumber` string: The human-readable reference number for this job. The format is configured in company settings.
    - `jobName` string: The full name for this job.
    - `priority` 'Normal' | 'High' | 'Urgent': The priority level assigned to this job.

## Other responses

- `400`: The request was malformed or contained invalid field values. Check the error response body for details.
- `401`: The API key provided is missing, invalid, or has been deactivated. Verify your API key and try again.
- `416`: Range Not Satisfiable.

## Changes

- **2026-11-03** `443924b00f43`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/acculynx/apis/acculynx-api-v2/changes/jobs/search/post.md)

---

[API](https://skmtc.dev/acculynx/apis/acculynx-api-v2.md) - [All operations](https://skmtc.dev/acculynx/apis/acculynx-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/acculynx/apis/acculynx-api-v2/revisions/443924b00f43?raw)
