> ## Documentation Index
> Fetch the complete documentation index at: https://docs.serialized.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Test a Price Webhook

> Send a signed ping to a price webhook's URL and see what your endpoint answered. Free.

`POST /v1/webhook/price/{id}/test` · **Free**

Sends a signed ping to the webhook's URL: `{"type": "ping", "eventId": "ping_…", "webhookId": "…", "at": <ms>}`, with the headers and signature of a real message ([verify the signature](https://docs.serialized.xyz/endpoints/price-webhooks.md#verify-the-signature)). `delivered` is true when your endpoint answered a 2xx within 5 seconds; otherwise `status` gives what it answered and `error` what went wrong. Redirects are not followed. A ping can come from a different address than your messages: do not allowlist by IP, verify the signature. One ping per webhook every 5 seconds (`429` with `details.limit: "priceWebhookTest"` and `Retry-After` otherwise; `priceWebhookTestInFlight` when too many pings are in progress at once, retry after a second). Free.

```bash cURL theme={null}
curl -X POST 'https://api.serialized.xyz/v1/webhook/price/tpsl/test' \
  -H 'Authorization: YOUR_API_KEY'
```

```json Response theme={null}
{
  "data": {
    "id": "tpsl",
    "eventId": "ping_9f3c2a71d04b6e58",
    "delivered": true,
    "status": 200
  }
}
```


## OpenAPI

````yaml openapi.json POST /v1/webhook/price/{id}/test
openapi: 3.1.0
info:
  title: Serialized Data API
  description: >-
    On-chain data for trading apps - tokens, candles, token filters. Built on
    our own indexers. 18 EVM chains + Solana, live.
  version: 0.1.0
servers:
  - url: https://demo.serialized.xyz
    description: 'Demo: no key needed, read endpoints, rate-limited per IP'
  - url: https://api.serialized.xyz
    description: 'Production: your API key in the Authorization header'
security:
  - apiKey: []
  - {}
paths:
  /v1/webhook/price/{id}/test:
    post:
      summary: Test a Price Webhook
      description: >-
        Sends a signed ping to the webhook's URL (`{"type": "ping", "eventId",
        "webhookId", "at"}`, the headers and signature of a real message) and
        returns what your endpoint answered: `delivered` on a 2xx within 5
        seconds, otherwise `status` and `error`. A ping can come from a
        different address than your messages: do not allowlist by IP, verify the
        signature. One ping per webhook every 5 seconds. Free.
      operationId: price-webhook-test
      parameters:
        - schema:
            type: string
            x-default: tpsl
          in: path
          name: id
          required: true
          description: 'The price webhook id: yours, or the `wh_…` id we generated.'
          example: tpsl
      requestBody:
        required: true
        content:
          application/json:
            schema:
              additionalProperties: false
              type: object
              properties: {}
      responses:
        '200':
          description: Standard `{ data, meta }` envelope.
components:
  securitySchemes:
    apiKey:
      type: apiKey
      name: Authorization
      in: header
      description: Your raw API key (not needed on the demo server).

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.