Field NationDeveloper Platform
Field NationDeveloper Platform
IntroductionQuick StartAPI Playground

Getting Started

API Reference

Overview
Create Work OrderSearch & Filter Work OrdersUpdate & Cancel
Work OrdersBasics

Search & Filter Work Orders

Use GET /workorders to find, filter, and sort your work orders by status, date, location, assignment, pay, and more.


Search & Filter Work Orders

GET /workorders is your main tool for retrieving work orders. Think of it like the Field Nation dashboard's search and filter panel — but as an API. You describe what you want using query parameters, and the API returns exactly that.

GET /workorders

How It Works

Pick a List

A list scopes your results to a stage of the work order lifecycle — the same as clicking a tab in the Field Nation UI (e.g., "Assigned" or "Draft"). Each list pre-applies its own base filters, so you always start from the right context.

curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_assigned" \
  -H "Authorization: Bearer YOUR_TOKEN"

Add Filters

Layer any number of f_* parameters to narrow results. Filters combine with AND logic — every filter you add further reduces the result set.

curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_assigned&f_state=TX&f_service_schedule=2025-01-01,2025-01-31" \
  -H "Authorization: Bearer YOUR_TOKEN"

Paginate Through Results

Use page and per_page to work through large result sets. The response always tells you the total count and how many pages exist.

curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&f_state=TX&page=2&per_page=50" \
  -H "Authorization: Bearer YOUR_TOKEN"

Lists

A list scopes your results to a specific stage of the work order lifecycle. Every request should include a list parameter — without it, the API may fall back to a previously saved state and return unexpected results.

ValueLabelWhat's in it
workorders_in_flightIn-FlightActive work orders that are underway or confirmed
workorders_draftDraftUnpublished work orders still being configured
workorders_published_routedPublished / RoutedPublished or routed to providers, not yet assigned
workorders_assignedAssignedWork orders with a confirmed provider assignment
workorders_problemIssueWork orders with a reported problem
workorders_work_doneDoneProvider has marked the work complete
workorders_approvedApprovedYou have approved the completed work
workorders_allAllEvery non-archived work order (API default)
curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_assigned&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

Integration tip

Always pass list explicitly in your integration. If omitted, the API uses the last saved list from your account's sticky state, which can silently change the result set between requests.


Keyword Search

Not sure of the exact work order details? Use f_search to run a free-form keyword search across multiple fields at once.

Prop

Type

curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&f_search=network+switch+installation&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

Filters

All filter parameters are prefixed with f_ and can be combined freely. The sections below cover the most commonly used filters, grouped by what they filter.

Work Order

Use these to find specific work orders by ID, template, type, or label.

Prop

Type

curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&f_work_order_id=1001,1002,1003&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"
curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&f_template=55&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"
curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&f_type_of_work=Networking,Cabling&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"
# Returns only work orders with no flags assigned
curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&f_flags=&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

Assignment & Provider

Use these to filter by who is assigned, how they were dispatched, or whether there are outstanding requests or counter-offers.

Prop

Type

curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_assigned&f_assigned_provider=12345&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"
curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_published_routed&f_requests=true&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"
curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&f_has_counter_offer=true&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"
# Work orders assigned to providers rated 4.0 stars or higher
curl "https://api.fieldnation.com/api/rest/v2/workorders?f_rating=4.0&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

Organization

Filter by internal structure — the company, manager, client, project, network, or funding account associated with a work order.

Prop

Type

# Work orders for a specific client under a project
curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&f_client=20&f_project=55&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

# Work orders managed by a specific person
curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&f_manager=jane@acme.com&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

# Work orders funded by a specific account
curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&f_fund=10&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

Dates

Filter work orders by when key events occurred. All date filters follow the same format.

Date format

Dates are accepted as YYYY-MM-DD for a full calendar day, or YYYY-MM-DD,YYYY-MM-DD for an inclusive range. All values are treated as UTC and converted to each work order's local time zone for comparison.

Prop

Type

# Work orders scheduled in January 2025
curl "https://api.fieldnation.com/api/rest/v2/workorders?f_service_schedule=2025-01-01,2025-01-31&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"
# Work orders created on a specific day
curl "https://api.fieldnation.com/api/rest/v2/workorders?f_created_date=2025-03-01&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

# Work orders created in Q1 2025
curl "https://api.fieldnation.com/api/rest/v2/workorders?f_created_date=2025-01-01,2025-03-31&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"
# Work orders approved or cancelled in Q1 2025
curl "https://api.fieldnation.com/api/rest/v2/workorders?f_approved_cancelled_date=2025-01-01,2025-03-31&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"
# Work orders marked complete in February 2025
curl "https://api.fieldnation.com/api/rest/v2/workorders?f_work_done_done=2025-02-01,2025-02-28&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

Location

Filter by the physical location of the work order. Use geographic fields for broad filtering, or saved location IDs for precise, pre-defined sites.

Prop

Type

curl "https://api.fieldnation.com/api/rest/v2/workorders?f_state=TX,CA&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"
curl "https://api.fieldnation.com/api/rest/v2/workorders?f_city=Austin,Dallas&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"
curl "https://api.fieldnation.com/api/rest/v2/workorders?f_zip=78701,78702&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"
# One or more specific saved locations
curl "https://api.fieldnation.com/api/rest/v2/workorders?f_location_ids=42,43&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

# A saved location group
curl "https://api.fieldnation.com/api/rest/v2/workorders?f_location_group_ids=7&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"
# By IANA time zone name
curl "https://api.fieldnation.com/api/rest/v2/workorders?f_time_zone=America/Chicago&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

# By UTC offset range (covers Central and Eastern)
curl "https://api.fieldnation.com/api/rest/v2/workorders?f_time_zone=-5,-6&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

Pay

Filter by how much a work order pays. Accepts a single minimum value or an inclusive range.

Prop

Type

# Work orders paying between $100 and $500 total
curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&f_pay=100,500&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

# Work orders paying at least $250 total
curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&f_pay=250&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

# Work orders with an hourly rate of at least $50/hr
curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&f_min_hourly_rate=50&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

Pagination

Prop

Type

# Fetch the second page with 50 results per page
curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&page=2&per_page=50&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

The response metadata object always includes total, page, pages, and per_page so you know how many more pages remain.


Sorting

Prop

Type

# Soonest service date first
curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&sort=schedule&order=asc&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

# Most recently created first
curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&sort=created_date&order=desc&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

# Highest paying first
curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&sort=pay&order=desc&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

Advanced Options

Control the shape and columns returned in the response. Most integrations can leave these at their defaults.

Prop

Type

curl "https://api.fieldnation.com/api/rest/v2/workorders?view=list&columns=id,title,status,schedule&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

Sticky parameters persist your filter, column, and sort preferences server-side against your user account and the active list. Pagination is never persisted.

Prop

Type

Always pass sticky=false in integrations

When sticky is omitted or true, filters are saved server-side against your user account. A filter applied in one request can silently carry over into a subsequent request that does not include it — causing unexpected, hard-to-debug results. Always pass sticky=false to keep each request fully self-contained.

You can verify which filters were actually applied by inspecting the response body. Every recognized filter is echoed back as an f_* key with a corresponding fs_* boolean:

{
  "f_service_schedule": "2025-01-01,2025-01-31",
  "fs_service_schedule": true
}

If a filter key is absent from the response, it was not recognized by the API.

Pass f_= (the bare f_ parameter with an empty value) to clear all saved sticky filters for the current list.

curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&f_=&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

This is useful when resetting state after filters were accidentally persisted by a previous request.


Common Recipes

Real-world examples combining multiple parameters.

All open work orders in Texas, sorted by service date:

curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&f_state=TX&sort=schedule&order=asc&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

Work orders created in Q1 2025 for a specific project:

curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&f_project=55&f_created_date=2025-01-01,2025-03-31&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

Published work orders with pending provider requests, page 2:

curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_published_routed&f_requests=true&page=2&per_page=25&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

All work orders assigned to a specific provider:

curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_assigned&f_assigned_provider=12345&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

Keyword search across all draft work orders:

curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_draft&f_search=fiber+optic&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

Work orders for a specific client, filtered by pay range:

curl "https://api.fieldnation.com/api/rest/v2/workorders?list=workorders_all&f_client=20&f_pay=100,500&sticky=false" \
  -H "Authorization: Bearer YOUR_TOKEN"

Response Structure

A successful 200 response always includes these top-level fields.

Array of work order objects matching your query. The shape of each object depends on the view and columns parameters you passed.

Pagination context and active state for the current response.

Prop

Type

All available list tabs with their labels and counts — mirrors the tab bar in the Field Nation UI. Useful for displaying counts across multiple lifecycle stages at once.

The authenticated user's saved custom filter sets. These can be applied by name to quickly restore a complex filter combination.

Example response shape
{
  "results": [...],
  "metadata": {
    "total": 142,
    "page": 1,
    "pages": 6,
    "per_page": 25,
    "sort": "schedule",
    "order": "asc",
    "list": "workorders_all",
    "available_filters": [...],
    "available_columns": [...]
  },
  "lists": [...],
  "saved_filters": [...]
}

Last updated on

Create Work Order

Comprehensive guide to creating work orders via the API.

Update & Cancel

Updating, canceling, and managing work orders.

On this page

Search & Filter Work Orders
How It Works
Pick a List
Add Filters
Paginate Through Results
Lists
Keyword Search
Filters
Work Order
Assignment & Provider
Organization
Dates
Location
Pay
Pagination
Sorting
Advanced Options
Common Recipes
Response Structure