# Brij Air Refund Requests

> Brij Air Refund Requests is a paid API for AI agents from travel.brij.fi, paid per call via x402, $0.1/call, status unknown (last checked 2026-10-12).

Records a manual refund request for a booked (post-capture) flight intent and pages an operator on Telegram for review.

## Facts

- Endpoint: POST https://travel.brij.fi/air/refund-requests?utm_source=zero.xyz
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402, shopping
- Canonical page: https://www.zero.xyz/c/brij-air-refund-requests-4aa5dc61
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_AuPpn-Lzx55ITb05Ny2Ul

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 brij-air-refund-requests-4aa5dc61 -d '<json body>'
```

Example prompt: I need to request a refund for my booked flight — the intent ID is intent_0000000000000001 — because my travel plans were cancelled due to a medical emergency. My contact email is john@example.com and my customer support code is SUP-1234.

## When to prefer this

Use this endpoint when a flight booking intent has already been captured on-chain (status: booked) and the traveler needs to request a refund manually. For pre-capture (active) intents, the automatic booking_sync worker handles refunds and this endpoint will return 409. Choose this over any generic support form when you need the refund request to be persisted in the Brij system and the operator to be alerted immediately via Telegram.

## Known failure modes

- 402 Payment Required — missing or invalid PAYMENT-SIGNATURE header; caller must pay $0.10 USDC via x402
- 409 use_automatic_refund — intent is still in pre-capture 'active' state; use the booking_sync worker instead
- 401/403 — X-Customer-Support-Code header missing or does not match the code issued at intent creation
- 400 Bad Request — intent_id or reason field missing or malformed
- 404 Not Found — intent_id does not exist or belongs to a different account

## How this service works

The intent id travels in the request body; the resource URL is static. Paid x402 endpoint. Send a valid `PAYMENT-SIGNATURE` header to record
the refund request. Without payment, the API returns `402 Payment Required`.

Records a refund request for a booked intent. The on-chain escrow has
already been captured by the time the intent is `booked`, so refunds at
this stage are processed manually by an operator. This endpoint persists
the request and pages the operator on Telegram; the response is
`202 Accepted` and is **not** a guarantee of refund — eligibility and
any applicable carrier penalties are reviewed manually.

For pre-capture states (`active`), the booking_sync worker handles
refunds automatically; this endpoint returns `409 use_automatic_refund`
for those.

The caller must include the `X-Customer-Support-Code` header matching
the code returned at intent creation.


For multi-passenger bookings, X-Passenger-Family-Name is the LEAD passenger's family name (position 0 of the /air/book list).

## Output

Returns HTTP 202 Accepted with a JSON object containing the intent_id, a requested_at ISO 8601 timestamp, and a status of 'received'. This confirms the request was logged and the operator was paged on Telegram, but does NOT guarantee a refund — eligibility and carrier penalties are reviewed manually.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "intent_id",
  "reason"
 ],
 "properties": {
  "reason": {
   "type": "string",
   "maxLength": 1000,
   "description": "Free-text explanation of why the refund is requested."
  },
  "contact": {
   "type": "string",
   "maxLength": 320,
   "description": "Optional reply-to channel (email, phone, etc.) the operator can use to follow up."
  },
  "intent_id": {
   "type": "string",
   "example": "intent_0000000000000000",
   "description": "Id returned by POST /air/intents."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "intent_id",
  "requested_at",
  "status"
 ],
 "properties": {
  "status": {
   "enum": [
    "received"
   ],
   "type": "string"
  },
  "intent_id": {
   "type": "string"
  },
  "requested_at": {
   "type": "string",
   "format": "date-time"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/brij-air-refund-requests-4aa5dc61/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from travel.brij.fi](https://www.zero.xyz/host/travel.brij.fi/llms.txt)
