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

> ## Agent Instructions
> Internal links on these pages omit the .md extension. Append .md to a docs page URL, or send an Accept: text/markdown header, to get that page as markdown.

# webhook.test.v1

> Endpoint activation test.



## OpenAPI

````yaml developers/references/outbound-webhooks/outbound-webhooks-openapi.json webhook webhook.test.v1
openapi: 3.1.0
info:
  title: Base44 Outbound Webhooks API
  description: >

    Register HTTPS endpoints that Base44 notifies when something happens in your
    workspace, such as an

    app being published or the AI builder finishing a message. The events
    section lists every event an

    endpoint can receive.


    **Authentication:** send a workspace API key with the
    `outbound_webhooks:write` scope as

    `Authorization: Bearer <key>`. The key decides the workspace, so no path
    takes a workspace ID.

    The public key set needs no authentication.


    **Activation:** registering an endpoint sends it a signed `webhook.test.v1`
    event in the same call.

    The endpoint becomes `active` only if it answers with a 2xx status within 5
    seconds and returns the

    event's `data.challenge` in its response body, either as `{"challenge":
    "<value>"}` or as the bare

    value. Until then it receives nothing else.


    **Events:** each event is a CloudEvents 1.0 JSON body, signed with Ed25519
    under the Standard Webhooks

    `v1a` scheme. Verify every request against your workspace's public key set,
    and deduplicate on `id`:

    delivery is at least once and unordered.


    **Rate limits**, per workspace and multiplied by your plan's rate-limit
    tier:

    - endpoint reads (list, get): 300 a minute

    - endpoint writes (register, update, pause, resume, delete): 60 a minute

    - activation tests (register, test, resuming an auto-paused endpoint): 10 a
    minute

    - the public key set: 600 a minute per client IP


    A `429` carries `Retry-After`. Errors use one envelope, `{"error": {"code",
    "message", "details"}}`;

    match on `error.code`, never on the message.
  version: 1.0.0
servers:
  - url: https://app.base44.com/api/v1/outbound-webhooks
    description: Outbound Webhooks API
security:
  - WorkspaceApiKey: []
tags:
  - name: outbound-webhooks
    description: >-
      Register and manage the endpoints that receive events, and get the keys
      that verify them.
  - name: events
    description: The events Base44 sends to your endpoints.
paths: {}
components:
  securitySchemes:
    WorkspaceApiKey:
      type: http
      scheme: bearer
      description: >-
        A workspace API key with the `outbound_webhooks:write` scope, sent as
        `Authorization: Bearer <key>`.

````

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