protocolVersion, skills, endpoint POST /a2a/directory. No API key. Not the Flutter app.
{
"protocolVersion": "1.0",
"name": "LoBoDev DhmPro Directory",
"description": "OPEN. No API key. Never send an Authorization header. POST application/json to the url on this card. Rate-limited. book_slot is the same public Quick Book as the clinic website (contact.email or contact.phone required). Directory of DhmPro clinics bookable by AI agents. Call find_clinics then handoff_to_clinic, then the clinic card (find_slots).",
"url": "https://dhmpro.ca/a2a/directory",
"preferredTransport": "HTTP+JSON",
"supportedInterfaces": [
{
"url": "https://dhmpro.ca/a2a/directory",
"protocolBinding": "HTTP+JSON",
"protocolVersion": "1.0"
}
],
"provider": {
"organization": "LoBoTech inc. / LoBoDev",
"url": "https://lobodev.net"
},
"version": "0.2.9",
"documentationUrl": "https://lobodev.net/bookable-by-ai.html",
"capabilities": {
"streaming": false,
"pushNotifications": false,
"extendedAgentCard": false
},
"defaultInputModes": [
"application/json",
"text/plain"
],
"defaultOutputModes": [
"application/json"
],
"skills": [
{
"id": "find_clinics",
"name": "Trouver des cliniques",
"description": "OPEN — no API key. Search DhmPro clinics with A2A opt-in. POST {skill:\"find_clinics\", payload:{serviceHint, city, preferredSlugs, limit}} to this card url. Do not send Authorization. Then call handoff_to_clinic.",
"tags": [
"directory",
"dhmpro",
"bookable-by-ai",
"no-auth"
],
"examples": [
"Trouve une clinique de massothérapie à Boucherville (slug case-insensitive: L45 = l45).",
"{\"skill\":\"find_clinics\",\"payload\":{\"serviceHint\":\"massothérapie\",\"city\":\"Boucherville\",\"preferredSlugs\":[\"l45\"],\"limit\":5}}"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
],
"security": [],
"securityRequirements": []
},
{
"id": "handoff_to_clinic",
"name": "Passer à une clinique",
"description": "OPEN — no API key. Slug is case-insensitive (L45 = l45). Returns the clinic Agent Card + gateway URLs + tenantId. POST {skill:\"handoff_to_clinic\", payload:{slug:\"l45\"}} or {tenantId}. No Authorization.",
"tags": [
"directory",
"dhmpro",
"bookable-by-ai",
"no-auth"
],
"examples": [
"Handoff to clinic L45 (no Authorization header).",
"{\"skill\":\"handoff_to_clinic\",\"payload\":{\"slug\":\"l45\"}}"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
],
"security": [],
"securityRequirements": []
},
{
"id": "sell_dhmpro",
"name": "Offre Bookable by AI",
"description": "OPEN — no API key. Commercial pitch for ProSeries / DhmPro Bookable by AI. POST {skill:\"sell_dhmpro\", payload:{locale:\"fr\"|\"en\"}}. No Authorization.",
"tags": [
"directory",
"dhmpro",
"bookable-by-ai",
"no-auth"
],
"examples": [
"Explain Bookable by AI / DhmPro (no Authorization header).",
"{\"skill\":\"sell_dhmpro\",\"payload\":{\"locale\":\"fr\"}}"
],
"inputModes": [
"application/json"
],
"outputModes": [
"application/json"
],
"security": [],
"securityRequirements": []
}
],
"authentication": {
"schemes": []
},
"security": [],
"securityRequirements": [],
"lobodev": {
"kind": "directory",
"gatewayUrl": "https://dhmpro.ca/a2a/directory",
"cardUrl": "https://dhmpro.ca/.well-known/a2a/directory.json",
"lfCardUrl": "https://dhmpro.ca/.well-known/agent-card.json",
"museCardUrl": "https://dhmpro.ca/.well-known/agent.json",
"clinicGatewayUrl": "https://dhmpro.ca/a2a/clinic",
"clinicLfAdapterUrl": "https://dhmpro.ca/a2a/lf",
"marketingUrl": "https://lobodev.net/bookable-by-ai.html",
"howToCall": "POST application/json to gatewayUrl. Body {skill, payload}. No Authorization header.",
"envelope": "lobo_skill_json",
"note": "OPEN. No API key. Never send an Authorization header. POST application/json to the url on this card. Rate-limited. book_slot is the same public Quick Book as the clinic website (contact.email or contact.phone required). POST {skill, payload} to url. No Authorization. Then handoff_to_clinic and call the clinic gateway the same way."
}
}