Cross-tenant transaction explorer (global admin only)
Every tenant's transactions with their resolved legs, optionally narrowed by tenant and by type.
/v1/platform/transactionsEvery tenant's transactions with their resolved legs, optionally narrowed by tenant and by type. Requires a platform staff token holding platform:read; anyone else is refused global_read_only (403). The read is recorded in the cross-tenant access log. Cursor paged: pass the last id you saw as cursor; limit is clamped to 1-100 and defaults to 50.
Authorization
bearerAuth A tenant API key (sk_{env}_{id}_{secret}), a wallet user token, or an IdP access token. Which principal the credential resolves to decides the scopes it carries; see the authentication guide.
In: header
Query Parameters
Restrict a cross-tenant listing to one tenant
uuidLast seen id from the previous page. The listing resumes after that row, so an id that belongs to no row in the listing is refused invalid_request (400) rather than answered with an empty page.
uuid1 <= value <= 10050Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
curl -X GET "https://example.com/v1/platform/transactions"[ { "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08", "tenant_id": "34f5c98e-f430-457b-a812-92637d0c6fd0", "tenant_name": "string", "type": "string", "status": "string", "metadata": { "property1": "string", "property2": "string" }, "legs": [ { "owner_type": "string", "owner_id": "8826ee2e-7933-4665-aef2-2393f84a0d05", "purpose": "string", "direction": "debit", "amount": 0, "commodity": "string" } ], "created_at": "2019-08-24T14:15:22Z" }]Hide a client's whole catalog from Explore (platform staff only)
Suspension is moderation, not confiscation: the catalog disappears from Explore while settled money stays settled and a payout still works.
Wallet users across all tenants (global admin only)
Wallet users across every tenant, optionally narrowed by tenant and by a free-text query.