AlienVault Pulses API

Threat pulses (curated indicator collections)

Operations 11

GET /api/v1/pulses/subscribed List subscribed pulses #
GET /api/v1/pulses/events List pulse subscription events #
GET /api/v1/pulses/{pulse_id} Get pulse details #
GET /api/v1/pulses/{pulse_id}/indicators Get indicators for a pulse #
POST /api/v1/pulses/create Create a pulse #
GET /api/v1/pulses/my List my pulses #
GET /api/v1/pulses/user/{username} List a user's pulses #
POST /api/v1/pulses/{pulse_id}/subscribe Subscribe to a pulse #
POST /api/v1/pulses/{pulse_id}/unsubscribe Unsubscribe from a pulse #
POST /api/v1/pulses/{pulse_id}/clone Clone a pulse #
POST /api/v1/pulses/{pulse_id}/delete Delete a pulse #

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/alienvault-pulses-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 form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

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

OpenAPI Specification

alienvault-pulses-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: AlienVault OTX DirectConnect Indicators Pulses API
  description: The Open Threat Exchange (OTX) DirectConnect API provides programmatic access to the AlienVault OTX threat intelligence community. It exposes threat "pulses" (curated collections of indicators of compromise), indicator detail lookups (IPv4/IPv6, domain, hostname, URL, file hash, CVE), user and pulse search, and indicator submission. Authentication is by API key passed in the X-OTX-API-KEY request header. Endpoint paths and the authentication scheme are derived from the official AlienVault OTX Python SDK (OTXv2).
  version: v1
  contact:
    name: AlienVault OTX (LevelBlue)
    url: https://otx.alienvault.com/api
  license:
    name: OTX Terms of Service
    url: https://otx.alienvault.com/terms/
servers:
- url: https://otx.alienvault.com
  description: OTX production
security:
- OTXApiKey: []
tags:
- name: Pulses
  description: Threat pulses (curated indicator collections)
paths:
  /api/v1/pulses/subscribed:
    get:
      operationId: getSubscribedPulses
      summary: List subscribed pulses
      description: Returns the pulses the authenticated user is subscribed to, paginated.
      tags:
      - Pulses
      parameters:
      - name: limit
        in: query
        schema:
          type: integer
      - name: page
        in: query
        schema:
          type: integer
      - name: modified_since
        in: query
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: Paginated list of subscribed pulses
        '403':
          description: Missing or invalid API key
  /api/v1/pulses/events:
    get:
      operationId: getPulseEvents
      summary: List pulse subscription events
      description: Returns a change feed of pulse events since a given timestamp.
      tags:
      - Pulses
      parameters:
      - name: limit
        in: query
        schema:
          type: integer
      - name: page
        in: query
        schema:
          type: integer
      - name: since
        in: query
        schema:
          type: string
          format: date-time
      responses:
        '200':
          description: Paginated list of pulse events
        '403':
          description: Missing or invalid API key
  /api/v1/pulses/{pulse_id}:
    get:
      operationId: getPulseDetails
      summary: Get pulse details
      tags:
      - Pulses
      parameters:
      - name: pulse_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Pulse detail
        '404':
          description: Pulse not found
  /api/v1/pulses/{pulse_id}/indicators:
    get:
      operationId: getPulseIndicators
      summary: Get indicators for a pulse
      tags:
      - Pulses
      parameters:
      - name: pulse_id
        in: path
        required: true
        schema:
          type: string
      - name: limit
        in: query
        schema:
          type: integer
      - name: page
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Paginated list of indicators
        '404':
          description: Pulse not found
  /api/v1/pulses/create:
    post:
      operationId: createPulse
      summary: Create a pulse
      tags:
      - Pulses
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                description:
                  type: string
                public:
                  type: boolean
                tlp:
                  type: string
                tags:
                  type: array
                  items:
                    type: string
                indicators:
                  type: array
                  items:
                    type: object
      responses:
        '200':
          description: Created pulse
        '400':
          description: Invalid pulse payload
  /api/v1/pulses/my:
    get:
      operationId: getMyPulses
      summary: List my pulses
      tags:
      - Pulses
      responses:
        '200':
          description: Paginated list of the authenticated user's pulses
        '403':
          description: Missing or invalid API key
  /api/v1/pulses/user/{username}:
    get:
      operationId: getUserPulses
      summary: List a user's pulses
      tags:
      - Pulses
      parameters:
      - name: username
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Paginated list of the user's pulses
        '404':
          description: User not found
  /api/v1/pulses/{pulse_id}/subscribe:
    post:
      operationId: subscribeToPulse
      summary: Subscribe to a pulse
      tags:
      - Pulses
      parameters:
      - name: pulse_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Subscribed
  /api/v1/pulses/{pulse_id}/unsubscribe:
    post:
      operationId: unsubscribeFromPulse
      summary: Unsubscribe from a pulse
      tags:
      - Pulses
      parameters:
      - name: pulse_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Unsubscribed
  /api/v1/pulses/{pulse_id}/clone:
    post:
      operationId: clonePulse
      summary: Clone a pulse
      tags:
      - Pulses
      parameters:
      - name: pulse_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Cloned pulse
  /api/v1/pulses/{pulse_id}/delete:
    post:
      operationId: deletePulse
      summary: Delete a pulse
      tags:
      - Pulses
      parameters:
      - name: pulse_id
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Deleted
components:
  securitySchemes:
    OTXApiKey:
      type: apiKey
      in: header
      name: X-OTX-API-KEY
      description: OTX API key, available from your OTX account settings page.