AI
AI Gist
Three endpoints, one shape — summarize a contact, a company, or a deal in a sentence plus three bullets. Built for the moment a human (or agent) needs catch-up context fast.
Cache + FUEL economics
First call computes via Haiku and deducts 1 FUEL. For 24 hours afterward, the same contact / company / deal returns the cached gist with
cost_credits: 0. Pass ?force=true to skip the cache and pay 1 FUEL for a fresh compute (e.g. after a major activity ingest).Contact gist#
Summarize a contact
POST
/v1/ai/contacts/{id}/gistPulls the contact, recent activities, deals, and conversations; runs them through Haiku; caches for 24h.
Path parameters
iduuidrequiredContact id.
Query parameters
forcebooleantrue to bypass the 24h cache and recompute.
Request
curl -X POST \
https://agency.gary.club/api/public/v1/ai/contacts/con_EXAMPLE_aaaa/gist \
-H "Authorization: Bearer gc_live_EXAMPLE_AbCdEfGhIj0123456789"Company gist#
Summarize a company
POST
/v1/ai/companies/{id}/gistSame shape; surfaces account-level context — contacts, open deals, recent activity volume, churn signals.
Path parameters
iduuidrequiredCompany id.
Query parameters
forcebooleantrue to bypass the 24h cache.
Deal gist#
Summarize a deal
POST
/v1/ai/deals/{id}/gistWhere the deal stands today, what's blocking it, who's involved, and the last meaningful event.
Path parameters
iduuidrequiredDeal id.
Query parameters
forcebooleantrue to bypass the 24h cache.
Response shape#
Response
{
"gist": {
"summary": "Operations lead at a 60-person plumbing co. Asked about same-day emergency dispatch but never booked.",
"bullets": [
"Inbound call 2026-04-22 — wanted a quote for 6 service vans",
"Said decision-maker is the owner, will loop them in by end of week",
"Hasn't replied to two follow-up texts"
],
"computed_at": "2026-04-28T01:00:00.000Z"
},
"cost_credits": 1,
"cached": false
}Errors#
404 not_found— entity not in your tenancy.402 fuel_exhausted— needed 1 FUEL on a cache miss; balance was 0.500 internal— Haiku call failed; retry with backoff.
Use patterns#
- Pre-call brief. Hit
contacts/{id}/gistright before the dialer connects so the human has context. Cache means repeated dials inside the day are free. - CRM card hover. Pop a tooltip showing the gist on hover. Costs FUEL only on the first unique view.
- Slack notify. When a deal advances, fetch the deal gist and post the bullets to Slack so the team sees what changed without opening the CRM.

