This reference is generated from the OpenAPI description. It shows the operation contract; follow any related guides below for task steps and context.
OpenAPI for this operation: Download JSON.
GET /resources/{key}
Read resource metadata
Query parameters are single-valued; unknown or duplicate parameters are rejected. Publication and revision checks run before conditional ETag checks. No pagination, search, writes, authentication, or cross-origin policy is supplied by this reference adapter.
Servers
/content/v1
Parameters
channel (query)
Required
Exact publication channel. No default or fallback.
string; minLength: 1; maxLength: 2048
Default example: "production"
version (query)
Required
Exact publication version. No default or fallback.
string; minLength: 1; maxLength: 2048
Default example: "current"
language (query)
Required
Exact publication language. No default or fallback.
string; minLength: 1; maxLength: 2048
Default example: "en"
revision (query)
Required
Exact revision returned by the list endpoint. A different revision returns 409; it never silently reads newer content.
string; pattern: ^[a-f0-9]{64}$
Default example: "0770e6d70db51967fac8dcc7bb4ff5a5bff87378eb2e2bbb63dea93d090c82e8"
key (path)
Required
Opaque stable typed-reference key. Use the returned key. It is k_ followed by unpadded base64url of UTF-8 JSON for ["page",documentId], ["section",documentId,sectionId], or ["snippet",id]. Publication and revision are separate selectors.
string; pattern: ^k_[A-Za-z0-9_-]+$
Default example: "k_WyJwYWdlIiwiZ3VpZGUuYmlsbGluZyJd"
If-None-Match (header)
Optional
An ETag, comma-separated ETags, or *. Weak comparison is supported for GET and HEAD.
string
Responses
200: OK
application/json
The selected resource or inventory.
Response headers
ETag
Optional
Strong SHA-256 validator of the exact UTF-8 response bytes.
Serialization: simple; explode: false.
string
Cache-Control
Optional
Unpinned discovery uses no-cache. Revision-pinned success uses public, max-age=31536000, immutable. Errors use no-store.
Serialization: simple; explode: false.
string
5 properties
-
schemaVersionnumberalways present ⓘconst: 1
-
revisionstringalways present ⓘpattern: ^[a-f0-9]{64}$
-
publicationobjectalways present ⓘ3 properties
-
channelstringalways present ⓘminLength: 1
-
versionstringalways present ⓘminLength: 1
-
languagestringalways present ⓘminLength: 1
Additional properties: not allowed.
-
-
keystringalways present ⓘOpaque stable typed-reference key. Use the returned key. It is k_ followed by unpadded base64url of UTF-8 JSON for ["page",documentId], ["section",documentId,sectionId], or ["snippet",id]. Publication and revision are separate selectors.
pattern: ^k_[A-Za-z0-9_-]+$
-
resourceobjectalways present ⓘ10 properties
-
publicationobjectalways present ⓘ3 properties
-
channelstringalways present ⓘminLength: 1
-
versionstringalways present ⓘminLength: 1
-
languagestringalways present ⓘminLength: 1
Additional properties: not allowed.
-
-
titlestringalways present ⓘ -
summarystringalways present ⓘ -
typestringalways present ⓘ -
canonicalUrlstringmay be absent ⓘformat: uri
-
representationsobjectalways present ⓘminProperties: 1
2 properties
-
htmlobjectmay be absent ⓘ6 properties
-
pathstringalways present ⓘpattern: ^(?:NOTICES\.txt|(?:content|assets)/(?!\.{1,2}(?:/|$))[A-Za-z0-9_.-]+(?:/(?!\.{1,2}(?:/|$))[A-Za-z0-9_.-]+)*)$
-
bytesintegeralways present ⓘminimum: 0
-
digeststringalways present ⓘpattern: ^[a-f0-9]{64}$
-
mediaTypestringalways present ⓘ -
anchorslist of objectalways present ⓘArray items:
object
3 properties
-
idstringalways present ⓘ -
exportedIdstringalways present ⓘ -
titlestringmay be absent ⓘ
Additional properties: not allowed.
-
-
linkslist of one of several typesalways present ⓘArray items:
The response has exactly one of these shapes:
Shape 1 · 6 properties
object
6 properties
-
keystringalways present ⓘ -
kindenum<string>always present ⓘ -
hrefstringalways present ⓘ -
fragmentstringmay be absent ⓘ -
querystringmay be absent ⓘ -
refone of several typesalways present ⓘThe response has exactly one of these shapes:
Shape 1 · 2 properties
object
2 properties
-
kindstringalways present ⓘconst: "page"
-
documentIdstringalways present ⓘminLength: 1
Additional properties: not allowed.
Shape 2 · 3 properties
object
3 properties
-
kindstringalways present ⓘconst: "section"
-
documentIdstringalways present ⓘminLength: 1
-
sectionIdstringalways present ⓘpattern: ^[a-z0-9][a-z0-9-]{0,511}$
Additional properties: not allowed.
Shape 3 · 2 properties
object
2 properties
-
kindstringalways present ⓘconst: "snippet"
-
idstringalways present ⓘpattern: ^[A-Za-z_][A-Za-z0-9_.-]*$
Additional properties: not allowed.
-
Additional properties: not allowed.
Shape 2 · 6 properties
object
6 properties
-
keystringalways present ⓘ -
kindenum<string>always present ⓘ -
hrefstringalways present ⓘ -
fragmentstringmay be absent ⓘ -
querystringmay be absent ⓘ -
assetstringalways present ⓘpattern: ^(?:NOTICES\.txt|(?:content|assets)/(?!\.{1,2}(?:/|$))[A-Za-z0-9_.-]+(?:/(?!\.{1,2}(?:/|$))[A-Za-z0-9_.-]+)*)$
Additional properties: not allowed.
Shape 3 · 5 properties
object
5 properties
-
keystringalways present ⓘ -
kindenum<string>always present ⓘ -
hrefstringalways present ⓘ -
fragmentstringmay be absent ⓘ -
querystringmay be absent ⓘ
Additional properties: not allowed.
-
Additional properties: not allowed.
-
-
markdownobjectmay be absent ⓘ6 properties
-
pathstringalways present ⓘpattern: ^(?:NOTICES\.txt|(?:content|assets)/(?!\.{1,2}(?:/|$))[A-Za-z0-9_.-]+(?:/(?!\.{1,2}(?:/|$))[A-Za-z0-9_.-]+)*)$
-
bytesintegeralways present ⓘminimum: 0
-
digeststringalways present ⓘpattern: ^[a-f0-9]{64}$
-
mediaTypestringalways present ⓘ -
anchorslist of objectalways present ⓘArray items:
object
3 properties
-
idstringalways present ⓘ -
exportedIdstringalways present ⓘ -
titlestringmay be absent ⓘ
Additional properties: not allowed.
-
-
linkslist of one of several typesalways present ⓘArray items:
The response has exactly one of these shapes:
Shape 1 · 6 properties
object
6 properties
-
keystringalways present ⓘ -
kindenum<string>always present ⓘ -
hrefstringalways present ⓘ -
fragmentstringmay be absent ⓘ -
querystringmay be absent ⓘ -
refone of several typesalways present ⓘThe response has exactly one of these shapes:
Shape 1 · 2 properties
object
2 properties
-
kindstringalways present ⓘconst: "page"
-
documentIdstringalways present ⓘminLength: 1
Additional properties: not allowed.
Shape 2 · 3 properties
object
3 properties
-
kindstringalways present ⓘconst: "section"
-
documentIdstringalways present ⓘminLength: 1
-
sectionIdstringalways present ⓘpattern: ^[a-z0-9][a-z0-9-]{0,511}$
Additional properties: not allowed.
Shape 3 · 2 properties
object
2 properties
-
kindstringalways present ⓘconst: "snippet"
-
idstringalways present ⓘpattern: ^[A-Za-z_][A-Za-z0-9_.-]*$
Additional properties: not allowed.
-
Additional properties: not allowed.
Shape 2 · 6 properties
object
6 properties
-
keystringalways present ⓘ -
kindenum<string>always present ⓘ -
hrefstringalways present ⓘ -
fragmentstringmay be absent ⓘ -
querystringmay be absent ⓘ -
assetstringalways present ⓘpattern: ^(?:NOTICES\.txt|(?:content|assets)/(?!\.{1,2}(?:/|$))[A-Za-z0-9_.-]+(?:/(?!\.{1,2}(?:/|$))[A-Za-z0-9_.-]+)*)$
Additional properties: not allowed.
Shape 3 · 5 properties
object
5 properties
-
keystringalways present ⓘ -
kindenum<string>always present ⓘ -
hrefstringalways present ⓘ -
fragmentstringmay be absent ⓘ -
querystringmay be absent ⓘ
Additional properties: not allowed.
-
Additional properties: not allowed.
-
Additional properties: not allowed.
-
-
assetslist of stringalways present ⓘuniqueItems: true
Array items:
string; pattern: ^(?:NOTICES\.txt|(?:content|assets)/(?!\.{1,2}(?:/|$))[A-Za-z0-9_.-]+(?:/(?!\.{1,2}(?:/|$))[A-Za-z0-9_.-]+)*)$
-
externalDependencieslist of objectalways present ⓘArray items:
object
2 properties
-
urlstringalways present ⓘformat: uri
-
kindstringalways present ⓘconst: "image"
Additional properties: not allowed.
-
-
refone of several typesalways present ⓘThe response has exactly one of these shapes:
Shape 1 · 2 properties
object
2 properties
-
kindstringalways present ⓘconst: "page"
-
documentIdstringalways present ⓘminLength: 1
Additional properties: not allowed.
Shape 2 · 3 properties
object
3 properties
-
kindstringalways present ⓘconst: "section"
-
documentIdstringalways present ⓘminLength: 1
-
sectionIdstringalways present ⓘpattern: ^[a-z0-9][a-z0-9-]{0,511}$
Additional properties: not allowed.
Shape 3 · 2 properties
object
2 properties
-
kindstringalways present ⓘconst: "snippet"
-
idstringalways present ⓘpattern: ^[A-Za-z_][A-Za-z0-9_.-]*$
Additional properties: not allowed.
-
-
sourceobjectmay be absent ⓘminProperties: 1
3 properties
-
documentIdstringmay be absent ⓘminLength: 1
-
snippetIdstringmay be absent ⓘminLength: 1
-
valuesDigeststringmay be absent ⓘpattern: ^[a-f0-9]{64}$
Additional properties: not allowed.
-
Additional properties: not allowed.
-
Additional properties: not allowed.
304: Not Modified
The validated selected response matches If-None-Match. No response body.
Response headers
ETag
Optional
Strong SHA-256 validator of the exact UTF-8 response bytes.
Serialization: simple; explode: false.
string
Cache-Control
Optional
Unpinned discovery uses no-cache. Revision-pinned success uses public, max-age=31536000, immutable. Errors use no-store.
Serialization: simple; explode: false.
string
400: Bad Request
application/json
invalid_request: missing, duplicate, unknown, or malformed query parameter.
Response headers
Cache-Control
Optional
Serialization: simple; explode: false.
const: "no-store"
1 property
-
errorobjectalways present ⓘ2 properties
-
codeenum<string>always present ⓘ -
messagestringalways present ⓘ
Additional properties: not allowed.
-
Additional properties: not allowed.
404: Not Found
application/json
not_found: unknown publication, resource, or route.
Response headers
Cache-Control
Optional
Serialization: simple; explode: false.
const: "no-store"
1 property
-
errorobjectalways present ⓘ2 properties
-
codeenum<string>always present ⓘ -
messagestringalways present ⓘ
Additional properties: not allowed.
-
Additional properties: not allowed.
405: Method Not Allowed
application/json
method_not_allowed: only GET and HEAD are supported; Allow lists both.
Response headers
Cache-Control
Optional
Serialization: simple; explode: false.
const: "no-store"
Allow
Optional
Serialization: simple; explode: false.
const: "GET, HEAD"
1 property
-
errorobjectalways present ⓘ2 properties
-
codeenum<string>always present ⓘ -
messagestringalways present ⓘ
Additional properties: not allowed.
-
Additional properties: not allowed.
406: Not Acceptable
application/json
unsupported_format: unsupported or unavailable representation format.
Response headers
Cache-Control
Optional
Serialization: simple; explode: false.
const: "no-store"
1 property
-
errorobjectalways present ⓘ2 properties
-
codeenum<string>always present ⓘ -
messagestringalways present ⓘ
Additional properties: not allowed.
-
Additional properties: not allowed.
409: Conflict
application/json
stale_revision: revision unavailable, or source bytes no longer match the pinned snapshot.
Response headers
Cache-Control
Optional
Serialization: simple; explode: false.
const: "no-store"
1 property
-
errorobjectalways present ⓘ2 properties
-
codeenum<string>always present ⓘ -
messagestringalways present ⓘ
Additional properties: not allowed.
-
Additional properties: not allowed.
500: Internal Server Error
application/json
internal_error: the source could not complete the request.
Response headers
Cache-Control
Optional
Serialization: simple; explode: false.
const: "no-store"
1 property
-
errorobjectalways present ⓘ2 properties
-
codeenum<string>always present ⓘ -
messagestringalways present ⓘ
Additional properties: not allowed.
-
Additional properties: not allowed.