Close Webhooks API

The webhooks API from Close — 2 operation(s) for webhooks.

Operations 5

GET /webhook/ List Webhook subscriptions #
POST /webhook/ Create new Webhook subscription #
GET /webhook/{id}/ Retrieve a single Webhook subscription #
PUT /webhook/{id}/ Update existing Webhook subscription #
DELETE /webhook/{id}/ Delete Webhook subscription #

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/close-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

close-webhooks-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Close CRM REST API
  title: Close Webhooks API
  version: 1.0.0
servers:
- url: https://api.close.com/api/v1
security:
- ApiKeyAuth: []
- OAuth2: []
tags:
- name: webhooks
  externalDocs:
    url: https://developer.close.com/api/resources/webhooks
paths:
  /webhook/:
    get:
      operationId: webhooks_list
      tags:
      - webhooks
      summary: List Webhook subscriptions
      description: List all webhook subscriptions for the organization.
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
    post:
      operationId: webhooks_create
      tags:
      - webhooks
      summary: Create new Webhook subscription
      description: The subscription will send events to the specified URL.
      requestBody:
        content:
          application/json:
            examples:
              basic:
                summary: Basic webhook subscription
                value:
                  events:
                  - action: created
                    object_type: lead
                  - action: updated
                    object_type: lead
                  - action: created
                    object_type: activity.call
                  - action: created
                    object_type: activity.note
                  - action: updated
                    object_type: activity.note
                  - action: created
                    object_type: activity.form_submission
                  url: https://test.example.com
              withFilter:
                summary: Webhook subscription with event filter
                value:
                  events:
                  - action: created
                    extra_filter:
                      field: user_id
                      filter:
                        type: equals
                        value: user_N6KhMpzHRCYQHdn4gRNIFNN5JExnsrprKA6ekxM63XA
                      type: field_accessor
                    object_type: lead
                  url: https://test.example.com
            schema:
              $ref: '#/components/schemas/CreateWebhook'
        required: true
      responses:
        '201':
          content:
            application/json:
              examples:
                basic:
                  summary: Basic webhook subscription
                  value:
                    counters: {}
                    created_by: user_N6KhMpzHRCYQHdn4gRNIFNN5JExnsrprKA6ekxM63XA
                    date_created: '2018-12-06T19:15:09.590432'
                    date_updated: '2018-12-06T19:15:09.590439'
                    events:
                    - action: created
                      object_type: lead
                    - action: updated
                      object_type: lead
                    - action: created
                      object_type: activity.call
                    - action: created
                      object_type: activity.note
                    - action: updated
                      object_type: activity.note
                    health_status: healthy
                    id: whsub_6un6NQjYTaFdgtIZsTDXP6
                    latest_error: null
                    pause_reason: null
                    recent_consecutive_fail_buckets_cnt: 0
                    signature_key: 058bfb6a3d8cfdc4da7c3be5901b16ae11da982b46a25fb2cd7016e97a140a1c
                    status: active
                    updated_by: user_N6KhMpzHRCYQHdn4gRNIFNN5JExnsrprKA6ekxM63XA
                    url: https://test.example.com
                    verify_ssl: true
                withFilter:
                  summary: Webhook subscription with event filter
                  value:
                    counters: {}
                    created_by: user_N6KhMpzHRCYQHdn4gRNIFNN5JExnsrprKA6ekxM63XA
                    date_created: '2018-12-06T19:15:09.590432'
                    date_updated: '2018-12-06T19:15:09.590439'
                    events:
                    - action: created
                      extra_filter:
                        field: user_id
                        filter:
                          type: equals
                          value: user_N6KhMpzHRCYQHdn4gRNIFNN5JExnsrprKA6ekxM63XA
                        type: field_accessor
                      object_type: lead
                    health_status: healthy
                    id: whsub_6un6NQjYTaFdgtIZsTDXP6
                    latest_error: null
                    pause_reason: null
                    recent_consecutive_fail_buckets_cnt: 0
                    signature_key: 058bfb6a3d8cfdc4da7c3be5901b16ae11da982b46a25fb2cd7016e97a140a1c
                    status: active
                    updated_by: user_N6KhMpzHRCYQHdn4gRNIFNN5JExnsrprKA6ekxM63XA
                    url: https://test.example.com
                    verify_ssl: true
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
  /webhook/{id}/:
    get:
      operationId: webhooks_get
      tags:
      - webhooks
      summary: Retrieve a single Webhook subscription
      description: The response contains the subscription details.
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              example:
                counters: {}
                created_by: user_N6KhMpzHRCYQHdn4gRNIFNN5JExnsrprKA6ekxM63XA
                date_created: '2018-12-06T19:15:09.590432'
                date_updated: '2018-12-06T19:15:09.590439'
                events:
                - action: created
                  object_type: lead
                - action: updated
                  object_type: lead
                - action: created
                  object_type: activity.call
                - action: created
                  object_type: activity.note
                - action: updated
                  object_type: activity.note
                health_status: healthy
                id: whsub_6un6NQjYTaFdgtIZsTDXP6
                latest_error: null
                pause_reason: null
                recent_consecutive_fail_buckets_cnt: 0
                signature_key: 058bfb6a3d8cfdc4da7c3be5901b16ae11da982b46a25fb2cd7016e97a140a1c
                status: active
                updated_by: user_N6KhMpzHRCYQHdn4gRNIFNN5JExnsrprKA6ekxM63XA
                url: https://test.example.com
                verify_ssl: true
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
    put:
      operationId: webhooks_update
      tags:
      - webhooks
      summary: Update existing Webhook subscription
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            example:
              status: paused
            schema:
              $ref: '#/components/schemas/UpdateWebhook'
        required: true
      responses:
        '200':
          content:
            application/json:
              example:
                counters: {}
                created_by: user_N6KhMpzHRCYQHdn4gRNIFNN5JExnsrprKA6ekxM63XA
                date_created: '2018-12-06T19:15:09.590432'
                date_updated: '2018-12-06T19:21:12.226090'
                events:
                - action: created
                  object_type: lead
                - action: updated
                  object_type: lead
                - action: created
                  object_type: activity.call
                - action: created
                  object_type: activity.note
                - action: updated
                  object_type: activity.note
                health_status: healthy
                id: whsub_6un6NQjYTaFdgtIZsTDXP6
                latest_error: null
                pause_reason: api
                recent_consecutive_fail_buckets_cnt: 0
                signature_key: 058bfb6a3d8cfdc4da7c3be5901b16ae11da982b46a25fb2cd7016e97a140a1c
                status: paused
                updated_by: user_N6KhMpzHRCYQHdn4gRNIFNN5JExnsrprKA6ekxM63XA
                url: https://test.example.com
                verify_ssl: true
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
    delete:
      operationId: webhooks_delete
      tags:
      - webhooks
      summary: Delete Webhook subscription
      parameters:
      - in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
        '400':
          description: Bad request
        '401':
          description: Unauthorized
        '404':
          description: Not found
components:
  schemas:
    WebhookStatus:
      title: WebhookStatus
      type: string
      enum:
      - active
      - paused
    UpdateWebhook:
      title: UpdateWebhook
      type: object
      properties:
        events:
          title: Events
          description: A list of events to subscribe to. Each event has an `object_type` and an `action` from values in the [event log](https://developer.close.com/api/resources/events/list-of-event-types). You can also use [Webhook Filters](https://developer.close.com/api/resources/webhooks/webhook-filters) while creating your subscription so that an event only fires to a Webhook when certain conditions are met.
          default: null
          anyOf:
          - type: array
            items:
              $ref: '#/components/schemas/WebhookSubscriptionEvent'
          - type: 'null'
        status:
          default: null
          anyOf:
          - $ref: '#/components/schemas/WebhookStatus'
          - type: 'null'
        url:
          title: Url
          description: Destination URL for the webhook subscription
          default: null
          anyOf:
          - type: string
          - type: 'null'
        verify_ssl:
          title: Verify Ssl
          description: Verify SSL certificate of destination webhook URL. Set to `false` to disable SSL certificate validation. We recommend using https to protect your data during delivery.
          default: null
          anyOf:
          - type: boolean
          - type: 'null'
      additionalProperties: false
    WebhookSubscriptionEvent:
      title: WebhookSubscriptionEvent
      type: object
      properties:
        action:
          title: Action
          type: string
        extra_filter:
          title: Extra Filter
          default: null
          anyOf:
          - type: object
            additionalProperties: true
          - type: 'null'
        object_type:
          title: Object Type
          type: string
      required:
      - action
      - object_type
    CreateWebhook:
      title: CreateWebhook
      type: object
      properties:
        events:
          title: Events
          description: A list of events to subscribe to. Each event has an `object_type` and an `action` from values in the [event log](https://developer.close.com/api/resources/events/list-of-event-types). You can also use [Webhook Filters](https://developer.close.com/api/resources/webhooks/webhook-filters) while creating your subscription so that an event only fires to a Webhook when certain conditions are met.
          type: array
          items:
            $ref: '#/components/schemas/WebhookSubscriptionEvent'
        url:
          title: Url
          description: Destination URL for the webhook subscription
          type: string
        verify_ssl:
          title: Verify Ssl
          description: Verify SSL certificate of destination webhook URL. Set to `false` to disable SSL certificate validation. We recommend using https to protect your data during delivery.
          type: boolean
          default: true
      required:
      - events
      - url
      additionalProperties: false
  securitySchemes:
    ApiKeyAuth:
      description: Use your API key as the username and leave the password empty.
      scheme: basic
      type: http
    OAuth2:
      flows:
        authorizationCode:
          authorizationUrl: https://app.close.com/oauth2/authorize/
          scopes:
            all.full_access: Full access to all resources
            offline_access: Request a refresh token
          tokenUrl: https://api.close.com/oauth2/token/
      type: oauth2