Emma API Documentation

Events

With these endpoints, you can create member event types and view information about specific event types already created in your account.

POST /#account_id/events

Create a member event type.

Parameters:
  • event_type (string) – Required. The type of the event.
  • display_name (string) – Required. A name for displaying the event in the UI.
Returns:

Information for the new member event type.

Raises: Http400 if no display name or event type are provided.

Sample Response [showhide]
    POST /100/events
    {
        "account_id": 100,
        "created_at": "@D:2025-11-24T10:23:10",
        "display_name": "Visited Website",
        "event_type": "visited_website",
        "event_type_id": 300
    }

GET /#account_id/events

Get a list of all member event types created for an account.

Returns:

A list of member event types created in the specified account.

Sample Response [showhide]
    GET /100/events
    [
        {
            "account_id": 100,
            "created_at": "@D:2025-11-24T10:23:10",
            "display_name": "Visited Website",
            "event_type": "visited_website",
            "event_type_id": 300
        },
        {
            "account_id": 100,
            "created_at": "@D:2025-11-25T10:32:44",
            "event_type": "Purchased Tickets",
            "display_name": "purchased_tickets",
            "event_type_id": 200
        }
    ]

GET /#account_id/events/#event_type_id

Get a specific member event type.

Returns: Information for the specific member event type.
Raises: Http404 if no member event type with the specified ID is found.

Sample Response [showhide]
GET /100/events/200
{
    "account_id": 100,
    "created_at": "@D:2025-11-25T10:32:44",
    "event_type": "New Purchased Tickets",
    "display_name": "new_purchased_tickets",
    "event_type_id": 200
}

PUT /#account_id/events/#event_type_id

Update a specific member event type.

Parameters:
  • event_type (string) – Required. The type of the event.
  • display_name (string) – Required. A name for displaying the event in the UI.
Returns: Information for the updated member event type.
Raises:
  • Http404 if no member event type with the specified ID is found.
  • Http400 if the event type already exists.

Sample Response [showhide]
    PUT /100/events/200
    {
        "account_id": 100,
        "created_at": "@D:2025-11-25T10:32:44",
        "event_type": "Purchased Tickets",
        "display_name": "purchased_tickets",
        "event_type_id": 200
    }

DELETE /#account_id/events/#event_type_id

Delete a specific member event type. This will also delete all events of this event type. This action is not reversable.

With these endpoints, you can create member events and view information about specific member's events.

POST /#account_id/events/members

Create up to 10 member events.

Parameters:
  • events (array of JSON objects) – Required. A list of member event JSON objects.
    • attributes (JSON object) – A generic JSON object that contains additional attributes about the event.
    • email (string) – Required if member_id is not present. The member email.
    • member_id (integer) – Required if email is not present. The member ID.
    • event_type_id (integer) – Required if event_type is not present. The event type ID.
    • event_type (string) – Required if event_type_id is not present. An existing defined event_type.
    • event_monetary_value (number) – A monetary value associated with the event.
    • mailing_id (integer) – A mailing ID to associate with the event.
    • event_timestamp (datetime) – Timestamp of the event.
Returns:

Information for the new member events.

Raises: Http400 if no events are provided.

Sample Response [showhide]
    POST /100/events/members
    [
        {
            "account_id": 100,
            "attributes": null,
            "event_timestamp": "@D:2025-12-02T11:23:47",
            "event_id": 1,
            "event_type_id": 300,
            "event_monetary_value": 8.0,
            "inserted_at": "@D:2025-12-02T11:23:47"
            "mailing_id": null,
            "member_id": 555,
        },
        {
            "account_id": 100,
            "attributes": null,
            "event_timestamp": "@D:2025-12-02T11:23:47",
            "event_id": 1,
            "event_type_id": 300,
            "event_monetary_value": 2.0,
            "inserted_at": "@D:2025-12-02T11:23:47"
            "mailing_id": null,
            "member_id": 444,
        }
    ]

GET /#account_id/events/members/#member_id

Get a list of all member events for a specific member.

Returns:

Member events for a specific member.

Raises: Http404 if no member with the specified ID is found.

Sample Response [showhide]
    GET /100/events/members/555
    [
        {
            "account_id": 100,
            "event_timestamp": "@D:2025-12-02T11:23:47",
            "event_type_id": 300,
            "event_monetary_value": 8.0,
            "inserted_at": "@D:2025-12-02T11:23:47"
            "mailing_id": null,
            "member_id": 444,
        },
        {
            "account_id": 100,
            "event_timestamp": "@D:2025-12-02T11:23:47",
            "event_type_id": 400,
            "event_monetary_value": 2.0,
            "inserted_at": "@D:2025-12-02T11:23:47"
            "mailing_id": null,
            "member_id": 444,
        }
    ]

Related Topics

Interested in Emma?

Emma's email marketing makes communicating simple and stylish. Get started today.