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

# Check Webhooks readiness

> Returns `{"ready":true}` when Webhooks is current with the network tip, else 503 with `{"ready":false}` and Retry-After 5. No authentication. The answer is cached for five seconds. It is not an uptime guarantee.



## OpenAPI

````yaml /api-reference/webhooks.json get /readyz
openapi: 3.0.3
info:
  title: Lumeus Webhooks API
  version: '2026-09-15'
  description: >-
    Lumeus Webhooks API on Stellar. Sign up at https://app.lumeus.dev: Free,
    Starter, Growth and Scale plans are self-serve, Enterprise by agreement.


    - **Pricing.** Testnet webhook deliveries cost no credits. A Free
    organization gets one Testnet endpoint with up to 1,000 deliveries a day. On
    paid plans each delivered Mainnet event costs 1 credit from the monthly
    balance. Calls to this management API are not charged. Plans, limits and
    credit weights: `GET https://api.lumeus.dev/v1/plans`.

    - **Authentication.** Send `Authorization: Bearer whk_…`, a webhook key from
    the dashboard. Webhook keys belong to one network, so pick the server that
    matches the key. `lum_` API keys are not accepted here (401).

    - **Headers.** Every response carries X-Request-Id; authenticated responses
    carry RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset; 429 and 503
    carry Retry-After.

    - **Errors.** JSON with a machine-readable code (see
    [errors](/guides/errors)). A path with an empty, `.` or `..` segment answers
    400 invalid_request, a trailing slash answers 404 not_found, and a method
    the path does not accept answers 405 with an Allow header.

    - **CORS.** Browser calls (CORS) are allowed from https://docs.lumeus.dev
    (the Try it playground of this reference) and https://app.lumeus.dev only,
    without cookies; responses expose ETag, Link, Location, Retry-After,
    X-Request-Id, X-Lumeus-Operation-Id, X-Lumeus-Idempotency and
    RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset (errors included).
    Other websites cannot read responses made with a server key: use a
    publishable key with your own allowed origins ([browser
    keys](/guides/browser-keys)).
  license:
    name: Lumeus API contract
servers:
  - url: https://webhooks-testnet.lumeus.dev
    description: Testnet (default)
  - url: https://webhooks.lumeus.dev
    description: Mainnet
security:
  - Bearer: []
tags:
  - name: Webhook keys
    description: >-
      Create, list and revoke the `whk_` keys that manage webhook endpoints on
      one network.
  - name: Subscriptions
    description: >-
      Create, list, read, change, pause and delete webhook endpoints
      (subscriptions) and their event filters.
  - name: Deliveries
    description: >-
      What was delivered to an endpoint: recent deliveries, coverage gaps and
      signed test events.
  - name: Signing keys
    description: >-
      Rotate an endpoint's whsec_ signing secret with a 24-hour overlap, or end
      the overlap early.
  - name: Replay
    description: >-
      Redeliver past events or replay a ledger range to an endpoint, priced by a
      quote first. Free and paid plan endpoints get 403 today.
  - name: Health
    description: Liveness and readiness probes for monitoring. No authentication.
paths:
  /readyz:
    get:
      tags:
        - Health
      summary: Check Webhooks readiness
      description: >-
        Returns `{"ready":true}` when Webhooks is current with the network tip,
        else 503 with `{"ready":false}` and Retry-After 5. No authentication.
        The answer is cached for five seconds. It is not an uptime guarantee.
      operationId: checkWebhooksReadiness
      responses:
        '200':
          description: 'Ready: the data is current.'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Readiness'
              example:
                ready: true
          headers:
            X-Request-Id:
              description: >-
                Identifier of this request: req_ followed by 24 hex characters.
                Error bodies repeat it as request_id. Quote it when contacting
                support.
              schema:
                type: string
                pattern: ^req_[0-9a-f]{24}$
        '503':
          $ref: '#/components/responses/HTTP503_5'
      security: []
      x-codeSamples:
        - lang: bash
          label: cURL
          source: >-
            curl --fail-with-body -sS
            'https://webhooks-testnet.lumeus.dev/readyz'
        - lang: javascript
          label: JavaScript
          source: >-
            // Node 18+ (ES module)

            const res = await
            fetch('https://webhooks-testnet.lumeus.dev/readyz', {
              method: 'GET',
            });

            console.log(res.status, JSON.stringify(await res.json(), null, 2));
        - lang: python
          label: Python
          source: |-
            import json

            import requests

            res = requests.get(
                "https://webhooks-testnet.lumeus.dev/readyz",
                timeout=30,
            )
            print(res.status_code, json.dumps(res.json(), indent=2))
components:
  schemas:
    Readiness:
      type: object
      properties:
        ready:
          type: boolean
      required:
        - ready
  responses:
    HTTP503_5:
      description: Not ready, or catching up with the network.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Readiness'
          example:
            ready: false
      headers:
        X-Request-Id:
          description: >-
            Identifier of this request: req_ followed by 24 hex characters.
            Error bodies repeat it as request_id. Quote it when contacting
            support.
          schema:
            type: string
            pattern: ^req_[0-9a-f]{24}$
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      description: >-
        Send `Authorization: Bearer whk_…`, a webhook key from the dashboard.
        Webhook keys belong to one network, so pick the server that matches the
        key. `lum_` API keys are not accepted here (401).

````

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