Ando Webhooks API

Outbound webhook endpoint and delivery routes.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/ando-webhooks-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

ando-webhooks-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  description: Generated from Ando's accepted public API v1 contract metadata. Current routes preserve legacy /api/v1 response envelopes while converging on the public https://api.ando.so/v1 shape.
  title: Ando Public Calls Webhooks API
  version: v1
servers:
- description: Canonical public API host.
  url: https://api.ando.so/v1
tags:
- description: Outbound webhook endpoint and delivery routes.
  name: Webhooks
paths:
  /webhook-endpoints:
    post:
      description: Creates a workspace webhook endpoint and returns its signing secret exactly once.
      operationId: createWebhookEndpoint
      requestBody:
        content:
          application/json:
            examples:
              endpoint:
                summary: Create a webhook endpoint.
                value:
                  name: Production receiver
                  url: https://example.com/ando/webhooks
                  enabled_events:
                  - webhook.test
                  - message.created
                  - message.updated
                  - conversation.membership.created
                  - conversation.archived
                  - conversation.unarchived
                  - call.started
                  - call.ended
                  - call.updated
                  - call.transcript.updated
            schema:
              $ref: '#/components/schemas/CreateWebhookEndpointBody'
        required: true
      responses:
        '201':
          content:
            application/json:
              examples:
                created:
                  summary: Created endpoint with one-time signing secret.
                  value:
                    data:
                      object: webhook_endpoint
                      id: wep_01jzn7e61x3a7v9h2r7t2m3q4p
                      workspace_id: workspace_01jzn7e61x3a7v9h2r7t2m3q4p
                      name: Production receiver
                      url: https://example.com/ando/webhooks
                      enabled_events:
                      - webhook.test
                      - message.created
                      - message.updated
                      - conversation.membership.created
                      - conversation.archived
                      - conversation.unarchived
                      - call.started
                      - call.ended
                      - call.updated
                      - call.transcript.updated
                      delivery_scope:
                        type: workspace_member
                        actor_workspace_membership_id: wsm_01jzn7e61x3a7v9h2r7t2m3q4p
                        direct_message_delivery_enabled: false
                      status: active
                      signing_secret_prefix: example
                      previous_signing_secret_expires_at: null
                      disabled_at: null
                      created_at: '2026-05-27T08:00:00.000Z'
                      updated_at: '2026-05-27T08:00:00.000Z'
                      signing_secret: example
              schema:
                $ref: '#/components/schemas/WebhookEndpointSecretResponse'
          description: Created webhook endpoint.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - AndoApiKey: []
      - BearerApiKey: []
      summary: Create a webhook endpoint
      tags:
      - Webhooks
      x-ando-compatibility-mode: standard_public
      x-ando-migration-target: standard_public
      x-ando-rate-limit-policy: declared
      x-ando-route-id: api.api_v1_webhook_endpoints.post
      x-ando-required: true
      x-ando-canonical-host: api.ando.so
      x-ando-documentation-owner: api_platform
      x-ando-principal-kind: workspace_api_key
      x-ando-public-api-route-class: durable_ingress
      x-ando-public-path: /v1/webhook-endpoints
      x-ando-runtime-owner: convex_product
      x-ando-status-probe-owner: none
      x-ando-rollback-runtime: convex_http
      x-ando-selected-runtime: convex_http
      x-ando-target-runtime: convex_http
    get:
      description: Lists workspace webhook endpoint metadata.
      operationId: listWebhookEndpoints
      responses:
        '200':
          content:
            application/json:
              examples:
                endpoints:
                  summary: Webhook endpoints.
                  value:
                    data:
                      items:
                      - object: webhook_endpoint
                        id: wep_01jzn7e61x3a7v9h2r7t2m3q4p
                        workspace_id: workspace_01jzn7e61x3a7v9h2r7t2m3q4p
                        name: Production receiver
                        url: https://example.com/ando/webhooks
                        enabled_events:
                        - webhook.test
                        - message.created
                        - message.updated
                        - conversation.membership.created
                        - conversation.archived
                        - conversation.unarchived
                        - call.started
                        - call.ended
                        - call.updated
                        - call.transcript.updated
                        delivery_scope:
                          type: workspace_member
                          actor_workspace_membership_id: wsm_01jzn7e61x3a7v9h2r7t2m3q4p
                          direct_message_delivery_enabled: false
                        status: active
                        signing_secret_prefix: example
                        previous_signing_secret_expires_at: null
                        disabled_at: null
                        created_at: '2026-05-27T08:00:00.000Z'
                        updated_at: '2026-05-27T08:00:00.000Z'
                    items:
                    - object: webhook_endpoint
                      id: wep_01jzn7e61x3a7v9h2r7t2m3q4p
                      workspace_id: workspace_01jzn7e61x3a7v9h2r7t2m3q4p
                      name: Production receiver
                      url: https://example.com/ando/webhooks
                      enabled_events:
                      - webhook.test
                      - message.created
                      - message.updated
                      - conversation.membership.created
                      - conversation.archived
                      - conversation.unarchived
                      - call.started
                      - call.ended
                      - call.updated
                      - call.transcript.updated
                      delivery_scope:
                        type: workspace_member
                        actor_workspace_membership_id: wsm_01jzn7e61x3a7v9h2r7t2m3q4p
                        direct_message_delivery_enabled: false
                      status: active
                      signing_secret_prefix: example
                      previous_signing_secret_expires_at: null
                      disabled_at: null
                      created_at: '2026-05-27T08:00:00.000Z'
                      updated_at: '2026-05-27T08:00:00.000Z'
              schema:
                $ref: '#/components/schemas/WebhookEndpointListResponse'
          description: Webhook endpoints.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - AndoApiKey: []
      - BearerApiKey: []
      summary: List webhook endpoints
      tags:
      - Webhooks
      x-ando-compatibility-mode: standard_public
      x-ando-migration-target: standard_public
      x-ando-rate-limit-policy: declared
      x-ando-route-id: api.api_v1_webhook_endpoints.get
      x-ando-required: true
      x-ando-canonical-host: api.ando.so
      x-ando-documentation-owner: api_platform
      x-ando-principal-kind: workspace_api_key
      x-ando-public-api-route-class: public_data
      x-ando-public-path: /v1/webhook-endpoints
      x-ando-runtime-owner: convex_product
      x-ando-status-probe-owner: none
      x-ando-rollback-runtime: convex_http
      x-ando-selected-runtime: convex_http
      x-ando-target-runtime: convex_http
  /webhook-endpoints/{endpointId}:
    get:
      description: Returns webhook endpoint metadata and a recent delivery summary.
      operationId: getWebhookEndpoint
      parameters:
      - description: Webhook endpoint identifier.
        in: path
        name: endpointId
        required: true
        schema:
          description: Webhook endpoint identifier.
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookEndpointDetailResponse'
          description: Webhook endpoint details.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - AndoApiKey: []
      - BearerApiKey: []
      summary: Get a webhook endpoint
      tags:
      - Webhooks
      x-ando-compatibility-mode: standard_public
      x-ando-migration-target: standard_public
      x-ando-rate-limit-policy: declared
      x-ando-route-id: api.api_v1_webhook_endpoints_by_endpointid.get
      x-ando-required: true
      x-ando-canonical-host: api.ando.so
      x-ando-documentation-owner: api_platform
      x-ando-principal-kind: workspace_api_key
      x-ando-public-api-route-class: public_data
      x-ando-public-path: /v1/webhook-endpoints/:endpointId
      x-ando-runtime-owner: convex_product
      x-ando-status-probe-owner: none
      x-ando-rollback-runtime: convex_http
      x-ando-selected-runtime: convex_http
      x-ando-target-runtime: convex_http
    patch:
      description: Updates webhook endpoint metadata and delivery settings.
      operationId: updateWebhookEndpoint
      parameters:
      - description: Webhook endpoint identifier.
        in: path
        name: endpointId
        required: true
        schema:
          description: Webhook endpoint identifier.
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateWebhookEndpointBody'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookEndpointResponse'
          description: Updated webhook endpoint.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - AndoApiKey: []
      - BearerApiKey: []
      summary: Update a webhook endpoint
      tags:
      - Webhooks
      x-ando-compatibility-mode: standard_public
      x-ando-migration-target: standard_public
      x-ando-rate-limit-policy: declared
      x-ando-route-id: api.api_v1_webhook_endpoints_by_endpointid.patch
      x-ando-required: true
      x-ando-canonical-host: api.ando.so
      x-ando-documentation-owner: api_platform
      x-ando-principal-kind: workspace_api_key
      x-ando-public-api-route-class: durable_ingress
      x-ando-public-path: /v1/webhook-endpoints/:endpointId
      x-ando-runtime-owner: convex_product
      x-ando-status-probe-owner: none
      x-ando-rollback-runtime: convex_http
      x-ando-selected-runtime: convex_http
      x-ando-target-runtime: convex_http
  /webhook-endpoints/{endpointId}/rotate-secret:
    post:
      description: Rotates a webhook endpoint signing secret and returns the new secret exactly once.
      operationId: rotateWebhookEndpointSecret
      parameters:
      - description: Webhook endpoint identifier.
        in: path
        name: endpointId
        required: true
        schema:
          description: Webhook endpoint identifier.
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RotateWebhookEndpointSecretBody'
        required: false
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookEndpointSecretResponse'
          description: Rotated webhook endpoint secret.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - AndoApiKey: []
      - BearerApiKey: []
      summary: Rotate webhook endpoint secret
      tags:
      - Webhooks
      x-ando-compatibility-mode: standard_public
      x-ando-migration-target: standard_public
      x-ando-rate-limit-policy: declared
      x-ando-route-id: api.api_v1_webhook_endpoints_by_endpointid_rotate_secret.post
      x-ando-required: true
      x-ando-canonical-host: api.ando.so
      x-ando-documentation-owner: api_platform
      x-ando-principal-kind: workspace_api_key
      x-ando-public-api-route-class: durable_ingress
      x-ando-public-path: /v1/webhook-endpoints/:endpointId/rotate-secret
      x-ando-runtime-owner: convex_product
      x-ando-status-probe-owner: none
      x-ando-rollback-runtime: convex_http
      x-ando-selected-runtime: convex_http
      x-ando-target-runtime: convex_http
  /webhook-endpoints/{endpointId}/test:
    post:
      description: Creates a webhook.test event and schedules delivery to one endpoint.
      operationId: sendWebhookEndpointTestEvent
      parameters:
      - description: Webhook endpoint identifier.
        in: path
        name: endpointId
        required: true
        schema:
          description: Webhook endpoint identifier.
          type: string
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookTestEventResponse'
          description: Scheduled webhook test event.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - AndoApiKey: []
      - BearerApiKey: []
      summary: Send a webhook test event
      tags:
      - Webhooks
      x-ando-compatibility-mode: standard_public
      x-ando-migration-target: standard_public
      x-ando-rate-limit-policy: declared
      x-ando-route-id: api.api_v1_webhook_endpoints_by_endpointid_test.post
      x-ando-required: true
      x-ando-canonical-host: api.ando.so
      x-ando-documentation-owner: api_platform
      x-ando-principal-kind: workspace_api_key
      x-ando-public-api-route-class: durable_ingress
      x-ando-public-path: /v1/webhook-endpoints/:endpointId/test
      x-ando-runtime-owner: convex_product
      x-ando-status-probe-owner: none
      x-ando-rollback-runtime: convex_http
      x-ando-selected-runtime: convex_http
      x-ando-target-runtime: convex_http
  /webhook-deliveries:
    get:
      description: Lists webhook deliveries with optional endpoint, event, status, and creation-time filters.
      operationId: listWebhookDeliveries
      parameters:
      - description: Filter by webhook endpoint identifier.
        in: query
        name: endpoint_id
        schema:
          description: Filter by webhook endpoint identifier.
          type: string
      - description: Filter by webhook event identifier.
        in: query
        name: event_id
        schema:
          description: Filter by webhook event identifier.
          type: string
      - description: Filter by delivery status.
        in: query
        name: status
        schema:
          description: Filter by delivery status.
          type: string
      - description: Return deliveries created after this timestamp.
        in: query
        name: created_after
        schema:
          description: Return deliveries created after this timestamp.
          type: string
      - description: Return deliveries created before this timestamp.
        in: query
        name: created_before
        schema:
          description: Return deliveries created before this timestamp.
          type: string
      - description: Maximum number of deliveries to return.
        in: query
        name: limit
        schema:
          description: Maximum number of deliveries to return.
          type: integer
          minimum: 1
      responses:
        '200':
          content:
            application/json:
              examples:
                deliveries:
                  summary: Webhook deliveries.
                  value:
                    data:
                      items:
                      - object: webhook_delivery
                        id: whd_01jzn7e61x3a7v9h2r7t2m3q4p
                        workspace_id: workspace_01jzn7e61x3a7v9h2r7t2m3q4p
                        endpoint_id: wep_01jzn7e61x3a7v9h2r7t2m3q4p
                        endpoint_url: https://example.com/ando/webhooks
                        endpoint_status: active
                        endpoint_enabled_events:
                        - webhook.test
                        - message.created
                        - message.updated
                        - conversation.membership.created
                        - conversation.archived
                        - conversation.unarchived
                        - call.started
                        - call.ended
                        - call.updated
                        - call.transcript.updated
                        endpoint_signing_secret_prefix: example
                        event_id: whe_01jzn7e61x3a7v9h2r7t2m3q4p
                        event_type: webhook.test
                        api_version: '2026-05-27'
                        status: scheduled
                        attempt_count: 0
                        max_attempts: 8
                        next_attempt_at: '2026-05-27T08:00:00.000Z'
                        first_attempted_at: null
                        last_attempted_at: null
                        succeeded_at: null
                        failed_at: null
                        last_http_status: null
                        last_error_code: null
                        last_error_message: null
                        replayable: false
                        created_at: '2026-05-27T08:00:00.000Z'
                        updated_at: '2026-05-27T08:00:00.000Z'
                    items:
                    - object: webhook_delivery
                      id: whd_01jzn7e61x3a7v9h2r7t2m3q4p
                      workspace_id: workspace_01jzn7e61x3a7v9h2r7t2m3q4p
                      endpoint_id: wep_01jzn7e61x3a7v9h2r7t2m3q4p
                      endpoint_url: https://example.com/ando/webhooks
                      endpoint_status: active
                      endpoint_enabled_events:
                      - webhook.test
                      - message.created
                      - message.updated
                      - conversation.membership.created
                      - conversation.archived
                      - conversation.unarchived
                      - call.started
                      - call.ended
                      - call.updated
                      - call.transcript.updated
                      endpoint_signing_secret_prefix: example
                      event_id: whe_01jzn7e61x3a7v9h2r7t2m3q4p
                      event_type: webhook.test
                      api_version: '2026-05-27'
                      status: scheduled
                      attempt_count: 0
                      max_attempts: 8
                      next_attempt_at: '2026-05-27T08:00:00.000Z'
                      first_attempted_at: null
                      last_attempted_at: null
                      succeeded_at: null
                      failed_at: null
                      last_http_status: null
                      last_error_code: null
                      last_error_message: null
                      replayable: false
                      created_at: '2026-05-27T08:00:00.000Z'
                      updated_at: '2026-05-27T08:00:00.000Z'
              schema:
                $ref: '#/components/schemas/WebhookDeliveryListResponse'
          description: Webhook deliveries.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - AndoApiKey: []
      - BearerApiKey: []
      summary: List webhook deliveries
      tags:
      - Webhooks
      x-ando-compatibility-mode: standard_public
      x-ando-migration-target: standard_public
      x-ando-rate-limit-policy: declared
      x-ando-route-id: api.api_v1_webhook_deliveries.get
      x-ando-required: true
      x-ando-canonical-host: api.ando.so
      x-ando-documentation-owner: api_platform
      x-ando-principal-kind: workspace_api_key
      x-ando-public-api-route-class: public_data
      x-ando-public-path: /v1/webhook-deliveries
      x-ando-runtime-owner: convex_product
      x-ando-status-probe-owner: none
      x-ando-rollback-runtime: convex_http
      x-ando-selected-runtime: convex_http
      x-ando-target-runtime: convex_http
  /webhook-deliveries/{deliveryId}/replay:
    post:
      description: Creates a fresh scheduled delivery for the same endpoint and event.
      operationId: replayWebhookDelivery
      parameters:
      - description: Webhook delivery identifier.
        in: path
        name: deliveryId
        required: true
        schema:
          description: Webhook delivery identifier.
          type: string
      responses:
        '202':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WebhookReplayResponse'
          description: Scheduled webhook delivery replay.
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '409':
          $ref: '#/components/responses/Conflict'
        '429':
          $ref: '#/components/responses/RateLimited'
        '500':
          $ref: '#/components/responses/InternalError'
      security:
      - AndoApiKey: []
      - BearerApiKey: []
      summary: Replay a webhook delivery
      tags:
      - Webhooks
      x-ando-compatibility-mode: standard_public
      x-ando-migration-target: standard_public
      x-ando-rate-limit-policy: declared
      x-ando-route-id: api.api_v1_webhook_deliveries_by_deliveryid_replay.post
      x-ando-required: true
      x-ando-canonical-host: api.ando.so
      x-ando-documentation-owner: api_platform
      x-ando-principal-kind: workspace_api_key
      x-ando-public-api-route-class: durable_ingress
      x-ando-public-path: /v1/webhook-deliveries/:deliveryId/replay
      x-ando-runtime-owner: convex_product
      x-ando-status-probe-owner: none
      x-ando-rollback-runtime: convex_http
      x-ando-selected-runtime: convex_http
      x-ando-target-runtime: convex_http
components:
  responses:
    Forbidden:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/LegacyErrorResponse'
      description: Forbidden.
    RateLimited:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublicApiErrorResponse'
      description: Rate limit or quota exceeded.
    NotFound:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/LegacyErrorResponse'
      description: Not found.
    InternalError:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/LegacyErrorResponse'
      description: Internal server error.
    Conflict:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/LegacyErrorResponse'
      description: Conflict.
    Unauthorized:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/LegacyErrorResponse'
      description: Missing or invalid API key.
    BadRequest:
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/LegacyErrorResponse'
      description: Bad request.
  schemas:
    WebhookEndpointSecretResponse:
      additionalProperties: false
      description: Webhook endpoint response with one-time plaintext secret.
      properties:
        data:
          $ref: '#/components/schemas/WebhookEndpointSecret'
      required:
      - data
      type: object
    WebhookReplayResponse:
      additionalProperties: false
      description: Webhook delivery replay response.
      properties:
        data:
          additionalProperties: false
          description: Replay delivery data.
          properties:
            delivery_id:
              description: New webhook delivery identifier.
              type: string
              example: 01jzn7e61x3a7v9h2r7t2m3q4p
          required:
          - delivery_id
          type: object
      required:
      - data
      type: object
    WebhookEndpointDetailResponse:
      additionalProperties: false
      description: Webhook endpoint detail response.
      properties:
        data:
          $ref: '#/components/schemas/WebhookEndpointDetail'
      required:
      - data
      type: object
    WebhookTestEventResponse:
      additionalProperties: false
      description: Webhook test event response.
      properties:
        data:
          additionalProperties: false
          description: Webhook test event data.
          properties:
            delivery_ids:
              description: Planned webhook delivery identifiers.
              items:
                description: Webhook delivery identifier.
                type: string
                example: 01jzn7e61x3a7v9h2r7t2m3q4p
              type: array
            event_id:
              description: Webhook event identifier.
              type: string
              example: 01jzn7e61x3a7v9h2r7t2m3q4p
          required:
          - event_id
          - delivery_ids
          type: object
      required:
      - data
      type: object
    RotateWebhookEndpointSecretBody:
      additionalProperties: false
      description: Webhook endpoint secret rotation request.
      properties:
        previous_secret_ttl_seconds:
          description: Seconds to keep the previous secret active. Maximum is 86400.
          type: integer
          minimum: 0
      type: object
    WebhookEndpointDeliveryScope:
      description: Webhook endpoint runtime data recipient.
      oneOf:
      - additionalProperties: false
        description: Member-targeted endpoint delivery scope.
        properties:
          actor_workspace_membership_id:
            description: Workspace membership the endpoint acts as.
            type: string
            example: 01jzn7e61x3a7v9h2r7t2m3q4p
          direct_message_delivery_enabled:
            description: Whether direct-message events are delivered for conversations the actor belongs to.
            type: boolean
          type:
            description: Delivery scope type.
            enum:
            - workspace_member
            type: string
        required:
        - type
        - actor_workspace_membership_id
        - direct_message_delivery_enabled
        type: object
      - additionalProperties: false
        description: Unsupported workspace export placeholder.
        properties:
          status:
            description: Workspace export approval state.
            enum:
            - unsupported
            - requires_approval
            - approved
            type: string
          type:
            description: Delivery scope type.
            enum:
            - workspace_export
            type: string
        required:
        - type
        - status
        type: object
    WebhookEndpointResponse:
      additionalProperties: false
      description: Webhook endpoint response.
      properties:
        data:
          $ref: '#/components/schemas/WebhookEndpoint'
      required:
      - data
      type: object
    LegacyErrorResponse:
      additionalProperties: false
      description: Current compatibility error envelope used by legacy /api/v1 routes.
      properties:
        error:
          description: Error message.
          type: string
        error_code:
          description: Optional machine-readable error code.
          type: string
          nullable: true
        missing_scopes:
          description: Missing scopes.
          items:
            description: Scope.
            type: string
          type: array
      required:
      - error
      type: object
    UpdateWebhookEndpointBody:
      additionalProperties: false
      description: Webhook endpoint update request.
      properties:
        enabled_events:
          description: Product event types to deliver to this endpoint.
          items:
            description: Webhook event type.
            enum:
            - message.created
            - message.updated
            - conversation.membership.created
            - conversation.archived
            - conversation.unarchived
            - call.started
            - call.ended
            - call.updated
            - call.transcript.updated
            - webhook.test
            type: string
          type: array
        delivery_scope:
          $ref: '#/components/schemas/WebhookEndpointDeliveryScopeInput'
        name:
          description: Optional endpoint label.
          type: string
          nullable: true
        status:
          description: Endpoint status.
          enum:
          - active
          - disabled
          type: string
        url:
          description: HTTPS receiver URL.
          type: string
      type: object
    WebhookEndpointListResponse:
      additionalProperties: false
      description: Webhook endpoint list response.
      properties:
        data:
          additionalProperties: false
          description: Standard public response data. New clients should read data.items.
          properties:
            items:
              description: Webhook endpoints.
              items:
                $ref: '#/components/schemas/We

# --- truncated at 32 KB (50 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ando/refs/heads/main/openapi/ando-webhooks-api-openapi.yml