Origin Docs

Messages

Searchable, filterable feed of all Gateway inference requests at /messages.

ORGN Scanner is not Studio Code Security (Shannon). Scanner audits Gateway inference attestation and confidential compute sandboxes — it does not scan your repository for CWE vulnerabilities. For code security assessments, see Code Security.

Messages is the searchable audit feed for every Gateway inference request. Open it at:

https://scanner.orgn.com/messages

Development: dev.scanner.orgn.com/messages

The feed is public — no sign-in is required to browse, search, or filter. Click any row to open the request detail page at /request/:requestId.

Use Messages when you need to find a specific request, filter by model or status, or paginate through full history. The Explorer homepage gives a visual snapshot; Messages gives the complete, queryable ledger.

What each row shows

ColumnDescription
Request IDUUID — links to /request/:requestId
ModelModel ID and display name
Providernear, phala, or vercel
StatusRequest outcome — success, pending, failed, rate_limited
AttestationVerified, Pending, Failed, or N/A (ZDR)
TokensPrompt + completion token count
LatencyEnd-to-end request duration
SpendCost in USD
ApplicationClient tag (curl, VS Code, Studio, Postman, etc.)
TimestampWhen the request completed

Scanner never shows prompt or completion content in the feed — only metadata.

Filters

The filter bar at the top of Messages supports:

FilterQuery paramDescription
StatusstatusRequest outcome — success, pending, failed, etc.
ModelmodelModel ID (underscore format, e.g. phala_deepseek_r1)
CreatorcreatorModel author / owned_by slug from the catalog
ApplicationapplicationClient application tag
SearchqFree-text search across request IDs and tags
My requestsmy=1Scope to the signed-in user's requests only
PagepagePagination (50 rows per page by default)

Filter dropdown values are loaded from the full database catalog — not limited to the current page. Example filtered URL:

https://scanner.orgn.com/messages?status=success&model=phala_deepseek_r1&page=1

The My requests filter (my=1) requires optional id-orgn SSO. Without a session, the filter returns an empty result set rather than widening to all rows.

Header stats

Above the feed, summary panels show live aggregates:

  • Total requests and successful requests
  • Pending attestation count
  • Requests in the last 24 hours
  • Active model count
  • Average latency and time-to-first-token
  • Active application list

Stats are computed from Gateway spend logs without scanning the full table on every page load.

Pagination

Messages paginates at 50 rows per page. Use the page controls at the bottom of the feed or set the page query parameter directly.

To retrieve a specific request when you already have the ID, skip the feed and go directly to /request/:requestId.

Backend API

The Messages page loads three public Gateway explorer endpoints in parallel:

EndpointPurpose
GET /internal/console/explorer/messagesPaginated request rows
GET /internal/console/explorer/messages/statsHeader aggregate stats
GET /internal/console/explorer/messages/filtersDropdown filter values

Messages list query parameters

ParamDefaultDescription
page1Page number (1-indexed)
limit50Rows per page (max 500)
statusFilter by request status
modelFilter by model ID
creatorFilter by model creator
applicationFilter by client application tag
qFree-text search
mySet to 1 for caller-scoped results (requires SSO)

Example:

curl -s "https://api.gateway.orgn.com/internal/console/explorer/messages?status=success&limit=10" \
  | jq '.rows[].request_id'

No user authentication is required for the public list. The Scanner UI proxies these calls through its own API routes.

Messages vs Explorer

Messages (/messages)Explorer (/)
FormatTabular, paginatedVisual grid
HistoryFull paginated historyRecent window
FiltersStatus, model, creator, app, searchNone on the grid
Best forAudit trails, finding a specific IDAt-a-glance health check

Next steps

On this page