Skip to main content

Get an operation

GEThttps://api.fieldtask.example/public/v1/operations/{resource_id}
Also available as
fieldtask_get_operation

Returns what happened to a create request: which record it created, and the status of any follow-up work that runs after the record is saved.

Every successful create returns an Operation-Location header pointing here. MCP create tools return the same ID as operation_id. Use this endpoint when you need to confirm a create after a timeout, or to check follow-up work such as geocoding a location address or synchronization with a connected system.

Who can read an operation​

Only the connection that made the create request can read its operation, and for MCP connections only the person who approved the connection. Any other caller gets 404 resource_not_found.

Permissions​

This operation has no fixed permission requirement; see the conditions below.

The connection needs current read access to the kind of record the operation created:

Created byPermissions needed to read the operation
customer.createcustomers:read
customer_location.createcustomer_locations:read, customers:read
invoice.createcustomers:read, invoices:read
job.createjobs:read
job_item.createjob_items:read, jobs:read
member_invitation.createmembers:invite, members:read
product.createproducts:read
quote.createcustomers:read, quotes:read

Request​

Responses​

OK

Response Headers
    Cache-Control

    Responses must not be cached.

    X-Request-ID

    Server-generated request correlation ID.

Reading the result​

FieldMeaning
data.local_statusAlways committed: the record was saved in FieldTask.
data.command and data.resourceWhat was created, with its type and ID. Read the record itself through its own endpoint.
data.http_statusThe status of the original create response, 201.
data.result_expires_atWhen this operation result stops being available, seven days after the create.
data.integrationFollow-up work that runs separately from the create.

The follow-up work never changes or removes the saved record.

integration.statusMeaning
not_applicableThere's no follow-up work.
pendingFollow-up work is queued or running. Read the operation again later.
succeededAll follow-up work finished.
partialSome follow-up work finished; the rest was blocked or failed.
blockedFollow-up work can't run until something is configured or reconciled.
failedFollow-up work failed.
outcome_unknownFieldTask couldn't confirm whether follow-up work took effect. Check the other system before doing anything that could duplicate it.

Each entry in integration.targets reports one piece of work, with its own status and, when it didn't succeed, an error_code:

error_codeMeaning
configuration_requiredThe work needs configuration that isn't in place, for example address geocoding or a connected system's settings.
authorization_requiredThe connected system needs to be authorized again.
provider_unavailableThe other system couldn't be reached.
invalid_upstream_dataThe other system returned data FieldTask couldn't use.
reconciliation_requiredThe records in FieldTask and the other system need to be matched manually.

Reading an operation doesn't retry or repeat any follow-up work.

After seven days​

Operation results are kept for seven days. After result_expires_at, this endpoint returns 410 operation_result_expired. That doesn't mean the create failed: the record still exists. Keep the record ID from the original create response for longer-term reconciliation.

Errors​

This endpoint accepts no query parameters.

StatuscodeMeaningWhat to do
400invalid_queryThe query string has an unknown, repeated or invalid parameter.Send only the documented query parameters, each once.
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.
403operation_forbiddenThe connection's access changed while the request was processed, or the result would include data the connection can no longer read.Check the connection's permissions, then retry. Retry creates with the same key and body.
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.
410resource_goneThe record created by this operation no longer exists.Don't create it again automatically. Check in FieldTask whether it was removed on purpose.
410operation_result_expiredThe operation result is older than seven days and is no longer kept. This doesn't mean the create failed.Reconcile using the record ID you saved from the original response.
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.