Inbound

Create events in bulk

Record multiple events using the same validation, Activity idempotency, metric emission, and flow-trigger behavior as the single-event endpoint. Results are returned in request order; one invalid item does not prevent valid items from being processed.

POST/v2026-04/events/bulk/

Usage

Start from this cURL example and add filters as needed.

cURL
curl -X POST https://core.appliedlabs.ai/v2026-04/events/bulk/ \
  -H "Authorization: Bearer <api-token>" \
  -H "X-Shop-Id: 66e4c4d2-34e8-4f85-8f51-84b6ed7b5f10" \
  -H "Content-Type: application/json" \
  --data '{
  "events": [
    {
      "contact": {
        "email": "string",
        "name": "string",
        "phone": "string",
        "remote_id": "string"
      },
      "description": "",
      "event_time": "2026-04-07T14:30:00Z",
      "metric": {
        "additional_properties": {
          "additionalProp1": "string"
        },
        "context_object_id": "66e4c4d2-34e8-4f85-8f51-84b6ed7b5f10",
        "context_object_type": "string",
        "deduping_key": "string",
        "metric_name": "string",
        "metric_object_id": "66e4c4d2-34e8-4f85-8f51-84b6ed7b5f10",
        "metric_object_type": "string",
        "value": 1
      },
      "name": "string",
      "remote_id": "string",
      "remote_platform": "string"
    }
  ]
}'

Authorizations

Authorizationstringheaderrequired

Send your Applied API key as Authorization: Bearer AL.... Create the key in the Applied dashboard and keep it on your server.

Header parameters

X-Shop-Idstring · uuidrequired

The shop whose data you want to read.

Body

required
eventsarrayrequired

Up to 100 events to record in one request.

events.contactallOf

Resolve or create a contact and add the event to their timeline.

events.descriptionstring

Optional human-readable Activity description.

events.event_timestring · date-time

When the event occurred. Defaults to now.

events.metricallOfrequired

Emit a metric event for analytics and Activity Event flow triggers.

events.namestringrequired

Human-readable event name used as the Activity title. The metric's metric_name remains the machine-readable signal type.

events.remote_idstring | null

Your system's durable ID for this event Activity.

events.remote_platformstring | null

The external platform or source namespace for remote_id.

Generated Exampleapplication/json
{
  "events": [
    {
      "contact": {
        "email": "string",
        "name": "string",
        "phone": "string",
        "remote_id": "string"
      },
      "description": "",
      "event_time": "2026-04-07T14:30:00Z",
      "metric": {
        "additional_properties": {
          "additionalProp1": "string"
        },
        "context_object_id": "66e4c4d2-34e8-4f85-8f51-84b6ed7b5f10",
        "context_object_type": "string",
        "deduping_key": "string",
        "metric_name": "string",
        "metric_object_id": "66e4c4d2-34e8-4f85-8f51-84b6ed7b5f10",
        "metric_object_type": "string",
        "value": 1
      },
      "name": "string",
      "remote_id": "string",
      "remote_platform": "string"
    }
  ]
}

Response

Per-item event results in request order.

resultsarrayrequired
results.errorobject
results.eventobject
results.indexintegerrequired
results.statusenum<string>required
successerror
{
  "results": [
    {
      "error": {
        "code": "string",
        "fields": {
          "additionalProp1": null
        },
        "message": "string",
        "request_id": "string"
      },
      "event": {
        "contact": {
          "email": "string",
          "id": "66e4c4d2-34e8-4f85-8f51-84b6ed7b5f10",
          "phone": "string",
          "remote_id": "string"
        }
      },
      "index": 42,
      "status": "success"
    }
  ]
}