app.bsky.embed.getEmbedExternalView

bsky-lexicons.bsky.social

Documentation

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.

main query

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.

Parameters

canonicalUri string at-uri Optional

The canonical AT URI of the atproto record found on the webpage. When provided, takes precedence over `uris`, which is then ignored.

uris array of string Optional

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.

url string uri Required

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.

Output

Encodingapplication/json
associatedRecords array Optional

No description available.

associatedRefs array Optional

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`.

data union Optional

Preferred to #view. Hydrated data of the embed. Present only when validation passed and the records supply enough information to populate the required fields.

unverifiedAssociatedRecords array Optional

No description available.

unverifiedAssociatedRefs array Optional

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`.

view refapp.bsky.embed.external#view Optional

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.

Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://api.bsky.social)
Parameters
The canonical AT URI of the atproto record found on the webpage. When provided, takes precedence over `uris`, which is then ignored.
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.
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.
View raw schema
{
  "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"
}

Lexicon Garden

@