Skip to main content

Asset Permalinks (assetdetail.v1)

The bridge from API identifiers to the product UI: give it an OID or an asset Number, and it redirects to the asset's detail view. This is the URL to emit whenever an integration mentions an asset to a human — a chat message, an email, a webhook consumer's UI.

GET ~/assetdetail.v1?oid=Story:1154
GET ~/assetdetail.v1?Number=S-01001

Both forms answer 302 Found to the asset's per-type view — for example story.mvc/Summary?oidToken=Story:1154. The Number form resolves the human-facing number to the asset first, so it is the right choice when all you have is what a person typed. Parameter names are case-insensitive.

InputResult
oid=<Type:id>302 to the asset's detail view
Number=<S-…, D-…, …>Resolved to the asset, then 302 to its detail view
A Number that matches nothing404
Unauthenticated request302 to the login page, with the permalink preserved as the destination — the reader lands on the asset after signing in

Because the login redirect carries the destination, these links are safe to share with people who are not signed in yet — which is exactly what makes them permalinks rather than session URLs.

Emit permalinks for people, OIDs for programs

An assetdetail.v1 URL is for eyeballs. Programs consuming your output should get the OID token (or a rest-1.v1 address); a program that follows the permalink gets the HTML UI, not data.

Webhook payloads already use this endpoint: the href fields on delivered events are assetdetail.v1?oid=… permalinks — see webhook payloads.