Skip to content

List Trust Center visitor tokens

GET
/trust-center/visitor-tokens
curl --request GET \
--url 'https://api.vendorica.com/v1/trust-center/visitor-tokens?page=1&limit=100' \
--header 'Authorization: Bearer <token>'

Who currently holds a credential to the gated half of the Trust Center, newest first, offset-paginated — the access review a security team runs against its own document vault. No token material is returned, ever. The raw token is one-shot (minted, mailed to the visitor, discarded); storage is a sha256 hash, and that hash is not published either. tokenSuffix is always null and exists so the shape does not change if a fragment is ever stored. status is active | expired | revoked — the answerable vocabulary. expired is DERIVED from expiresAt, so a token becomes expired with no row ever changing, which is why there is no status filter: a filter over a value computed after the page was cut returns short pages.

page
integer
default: 1 >= 1 <= 10000
limit
integer
default: 100 >= 1 <= 500

Success

Media typeapplication/json
object
success
required
boolean
data
required
Array<object>
object
id
required
string format: uuid
organizationId
required
string format: uuid
origin
required
string
visitorEmail
required
string
visitorName
required
string | null
companyName
required
string | null
tokenSuffix
required
string | null
status
required
string
Allowed values: active expired revoked
expiresAt
required
string | null format: date-time
revokedAt
required
string | null format: date-time
lastUsedAt
required
string | null format: date-time
createdAt
required
string format: date-time
updatedAt
required
string format: date-time
timestamp
required
string format: date-time
requestId
string
message
string
pagination
object
page
required
integer
limit
required
integer
total
required
integer
totalPages
required
integer
Example
{
"success": true,
"data": [
{
"id": "c5610b5d-16c4-468d-85f6-f18a11be428a",
"organizationId": "86e5d148-a5c8-477e-8794-19c701248df9",
"origin": "string",
"visitorEmail": "string",
"visitorName": "string",
"companyName": "string",
"tokenSuffix": "string",
"status": "active",
"expiresAt": "2026-08-19T09:41:12.004Z",
"revokedAt": "2026-08-19T09:41:12.004Z",
"lastUsedAt": "2026-08-19T09:41:12.004Z",
"createdAt": "2026-08-19T09:41:12.004Z",
"updatedAt": "2026-08-19T09:41:12.004Z"
}
],
"timestamp": "2026-08-19T09:41:12.004Z",
"requestId": "req_01J5X8ZC3K4T7Q9M2W6B0N1V4H",
"message": "string",
"pagination": {
"page": 1,
"limit": 1,
"total": 1,
"totalPages": 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"
}