---
title: Add Events
slug: api-documentation/add-events
docTags: 
createdAt: 2026-08-27T17:08:30.775Z
---

{
  "id": "yVb-D_N01_ytNGGzsDHwu",
  "type": "api-oas-v2",
  "data": {
    "method": "POST",
    "url": "https://api.upstartcommerce.com/v1/siteactivity/events",
    "servers": [
      {
        "url": "https://api.upstartcommerce.com/v1/siteactivity/events"
      }
    ],
    "name": "Add Events",
    "description": "<p>This endpoint adds information about the consumer's activity to be distributed inside the system.</p>\n<p>Authorized permissions:</p>\n<ul>\n<li><code>siteactivity.event.create</code></li>\n</ul>\n<p>Authorized roles:</p>\n<ul>\n<li>customer.default</li>\n<li>customer.anonymous</li>\n</ul>",
    "contentType": "application/json",
    "request": {
      "pathParameters": [],
      "headerParameters": [
        {
          "kind": "required",
          "name": "x-upstart-tenant",
          "type": "string",
          "description": "Tenant identifier associated with the site this call is for."
        }
      ],
      "queryParameters": [],
      "bodyDataParameters": [
        {
          "kind": "required",
          "name": "body",
          "type": "array",
          "description": "This should contain the list of events to be stored.",
          "customType": "InClientEventRequest[]",
          "schema": [
            {
              "name": "created",
              "kind": "optional",
              "type": "string<date-time>",
              "description": "<p>The date/time on which this event was created.</p>",
              "example": "2017-07-21T17:32:28Z",
              "format": "date-time"
            },
            {
              "name": "id",
              "kind": "optional",
              "type": "string<uuid>",
              "description": "event id",
              "format": "uuid"
            },
            {
              "name": "name",
              "kind": "required",
              "type": "string",
              "description": "event name"
            },
            {
              "name": "payload",
              "kind": "required",
              "type": "object",
              "description": "event payload",
              "example": "",
              "schema": []
            },
            {
              "name": "metadata",
              "kind": "optional",
              "type": "object",
              "description": "Metadata extracted from HTTP request headers and other sources for tracking and analytics",
              "modelRef": "#/components/schemas/Metadata",
              "customType": "Metadata",
              "schema": [
                {
                  "name": "query_id",
                  "kind": "optional",
                  "type": "string",
                  "description": "Query identifier for tracking"
                },
                {
                  "name": "ip_address",
                  "kind": "optional",
                  "type": "string",
                  "description": "IP address of the client",
                  "example": "192.168.1.100"
                },
                {
                  "name": "host",
                  "kind": "optional",
                  "type": "string",
                  "description": "The host header value from the HTTP request",
                  "example": "api.example.com"
                },
                {
                  "name": "page_title",
                  "kind": "optional",
                  "type": "string",
                  "description": "Title of the page"
                },
                {
                  "name": "browser_type",
                  "kind": "optional",
                  "type": "string",
                  "description": "Browser type information"
                },
                {
                  "name": "browser_version",
                  "kind": "optional",
                  "type": "string",
                  "description": "<p>The browser version parsed from the user-agent header</p>",
                  "example": "95.0.4638.69"
                },
                {
                  "name": "browser_name",
                  "kind": "optional",
                  "type": "string",
                  "description": "<p>The browser family name parsed from the user-agent header</p>",
                  "example": "Chrome"
                },
                {
                  "name": "referer",
                  "kind": "optional",
                  "type": "string",
                  "description": "The referer header value from the HTTP request",
                  "example": "https://www.example.com/page"
                },
                {
                  "name": "ctx_prev_uri",
                  "kind": "optional",
                  "type": "string",
                  "description": "Previous URI context"
                },
                {
                  "name": "ctx_prev_query",
                  "kind": "optional",
                  "type": "string",
                  "description": "Previous query context"
                },
                {
                  "name": "ctx_prev_path",
                  "kind": "optional",
                  "type": "string",
                  "description": "Previous path context"
                },
                {
                  "name": "os_manufacturer",
                  "kind": "optional",
                  "type": "string",
                  "description": "Operating system manufacturer",
                  "example": "Microsoft"
                },
                {
                  "name": "os_name",
                  "kind": "optional",
                  "type": "string",
                  "description": "Operating system name",
                  "example": "Windows"
                },
                {
                  "name": "os_id",
                  "kind": "optional",
                  "type": "string",
                  "description": "Operating system identifier"
                },
                {
                  "name": "os_device",
                  "kind": "optional",
                  "type": "string",
                  "description": "Operating system device type"
                },
                {
                  "name": "os_group",
                  "kind": "optional",
                  "type": "string",
                  "description": "Operating system group"
                }
              ]
            },
            {
              "name": "service",
              "kind": "required",
              "type": "string",
              "description": "<p>service/domain name</p>"
            },
            {
              "name": "traceId",
              "kind": "optional",
              "type": "string",
              "description": "<p>For internal consumption by UpStart Commerce; to allow tracking of this event through various systems.</p>"
            }
          ],
          "modelRef": "#/components/schemas/InClientEventRequest",
          "isExpanded": true
        }
      ],
      "formDataParameters": [],
      "oAuthParameters": [
        {
          "id": "AnonymousAuth",
          "name": "AnonymousAuth",
          "kind": "optional",
          "type": "http",
          "description": "This is the most basic authentication. The minimum requirement for access is a token representing the user as an anonymous client.",
          "scheme": "bearer"
        },
        {
          "id": "LoggedIn",
          "name": "LoggedIn",
          "kind": "optional",
          "type": "http",
          "description": "The presence of this token indicates that the user is a known consumer that has previously logged into the platform.",
          "scheme": "bearer"
        },
        {
          "id": "NoChannelPortalAccess",
          "name": "NoChannelPortalAccess",
          "kind": "optional",
          "type": "http",
          "description": "<p>This authentication is required for clients to interact with any of the management APIs. Similar to 'LoggedIn', it indicates that the user has actually logged into the system, but in this case with a management role.</p>",
          "scheme": "bearer"
        }
      ],
      "cookieParameters": []
    },
    "responses": [
      {
        "statusCode": "200",
        "description": "<p>Success–events stored successfully.</p>",
        "jsonExample": "",
        "isExpanded": true
      },
      {
        "statusCode": "400",
        "description": "The request contained information that the server was unable to process. Appropriate errors are provided in the response body.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "<p>Error payload returned when a request fails validation, identifying the offending input by name, code and detail.</p>",
            "customType": "ValidationErrorResponse",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "detail",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "reason",
                "kind": "optional",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/ValidationErrorResponse",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "401",
        "description": "The provided credentials were not valid for this endpoint. It may be that they are expired or that the user's roles are insufficient.",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "description": "<p>Standard error payload identifying a failure by name, code and detail, with an optional machine-readable reason.</p>",
            "customType": "ErrorResponse",
            "schema": [
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "code",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "detail",
                "kind": "required",
                "type": "string",
                "description": ""
              },
              {
                "name": "reason",
                "kind": "optional",
                "type": "string",
                "description": ""
              }
            ],
            "modelRef": "#/components/schemas/ErrorResponse",
            "isExpanded": true
          }
        ]
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "VGSPkwHkoFDlKBN_XbG-0",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request POST \\\n     --url https://api.upstartcommerce.com/v1/siteactivity/events \\\n     --header 'accept: application/json' \\\n     --header 'content-type: application/json' \\\n     --header 'x-upstart-tenant: string' \\\n     --data '[\n     {\n     \"name\": \"\",\n     \"payload\": \"\",\n     \"service\": \"\"\n     }\n     ]'"
        },
        {
          "id": "G6s4o_nm84SxH_Wzfvw00",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"application/json\");\nmyHeaders.append(\"content-type\", \"application/json\");\nmyHeaders.append(\"x-upstart-tenant\", \"string\");\n\nvar raw = JSON.stringify([\n   {\n      \"name\": \"\",\n      \"payload\": \"\",\n      \"service\": \"\"\n   }\n]);\n\nvar requestOptions = {\n   method: 'POST',\n   headers: myHeaders,\n   body: raw,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.upstartcommerce.com/v1/siteactivity/events\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "GpC8OUQ2-2RE2q8d4Ctyw",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.upstartcommerce.com/v1/siteactivity/events\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"accept\"] = \"application/json\"\nrequest[\"content-type\"] = \"application/json\"\nrequest[\"x-upstart-tenant\"] = \"string\"\nrequest.body = JSON.dump([\n   {\n      \"name\": \"\",\n      \"payload\": \"\",\n      \"service\": \"\"\n   }\n])\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "uNSLPKc8u7Q0Hy1g3BALI",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.upstartcommerce.com/v1/siteactivity/events\"\n\npayload = json.dumps([\n   {\n      \"name\": \"\",\n      \"payload\": \"\",\n      \"service\": \"\"\n   }\n])\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json',\n   'x-upstart-tenant': 'string'\n}\n\nresponse = requests.request(\"POST\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        }
      ],
      "selectedLanguageId": "VGSPkwHkoFDlKBN_XbG-0"
    },
    "results": {
      "languages": [
        {
          "id": "1GIIsHZ8h4YwzXk4QG8Fi",
          "language": "200",
          "code": "// Success–events stored successfully.\n"
        },
        {
          "id": "VWypvUi6-JvQVGAQxEs-F",
          "language": "400",
          "code": "// The request contained information that the server was unable to process. Appropriate errors are provided in the response body.\n{\n  \"name\": \"\",\n  \"code\": \"\",\n  \"detail\": \"\",\n  \"reason\": \"\"\n}"
        },
        {
          "id": "f_n1EuDdNCWNUtwc-GOIU",
          "language": "401",
          "code": "// The provided credentials were not valid for this endpoint. It may be that they are expired or that the user's roles are insufficient.\n{\n  \"name\": \"\",\n  \"code\": \"\",\n  \"detail\": \"\",\n  \"reason\": \"\"\n}"
        }
      ],
      "selectedLanguageId": "1GIIsHZ8h4YwzXk4QG8Fi"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}