Skip to main content

List jobs

GEThttps://api.fieldtask.example/public/v1/jobs
Permission
jobs:read
Pagination
Cursor, up to 100 per page
Also available as
fieldtask_list_jobs

Returns the jobs in your organization, oldest first by default, one page at a time.

You can list every job, the jobs scheduled on one day, or the single job that has a given external_reference. Lists show current data, so a job created or changed while you page through may or may not appear.

Permissions​

PermissionDependency in the permission map
jobs:readNo dependencies

Some fields are only included when the connection holds other read permissions too. See Fields that depend on permissions.

Request​

Responses​

OK

Response Headers
    Cache-Control

    Responses must not be cached.

    X-Request-ID

    Server-generated request correlation ID.

Filtering​

Use at most one filter:

ParameterReturns
noneAll jobs, including unscheduled ones.
scheduled_dateJobs whose time slot overlaps that calendar day in your organization's time zone. Send today or a date such as 2026-11-10.
external_referenceThe one job created through your client application with that exact reference, or an empty list. It can't be combined with any other parameter, including page_size.

About scheduled_date:

  • A job is included if any part of its time slot falls on that day, so an overnight job appears on both days.
  • Unscheduled jobs aren't included. Recurring jobs aren't expanded into separate occurrences.
  • The response's page.schedule_filter shows the date and time zone the server used, which is useful when you send today.

Pagination​

  • page_size sets the number of jobs per page, from 1 to 100. The default is 25.
  • ordering is created_at (oldest first, the default) or -created_at (newest first).
  • When page.has_more is true, request page.next_page_url with the same Authorization header. It keeps your page size, ordering and filter. It's null on the last page.
  • If you build URLs yourself, pass page.next_cursor as cursor and keep every other parameter unchanged. Cursors expire within 24 hours and only work with the query and connection that produced them.

To change the filter or ordering, start again without a cursor.

Fields that depend on permissions​

Each job always includes its own fields, such as id, name, status, schedule and customer_id. These fields need more:

FieldIncluded when the connection also has
customercustomers:read
locationcustomers:read and customer_locations:read
assignee_member_ids, assigneesmembers:read
revisionNo extra permission, but only where FieldTask has enabled change tracking for jobs

FieldTask can also withhold a field everywhere until it's published for your environment, so treat any field not listed as required in the response schema as optional.

The customer, location and assignees summaries show those records' current names and contact details. Changes to them don't change the job's revision.

job_value is the current sum of quantity × unit price over the job's line items, as a decimal string in currency. It includes items that are kept on the job but marked inactive, as the job total in FieldTask does, so it can differ from the sum of the items that List job items returns. The number of decimal places isn't fixed (for example "0.00" or "185.0000"), so parse it as a decimal rather than comparing strings. It isn't an amount paid.

Job status​

status is one of unscheduled, scheduled, in_progress, completed, missed or cancelled. unknown means the job has a status this API version doesn't recognize; handle it rather than failing.

Errors​

StatuscodeMeaningWhat to do
400invalid_queryThe query string has an unknown, repeated or invalid parameter.Send only the documented query parameters, each once.
400invalid_cursorThe cursor is malformed, was changed, or belongs to a different query, connection or page size.Use next_page_url or the cursor exactly as returned, with the same query. To change the query, start again without a cursor.
401invalid_tokenThe bearer token is missing, malformed, expired, revoked or issued for a different resource (for example an MCP sign-in).Send a current REST API token or REST OAuth access token as Authorization: Bearer ….
403api_access_not_enabledFieldTask hasn't enabled API access for this organization, or has disabled it.An owner or admin requests access in Settings → API connections.
403insufficient_scopeThe connection lacks a permission this request needs. error.code is missing_permission.Add the permission named in error.message to the connection.
404resource_not_foundThe record doesn't exist or isn't visible to this connection, the feature isn't available in this environment, or the URL is wrong.Check the ID, the API origin and the path (no trailing slash).
405method_not_allowedThis path doesn't accept the HTTP method, or the create isn't enabled in this environment. The Allow header lists the methods that are.Use a method listed in Allow.
429rate_limit_exceededToo many requests in the current minute, or too many concurrent requests, for the organization or connection.Wait for Retry-After seconds, then retry.
429daily_quota_exceededThe organization or connection has used its daily allowance for this kind of request. Allowances reset at 00:00 UTC.Wait for Retry-After seconds, or check remaining allowance in Settings → API connections.
503temporarily_unavailableThe service couldn't complete the request.Retry with exponential backoff. Retry creates with the same key and body.