Skip to content

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.

Markdown · Authoritative OpenAPI

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.