/audit/events
Work in progress: this contract is not frozen and can change without backward compatibility. Read audit events on demand instead of mirroring them into another store. List typed public audit events for the selected team with accounting status and signed net effect per account and currency. Results are ordered by full-precision updatedAt and id; treat cursors as opaque and reuse them only with the region, principal, order, and filters that issued them. Ascending reads trail real time by a short visibility lag so concurrently committed revisions are never skipped. A cursor or updatedFrom before retained history returns 410 with earliestAvailableAt.
Required scope: audit:read
Authorization
apiKey API key provided in dashboard
In: header
Query Parameters
1 <= length501 <= value <= 100"desc""asc" | "desc"Timestamp string with date, time, milliseconds, and timezone.
date-timeTimestamp string with date, time, milliseconds, and timezone.
date-time"account" | "accountConnection" | "bankRecord" | "listing" | "listingOwnershipPeriod" | "ownerStatement" | "recurringFee" | "reservation" | "transaction"^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuid^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuid1 <= length"create" | "update" | "delete" | "archive" | "restore" | "execute" | "recalculate""user" | "api_key" | "sync" | "automation" | "system"1 <= length^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$uuidWhether any public entity or journal-entry change exists
Public subject participating in entityChanges
"account" | "accountConnection" | "bankRecord" | "listing" | "listingOwnershipPeriod" | "ownerStatement" | "recurringFee" | "reservation" | "transaction" | "paymentLine"Exact public registry path for changedEntityType
1 <= lengthResponse Body
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://staging.api.vrplatform.app/audit/events"{
"data": [
{
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"revision": 9007199254740991,
"actionId": "4a2794ff-94cb-4bac-8d36-d5fb36c563a0",
"team": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"uniqueRef": "string",
"name": "string"
},
"occurredAt": "2024-01-15T12:30:00.000+00:00",
"updatedAt": "2024-01-15T12:30:00.000+00:00",
"actor": {
"type": "user",
"id": "string",
"name": "string",
"email": "user@example.com",
"label": "string"
},
"source": {
"type": "portal",
"requestId": "string"
},
"action": {
"code": "string",
"summary": "string",
"operation": "create"
},
"rootEntity": {
"type": "account",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"uniqueRef": "string",
"name": "string"
},
"entityChanges": [
{
"entity": {
"type": "account",
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"uniqueRef": "string",
"name": "string"
},
"operation": "create",
"changes": [
{
"path": "string",
"before": {
"type": "string",
"value": "string"
},
"after": {
"type": "string",
"value": "string"
}
}
],
"redactedFields": [
"string"
]
}
],
"accountingImpact": {
"status": "not_applicable",
"netEffect": [
{
"account": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"category": {
"id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
"name": "string",
"classification": "string"
}
},
"amount": {
"type": "money",
"centTotal": -9007199254740991,
"currency": "string"
}
}
]
}
}
],
"page": {
"limit": 9007199254740991,
"hasMore": true,
"nextCursor": "string"
}
}{
"code": "string",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "string",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "string",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "string",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "string",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "string",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "string",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "string",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "string",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "string",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}{
"code": "string",
"message": "string",
"links": {
"docs": "string",
"schema": "string"
},
"issues": [
{
"message": "string",
"path": [
"string"
],
"schema": "string"
}
],
"retryable": true,
"context": null
}