app.bsky.embed.getEmbedExternalView
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Resolve one AT-URI record into the data needed to render an enhanced external embed. The records are validated against the requested `url` before any view is built. When validation passes, returns `data`, `associatedRefs` (strongRefs to embed into a post's external.associatedRefs) and the raw `associatedRecords`, plus a legacy `view` for Standard.site records only. When validation fails, only `unverifiedAssociatedRefs` and `unverifiedAssociatedRecords` are returned and no view or data is built. The response is empty (`{}`) when no record URI was usable or the record could not be resolved; clients should fall back to their own link-card rendering in that case and skip writing strongRefs to the post.",
"output": {
"encoding": "application/json",
"schema": {
"properties": {
"associatedRecords": {
"items": {
"description": "The raw record data of the Atmosphere records selected for persistence, index-aligned with `associatedRefs`. Returned for convenience, to avoid the client separately fetching them. Present only when validation passed.",
"type": "unknown"
},
"type": "array"
},
"associatedRefs": {
"description": "StrongRefs (URI+CID) of the Atmosphere records selected for persistence in a post, suitable for embedding into its external.associatedRefs: the canonical record, plus only the additional records the service chooses to persist for its collection. This can be a subset of the records used to render `data`, which may also draw on other hydrated records such as recommendations, subscriptions, or favorites. Present only when validation passed. Index-aligned with `associatedRecords`.",
"items": {
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"type": "array"
},
"data": {
"description": "Preferred to #view. Hydrated data of the embed. Present only when validation passed and the records supply enough information to populate the required fields.",
"refs": [
"app.bsky.embed.external#viewArticle",
"app.bsky.embed.external#viewArticlePublication",
"app.bsky.embed.external#viewGallery",
"app.bsky.embed.external#viewLivestream"
],
"type": "union"
},
"unverifiedAssociatedRecords": {
"items": {
"description": "The raw record data of the persistence-selected Atmosphere records, index-aligned with `unverifiedAssociatedRefs`. Present only when validation failed.",
"type": "unknown"
},
"type": "array"
},
"unverifiedAssociatedRefs": {
"description": "StrongRefs (URI+CID) of the same persistence-selected Atmosphere records (the canonical record plus chosen additional records) when validation of the requested `url` failed. These must not be written to a post. Index-aligned with `unverifiedAssociatedRecords`.",
"items": {
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"type": "array"
},
"view": {
"description": "Legacy hydrated view of the embed, returned for Standard.site records only. Present only when validation passed and the records supply enough information to populate the required `viewExternal` fields.",
"ref": "app.bsky.embed.external#view",
"type": "ref"
}
},
"type": "object"
}
},
"parameters": {
"properties": {
"canonicalUri": {
"description": "The canonical AT URI of the atproto record found on the webpage. When provided, takes precedence over `uris`, which is then ignored.",
"format": "at-uri",
"type": "string"
},
"uris": {
"description": "Legacy input for Standard.site callers, ignored when `canonicalUri` is provided. A single record is selected from it: the first site.standard.document URI, otherwise the first site.standard.publication URI. Other entries are ignored; a document's publication is discovered from the document itself.",
"items": {
"format": "at-uri",
"type": "string"
},
"maxLength": 4,
"type": "array"
},
"url": {
"description": "The canonical web URL the embed represents (typically the URL the user pasted into the composer). Used as the returned view's `uri`, and validated against the resolved records.",
"format": "uri",
"type": "string"
}
},
"required": [
"url"
],
"type": "params"
},
"type": "query"
}
},
"id": "app.bsky.embed.getEmbedExternalView",
"lexicon": 1
}
Metadata
- DID
-
did:plc:4v4y5r3lwsbtmsxhile2ljac - CID
-
bafyreicy4fjqex6gezxnqgc7k3y6qg2ghsxmwr3ugm3bifdthukn7d7lvm - Indexed At
- 2026-10-17 01:31 UTC
- AT-URI
-
at://did:plc:4v4y5r3lwsbtmsxhile2ljac/com.atproto.lexicon.schema/app.bsky.embed.getEmbedExternalView
Version History (2 versions)
- 2026-10-17 01:31 UTC (current)
- 2026-07-16 14:58 UTC diff
Referenced Schemas (5)
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
Resolve one or more AT-URIs into the data needed to render an enhanced external embed. Returns `associatedRefs` (strongRefs to embed into a post's external.associatedRefs), the raw `associatedRecords`, and a hydrated `v…
-
A representation of some externally linked content (eg, a URL and 'card'), embedded in a Bluesky record (eg, a post).
-
app.bsky.embed.external object
A representation of some externally linked content (eg, a URL and 'card'), embedded in a Bluesky record (eg, a post).
-
Fetches and parses a link preview. The AppView fetches the URL on the client's behalf, so the client's address is never exposed to the target site.
-
art.cllctv.embed.external object