Activity API Developer Guide

Discover APIs available for Aconex audit data and events.

The Activity API provides read-only access to Aconex application events. This helps you analyze audit data such as document updates and user logins.

View the Swagger API documentation.

Before you begin

You must raise a Service Request to request access to the Activity API. The support team will respond once your organization has been granted access to use it.

Authentication model

OAuth 2.0
Follow the instructions to implement OAuth. Use an Access Token to make authorized requests on each Activity API request.


Authorization: Bearer {access_token}

HMAC (not supported for new implementations)

This method is deprecated and cannot be used for new implementations. This information is provided as reference only. Customers who were previously issued with a HMAC key can also use an OAuth token, but do not send both OAuth and HMAC headers on the same request.

Send the HMAC token along with organization_id on each Activity API request.


Authorization: HMAC {organisation_id} {signature} and X-HMAC-DATE: {HTTP-date}

Endpoint Summary

Item

Value

Base URL (Aconex instance)

https://{hostname}

Content type

application/json

Authentication

OAuth 2.0 bearer token

 

Method

Path

Purpose

GET

/eventstream/events/{eventId}

Retrieve a single Event by UUID

GET

/eventstream/events

Retrieve a continuous series of events

GET

/eventstream/events/indexes

List available hourly indices within an index bucket

GET

/eventstream/events/durationevents

Retrieve events within a duration index

Endpoint details

GET /eventstream/events/{eventId}

Retrieve a single Event by UUID.

Parameters

Parameter

In

Required

Type

Description

eventId

Path

Yes

UUID string

UUID of the Event


Sample request

GET https://us1.aconex.com/eventstream/events/f7739519-916f-400e-b1f3-8aeb29def406


Sample response


{
  "event_id": "f7739519-916f-400e-b1f3-8aeb29def406",
  "host": "aconex-authentication-64d9544566-7lmjl",
  "ip_address": "127.0.0.1",
  "event_type": "AUTHENTICATION:SUCCESS",
  "user": {
    "id": "555",
    "username": "poleary",
    "organization": "Majestic",
    "firstName": "Pat",
    "lastName": "OLeary",
    "organizationId": "1"
  },
  "timestamp": "2026-05-13T11:36:52UTC",
  "_links": {
    "self": {
      "href": "http://us1.aconex.com/events/f7739519-916f-400e-b1f3-8aeb29def406"
    }
  }
}


Typical responses:

  • 200 OK
  • 401 Unauthorized
  • 404 Not Found

 

GET /eventstream/events

Parameters

Parameter

In

Required

Type

Description

startTime

Query

No

String

Earliest event time in compact ISO8601 hourly UTC format

startEvent

Query

No

UUID string

UUID of earliest event in the series, inclusive

limit

Query

No

Integer

Number of events to return. Default 1000. Maximum 10000


Response schema

{
  "events": [
    {
      "event_id": "string",
      "host": "string",
      "ip_address": "string",
      "event_type": "string",
      "user": {
        "id": "string",
        "username": "string",
        "organization": "string",
        "firstName": "string",
        "lastName": "string",
        "organizationId": "string",
        "email": "string"
      },
      "document": {
        "id": "string",
        "filename": "string",
        "documentNo": "string",
        "md5": "string"
      },
      "timestamp": "string",
      "project": {
        "projectId": "string",
        "projectName": "string",
        "projectUser": {
          "id": "string",
          "username": "string",
          "organization": "string",
          "firstName": "string",
          "lastName": "string",
          "organizationId": "string",
          "email": "string"
        }
      },
      "correspondence": {
        "id": "string",
        "mailNo": "string",
        "to": [
          {
            "id": "string",
            "username": "string",
            "organization": "string",
            "firstName": "string",
            "lastName": "string",
            "organizationId": "string",
            "email": "string"
          }
        ],
        "cc": [
          {
            "id": "string",
            "username": "string",
            "organization": "string",
            "firstName": "string",
            "lastName": "string",
            "organizationId": "string",
            "email": "string"
          }
        ],
        "bcc": [
          {
            "id": "string",
            "username": "string",
            "organization": "string",
            "firstName": "string",
            "lastName": "string",
            "organizationId": "string",
            "email": "string"
          }
        ]
      },
      "get_links": {
        "self": {
          "href": "string"
        }
      },
      "user_agent": "string",
      "fileInfo": [
        {
          "fileName": "string",
          "fileExtension": "string"
        }
      ],
      "project_info": {
        "projectID": 0,
        "projectShortName": "string",
        "projectName": "string"
      },
      "target_users": [
        {
          "id": "string",
          "username": "string",
          "organization": "string",
          "firstName": "string",
          "lastName": "string",
          "organizationId": "string",
          "email": "string"
        }
      ],
      "role": {
        "roleId": 0,
        "roleName": "string"
      },
      "securedAsset": {
        "assetId": 0,
        "assetName": "string"
      }
    }
  ],
  "get_links": {
    "self": {
      "href": "string"
    }
  }
}


Sample request

GET https://us1.aconex.com/eventstream/events


Sample response


{
    "events": [
        {
            "event_id": "f7739519-916f-400e-b1f3-8aeb29def406",
            "host": "aconex-authentication-64d9544566-7lmjl",
            "ip_address": "127.0.0.1",
            "event_type": "AUTHENTICATION:SUCCESS",
            "user": {
                "id": "555",
                "username": "poleary",
                "organization": "Majestic",
                "firstName": "Pat",
                "lastName": "OLeary",
                "organizationId": "1"
            },
            "timestamp": "2026-05-13T11:36:52UTC",
            "_links": {
                "self": {
                    "href": "http://us1.aconex.com/events/f7739519-916f-400e-b1f3-8aeb29def406"
                }
            }
        },
        {
            "event_id": "9fc343b3-dc11-4ad0-a80f-82b27e21a220",
            "host": "a8be74f82532",
            "ip_address": "127.0.0.1",
            "event_type": "AUTHENTICATION:LOGOFF",
            "user": {
                "id": "1879053358",
                "username": "poleary",
                "organization": "Majestic",
                "firstName": "Pat",
                "lastName": "OLeary",
                "organizationId": "1"
            },
            "timestamp": "2026-05-13T12:21:34UTC",
            "_links": {
                "self": {
                    "href": "http://us1.aconex.com/events/9fc343b3-dc11-4ad0-a80f-82b27e21a220"
                }
            },
            "role": {
                "roleId": null,
                "roleName": null
            }
        }
    ],
    "_links": {
        "self": {
            "href": "http://us1.aconex.com/events"
        }
    }
}

Note

  • The start of the series can be specified by either startTime or startEvent.
  • startTime uses compact ISO8601, reduced to hourly precision in UTC. For example, 2013031819.
  • If both are omitted, the API returns the most recent events.

Typical responses

  • 200 OK
  • 400 Bad Request
  • 401 Unauthorized

 

GET /eventstream/events/indexes

List all available hourly indices in yyyyMMddHH format within a given index bucket, for example yyyyMMdd. Use these indices with /events/durationevents.

Parameters

Parameter

In

Required

Type

Description

indexBucket

Query

No

String

Bucket to query, typically yyyyMMdd


Sample request

GET https://us1.aconex.com/eventstream/events/indexes?indexBucket=20260513


Sample response


[
  "2026051311",
  "2026051312",
  "2026051316"
]

Typical responses

  • 200 OK
  • 401 Unauthorized

 

GET /eventstream/events/durationevents

Fetch events JSON data that fall within the given duration or index.


Parameters

Parameter

In

Required

Type

Description

eventDuration

Query

No

String

Duration index in YYYYMMDD or YYYYMMDDHH format. Mutually exclusive with index

index

Query

No

String

Alternative name for the duration index. Mutually exclusive with eventDuration

limit

Query

No

Integer

Number of events to return


Sample request

GET https://us1.aconex.com/eventstream/events/durationevents?eventDuration=2026051311


Sample response


{
  "events": [
    {
      "event_id": "f7739519-916f-400e-b1f3-8aeb29def406",
      "host": "aconex-authentication-64d9544566-7lmjl",
      "ip_address": "127.0.0.1",
      "event_type": "AUTHENTICATION:SUCCESS",
      "user": {
        "id": "555",
        "username": "poleary",
        "organization": "Majestic",
        "firstName": "Pat",
        "lastName": "OLeary",
        "organizationId": "1"
      },
      "timestamp": "2026-05-13T11:36:52UTC",
      "_links": {
        "self": {
          "href": "http://us1.aconex.com/events/f7739519-916f-400e-b1f3-8aeb29def406"
        }
      }
    }
  ],
  "_links": {
    "self": {
      "href": "http://us1.aconex.com/events/durationevents?eventDuration=2026051311"
    }
  }
}

Note

  • You must provide exactly one eventDuration or index.
  • eventDuration is the preferred parameter name.
  • Do not send both eventDuration and index on the same request.
  • Values can be day-level YYYYMMDD or hour-level YYYYMMDDHH, for example 20231023 or 2023102309.

Typical responses

  • 200 OK
  • 400 Bad Request
  • 401 Unauthorized

Data model summary

Event responses can contain the following high-level objects:

Object

Description

Event

Core event payload including ID, timestamp, host, IP address, event type, user, optional document/correspondence/project details, and links

User

User details associated with the event

Document

Document metadata associated with the event

Correspondence

Correspondence metadata associated with the event

Project

Project metadata associated with the event

Links

Hypermedia links such as self.href

Example request


 curl --request GET \
  --url 'https://au1.aconex.com/eventstream/events?limit=110' \
  --header 'Authorization: Bearer eyJ4NXQjUzI1NiI...KtK5elB38rcAbgFtVP9A' \
  --header 'Cookie: com.aconex.locale=en_AU'