---
title: "List/Search Jobs"
method: GET
path: "/v1/jobs"
tags: ["Job"]
---

# List/Search Jobs

`GET /v1/jobs`

## Request

- Base URL: `https://api.sandbox.usenash.com`
- URL: `https://api.sandbox.usenash.com/v1/jobs`
- Auth: none declared

List jobs (deliveries) with filters, sorting, and pagination. Returns a slim payload suitable for discovery; use GET /v1/jobs/<id> for full details.

## Query parameters

- `limit` integer
- `offset` integer
- `sortBy` string: Sort field (e.g. created_at, pickup_start_time)
- `sortDirection` string: ASC or DESC
- `startDate` string, date-time, nullable: Defaults to 3 days ago.
- `endDate` string, date-time, nullable: Defaults to 7 days from now so in-flight and scheduled deliveries are included.
- `deliveryStatuses` string, nullable: Comma-separated delivery statuses (e.g. created,accepted_by_courier,delivered)
- `providerNames` string, nullable: Comma-separated provider names
- `courierNames` string, nullable: Comma-separated courier names
- `tags` string, nullable: Comma-separated job tags
- `packageTags` string, nullable: Comma-separated package tags
- `pickupStoreLocationIds` string, nullable: Comma-separated
- `dropoffStoreLocationIds` string, nullable: Comma-separated
- `search` string, nullable: Free-form search across IDs, external identifiers, short reference codes, addresses, and courier/customer names. For an exact match on a single field, use the dedicated filter (e.g. short_reference_code).
- `shortReferenceCode` string, nullable: Exact match on the 7-digit short reference code shown on delivery cards. Codes are non-unique; multiple jobs may be returned. When provided, the default date window is widened to 90 days so older jobs are discoverable.
- `customerName` string, nullable: Fuzzy, case-insensitive substring match on the end customer's name (pickup or dropoff full name) over the denormalized task. Use this to locate a delivery when the caller only knows the customer's name. Matches names only — not business names, addresses, or courier names (use `search` for broader free-form matching). When provided, the default date window is widened to 90 days so older deliveries are discoverable.
- `isBatch` boolean, nullable: Filter to batch jobs only
- `hasNotes` boolean, nullable: Filter to jobs with notes
- `city` string, nullable: Comma-separated pickup/dropoff cities
- `state` string, nullable: Comma-separated pickup/dropoff states
- `country` string, nullable: Comma-separated pickup/dropoff countries

## Response `200`

OK

- JobsListResponse
  - `results` JobListItem[], required
    - `id` string, required
    - `externalIdentifier` string, nullable
    - `shortReferenceCode` string, nullable
    - `status` string, nullable
    - `isBatch` boolean, nullable
    - `createdAt` string, date-time, nullable
    - `routeId` string, nullable
    - `portalUrl` string, nullable
    - `pickup` JobLocationSummary
      - `businessName` string, nullable
      - `firstName` string, nullable
      - `lastName` string, nullable
      - `address` string, nullable
      - `city` string, nullable
      - `state` string, nullable
      - `country` string, nullable
    - `dropoff` JobLocationSummary
      - `businessName` string, nullable
      - `firstName` string, nullable
      - `lastName` string, nullable
      - `address` string, nullable
      - `city` string, nullable
      - `state` string, nullable
      - `country` string, nullable
    - `delivery` JobDeliverySummary
      - `id` string, nullable
      - `providerName` string, nullable
      - `status` string, nullable
      - `courierName` string, nullable
      - `trackingUrl` string, nullable
      - `priceCents` integer, nullable
      - `currency` string, nullable
  - `totalCount` integer, required
  - `limit` integer, required
  - `offset` integer, required

## Other responses

- `422`: Unprocessable Content

---

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