Skip to main content

Get a quote

GEThttps://api.fieldtask.example/public/v1/quotes/{resource_id}
Permissions
customers:read, quotes:read
Also available as
fieldtask_get_quote

Returns one quote by its ID, with its line items, terms and customer note.

Use the id from List quotes or from the Location header of a create response. The quote must belong to the organization your credential is connected to; otherwise the response is 404 resource_not_found, the same as for an ID that doesn't exist or a quote that has been deleted.

Reading a quote never changes it. There's no endpoint to send, accept, decline or convert a quote.

Permissions​

PermissionDependency in the permission map
customers:readNo dependencies
quotes:readDepends on customers:read

The location summary is only included when the connection also has customer_locations:read. Quotes must be available for your organization, as described in List quotes.

Request​

Responses​

OK

Response Headers
    Cache-Control

    Responses must not be cached.

    X-Request-ID

    Server-generated request correlation ID.

What's included​

The quote has every field from List quotes, plus:

FieldMeaning
itemsThe line items of the selected revision, in order.
termsThe quote's terms, or null.
customer_noteThe note for the customer, or null.

All of these come from the same revision as the amounts: the accepted revision if there is one, otherwise the current revision. A sent quote that someone is editing returns its new draft revision, so check selected_revision.state first. See Which version the values come from.

Each item has:

Item fieldMeaning
kindcatalog for a product or service from the catalog, custom for a line with its own price, or text for a text-only line. Items created through the API are always catalog.
item_typeThe catalog type, such as service or product, or null.
name, descriptionAs shown on the quote.
quantity, unit_priceDecimal strings with two decimal places.
amountQuantity × unit price, rounded to the currency's smallest unit. null for a text line.

The quote totals are calculated from the items as described in Totals, taxes and discounts.

A quote can have at most 200 items in this response. A quote with more returns 503 temporarily_unavailable rather than a partial list.

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.
404resource_not_foundThe quote doesn't exist, has been deleted or belongs to another organization; Quotes aren't available for your organization or in this environment; or the URL is wrong.Check the ID, that Quotes is available and switched on for your organization, and that the path has 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, or the quote has more than 200 items or saved values the API can't return.Retry with exponential backoff. If it keeps failing for one quote, open it in FieldTask and include the request ID when contacting support.