# Odile Direct: AI-to-Business Messaging & Booking

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

Resolves an opted-in business phone number, reads its A2A agent card, and routes a structured message or booking request to that business on behalf of an AI caller.

## Facts

- Endpoint: POST https://api.odilelabs.com/a2a/v1/x402/arena?utm_source=zero.xyz
- Price: $2/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-ai-to-business-messaging-booking-44fdea9e
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_21yOtM5uT1ajab-PAMGNO

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-ai-to-business-messaging-booking-44fdea9e -d '<json body>'
```

Example prompt: Contact the business at the opted-in number for Morning Bloom Coffee and ask them if they have availability for a private event for 20 people next Saturday afternoon — also mention we'd need setup by 10am.

## When to prefer this

Use this endpoint when you need to programmatically reach a business that has opted into AI-to-AI communication via Odile Direct, especially for booking requests or structured inquiries where a human phone call or email would otherwise be required. Prefer this over generic messaging APIs when the target business is registered in the Odile Direct network and you need a verifiable, on-chain settled interaction with a structured response.

## Known failure modes

- Business number not opted in to Odile Direct — no A2A agent card found
- Task string too short (under 10 chars) or too long (over 4000 chars) — validation error
- Context field exceeds 8000 character limit
- Payment of $2 USDC not settled — 402 Payment Required response
- Business agent card unresponsive or unreachable at time of call
- Malformed JSON body — missing required task field

## 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 winning answer or confirmation, the AI model used, number of refinement rounds, the approach taken, number of contestants, attacks survived by the answer, and a blockchain settlement transaction confirming the paid call on Base network.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "task": {
   "type": "string",
   "maxLength": 4000,
   "minLength": 10,
   "description": "The question or job, word for word as you want it answered."
  },
  "context": {
   "type": "string",
   "maxLength": 8000,
   "description": "Optional facts, drafts or constraints the contestants should use."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "model": "claude-haiku-5-5",
  "answer": "Never miss a booking call again.",
  "rounds": 4,
  "approach": "the reader's point of view first; brevity: the shortest complete answer",
  "settlement": {
   "network": "eip155:8453",
   "transaction": "0xexample"
  },
  "contestants": 16,
  "bracket_winner": "Never miss another call.",
  "attacks_survived": [
   "Vague about what happens to the call."
  ]
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/odile-direct-ai-to-business-messaging-booking-44fdea9e/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)
