Items
Resolve a public canonical item ID to its current URL
GET /api/items/{canonicalId}
Inspect the Location header with redirects disabled. Missing, invalid, and non-public IDs all return 404.
Request policy
- Operation
resolveCanonicalItem- Access
- anonymous
- Automatic retries
- None
- Redirects
- Returned to the caller without following
- Request body limit
- No request body
- Pagination
- No collection iterator
Parameters
canonicalId string required
Responses
302
Canonical location; no response body
Response headers
{
"Location": {
"required": true,
"schema": {
"type": "string",
"format": "uri"
}
},
"Cache-Control": {
"schema": {
"const": "no-store"
}
}
}404
Item is unavailable
application/problem+json
ProblemDetails
Schema details
type string required (uri)
Problem type URI (see /problems/)
title string required
Short human-readable summary
status number required
HTTP status code
detail string required
Human-readable explanation
instance string (uri)
URI reference for this occurrence
Examples
Examples use synthetic fixture values. Replace fixture identifiers with public IDs returned by the service. Request bodies and precise locations are transient; keep them out of logs.
curl
curl --fail-with-body --max-time 30 --max-filesize 16777216 --request GET 'https://irvinebroque.com/api/items/itm_aaaaaaaaaaaaaaaaaaaaaaaa'TypeScript
import { PublicApi } from '@irvinebroque/public-api';
const api = new PublicApi();
const result = await api.items.resolve({
"canonicalId": "itm_aaaaaaaaaaaaaaaaaaaaaaaa"
});
console.log(result.status, result.headers.get('content-type')); // Keep transient capabilities in memory.CLI
irvinebroque items resolve --canonical-id 'itm_aaaaaaaaaaaaaaaaaaaaaaaa'The SDK preserves status, headers, and the server envelope. A 304 has no fresh body. Errors retain structured problem details; ordinary error messages omit response details. Responses are limited to 16 MiB and requests time out after 30 seconds by default.