June · Schema

June Track Request

Request body schema for the June Tracking API /track endpoint.

AnalyticsProduct AnalyticsB2B SaaSEvent TrackingSegment CompatibleRetentionFeature AdoptionActivation

Properties

Name Type Description
userId string The ID for this user in your database. At least one of userId or anonymousId must be provided.
anonymousId string An ID associated with the user when you do not know who they are.
event string The name of the event you are tracking.
properties object A dictionary of properties for the event.
timestamp string ISO 8601 date-time when the track took place. Defaults to server time if omitted.
context object
View JSON Schema on GitHub

JSON Schema

june-track-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/june/main/json-schema/june-track-request-schema.json",
  "title": "June Track Request",
  "description": "Request body schema for the June Tracking API /track endpoint.",
  "type": "object",
  "required": ["event"],
  "properties": {
    "userId": {
      "type": "string",
      "description": "The ID for this user in your database. At least one of userId or anonymousId must be provided."
    },
    "anonymousId": {
      "type": "string",
      "description": "An ID associated with the user when you do not know who they are."
    },
    "event": {
      "type": "string",
      "description": "The name of the event you are tracking."
    },
    "properties": {
      "type": "object",
      "description": "A dictionary of properties for the event.",
      "additionalProperties": true
    },
    "timestamp": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 date-time when the track took place. Defaults to server time if omitted."
    },
    "context": {
      "$ref": "#/$defs/context"
    }
  },
  "anyOf": [
    { "required": ["userId"] },
    { "required": ["anonymousId"] }
  ],
  "$defs": {
    "context": {
      "type": "object",
      "description": "Extra context to attach to the call.",
      "properties": {
        "groupId": {
          "type": "string",
          "description": "Group or company identifier to associate the event with."
        },
        "ip": {
          "type": "string",
          "description": "The user's IP address."
        },
        "locale": {
          "type": "string",
          "description": "The locale of the user, e.g. en-US."
        },
        "timezone": {
          "type": "string",
          "description": "The user's timezone in tzdata format."
        }
      },
      "additionalProperties": true
    }
  }
}