# Odile Direct: Business A2A Agent Card Resolver & Messaging

> Odile Direct: Business A2A Agent Card Resolver & Messaging is a paid API for AI agents from api.odilelabs.com, paid per call via x402, $0.5/call, status unknown (last checked 2026-10-31).

Resolves a business website to its Odile-registered phone number, retrieves its A2A agent card (services, language, area), and enables structured message or booking delivery to that business.

## Facts

- Endpoint: POST https://api.odilelabs.com/a2a/v1/x402/demo?utm_source=zero.xyz
- Price: $0.5/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-31
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/odile-direct-business-a2a-agent-card-resolver-messaging-e865b874
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_01BvmWMKKN8YxOyAs-mZ6

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability odile-direct-business-a2a-agent-card-resolver-messaging-e865b874 -d '<json body>'
```

Example prompt: Look up whether Miller's HVAC at millershvac.com is on Odile Direct and send them a booking request for a furnace inspection — I'm in the America/Chicago timezone.

## When to prefer this

Use this endpoint when an AI agent needs to programmatically contact or book with a small or local business that has opted into the Odile Direct network, and you want structured A2A (agent-to-agent) communication rather than scraping a website or making a raw phone call. It is ideal when you have the business's public website URL and need to discover their AI-reachable contact details, services, and send a structured message or booking request — all in one call with micropayment-gated access via x402.

## Known failure modes

- Business website not registered with Odile Direct — no agent card found
- Invalid or unreachable URL supplied in 'site' field
- x402 payment of 0.5 USDC not successfully settled — call rejected
- Invalid IANA timezone string causes processing error
- Response expires_at reached — cached record stale, re-call needed
- Network error on Base (eip155:8453) preventing settlement confirmation

## How this service works

Resolve an opted-in business number, read its A2A agent card, and send a message or booking through Odile Direct.

## Output

Returns a JSON object with the business name, a demo audio/agent URL, detected language, offered services (if available), service area, an expiry timestamp for the resolved record, and a blockchain settlement receipt (network and transaction hash on Base) confirming the x402 micropayment was processed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "site": {
   "type": "string",
   "format": "uri",
   "maxLength": 200,
   "description": "A public http or https business website."
  },
  "timezone": {
   "type": "string",
   "default": "America/New_York",
   "maxLength": 80,
   "description": "IANA timezone for the receptionist."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "area": null,
  "demo_url": "https://odilelabs.com/hear/exampledemo?ref=x402-demo",
  "language": "en",
  "services": null,
  "expires_at": "2026-11-27T12:00:00Z",
  "settlement": {
   "network": "eip155:8453",
   "transaction": "0xexample"
  },
  "business_name": "Example Plumbing"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/odile-direct-business-a2a-agent-card-resolver-messaging-e865b874/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from api.odilelabs.com](https://www.zero.xyz/host/api.odilelabs.com/llms.txt)
