You can store or review user activities in SAS Customer Intelligence 360 as audit records. This article is based on information available as of August 2025.
Audit records include details about the actions performed, the users who carried out each action, and the items that were affected. These actions may be performed through the user interface or via REST API endpoints.
Example:
- Login / Logout
- User related actions under General Settings -> User Management
- Access Point related actions under General Settings -> External Access -> Access Points
- Audience Connections related actions under General Settings -> Audience Management -> Audience Connections
You can download the list of actions from the file: ci360-audit-records-actions.zip
1. Create an API Credentials
Create a new API Credential from General Settings -> External Access -> API Credentials
Make sure to copy the secret value when you create a new API Credential
2. Generate a static JWT
Install Python 3.9 or later and the pyJwt package .
Run the following Python script and check the value of JWT.
import base64
import jwt
tenantId = 'YOUR TENANT ID'
secret = 'YOUR SECRET'
encodedSecret = base64.b64encode(bytes(secret, 'utf-8'))
token = jwt.encode({'clientID': tenantId}, encodedSecret, algorithm='HS256')
print('\nJWT token: ', token)
3. Generate a temporally JWT
Send a POST call to the REST API.
URL
POST https://<external gateway host>/token
Header
- Specify the static JWT as the value for the Authorization header.
- Set the value of the Content-type header to application/x-www-form-urlencoded.
Body
- Add the password parameter and set the value to the secret that was generated at Step1.
Response
- Check the value of Temporary JWT from the response body.
4. Call Marketing Admin API
Send a GET call to the /auditRecords endpoint:
URL
GET https://<external gateway host>/marketingAdmin/auditRecords?dataRangeStartTimeStamp=YYYY-MM-DDTHH:MMZ&
dataRangeEndTimeStamp=YYYY-MM-DDTHH:MMZ
example time stamp: 2023-06-14T02:00Z
Header
- Specify the Temporary JWT as the value for the Authorization header.
Response
- Check the value of data stored URL from the response body.
5.Download and open Parquet file
- Copy the URL where the data is stored from the response body and paste it into your browser.
- There are several ways to view the contents of Parquet files, but the simplest method is to use ParquetViewer.
- You can view the Parquet files in ParquetViewer as shown below.
- You can save the file as CSV format.
Handy feature cool that it tracks both UI and API actions. Makes it way easier to keep tabs on who did what without digging through logs.
Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!
The rapid growth of AI technologies is driving an AI skills gap and demand for AI talent. Ready to grow your AI literacy? SAS offers free ways to get started for beginners, business leaders, and analytics professionals of all skill levels. Your future self will thank you.