From airship
Submit custom events to Airship for user tracking, automation triggers, and audience segmentation. Use when tracking user actions, behaviors, or when events need to trigger automated messages and sequences.
How this skill is triggered — by the user, by Claude, or both
Slash command
/airship:custom-eventsThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
This skill enables agents to submit custom events to Airship for user tracking, automation triggers, and audience segmentation. Custom events can trigger automated messages and sequences, and can be used for detailed user behavior analysis.
This skill enables agents to submit custom events to Airship for user tracking, automation triggers, and audience segmentation. Custom events can trigger automated messages and sequences, and can be used for detailed user behavior analysis.
Method: POST
Path: /api/custom-events
Base URL:
https://go.urbanairship.comhttps://go.airship.euhttps://api.asnapius.comhttps://api.asnapieu.comPath: /api/custom-events
| Method | Endpoint | Scope |
|---|---|---|
| OAuth (recommended) | api.asnapius.com | evt |
| Bearer token | go.urbanairship.com | — |
See Authentication Guide for token request details and MCP setup.
X-UA-Appkey: <application_key>is required for this endpoint regardless of auth method.
Headers (X-UA-Appkey required for this endpoint):
OAuth (api.asnapius.com):
X-UA-Appkey: <application_key>
Authorization: Bearer <oauth_token>
Content-Type: application/json
Accept: application/vnd.urbanairship+json; version=3
Bearer token (go.urbanairship.com):
X-UA-Appkey: <application_key>
Authorization: Bearer <dashboard_token>
Content-Type: application/json
Accept: application/vnd.urbanairship+json; version=3
The request body must be an array of Custom Event objects (1-100 events per request).
{
"occurred": "2024-01-15T14:30:00Z", // Optional, defaults to current time
"user": {
// Required: One of the user identifiers below
},
"body": {
"name": "event_name", // Required: lowercase only
"value": 123.45, // Optional: numeric value
"transaction": "transaction-uuid", // Optional: transaction ID
"interaction_type": "url", // Optional: url, email, social, etc.
"interaction_id": "path/to/resource", // Optional: where event occurred
"session_id": "session-uuid", // Optional: user session ID
"unique_id": "unique-event-id", // Optional: for deduplication
"properties": { // Optional: custom properties object
"key1": "value1",
"key2": 123,
"nested": {
"property": "value"
}
}
}
}
Choose ONE of the following user identifier types:
By Named User ID:
{
"user": {
"named_user_id": "user-123"
}
}
By Channel ID:
{
"user": {
"ios_channel": "uuid",
"android_channel": "uuid",
"web_channel": "uuid",
"amazon_channel": "uuid",
"channel": "uuid" // Generic channel (Airship determines device)
}
}
body.name[^A-Z] - any characters except uppercase letters400 Bad RequestThe body.properties object:
2024-01-15T14:30:00Z2024-01-15T14:30:002024-01-15 14:30:00ZSuccess (200 OK):
{
"ok": true,
"operationId": "ef625038-70a3-41f1-826f-57bc11dd625a"
}
Error (400 Bad Request):
{
"ok": false,
"error": "Event name contains uppercase characters",
"error_code": 40001
}
[
{
"occurred": "2024-01-15T14:30:00Z",
"user": {
"named_user_id": "hugh.manbeing"
},
"body": {
"name": "purchased",
"value": 239.85,
"transaction": "886f53d4-3e0f-46d7-930e-c2792dac6e0a",
"properties": {
"product_id": "prod-456",
"category": "electronics"
}
}
}
]
[
{
"occurred": "2024-01-15T14:30:00Z",
"user": {
"named_user_id": "user-123"
},
"body": {
"name": "product_viewed",
"interaction_type": "url",
"interaction_id": "your.store/us/en_us/pd/shoe/pid-11046546",
"session_id": "22404b07-3f8f-4e42-a4ff-a996c18fa9f1",
"properties": {
"product_id": "pid-11046546",
"category": "footwear",
"price": 79.95,
"brand": "Victory Sneakers"
}
}
}
]
[
{
"user": {
"named_user_id": "user-123"
},
"body": {
"name": "page_viewed",
"properties": {
"page": "home"
}
}
},
{
"user": {
"named_user_id": "user-123"
},
"body": {
"name": "button_clicked",
"properties": {
"button": "signup"
}
}
}
]
[
{
"occurred": "2024-01-15T14:30:00Z",
"user": {
"ios_channel": "f59970d3-3d42-4584-907e-f5c57f5d46a1"
},
"body": {
"name": "app_opened",
"properties": {
"source": "push_notification"
}
}
}
]
{
"name": "submit_custom_event",
"description": "Submit custom events to Airship for user tracking, automation triggers, and segmentation",
"parameters": {
"type": "object",
"properties": {
"events": {
"type": "array",
"description": "Array of custom events (1-100 events)",
"items": {
"type": "object",
"properties": {
"occurred": {
"type": "string",
"format": "date-time",
"description": "ISO 8601 datetime when event occurred (within past 90 days)"
},
"user": {
"type": "object",
"description": "User identifier - named_user_id or channel ID",
"properties": {
"named_user_id": {"type": "string"},
"ios_channel": {"type": "string", "format": "uuid"},
"android_channel": {"type": "string", "format": "uuid"},
"web_channel": {"type": "string", "format": "uuid"},
"channel": {"type": "string", "format": "uuid"}
}
},
"body": {
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "Event name (lowercase only, no uppercase)"
},
"value": {"type": "number"},
"transaction": {"type": "string"},
"interaction_type": {"type": "string"},
"interaction_id": {"type": "string"},
"session_id": {"type": "string"},
"unique_id": {"type": "string"},
"properties": {
"type": "object",
"description": "Custom properties (string values max 255 chars)"
}
},
"required": ["name"]
}
},
"required": ["user", "body"]
}
}
},
"required": ["events"]
}
}
Guides creation, editing, and verification of skills for AI coding agents using test-driven development with subagent scenarios. Use when authoring or debugging skills.
npx claudepluginhub urbanairship/agent-tools --plugin airship