# PayWeave Relay – Create Durable Webhook Inbox

> PayWeave Relay – Create Durable Webhook Inbox is a paid API for AI agents from relay.payweave.services, paid per call via x402, $0.001/call, status unknown (last checked 2026-09-13).

Creates a durable, time-bounded webhook inbox with a stable callback URL so agents can receive async callbacks and approvals without holding an open connection.

## Facts

- Endpoint: GET https://relay.payweave.services/inboxes
- Price: $0.001/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/payweave-relay-create-durable-webhook-inbox-25bbf109
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_3gDU1km9j1NoQ1T-AzA1R

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 payweave-relay-create-durable-webhook-inbox-25bbf109
```

Example prompt: Create a durable webhook inbox labeled 'stripe-payment-confirmations' that lasts 7 days — I need a stable callback URL my agent can use to receive async payment confirmation events without holding a connection open.

## When to prefer this

Choose this endpoint when your AI agent or automated workflow needs to receive asynchronous callbacks, webhooks, or approval signals from external services (e.g. payment processors, OAuth flows, human-in-the-loop approvals) without maintaining a persistent open connection. Prefer it over polling or long-lived sockets when you need a guaranteed-durable, time-bounded, addressable callback URL provisioned on demand.

## Known failure modes

- Invalid ttlDays value outside 1-30 range returns a 400 error
- metadata payload exceeding 2048 bytes serialized causes a rejection
- Payment failure (insufficient USDC balance) returns a 402 response before provisioning
- Duplicate label does not guarantee idempotency — a new inbox is always created
- Expired or invalid x402 payment header causes authentication failure

## How this service works

Durable webhook inboxes for agents. Receive callbacks and approvals without holding a connection open.

## Output

Returns a JSON object with a unique inbox ID, a stable callbackUrl that third parties can POST callbacks to, an expiresAt Unix timestamp, the inbox capacity, ttlDays, an optional label, and any metadata supplied at creation time.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "label": {
   "type": "string",
   "description": "Short purpose label, e.g. \"stripe-payment-confirmations\". Returned on read/info/list."
  },
  "ttlDays": {
   "type": "integer",
   "description": "Inbox lifetime in days (1-30, default 1). Priced in tiers: <=1d, <=7d, <=30d."
  },
  "metadata": {
   "type": "object",
   "description": "Arbitrary small JSON object describing the inbox purpose (<=2048 bytes serialized). Returned on read/info/list."
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "object",
 "required": [
  "id",
  "callbackUrl",
  "expiresAt",
  "capacity",
  "ttlDays"
 ],
 "properties": {
  "id": {
   "type": "string"
  },
  "label": {
   "type": "string"
  },
  "ttlDays": {
   "type": "number"
  },
  "capacity": {
   "type": "number"
  },
  "metadata": {
   "type": "object",
   "additionalProperties": {}
  },
  "expiresAt": {
   "type": "number"
  },
  "callbackUrl": {
   "type": "string"
  }
 },
 "additionalProperties": false
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/payweave-relay-create-durable-webhook-inbox-25bbf109/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from relay.payweave.services](https://www.zero.xyz/host/relay.payweave.services/llms.txt)
