SparkPost Events API

The Events API from SparkPost — 4 operation(s) for events.

OpenAPI Specification

sparkpost-events-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: SparkPost DKIM Keys Events API
  description: Retrieve detailed per-message event data covering deliveries, bounces, clicks, opens, and other engagement events for individual messages.
  version: 1.0.0
  contact:
    name: SparkPost Developer Support
    url: https://developers.sparkpost.com/api/events/
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://api.sparkpost.com/api/v1
  description: SparkPost Production API
security:
- ApiKeyAuth: []
tags:
- name: Events
paths:
  /events/message:
    get:
      operationId: searchMessageEvents
      summary: Search Message Events
      description: Search for message-level events with filtering, pagination, and cursor support. Returns deliveries, bounces, clicks, opens, spam complaints, and other engagement events. Data retention is 10 days.
      tags:
      - Events
      parameters:
      - name: from
        in: query
        required: false
        description: Start datetime (YYYY-MM-DDTHH:MM:ssZ), defaults to 24 hours ago
        schema:
          type: string
          format: date-time
      - name: to
        in: query
        required: false
        description: End datetime, defaults to 1 minute ago
        schema:
          type: string
          format: date-time
      - name: cursor
        in: query
        required: false
        description: Pagination cursor (defaults to "initial")
        schema:
          type: string
          default: initial
      - name: per_page
        in: query
        required: false
        description: Results per page (1-10,000)
        schema:
          type: integer
          minimum: 1
          maximum: 10000
          default: 1000
      - name: delimiter
        in: query
        required: false
        description: List parameter separator (default comma)
        schema:
          type: string
          default: ','
      - name: events
        in: query
        required: false
        description: Comma-delimited list of event types to filter
        schema:
          type: string
      - name: event_ids
        in: query
        required: false
        description: Comma-delimited list of event IDs
        schema:
          type: string
      - name: recipients
        in: query
        required: false
        description: Filter by recipient email addresses
        schema:
          type: string
      - name: recipient_domains
        in: query
        required: false
        description: Filter by recipient domains
        schema:
          type: string
      - name: from_addresses
        in: query
        required: false
        description: Filter by from addresses
        schema:
          type: string
      - name: sending_domains
        in: query
        required: false
        description: Filter by sending domains
        schema:
          type: string
      - name: subjects
        in: query
        required: false
        description: Filter by email subjects
        schema:
          type: string
      - name: bounce_classes
        in: query
        required: false
        description: Filter by bounce classification codes
        schema:
          type: string
      - name: reasons
        in: query
        required: false
        description: Filter by bounce or failure reasons
        schema:
          type: string
      - name: campaigns
        in: query
        required: false
        description: Filter by campaign IDs
        schema:
          type: string
      - name: templates
        in: query
        required: false
        description: Filter by template IDs
        schema:
          type: string
      - name: sending_ips
        in: query
        required: false
        description: Filter by sending IPs
        schema:
          type: string
      - name: ip_pools
        in: query
        required: false
        description: Filter by IP pool IDs
        schema:
          type: string
      - name: subaccounts
        in: query
        required: false
        description: Filter by subaccount IDs
        schema:
          type: string
      - name: messages
        in: query
        required: false
        description: Filter by message IDs
        schema:
          type: string
      - name: transmissions
        in: query
        required: false
        description: Filter by transmission IDs
        schema:
          type: string
      - name: mailbox_providers
        in: query
        required: false
        description: Filter by mailbox providers
        schema:
          type: string
      - name: mailbox_provider_regions
        in: query
        required: false
        description: Filter by mailbox provider regions
        schema:
          type: string
      - name: ab_tests
        in: query
        required: false
        description: Filter by A/B test IDs
        schema:
          type: string
      - name: ab_test_versions
        in: query
        required: false
        description: Filter by A/B test version numbers
        schema:
          type: string
      responses:
        '200':
          description: Message events
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventsResponse'
  /events/message/documentation:
    get:
      operationId: getMessageEventsDocumentation
      summary: Message Events Documentation
      description: Retrieve field descriptions and metadata for event response objects.
      tags:
      - Events
      responses:
        '200':
          description: Field definitions for message events
  /events/message/samples:
    get:
      operationId: getMessageEventSamples
      summary: Message Event Samples
      description: Get example event payloads for specified event types.
      tags:
      - Events
      parameters:
      - name: events
        in: query
        required: false
        description: Comma-delimited event types to get samples for
        schema:
          type: string
      responses:
        '200':
          description: Sample event payloads
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventsResponse'
  /events/ingest:
    get:
      operationId: searchIngestEvents
      summary: Search Ingest Events
      description: Retrieve ingest events with optional filtering. Ingest events track data pipeline ingestion status.
      tags:
      - Events
      parameters:
      - name: from
        in: query
        required: false
        description: Start datetime, defaults to 24 hours ago
        schema:
          type: string
          format: date-time
      - name: to
        in: query
        required: false
        description: End datetime, defaults to 1 minute ago
        schema:
          type: string
          format: date-time
      - name: cursor
        in: query
        required: false
        description: Pagination cursor (defaults to "initial")
        schema:
          type: string
      - name: per_page
        in: query
        required: false
        description: Results per page (1-10,000)
        schema:
          type: integer
          minimum: 1
          maximum: 10000
          default: 1000
      - name: delimiter
        in: query
        required: false
        description: List separator (defaults to comma)
        schema:
          type: string
      - name: events
        in: query
        required: false
        description: Filter by event types
        schema:
          type: string
      - name: event_ids
        in: query
        required: false
        description: Filter by event IDs
        schema:
          type: string
      - name: batch_ids
        in: query
        required: false
        description: Filter by batch IDs
        schema:
          type: string
      - name: subaccounts
        in: query
        required: false
        description: Filter by subaccount IDs
        schema:
          type: string
      - name: retryable
        in: query
        required: false
        description: Filter by retryability
        schema:
          type: boolean
      responses:
        '200':
          description: Ingest events
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/EventsResponse'
components:
  schemas:
    EventsResponse:
      type: object
      properties:
        results:
          type: array
          items:
            type: object
            additionalProperties: true
        total_count:
          type: integer
        links:
          type: object
          properties:
            next:
              type: string
              description: URL for next page of results
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization