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

# Delete an endpoint

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

Deletes the endpoint and stops sending to its URL. Events not yet delivered to it aren't sent.



## OpenAPI

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


        Deletes the endpoint and stops sending to its URL. Events not yet
        delivered to it aren't sent.
      operationId: delete_endpoint_endpoints__endpoint_id__delete
      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/EndpointDeletedResponse'
          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:
    EndpointDeletedResponse:
      properties:
        id:
          type: string
          title: Id
          description: The endpoint's ID.
        deleted:
          type: boolean
          title: Deleted
          description: Always `true`.
          default: true
      type: object
      required:
        - id
      title: EndpointDeletedResponse
      examples:
        - deleted: true
          id: 6ac2a82edfafd1b6c6a9c27d
    ApiErrorResponse:
      properties:
        error:
          $ref: '#/components/schemas/ApiErrorBody'
          description: What went wrong.
      type: object
      required:
        - error
      title: ApiErrorResponse
    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.