Skip to content

List Trust Center document access events

GET
/trust-center/access-events
curl --request GET \
--url 'https://api.vendorica.com/v1/trust-center/access-events?limit=50' \
--header 'Authorization: Bearer <token>'

The document access log: every read of a Trust Center document by a visitor holding a credential, newest first, cursor-paginated (?cursor=<opaque>&limit=<n>; ?page= is refused). One event per document, so a bulk ZIP of twelve files is twelve events. eventType is resource_view or resource_download; channel says how it left — detail (the metadata page), viewer (rendered in the browser), download, bulk_zip or external_link. resourceTitle, resourceFileName and resourceContentHash are a snapshot taken when the document was served, so a later rename, re-upload or deletion does not rewrite the history; snapshotReconstructed: true marks the events recorded before snapshots existed, whose snapshot was filled in afterwards from the document as it then stood. Anonymous reads of ungated documents are never recorded, so they are never here. The network address is stored only as a /24 or /48 prefix and the browser only as a family. Filters: search (visitor email substring), eventType, channel, resourceId (repeatable), visitorTokenId, occurredFrom / occurredTo (a bare date covers the whole day). Pairs with the trustcenter.resource_downloaded webhook, whose accessEventId is the id of the event here.

cursor
string
>= 1 characters
limit
integer
default: 50 >= 1 <= 500
search
string
>= 1 characters <= 255 characters
eventType
Array<string> | null
<= 100 items
Allowed values: resource_view resource_download
channel
Array<string> | null
<= 100 items
Allowed values: detail viewer download bulk_zip external_link
resourceId
Array<string> | null
<= 100 items
visitorTokenId
string format: uuid
occurredFrom
string
occurredTo
string

Success

Media typeapplication/json
object
success
required
boolean
data
required
Array<object>
object
id
required
string format: uuid
occurredAt
required
string format: date-time
eventType
required
string
Allowed values: resource_view resource_download
channel
required
string | null
Allowed values: detail viewer download bulk_zip external_link
watermarked
required
boolean | null
resourceId
required
string | null format: uuid
resourceTitle
required
string | null
resourceFileName
required
string | null
resourceContentHash
required
string | null
snapshotReconstructed
required
boolean
resourceDeleted
required
boolean
visitorTokenId
required
string format: uuid
visitorEmail
required
string
visitorName
required
string | null
visitorCompany
required
string | null
visitorTokenOrigin
required
string
ipPrefix
required
string | null
country
required
string | null
userAgentFamily
required
string | null
timestamp
required
string format: date-time
requestId
string
message
string
cursor
required
object
nextCursor
required
string | null
hasMore
required
boolean
limit
required
integer
Example
{
"success": true,
"data": [
{
"id": "4e7bc748-d6da-497e-8751-ffc759159ff9",
"occurredAt": "2026-08-19T09:41:12.004Z",
"eventType": "resource_view",
"channel": "detail",
"watermarked": true,
"resourceId": "fed9b2bc-eeb4-411a-8ef4-da5b5a73c38d",
"resourceTitle": "string",
"resourceFileName": "string",
"resourceContentHash": "string",
"snapshotReconstructed": true,
"resourceDeleted": true,
"visitorTokenId": "d14b6a35-b0b8-4495-87fa-c822f5c913d2",
"visitorEmail": "string",
"visitorName": "string",
"visitorCompany": "string",
"visitorTokenOrigin": "string",
"ipPrefix": "string",
"country": "string",
"userAgentFamily": "string"
}
],
"timestamp": "2026-08-19T09:41:12.004Z",
"requestId": "req_01J5X8ZC3K4T7Q9M2W6B0N1V4H",
"message": "string",
"cursor": {
"nextCursor": "string",
"hasMore": true,
"limit": 1
}
}

Validation error

Media typeapplication/json
object
success
required
boolean
error
required
string
code
required
string
details
timestamp
required
string format: date-time
requestId
string
Example
{
"success": false,
"error": "Bad request",
"code": "BAD_REQUEST",
"timestamp": "2026-08-19T09:41:12.004Z",
"requestId": "req_01J5X8ZC3K4T7Q9M2W6B0N1V4H"
}

Unauthorized

Media typeapplication/json
object
success
required
boolean
error
required
string
code
required
string
details
timestamp
required
string format: date-time
requestId
string
Example
{
"success": false,
"error": "Unauthorized",
"code": "UNAUTHORIZED",
"timestamp": "2026-08-19T09:41:12.004Z",
"requestId": "req_01J5X8ZC3K4T7Q9M2W6B0N1V4H"
}

Forbidden — missing scope

Media typeapplication/json
object
success
required
boolean
error
required
string
code
required
string
details
timestamp
required
string format: date-time
requestId
string
Example
{
"success": false,
"error": "Forbidden",
"code": "FORBIDDEN",
"timestamp": "2026-08-19T09:41:12.004Z",
"requestId": "req_01J5X8ZC3K4T7Q9M2W6B0N1V4H"
}

Not found

Media typeapplication/json
object
success
required
boolean
error
required
string
code
required
string
details
timestamp
required
string format: date-time
requestId
string
Example
{
"success": false,
"error": "Resource not found",
"code": "NOT_FOUND",
"timestamp": "2026-08-19T09:41:12.004Z",
"requestId": "req_01J5X8ZC3K4T7Q9M2W6B0N1V4H"
}

Rate limit exceeded

Media typeapplication/json
object
success
required
boolean
error
required
string
code
required
string
details
timestamp
required
string format: date-time
requestId
string
Example
{
"success": false,
"error": "Too many requests",
"code": "TOO_MANY_REQUESTS",
"timestamp": "2026-08-19T09:41:12.004Z",
"requestId": "req_01J5X8ZC3K4T7Q9M2W6B0N1V4H"
}