ABMeter Events API

The Events API from ABMeter — 1 operation(s) for events.

Operations 2

GET /events Search events #
POST /events Submit batch of events #

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/abmeter-ai:abmeter-ai-events-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

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

abmeter-ai-events-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Abmeter Ai Events API
  version: 1.0.0
  contact:
    name: ABMeter Support
    email: info@abmeter.com
  license:
    name: Commercial
    url: https://abmeter.ai/terms
  description: 'Operations tagged Events across 2 of this provider''s published API definitions: spec.yaml, abmeter-ai-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://abmeter.ai/api/v1
  description: ABMeter API
security:
- bearerAuth: []
tags:
- name: Events
paths:
  /events:
    get:
      summary: Search events
      description: 'Search for events with optional filtering by event type, user, and time range.

        Returns events sorted by occurred_at timestamp.'
      security:
      - bearerAuth: []
      parameters:
      - name: event_type_slug
        in: query
        required: false
        schema:
          type: string
        description: Filter by event type slug
      - name: user_id
        in: query
        required: false
        schema:
          type: string
        description: Filter by user ID
      - name: from
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: Start time for filtering (ISO 8601)
      - name: to
        in: query
        required: false
        schema:
          type: string
          format: date-time
        description: End time for filtering (ISO 8601)
      - name: order
        in: query
        required: false
        schema:
          type: string
          enum:
          - asc
          - desc
        description: 'Sort order by occurred_at (default: desc)'
      - name: limit
        in: query
        required: false
        schema:
          type: integer
        description: 'Maximum events to return (default: 100, max: 1000)'
      responses:
        '200':
          description: List of events
          content:
            application/json:
              example:
              - custom_fields: {}
                event_slug: event-type-purchase
                occurred_at: '2026-01-30T11:00:00Z'
                user_id: user-1
              - custom_fields: {}
                event_slug: event-type-user-signup
                occurred_at: '2026-01-30T10:00:00Z'
                user_id: user-2
              - custom_fields: {}
                event_slug: event-type-user-signup
                occurred_at: '2026-01-29T12:00:00Z'
                user_id: user-1
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Event'
      tags:
      - Events
      operationId: getEvents
      x-operation-id-source: derived
    post:
      summary: Submit batch of events
      description: 'Submit multiple events in a single request for efficient processing.

        Events capture user actions and business metrics that can be analyzed across experiments and feature flags.


        The API will process each event independently. If some events fail validation while others succeed,

        the response will indicate partial failure with detailed error information for each failed event.


        Error indices in the response are 0-based, matching the array position in the request.'
      security:
      - bearerAuth: []
      parameters: []
      responses:
        '201':
          description: All events processed successfully
          content:
            application/json:
              example:
                recorded_count: 2
                invalid_count: 0
              schema:
                type: object
                properties:
                  recorded_count:
                    type: integer
                    description: Number of events successfully recorded
                  invalid_count:
                    type: integer
                    description: Number of events that failed (always 0 for 201 response)
                required:
                - recorded_count
                - invalid_count
        '400':
          description: Bad request - invalid format or some/all events failed processing
          content:
            application/json:
              example:
                error: Failed to process 2 out of 3 events
                status: 400
                details:
                  recorded_count: 1
                  invalid_count: 2
                  failures:
                  - index: 1
                    error: Event type 'invalid-event-type' not found
                  - index: 2
                    error: 'Missing required fields: user_id'
              schema:
                $ref: '#/components/schemas/Error'
      requestBody:
        content:
          application/json:
            schema:
              type: array
              items:
                $ref: '#/components/schemas/Event'
              minItems: 0
              maxItems: 1000
              example:
              - event_slug: event-type-user-signup
                user_id: user_123456
                occurred_at: '2026-01-20T00:00:00Z'
                custom_fields:
                  source: google_ads
                  plan: premium
              - event_slug: event-type-purchase
                user_id: user_123456
                occurred_at: '2026-01-20T00:01:00Z'
                custom_fields:
                  amount: 99.99
                  product_id: 12345
      tags:
      - Events
      operationId: postEvents
      x-operation-id-source: derived
    servers:
    - url: https://abmeter.ai/api/v1
      description: ABMeter API
components:
  schemas:
    Event:
      type: object
      description: Recorded user action or system event for analysis
      properties:
        event_slug:
          type: string
          description: The event type slug
          example: user-signup
        user_id:
          type: string
          description: The user identifier
          example: user_abc123
        occurred_at:
          type: string
          format: date-time
          description: When the event occurred
          example: '2026-01-25T10:30:00Z'
        custom_fields:
          type: object
          additionalProperties: true
          description: Custom fields defined in the event type
          example:
            plan: premium
            source: google_ads
      required:
      - event_slug
      - user_id
      - occurred_at
    Error:
      type: object
      description: 'Standard error response format for all API endpoints


        **Important:** The response is ALWAYS an object/hash, never null or any other type.

        The `details` field, when present, is ALWAYS an object/hash (e.g., `{}` not `null` or `[]`).

        The `details` field may be omitted when there are no additional details to provide.'
      properties:
        error:
          type: string
          description: Human-readable error message
        code:
          type: string
          description: Machine-readable error code (optional)
        details:
          type: object
          description: 'Additional error details. When present, ALWAYS an object/hash.

            May contain field-specific errors or other structured information.

            Examples: `{"name": ["can''t be blank"]}` for validation errors, `{"message": "Invalid state"}` for other errors'
          additionalProperties: true
      required:
      - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key from the ABMeter dashboard. Pass it in the Authorization header with 'Bearer' prefix.
x-refined-from:
- spec.yaml
- abmeter-ai-openapi.yml