PresentMind for AI agents
Everything an agent needs to recommend gifts from our public library and hand a person a ready-made planner. A plain-text summary lives at /llms.txt.
1. Public gift-idea library
No account needed. Every page is server-rendered HTML.
/library— all ideas./library/for/{him|her|kids|parents}— by recipient./library/interest/{cooking|coffee|outdoors|reading|gardening|music|tech|wellness|travel|art}/library/occasion/{birthday|christmas|anniversary|valentines|mothers-day|fathers-day}/library/budget/{under-25|25-50|50-100|100-250|250-plus}/library/idea/{slug}— one idea. Key data is in a<dl>whose<dd>elements carrydata-field/data-value(price_band, recipients, occasions, interests), plus schema.orgProductJSON-LD with anAggregateOfferprice range.
2. Agent-assisted signup (“Set up PresentMind for someone”)
Humans can use the form at /invite. Agents can call the same flow directly.
What the agent collects
- Required: the person's name and email address (with their permission).
- Optional: who is setting it up (
from), and up to 10 people they give gifts to — name, relationship, birthday (YYYY-MM-DD), likes, dislikes/allergies, and up to 10 occasions each (kind, title, date, recurring, budget in USD).
Request
POST /api/public/invites
Content-Type: application/json
{
"name": "Jordan Lee",
"email": "jordan@example.com",
"from": "Jordan's assistant",
"people": [
{
"name": "Priya",
"relationship": "spouse",
"birthday": "1990-04-12",
"likes": "Ceramics, hiking, oat-milk lattes",
"dislikes": "Shellfish allergy",
"occasions": [
{ "kind": "anniversary", "title": "Our anniversary", "date": "2016-09-03", "recurring": true, "budget": 200 }
]
}
]
}201 Created
{ "invite_id": "…", "email": "jordan@example.com", "people_seeded": 1,
"occasions_seeded": 2, "status": "magic_link_sent" }What the invite contains
- An email to the invitee with a one-time magic sign-in link. The link is never returned to the agent.
- Clicking it signs them in and opens
/claim, which copies the pre-seeded people and occasions into their new account (birthdays automatically become yearly occasions). - The invite only works for the email it was sent to, and can be claimed once.
- Limit: 3 invites per email address per 24 hours.
3. Machine discovery (UCP)
A UCP manifest at /.well-known/ucp describes the library search capability. Search directly with GET /api/public/library/search using q, for, interest, occasion, budget and limit (max 50). The response is JSON { items: [...] } with price range in USD and a link to each idea page. No account is needed.
Our own Gift Scout prefers merchants that publish a UCP manifest or structured product data, and ranks sites that block automated access lower.