Ometria Custom Event API

The Custom Event API from Ometria — 3 operation(s) for custom event.

Operations 3

GET /custom-events/ Returns a list of custom events #
GET /custom-events/{event_type} Returns a list of custom events of a specific type #
GET /custom-events/{event_type}/{event_id} Returns a specific custom event #

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/ometria:ometria-custom-event-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

ometria-custom-event-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 1.1.0
  title: Ometria data Custom Event API
  description: 'Welcome to the Ometria API reference.


    The Ometria API is organized around the REST methodology, and it uses resource-oriented URLs, and common HTTP response codes to indicate API errors. All requests are authenticated using an API key which can be obtained from your account settings.


    ### HTTPS


    All requests to the Ometria API MUST be carried out via HTTPS. API servers do not listen on unsecured HTTP ports to avoid the possibility of insecure information exchange.


    ### Message encoding


    The V2 Ometria API uses JSON encoding for all data exchanges and assumes UTF-8 character encoding throughout.


    ### Rate limits


    The Ometria API has a default rate limit of 4 requests per second per Ometria account. The /push/ endpoint allows 8 requests per second per Ometria account. If you expect to exceed this limit, please contact us.


    In the case of your application being rate limited, the HTTP code 429 (too many requests) will be returned. In this case your application should reduce the number of requests it is trying to send.'
  contact:
    name: Ometria
    email: support@ometria.com
    url: https://ometria.com
servers:
- url: https://api.ometria.com/v2
security:
- apikey: []
tags:
- name: Custom Event
paths:
  /custom-events/:
    get:
      tags:
      - Custom Event
      summary: Returns a list of custom events
      parameters:
      - name: limit
        in: query
        description: Number of items to return. Maximum 250.
        required: false
        schema:
          type: string
          default: '10'
      - name: offset
        in: query
        description: The index of the first record.
        required: false
        schema:
          type: string
          default: '0'
      responses:
        '200':
          description: List of custom event objects
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomEvent'
        '403':
          description: API key is not authorised to access this resource
      operationId: getCustomEvents
      x-operation-id-source: derived
  /custom-events/{event_type}:
    get:
      tags:
      - Custom Event
      summary: Returns a list of custom events of a specific type
      parameters:
      - name: event_type
        in: path
        description: The event type. This must be <a href="https://support.ometria.com/hc/en-gb/articles/360011171077-Custom-events" target="_blank">pre-defined in Ometria</a> and the value here should match that the type in Ometria.
        required: true
        schema:
          type: string
      - name: limit
        in: query
        description: Number of items to return. Maximum 250.
        required: false
        schema:
          type: string
          default: '10'
      - name: offset
        in: query
        description: The index of the first record.
        required: false
        schema:
          type: string
          default: '0'
      responses:
        '200':
          description: List of custom event objects
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/CustomEvent'
        '403':
          description: API key is not authorised to access this resource
      operationId: getCustomEventsByEventType
      x-operation-id-source: derived
  /custom-events/{event_type}/{event_id}:
    get:
      tags:
      - Custom Event
      summary: Returns a specific custom event
      parameters:
      - name: event_type
        in: path
        description: The event type. This must be <a href="https://support.ometria.com/hc/en-gb/articles/360011171077-Custom-events" target="_blank">pre-defined in Ometria</a> and the value here should match that the type in Ometria.
        required: true
        schema:
          type: string
      - name: event_id
        in: path
        description: The event ID
        required: true
        schema:
          type: string
      responses:
        '200':
          description: A single custom event object
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CustomEvent'
        '403':
          description: API key is not authorised to access this resource
        '404':
          description: The specific custom event could not be found
      operationId: getCustomEventsByEventTypeByEventId
      x-operation-id-source: derived
components:
  schemas:
    ExtraIdentifier:
      title: Extra Identifier
      type: object
      description: An additional identifier for a record, used to attach non-standard customer or record IDs (e.g. loyalty programme IDs, external CRM IDs). Records may carry multiple extra identifiers.
      required:
      - type
      - value
      properties:
        type:
          type: string
          description: The identifier type label. Must contain only lowercase letters and underscores (regex `^[a-z_]+$`), 1-255 characters. Will be coerced to lowercase on ingestion.
          minLength: 1
          maxLength: 255
          pattern: ^[a-z_]+$
          example: loyalty_id
        value:
          type: string
          description: The identifier value (free-form string).
          example: LOY-7898734
      example:
        type: loyalty_id
        value: LOY-7898734
    CustomEventProperties:
      type: object
      description: 'These are the <a href="https://https://support.ometria.com/hc/en-gb/articles/360019668718" target="_blank">custom fields</a> you need to add for your custom event. There are 5 types available for custom event fields: string, boolean, number, products list and date.'
      properties:
        string_custom_field:
          type: string
          description: 'Any characters permitted, including accents and other character symbols.

            String fields have a 512 character limit.'
        boolean_custom_field:
          type: boolean
          description: '`true` or `false`'
        number_custom_field:
          type: number
          description: Whole or decimal numbers
        products_list_custom_field:
          type: array
          description: Returns a list of your <a href="https://support.ometria.com/hc/en-gb/articles/360011308998" target="_blank">products</a>
          items:
            type: string
        date_custom_field:
          type: string
          description: Date and time, e.g. 2018-01-05 15:03:04
          format: date
    CustomEvent:
      title: Custom Event
      type: object
      description: Describes a custom event. One of "profile_id", "identity_email", "identity_account_id" or "extra_identifiers" is required.
      required:
      - '@type'
      - id
      - event_type
      - timestamp
      - properties
      properties:
        '@type':
          type: string
          description: The value must be "custom_event". This shows that this record represents a <a href="https://support.ometria.com/hc/en-gb/articles/360011171077-Custom-events" target="_blank">custom_event</a> object.
        id:
          type: string
          description: 'The custom event ID, max length: 32.

            If you exceed the character limit the field will pass validation but appear truncated in Ometria.'
        event_type:
          type: string
          description: 'The <a href="https://support.ometria.com/hc/en-gb/articles/360011171077-Custom-events" target="_blank">custom_event</a> type, maximum characters 64.

            If you exceed the character limit the field will pass validation but appear truncated in Ometria.'
        timestamp:
          type: string
          description: The date and time of the event, following ISO 8601 DateTime format with timezone offset YYYY-MM-DDThh:mm:ss+Z.
        properties:
          $ref: '#/components/schemas/CustomEventProperties'
        profile_id:
          type: string
          description: The profile ID of the contact on which to trigger this custom event.
        identity_email:
          type: string
          description: 'The email of the contact record on which to trigger this custom event, max length: 255, lower case.

            If left empty this field will be set to ''null''.'
        identity_phone_number:
          type: string
          description: 'The phone_number of the contact record on which to trigger this custom event, in E.164/International format (e.g. starting "+447...").

            If left empty this field will be set to ''null''.'
        identity_account_id:
          type: string
          description: The <a href="https://ometria-api-reference.readme.io/docs/contacts-endpoint#customer-ids" target="blank">contact ID</a> of the contact record on which to trigger this custom event.
        extra_identifiers:
          type:
          - array
          - 'null'
          description: Optional list of extra identifiers (such as a loyalty ID) as per your identity resolution configuration, e.g. `loyalty_id`. Custom identifiers must be configured for your account before you send them. See <a href="https://support.ometria.com/hc/en-gb/articles/32595707442077-Custom-identifiers">Custom identifiers</a> for the full format, multi-valued identifiers, and CSV usage.
          items:
            $ref: '#/components/schemas/ExtraIdentifier'
      example:
        '@type': custom_event
        id: xxxxxx
        event_type: module_interaction
        timestamp: '2017-05-01T14:00:00Z'
        properties:
          interaction: saved_to_favs
        profile_id: xxxxx
        identity_email: ''
        identity_phone_number: '+447812123456'
        identity_account_id: ''
        extra_identifiers:
        - type: loyalty_id
          value: LOY-7898734
        - type: external_id
          value: crm-abc-123
  securitySchemes:
    apikey:
      type: apiKey
      name: X-Ometria-Auth
      in: header
      description: Ometria API key which can be obtained from your Ometria account administrator
    apiKeyReadTranslations:
      type: apiKey
      name: X-Ometria-Auth
      in: header
      description: 'Ometria API key which can be obtained from your Ometria account administrator. **Note**: The API key must have the scope `read:translations`.'
    apiKeyWriteTranslations:
      type: apiKey
      name: X-Ometria-Auth
      in: header
      description: 'Ometria API key which can be obtained from your Ometria account administrator. **Note**: The API key must have the scope `write:translations`.'
x-explorer-enabled: false
x-readme:
  proxy-enabled: true
  samples-enabled: true