Added

Quoter API – Contact Lookup by Client Name


Summary

This release makes it easier to create quotes when you don't have a client identifier on hand: POST /v1/quotes now accepts a client_name as an alternative to client_id when identifying the quote's billing contact. It also tightens the documented error contract for quote creation so unresolved references are easier to handle programmatically, and corrects the documented type of the geospatial coordinates returned on quote addresses.

The API major version remains v1, and the regional server list is unchanged. No endpoints were added or removed. One documented error-handling change on POST /v1/quotes is worth reviewing if your integration branches on HTTP status codes — see Changed below.


Changes

Quotes

  • POST /v1/quotes

    • client_id required → client_id or client_name
    • Type: addition
    • Notes: The quote's billing contact can now be identified by contact.client_name as an alternative to contact.client_id. Provide at least one of the two alongside contact.email; omitting both is rejected with ERR_NO_CLIENT_IDENTIFIER. When both are supplied, client_id wins and client_name is ignored. Name lookup matches exactly, uses the first matching client on the account, and accepts up to 255 characters. Existing requests that send client_id are unaffected.
  • POST /v1/quotes

    • 404 for unresolved references → reported in the 422 validation response
    • Type: change
    • Notes: The reference now accurately documents how unresolved references are reported: a template_id, client, or contact that cannot be found is returned in the single 422 validation response alongside any other request problems, with machine-readable codes (ERR_TEMPLATE_NOT_FOUND, ERR_CLIENT_NOT_FOUND, ERR_CONTACT_NOT_FOUND), rather than as a standalone 404. An owner.email that does not match an active user is reported as ERR_OWNER_EMAIL_NOT_FOUND (previously documented as ERR_OWNER_NOT_FOUND). The referenced contact must already exist on the account. If your integration branches on a 404 from this endpoint, handle these cases from the 422 errors array instead.
  • GET /v1/quotes, GET /v1/quotes/{quote_id}

    • geo_spatial_coordinates: string → object
    • Type: improvement
    • Notes: The geo_spatial_coordinates field on quote billing and shipping addresses is now correctly documented as an object carrying h3_cell_id, latitude, and longitude, matching the contact address shape used elsewhere in the API. This documents existing behaviour — the field's values are currently returned as null.

Dates

  • Effective: [2026-08-12]