Skip to main content
Guppy is not URL-driven. Instead, partners use Resolve endpoints to turn human-friendly input (names, locations, constraints) into canonical IDs that Guppy can reliably execute against. The standard integration pattern is:
  1. Resolve candidates (products / venues / facilities)
  2. Select a candidate (user confirmation or programmatic choice)
  3. Create an intent referencing the canonical ID (e.g., product_id, venue_id, facility_id)

Resolve a product

POST /resolve/products Return canonical product candidates (optionally across multiple merchants).

Request Body

string
required
Human-friendly query like “PS5 Pro” or a model name.
object
Optional identifiers like GTIN/UPC/SKU.
array
Optional allowlist of merchants (e.g., ["target", "bestbuy", "walmart"]).
integer
Maximum number of candidates to return.

Example

Response (example)


Resolve a restaurant/venue

POST /resolve/venues Return canonical venue candidates for reservations.

Request Body

string
required
Venue name or partial name (e.g., “Nopa”).
object
required
Location constraint.
string
City name (recommended if you don’t have lat/lng).
number
Latitude for geo search.
number
Longitude for geo search.
number
Search radius in miles (required for lat/lng searches).
array
Optional allowlist (e.g., ["resy", "opentable"]).

Example

Response (example)


Resolve an appointment facility

POST /resolve/appointment-facilities Return canonical facilities for appointment-based intents (passport, DMV, etc.).

Request Body

string
required
Appointment kind (e.g., passport, dmv).
string
Country code (e.g., US).
object
required
Location constraint (geo or city/state).
number
Latitude.
number
Longitude.
number
Radius in miles.
array
Optional allowlist of providers relevant to the kind (varies by region).

Example

Response (example)