An aggregator's view of a package, hydrating a profile record with denormalised metadata and any labels applied by trusted labellers the aggregator hydrates.
Properties
cid
string
cid
Required
CID of the profile record content the aggregator indexed. Lets clients confirm they're working with the same bytes the aggregator did.
did
string
did
Required
Publisher DID. Denormalised convenience; equivalent to the DID portion of `uri`.
handle
string
handle
Optional
Publisher's current handle, if known. Best-effort: handles are mutable and may be stale at the moment of read.
historicalReleaseCount
integer
Optional
Number of package release versions retained in the aggregator's history, including releases the publisher later deleted.
minimum: 0indexedAt
string
datetime
Required
When the aggregator first indexed this package.
labels
array
of refcom.atproto.label.defs#label
Optional
Hydrated trusted label state attached by the aggregator's configured policy.
maxLength: 64 itemslatestVersion
string
Optional
Convenience: the highest semver version among non-tombstoned, non-yanked releases the aggregator has indexed for this package. Clients SHOULD verify this against their own selection from listReleases when the difference matters.
maxLength: 64 bytesprofile
unknown
Required
The signed profile record verbatim, passed through from the publisher's repo (carrying its $type, all required fields, etc.).
releaseHistoryComplete
boolean
Optional
Whether the aggregator continuously observed this package from its first live profile creation. When false or absent, clients must not infer that historicalReleaseCount represents the package's complete registry history.
slug
string
Required
Package slug (the rkey of the profile record). Denormalised convenience.
maxLength: 64 bytesminLength: 1 bytesuri
string
at-uri
Required
AT URI of the profile record the aggregator indexed. Pins exactly which record version this view describes.
View raw schema
{
"description": "An aggregator's view of a package, hydrating a profile record with denormalised metadata and any labels applied by trusted labellers the aggregator hydrates.",
"properties": {
"cid": {
"description": "CID of the profile record content the aggregator indexed. Lets clients confirm they're working with the same bytes the aggregator did.",
"format": "cid",
"type": "string"
},
"did": {
"description": "Publisher DID. Denormalised convenience; equivalent to the DID portion of `uri`.",
"format": "did",
"type": "string"
},
"handle": {
"description": "Publisher's current handle, if known. Best-effort: handles are mutable and may be stale at the moment of read.",
"format": "handle",
"type": "string"
},
"historicalReleaseCount": {
"description": "Number of package release versions retained in the aggregator's history, including releases the publisher later deleted.",
"minimum": 0,
"type": "integer"
},
"indexedAt": {
"description": "When the aggregator first indexed this package.",
"format": "datetime",
"type": "string"
},
"labels": {
"description": "Hydrated trusted label state attached by the aggregator's configured policy.",
"items": {
"ref": "com.atproto.label.defs#label",
"type": "ref"
},
"maxLength": 64,
"type": "array"
},
"latestVersion": {
"description": "Convenience: the highest semver version among non-tombstoned, non-yanked releases the aggregator has indexed for this package. Clients SHOULD verify this against their own selection from listReleases when the difference matters.",
"maxLength": 64,
"type": "string"
},
"profile": {
"description": "The signed profile record verbatim, passed through from the publisher's repo (carrying its $type, all required fields, etc.).",
"type": "unknown"
},
"releaseHistoryComplete": {
"description": "Whether the aggregator continuously observed this package from its first live profile creation. When false or absent, clients must not infer that historicalReleaseCount represents the package's complete registry history.",
"type": "boolean"
},
"slug": {
"description": "Package slug (the rkey of the profile record). Denormalised convenience.",
"maxLength": 64,
"minLength": 1,
"type": "string"
},
"uri": {
"description": "AT URI of the profile record the aggregator indexed. Pins exactly which record version this view describes.",
"format": "at-uri",
"type": "string"
}
},
"required": [
"uri",
"cid",
"did",
"slug",
"profile",
"indexedAt"
],
"type": "object"
}