> ## 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.

# Pause an endpoint

> <Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Stops sending events to the endpoint, for example while its receiver is redeployed. Deliveries already waiting are sent after it resumes. Events that happen while it's paused aren't sent to it, unless it resumes within seconds, before they're dispatched.



## OpenAPI

````yaml /developers/references/outbound-webhooks/outbound-webhooks-openapi.json post /endpoints/{endpoint_id}/pause
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:
  /endpoints/{endpoint_id}/pause:
    post:
      tags:
        - outbound-webhooks
      summary: Pause an endpoint
      description: >-
        <Info>This API is in beta. Endpoints, fields, and behavior may still
        change, so avoid depending on it in production.</Info>


        Stops sending events to the endpoint, for example while its receiver is
        redeployed. Deliveries already waiting are sent after it resumes. Events
        that happen while it's paused aren't sent to it, unless it resumes
        within seconds, before they're dispatched.
      operationId: pause_endpoint_endpoints__endpoint_id__pause_post
      parameters:
        - name: endpoint_id
          in: path
          required: true
          schema:
            type: string
            description: The endpoint's ID.
            examples:
              - 6ac2a82edfafd1b6c6a9c27d
            title: Endpoint Id
          description: The endpoint's ID.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EndpointResponse'
          headers:
            X-Request-Id:
              description: Identifies this request. Quote it when you contact support.
              schema:
                type: string
            X-RateLimit-Limit:
              description: Requests allowed in the current window.
              schema:
                type: integer
            X-RateLimit-Remaining:
              description: Requests left in the current window.
              schema:
                type: integer
            X-RateLimit-Reset:
              description: When the current window resets, in Unix seconds.
              schema:
                type: integer
        '400':
          description: >-
            `invalid_request` — a malformed body, an unusable target URL, an
            unknown event type, or an invalid or expired cursor.
          headers:
            X-Request-Id:
              description: Identifies this request. Quote it when you contact support.
              schema:
                type: string
          content:
            application/json:
              example:
                error:
                  code: invalid_request
                  message: The request is invalid.
                  details:
                    fields:
                      - field: target_url
                        problem: Field required
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '401':
          description: >-
            `unauthenticated` — a missing, malformed, unknown or disabled
            credential. Not distinguished further on purpose.
          headers:
            X-Request-Id:
              description: Identifies this request. Quote it when you contact support.
              schema:
                type: string
          content:
            application/json:
              example:
                error:
                  code: unauthenticated
                  message: Invalid workspace API key.
                  details: {}
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '403':
          description: >-
            `permission_denied`: the key lacks the `outbound_webhooks:write`
            scope, or the workspace's plan doesn't include outbound webhooks.
          headers:
            X-Request-Id:
              description: Identifies this request. Quote it when you contact support.
              schema:
                type: string
          content:
            application/json:
              example:
                error:
                  code: permission_denied
                  message: >-
                    This workspace API key is not permitted to manage outbound
                    webhooks. Needed: [outbound_webhooks:write]
                  details: {}
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '404':
          description: >-
            `not_found` — no such endpoint in this workspace. Also returned for
            another workspace's endpoint id, so the response does not confirm it
            exists.
          headers:
            X-Request-Id:
              description: Identifies this request. Quote it when you contact support.
              schema:
                type: string
          content:
            application/json:
              example:
                error:
                  code: not_found
                  message: Webhook endpoint not found.
                  details: {}
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '409':
          description: >-
            `conflict` — the endpoint changed under the request; re-read and
            retry. `limit_exceeded` — the workspace is at its endpoint cap
            (`details.max_endpoints`); not retryable until an endpoint is
            deleted.
          headers:
            X-Request-Id:
              description: Identifies this request. Quote it when you contact support.
              schema:
                type: string
          content:
            application/json:
              example:
                error:
                  code: limit_exceeded
                  message: A workspace may have at most 10 webhook endpoints.
                  details:
                    max_endpoints: 10
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '429':
          description: >-
            `rate_limited` — request throttling. Retryable; honour
            `Retry-After`.
          headers:
            X-Request-Id:
              description: Identifies this request. Quote it when you contact support.
              schema:
                type: string
            Retry-After:
              description: Seconds to wait before retrying.
              schema:
                type: integer
            X-RateLimit-Limit:
              description: Requests allowed in the current window.
              schema:
                type: integer
            X-RateLimit-Remaining:
              description: Requests left in the current window.
              schema:
                type: integer
            X-RateLimit-Reset:
              description: When the current window resets, in Unix seconds.
              schema:
                type: integer
          content:
            application/json:
              example:
                error:
                  code: rate_limited
                  message: >-
                    Rate limit exceeded. Retry after the interval in the
                    Retry-After header.
                  details:
                    retry_after_seconds: 42
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
        '500':
          description: >-
            `internal_error`: an unexpected failure. Retry with exponential
            backoff.
          headers:
            X-Request-Id:
              description: Identifies this request. Quote it when you contact support.
              schema:
                type: string
          content:
            application/json:
              example:
                error:
                  code: internal_error
                  message: An internal error occurred. Retry with exponential backoff.
                  details: {}
              schema:
                $ref: '#/components/schemas/ApiErrorResponse'
components:
  schemas:
    EndpointResponse:
      properties:
        id:
          type: string
          title: Id
          description: The endpoint's ID.
        target_url:
          type: string
          title: Target Url
          description: The URL that receives events.
        description:
          type: string
          title: Description
          description: A note for your own reference, up to 200 characters.
        selected_event_types:
          items:
            type: string
          type: array
          title: Selected Event Types
          description: The event types sent to this endpoint.
        state:
          $ref: '#/components/schemas/EndpointState'
          description: >-
            `pending` until it passes the activation test, then `active`.
            `paused` when you paused it, `auto_paused` when Base44 paused it
            after 10 failed deliveries in a row over at least 5 days. Only
            `active` endpoints receive events.
        health:
          $ref: '#/components/schemas/EndpointHealth'
          description: >-
            How recent deliveries went. `unknown` before the first delivery,
            `healthy` after a success, `failing` after 3 failed deliveries in a
            row. `degraded` is reserved.
        created_date:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Created Date
          description: When the endpoint was registered, in UTC.
        activated_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Activated At
          description: >-
            When the endpoint first became active at its current URL, in UTC.
            Events from before this time aren't sent to it.
        last_success_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Success At
          description: >-
            When a delivery last succeeded. In UTC. Absent until it first
            happens.
        last_failure_at:
          anyOf:
            - type: string
              format: date-time
            - type: 'null'
          title: Last Failure At
          description: >-
            When a delivery last ran out of attempts. In UTC. Absent until it
            first happens.
        consecutive_failed_deliveries:
          type: integer
          title: Consecutive Failed Deliveries
          description: >-
            Deliveries in a row that ran out of attempts. A success resets it to
            0.
          default: 0
      type: object
      required:
        - id
        - target_url
        - description
        - selected_event_types
        - state
        - health
      title: EndpointResponse
      examples:
        - activated_at: '2026-10-04T19:25:39.423Z'
          consecutive_failed_deliveries: 0
          created_date: '2026-10-04T19:25:34.260Z'
          description: Provisioning
          health: healthy
          id: 6ac2a82edfafd1b6c6a9c27d
          last_success_at: '2026-10-05T13:23:36.743Z'
          selected_event_types:
            - app.created.v1
            - app.deleted.v1
          state: active
          target_url: https://hooks.example.com/base44
    ApiErrorResponse:
      properties:
        error:
          $ref: '#/components/schemas/ApiErrorBody'
          description: What went wrong.
      type: object
      required:
        - error
      title: ApiErrorResponse
    EndpointState:
      type: string
      enum:
        - pending
        - active
        - paused
        - auto_paused
      title: EndpointState
      description: Whether the endpoint receives events.
    EndpointHealth:
      type: string
      enum:
        - unknown
        - healthy
        - degraded
        - failing
      title: EndpointHealth
      description: How recent deliveries to the endpoint went.
    ApiErrorBody:
      properties:
        code:
          type: string
          title: Code
          description: Stable machine-readable cause. Match on this, not the message.
        message:
          type: string
          title: Message
          description: Human-readable prose. Not a stable contract.
        details:
          additionalProperties: true
          type: object
          title: Details
          description: Documented structured context, or empty.
      type: object
      required:
        - code
        - message
      title: ApiErrorBody
  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.