# API documentation — Roby Castillo

Machine-readable OpenAPI: [openapi.json](/openapi.json)

This origin publishes a small public API so agents can learn about the firm and send a consultation request. It does not create an attorney-client relationship.

## Base URL

`https://attorneyrobycastillo.com`

## Authentication

Read endpoints are public.

`POST /api/v1/inquiries` is public (it is the programmatic equivalent of the website contact form). Agents that want to register for scoped access can follow [auth.md](/auth.md). Discovery documents:

- [OAuth Protected Resource Metadata](/.well-known/oauth-protected-resource)
- [OAuth Authorization Server Metadata](/.well-known/oauth-authorization-server)
- [OpenID Provider Configuration](/.well-known/openid-configuration)

Supported scopes: `firm.read`, `inquiries.write`.

## Endpoints

### `GET /api/v1/health`

Liveness document for catalog `status` links.

```json
{ "status": "ok" }
```

### `GET /api/v1/firm`

Attorney and contact overview.

### `GET /api/v1/practice-areas`

The four Florida practice areas.

### `GET /api/v1/faq`

Frequently asked questions from the public site.

### `POST /api/v1/inquiries`

Send a consultation request.

```json
{
  "name": "Ada Lopez",
  "email": "ada@example.com",
  "phone": "8505550100",
  "topic": "personal_injury",
  "message": "Rear-ended on I-10. Requesting a consultation."
}
```

`topic` is one of `personal_injury`, `criminal_traffic`, `wills_trusts`, `animal_law`, or `other`.

## MCP

Streamable HTTP MCP endpoint: `https://attorneyrobycastillo.com/mcp`

Server card: [/.well-known/mcp/server-card.json](/.well-known/mcp/server-card.json)

## Catalogs

- API catalog (RFC 9727): [/.well-known/api-catalog](/.well-known/api-catalog)
- ARD catalog: [/.well-known/ai-catalog.json](/.well-known/ai-catalog.json)
