{"specVersion":"1.0","host":{"displayName":"Selfe — The Registry","identifier":"urn:air:selfe.ai:catalog:root","trustManifest":{"identity":"https://selfe.ai","identityType":"https","trustSchema":{"identifier":"https://selfe.ai/schemas/trust/v0","version":"0","governanceUri":"https://selfe.ai/schemas/trust/v0","verificationMethods":["did"]},"attestations":[],"signature":"eyJhbGciOiJFUzI1NiIsImtpZCI6ImRpZDp3ZWI6c2VsZmUuYWkja2V5LTEifQ..pfAg01vz0QVgrKkkRF0g9-by3C3zHO1XbbRenHN3s6Co9469u-53ZVjeRMYSqXiLq4rXB30Wb7L1bf5h-m0VGg"}},"entries":[{"identifier":"urn:air:selfe.ai:capability:discover:registry","displayName":"Discover venues","type":"application/ai-registry+json","url":"https://selfe.ai/api/registry/discover","description":"Semantic browse across every venue Selfe knows — priceless candidates, no dates.","capabilities":["discover"],"invocation":{"method":"POST","contentType":"application/json","requestSchema":{"type":"object","properties":{"query":{"type":"object","properties":{"text":{"type":"string","minLength":1,"description":"Natural-language query, e.g. \"boutique hotels in London with a spa\"."},"filter":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"description":"Optional dot-path field filters; each value is an array of strings (OR within a field), e.g. {\"tags\":[\"spa\"]}."}},"required":["text"],"additionalProperties":false},"federation":{"type":"string","enum":["auto","referrals","none"],"description":"Registry-to-registry federation mode (default auto)."},"pageSize":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of results to return."},"pageToken":{"type":"string","description":"Opaque cursor from a previous response, to fetch the next page."},"render":{"type":"object","properties":{"a2ui":{"type":"boolean","description":"Include an A2UI surface in the response."},"stream":{"type":"boolean","description":"Stream the response as it renders (SSE), instead of a single JSON body."},"catalogs":{"type":"array","items":{"type":"string"},"description":"A2UI catalog ids the caller can render."}},"additionalProperties":false,"description":"A2UI render negotiation. Set `a2ui:true` to also receive a renderable A2UI surface; list the A2UI catalog ids you support in `catalogs` (include \"https://selfe.ai/a2ui/catalog/v1\" for semantic molecules, otherwise a basic-atom fallback is emitted)."}},"required":["query"],"additionalProperties":false,"$schema":"https://json-schema.org/draft/2020-12/schema"},"example":{"query":{"text":"boutique hotels in London with a spa"},"pageSize":10},"responseType":"application/ai-registry+json"},"representativeQueries":["Find a dog-friendly pub in Keswick","boutique hotels in London with a spa"]},{"identifier":"urn:air:selfe.ai:capability:match:registry","displayName":"Match a bookable answer","type":"application/ai-registry+json","url":"https://selfe.ai/api/registry/match","description":"Ground candidates in live price + availability for given dates + party — THE bookable answer.","capabilities":["match"],"invocation":{"method":"POST","contentType":"application/json","requestSchema":{"type":"object","properties":{"query":{"type":"object","properties":{"text":{"type":"string","minLength":1,"description":"Natural-language query, e.g. \"boutique hotels in London with a spa\"."},"filter":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"description":"Optional dot-path field filters; each value is an array of strings (OR within a field), e.g. {\"tags\":[\"spa\"]}."}},"required":["text"],"additionalProperties":false},"stay":{"type":"object","properties":{"checkIn":{"type":"string","minLength":1,"description":"Arrival date, ISO YYYY-MM-DD."},"checkOut":{"type":"string","minLength":1,"description":"Departure date, ISO YYYY-MM-DD."},"party":{"type":"object","properties":{"adults":{"type":"integer","exclusiveMinimum":0,"description":"Number of adults."},"children":{"type":"integer","minimum":0,"description":"Number of children."}},"required":["adults"],"additionalProperties":false}},"required":["checkIn","checkOut","party"],"additionalProperties":false,"description":"REQUIRED booking context — match grounds availability + price against it. Without a full stay the answer would be a guess, so all three fields are mandatory."},"federation":{"type":"string","enum":["auto","referrals","none"],"description":"Registry-to-registry federation mode (default auto)."},"pageSize":{"type":"integer","minimum":1,"maximum":100,"description":"Maximum number of candidates to ground."},"pageToken":{"type":"string","description":"Opaque cursor from a previous response."},"render":{"type":"object","properties":{"a2ui":{"type":"boolean","description":"Include an A2UI surface in the response."},"stream":{"type":"boolean","description":"Stream the response as it renders (SSE), instead of a single JSON body."},"catalogs":{"type":"array","items":{"type":"string"},"description":"A2UI catalog ids the caller can render."}},"additionalProperties":false,"description":"A2UI render negotiation. Set `a2ui:true` to also receive a renderable A2UI surface; list the A2UI catalog ids you support in `catalogs` (include \"https://selfe.ai/a2ui/catalog/v1\" for semantic molecules, otherwise a basic-atom fallback is emitted)."}},"required":["query","stay"],"additionalProperties":false,"$schema":"https://json-schema.org/draft/2020-12/schema"},"example":{"query":{"text":"boutique hotels in Norwich"},"stay":{"checkIn":"2026-08-02","checkOut":"2026-08-04","party":{"adults":2}},"pageSize":10},"responseType":"application/ai-registry+json"},"representativeQueries":["a room in Norwich for 2 adults, 2–4 Aug","book a sea-view suite in Whitby next weekend"]},{"identifier":"urn:air:selfe.ai:capability:resolve:registry","displayName":"Resolve a known venue","type":"application/ai-registry+json","url":"https://selfe.ai/api/registry/resolve","description":"Reconcile a specific venue you already know — by name and/or website — to its registry identity.","capabilities":["resolve"],"invocation":{"method":"POST","contentType":"application/json","requestSchema":{"type":"object","properties":{"name":{"type":"string","minLength":1,"description":"The place name to resolve, e.g. \"The Pheasant Inn\"."},"website":{"type":"string","minLength":1,"description":"The place's website — the strongest identity signal."},"location":{"type":"object","properties":{"city":{"type":"string"},"country":{"type":"string"},"lat":{"type":"number"},"lng":{"type":"number"},"radiusKm":{"type":"number"}},"additionalProperties":false,"description":"Optional geo/city hint to disambiguate (boosts/filters, never brings in an unnamed place)."},"limit":{"type":"integer","minimum":1,"maximum":10,"description":"Maximum answers (capped by tier)."}},"additionalProperties":false,"$schema":"https://json-schema.org/draft/2020-12/schema","anyOf":[{"required":["name"]},{"required":["website"]}]},"example":{"website":"https://the-pheasant.co.uk","location":{"city":"Keswick"}},"responseType":"application/ai-registry+json"},"representativeQueries":["Is The Pheasant Inn, Bassenthwaite in your registry?","Do you have thepig.co.uk?"]},{"identifier":"urn:air:selfe.ai:capability:book:registry","displayName":"Book","type":"application/ai-registry+json","url":"https://selfe.ai/api/registry/book","description":"Submit a booking intent agent-to-agent; returns a booking form or confirmation surface.","capabilities":["book"],"invocation":{"method":"POST","contentType":"application/json","requestSchema":{"type":"object","properties":{"event":{"type":"object","properties":{"name":{"type":"string","const":"submit_booking"},"context":{"type":"object","additionalProperties":{}}},"required":["name","context"],"additionalProperties":false,"description":"A raw A2UI event, posted verbatim from a rendered BookingForm."},"venueId":{"type":"string","description":"The venue to book (required, flat or in event.context)."},"venueName":{"type":"string"},"from":{"type":"string","description":"Arrival date, ISO YYYY-MM-DD."},"to":{"type":"string","description":"Departure date, ISO YYYY-MM-DD."},"partySize":{"type":"integer"},"ratePlan":{"type":"string","description":"The chosen rate/option id from the matched answer."},"optionId":{"type":"string","description":"Grounded option id from a prior match — required to reserve for real."},"hotelCode":{"type":"string","description":"Supplier hotel code from the grounded option (multi-property engines)."},"provider":{"type":"string","enum":["travelgate","liteapi","resnexus","glampmanager","apaleo"],"description":"The booking engine that produced the grounded option."},"price":{"type":"object","properties":{"net":{"type":"number"},"currency":{"type":"string"}},"required":["net","currency"],"additionalProperties":false,"description":"Agreed net price from the grounded option — the reserve is checked against it."},"mandate":{"type":"object","additionalProperties":{},"description":"A signed AP2 Cart Mandate authorising THIS booking, for a caller without a Selfe session (a foreign/aggregator agent). May instead be sent base64url-encoded in the X-UCP-Mandate header. It authorises the reservation only — payment is time-gated and mandated separately at capture. Must be signed by a Selfe-trusted issuer and bind the grounded option (venueId/optionId/dates) at or under its price ceiling."},"render":{"type":"object","properties":{"a2ui":{"type":"boolean"},"catalogs":{"type":"array","items":{"type":"string"}}},"additionalProperties":false}},"additionalProperties":false,"description":"Submit a booking intent, flat or as a raw A2UI submit_booking event. venueId is required (flat or in event.context).","$schema":"https://json-schema.org/draft/2020-12/schema"},"example":{"event":{"name":"submit_booking","context":{"venueId":"venue-id","from":"2026-08-02","to":"2026-08-04","partySize":2}},"render":{"a2ui":true,"catalogs":["https://selfe.ai/a2ui/catalog/v1"]}},"responseType":"application/ai-registry+json"}},{"identifier":"urn:air:selfe.ai:capability:a2ui:catalog","displayName":"A2UI render vocabulary","type":"application/a2ui-catalog+json","url":"https://selfe.ai/a2ui/catalog/v1","description":"The A2UI catalogue (molecules + compositions) for rendering discover/match/book surfaces."},{"identifier":"urn:air:selfe.ai:agent:mcp","displayName":"Selfe MCP server","type":"application/mcp-server-card+json","url":"https://selfe.ai/mcp","description":"Discover, match, resolve and book across the registry over MCP (Streamable HTTP).","capabilities":["discover","match","resolve","book"]},{"identifier":"urn:air:selfe.ai:agent:a2a","displayName":"Selfe agent card","type":"application/a2a-agent-card+json","url":"https://selfe.ai/.well-known/agent-card.json","description":"The A2A agent card for Selfe — identity, skills, and trust."},{"identifier":"urn:air:selfe.ai:collection:eastfolk","displayName":"Eastfolk","type":"application/ai-catalog+json","url":"https://selfe.ai/api/collection/eastfolk/ai-catalog.json?role=aggregate","description":"Eastfolk — a curated collection of venues."},{"identifier":"urn:air:selfe.ai:collection:lndn","displayName":"LNDN","type":"application/ai-catalog+json","url":"https://selfe.ai/api/collection/lndn/ai-catalog.json?role=aggregate","description":"LNDN — a curated collection of venues."},{"identifier":"urn:air:selfe.ai:venue:anglia-indoor-karting","displayName":"Anglia Indoor Karting","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQXS24EHE4833DRDQQ7/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:brancaster-beach","displayName":"Brancaster Beach","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGR2JWCX45HAGDSV1A0K/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:long-shop-museum","displayName":"Long Shop Museum","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGR3RVHB3CN022AY3GEA/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:deben-cruises","displayName":"Deben Cruises","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQYJVNVNN4WAWJ7GTPX/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:lackford-lakes-nature-reserve-visitor-centre","displayName":"Lackford Lakes Nature Reserve & Visitor Centre","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGR1FF8JYA5E6E3P9GHJ/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:norwich-cathedral","displayName":"Norwich Cathedral","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGR02BTKQK7RZ1S5B1G7/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:the-blakeney-cottage-company","displayName":"The Blakeney Cottage Company","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQVM3RB1GM9BRN87CKH/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:gressenhall-farm-workhouse","displayName":"Gressenhall Farm & Workhouse","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQZ3TCCA3SEYV0KHKEX/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:woodhill-park","displayName":"Woodhill Park","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQXYM79J05GV6VXMMEC/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:1-hotel-mayfair-london-c18d","displayName":"1 Hotel Mayfair","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/1-hotel-mayfair-london-c18d/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:pasta-brown-london-w2e9","displayName":"Pasta Brown","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/pasta-brown-london-w2e9/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:the-dublin-castle-camden-town-x7k2","displayName":"The Dublin Castle","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/the-dublin-castle-camden-town-x7k2/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:lynn-museum","displayName":"Lynn Museum","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQZRVTM3FY746JCBPX8/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:the-boathouse","displayName":"The Boathouse","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQV7ET82CAB840ENSBC/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:tunstead-cottages","displayName":"Tunstead Cottages","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQWX8G72XKR8MCJQCHS/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:bircham-windmill","displayName":"Bircham Windmill","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQXE41A1KCYH77S78M2/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:4-old-lion-cottages","displayName":"4 Old Lion Cottages","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQMDXK5C394VKT3KRVH/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:gnocchi-bar-london-h3r4","displayName":"Gnocchi Bar","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/gnocchi-bar-london-h3r4/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:holidaycottages-co-uk","displayName":"Holidaycottages.co.uk","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQR9XDYXS1QKMXKG83J/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:mannington","displayName":"Mannington","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQZ46AMKZ64QES10RY9/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:nwt-sweet-briar-marshes","displayName":"NWT Sweet Briar Marshes","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGR00YXVTZZMRRRAA3RY/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:the-granaries","displayName":"The Granaries","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQV1581A9R05178CQCS/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:africa-alive","displayName":"Africa Alive","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQXAED9M6ZBSDSY0CR6/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:mildreds-camden-london-n3w1","displayName":"Mildred's Camden","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/mildreds-camden-london-n3w1/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:elizabethan-house-museum","displayName":"Elizabethan House Museum","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQY2TMAQ2R969ZEY4ED/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:camden-old-time-photos-london-c4p7","displayName":"Camden Old Time Photos","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/camden-old-time-photos-london-c4p7/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:jet-adventures","displayName":"Jet Adventures","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQZ6TEA71QGZ0A3HS9W/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:norfolk-holiday-lodges","displayName":"Norfolk Holiday Lodges","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQTEETWJR4CC81BBD0Q/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:karttrak-cromer","displayName":"KartTrak Cromer","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQZQMGY2TX0RVE8EEE6/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:eastern-beach-holiday-park","displayName":"Eastern Beach Holiday Park","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQQV101217CZZNF90V1/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:helmingham-hall-gardens","displayName":"Helmingham Hall Gardens","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQZ4DQDB4TS8C77CC6Y/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:adelphi-theatre-london-a1d3","displayName":"Adelphi Theatre","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/adelphi-theatre-london-a1d3/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:ringshall-grange","displayName":"Ringshall Grange","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQTBGVNRGB357PGHG62/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:time-and-tide-museum","displayName":"Time and Tide Museum","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGR1CZCNFX4XS94JE6Q7/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:holt-country-park","displayName":"Holt Country Park","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQZTYJH43QTA23DVH28/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:crabpot-cottages","displayName":"Crabpot Cottages","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQQE38GA808G1R0RG37/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:the-white-horse","displayName":"The White Horse","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQW3T2JSB5DBGJK4GQZ/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:azure-seas-holiday-village","displayName":"Azure Seas Holiday Village","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQNMAEBAW7VARPNAFT2/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:simply-sea-views","displayName":"Simply Sea Views Suffolk","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQTGGS8C7JH1R5PQF1F/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:big-domain","displayName":"Big Domain","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQP0QWRHYEJRDN4FT6A/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:briars-hut","displayName":"Briars Hut","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQP3JXK2BBXY8CDKT3K/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:lavender-lodge","displayName":"Lavender Lodge","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQRT9EGT9RQPGK4R35B/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:the-resident-covent-garden-london-ed44","displayName":"The Resident Covent Garden","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/the-resident-covent-garden-london-ed44/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:morgan-hotel-london-6689","displayName":"Morgan Hotel","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/morgan-hotel-london-6689/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:mama-shelter-shoreditch-london-7bbd","displayName":"Mama Shelter Shoreditch","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/mama-shelter-shoreditch-london-7bbd/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:the-westin-london-city-london-7bd7","displayName":"The Westin London City","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/the-westin-london-city-london-7bd7/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:seckford-hall-hotel-spa","displayName":"Seckford Hall Hotel & Spa","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQTA27P93QYFR3GCFYK/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:all-seasons-cottage-breaks","displayName":"All Seasons Cottage Breaks","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQN8XS37MVP3D9SXYCN/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:the-chesterfield-mayfair-london-c194","displayName":"The Chesterfield Mayfair","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/the-chesterfield-mayfair-london-c194/ai-catalog.json"},{"identifier":"urn:air:selfe.ai:venue:top-deck-the-cabin","displayName":"Top Deck @ The Cabin","type":"application/ai-catalog+json","url":"https://selfe.ai/api/echo/01KP8KVGQWY21N1630AZ49ATWN/ai-catalog.json"}]}