openapi: 3.0.3 info: title: SparkPost 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: [] 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: securitySchemes: ApiKeyAuth: type: apiKey in: header name: Authorization 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