Intent Specification 0.2
How an AI decides to use OniPin
The user says "book an appointment" — not "use OniPin". This spec defines the flow any assistant can implement.
5-step flow
- Discover — Does the business publish OniPin? (/v1/discover, onipin meta, llms.txt)
- Handshake — Announce agent + intent (POST /v1/handshake/{pin})
- Send message — POST /v1/chat/{pin}
- Receive reply — Text + conversationId
- Action — Booking/order in Agenda (data.bookingId / orderId)
Discover from URL
curl
curl "https://onnivers.store/v1/discover?url=https://onnivers.store/probar-chat/" Handshake
curl
curl -X POST https://onnivers.store/v1/handshake/onp_vuzadcjv3xw7 \
-H "Content-Type: application/json" \
-d '{"agent":{"name":"MyBot","version":"1.0"},"intent":"appointment.create"}' Chat with intent
curl
curl -X POST https://onnivers.store/v1/chat/onp_vuzadcjv3xw7 \
-H "Content-Type: application/json" \
-H "X-Caller-Type: ai-agent" \
-d '{"message":"I want a demo on Friday","agent":{"name":"MyBot"},"intent":"appointment.create"}' Intents
business.chat — general conversationappointment.create — appointment / demoorder.create — orderproduct.price — pricingcatalog.browse — catalogpayment.info — payment
← Full documentation
· Demo pin:onp_vuzadcjv3xw7