MOBILE-ID · TRUSTED LTANS
Audit and Reporting API
Read authorized audit trails and reconcile usage; separate audit, billing and original-content access.
LOCAL SIMULATION · Target contracts · No network requests
GET/v1/audit-records
TARGET CONTRACT · API 3.0.0-draft
| Property | Value |
|---|---|
| Technical owner | Audit & Reporting |
| Application scope | audit:read |
| HTTP | 200 |
| Call processing | Authentication/authorization → HTTP handling; not a resource-state enum. |
| Event | Audit or internal event |
Restrict tenant, period and query to the granted reporting scope.
curl --fail-with-body --request GET \
"${BASE_URL%/}/v1/audit-records" \
--header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "X-Correlation-ID: ${CORRELATION_ID}"{
"items": [
{
"auditRecordId": "aud-test-001",
"resourceType": "Transfer",
"resourceId": "trf-test-001",
"action": "TRANSFER_ACKNOWLEDGED",
"actorId": "recipient-test-001",
"occurredAt": "2026-10-15T09:00:00Z",
"correlationId": "corr-test-001"
}
]
}{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AuditRecord"
}
}
},
"required": [
"items"
],
"additionalProperties": false,
"examples": [
{
"items": [
{
"auditRecordId": "aud-test-001",
"resourceType": "Transfer",
"resourceId": "trf-test-001",
"action": "TRANSFER_ACKNOWLEDGED",
"actorId": "recipient-test-001",
"occurredAt": "2026-10-15T09:00:00Z",
"correlationId": "corr-test-001"
}
]
}
]
}{
"type": "https://example.invalid/problems/report-scope-denied",
"title": "Report Scope Denied",
"code": "REPORT_SCOPE_DENIED",
"detail": "Report scope exceeds granted permissions.",
"correlationId": "corr-test-001",
"requestId": "req-test-001",
"retryable": false,
"service": "Audit & Reporting",
"timestamp": "2026-10-15T05:00:01Z",
"errors": [],
"status": 403,
"instance": "urn:ltans:request:req-test-001"
}GET/v1/usage-reports
TARGET CONTRACT · API 3.0.0-draft
| Property | Value |
|---|---|
| Technical owner | Audit & Reporting |
| Application scope | billing:read |
| HTTP | 200 |
| Call processing | Authentication/authorization → HTTP handling; not a resource-state enum. |
| Event | Audit or internal event |
Restrict tenant, period and query to the granted reporting scope.
curl --fail-with-body --request GET \
"${BASE_URL%/}/v1/usage-reports" \
--header "Authorization: Bearer ${ACCESS_TOKEN}" \
--header "X-Correlation-ID: ${CORRELATION_ID}"{
"items": [
{
"usageRecordId": "usage-test-001",
"periodStart": "2026-10-01T00:00:00Z",
"periodEnd": "2026-11-01T00:00:00Z",
"metric": "acceptedObjects",
"quantity": 1,
"unit": "object",
"sourceReference": "/v1/archives/arc-test-001"
}
]
}{
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"$ref": "#/components/schemas/UsageRecord"
}
}
},
"required": [
"items"
],
"additionalProperties": false,
"examples": [
{
"items": [
{
"usageRecordId": "usage-test-001",
"periodStart": "2026-10-01T00:00:00Z",
"periodEnd": "2026-11-01T00:00:00Z",
"metric": "acceptedObjects",
"quantity": 1,
"unit": "object",
"sourceReference": "/v1/archives/arc-test-001"
}
]
}
]
}{
"type": "https://example.invalid/problems/report-scope-denied",
"title": "Report Scope Denied",
"code": "REPORT_SCOPE_DENIED",
"detail": "Report scope exceeds granted permissions.",
"correlationId": "corr-test-001",
"requestId": "req-test-001",
"retryable": false,
"service": "Audit & Reporting",
"timestamp": "2026-10-15T05:00:01Z",
"errors": [],
"status": 403,
"instance": "urn:ltans:request:req-test-001"
}