adjust-icon

Events endpoint

Use the /events endpoint to create or update events for one or more apps in a single request. This is useful for maintaining consistent event definitions across multiple apps.

Create or update events

Create new events or update existing events for one or more apps. The API matches events by name—if an event with the same name already exists, it will be updated.

API protocol

Endpoint: https://automate.adjust.com/app-automation/events

Method: POST

Request body: Events Request Payload

Response: Events Result

Parameters

ParameterData typeRequiredDescription
app_tokensArray[String]YesList of app tokens to create/update events for.
eventsArray[Object]YesList of event definitions. See Event Object.

Event object

ParameterData typeRequiredDescription
nameStringYesName of the event. Used as the unique identifier.
uniqueBooleanNoWhether the event should be counted as unique per user. Default: false.

Example

Create events for multiple apps

Request - cURL
curl --location 'https://automate.adjust.com/app-automation/events' \
--header 'Authorization: Bearer {your-adjust-api-token}' \
--header 'Content-Type: application/json' \
--data '{
"app_tokens": ["abc123xyz", "def456uvw", "ghi789rst"],
"events": [
{ "name": "purchase", "unique": false },
{ "name": "registration", "unique": true },
{ "name": "level_complete", "unique": false },
{ "name": "add_to_cart", "unique": false }
]
}'
Response
{
"successes": [
{
"app_token": "abc123xyz",
"event": {
"id": 12345,
"name": "purchase",
"token": "abc1de",
"unique": false,
"autogenerated": false,
"archived": false
}
},
{
"app_token": "abc123xyz",
"event": {
"id": 12346,
"name": "registration",
"token": "fgh2ij",
"unique": true,
"autogenerated": false,
"archived": false
}
},
{
"app_token": "def456uvw",
"event": {
"id": 12347,
"name": "purchase",
"token": "klm3no",
"unique": false,
"autogenerated": false,
"archived": false
}
}
],
"failures": [
{
"app_token": "ghi789rst",
"name": "purchase",
"details": "App not found"
}
]
}

Create a single event

Request - cURL
curl --location 'https://automate.adjust.com/app-automation/events' \
--header 'Authorization: Bearer {your-adjust-api-token}' \
--header 'Content-Type: application/json' \
--data '{
"app_tokens": ["abc123xyz"],
"events": [
{ "name": "tutorial_complete", "unique": true }
]
}'
Response
{
"successes": [
{
"app_token": "abc123xyz",
"event": {
"id": 12348,
"name": "tutorial_complete",
"token": "pqr4st",
"unique": true,
"autogenerated": false,
"archived": false
}
}
],
"failures": []
}

Understanding event tokens

When you create an event, Adjust generates a unique event token. This token is used when sending events from the Adjust SDK:

  • Event name: Human-readable identifier you define (e.g., purchase)
  • Event token: System-generated identifier used in SDK calls (e.g., abc1de)

Unique events

Set unique: true for events that should only be counted once per user. This is useful for events like:

  • First purchase
  • Registration
  • First app launch
  • Subscription start

For events that can occur multiple times per user (like level completions or in-app purchases), set unique: false.

Error handling

The API processes events for each app independently. If an event fails for one app, it doesn’t affect other apps. Check both successes and failures arrays in the response.

Common failure reasons:

ReasonDescription
App not foundThe app token doesn’t exist or you don’t have access to it.
Event name invalidThe event name contains invalid characters or is too long.
Duplicate eventAn event with the same name already exists (this is not an error—the event will be updated).

Data models

Events Request Payload

ParameterData typeDescription
app_tokens*Array[String]List of Adjust app tokens to create/update events for.
events*Array[Object]List of event definitions.

Event Definition

ParameterData typeDescription
name*StringName of the event.
uniqueBooleanWhether the event is unique per user. Default: false.

Events Result

ParameterData typeDescription
successesArray[Object]List of successfully created/updated events.
failuresArray[Object]List of failed event operations.

Event Success

ParameterData typeDescription
app_token*StringThe app token the event belongs to.
event*ObjectThe created/updated event details.

Event Details

ParameterData typeDescription
id*IntegerInternal event ID.
name*StringEvent name.
token*StringEvent token for SDK integration.
unique*BooleanWhether the event is unique per user.
autogeneratedBooleanWhether the event was auto-generated. Default: false.
archivedBooleanWhether the event is archived. Default: false.
callback_urlStringCallback URL for this event.

Event Failure

ParameterData typeDescription
app_token*StringThe app token the operation failed for.
name*StringThe event name that failed.
details*StringDescription of what went wrong.