{
"id": "app.bsky.embed.external",
"defs": {
"main": {
"type": "object",
"required": [
"external"
],
"properties": {
"external": {
"ref": "#external",
"type": "ref"
}
},
"description": "A representation of some externally linked content (eg, a URL and 'card'), embedded in a Bluesky record (eg, a post)."
},
"view": {
"type": "object",
"required": [
"external"
],
"properties": {
"external": {
"ref": "#viewExternal",
"type": "ref"
}
}
},
"colorRGB": {
"type": "object",
"required": [
"r",
"g",
"b"
],
"properties": {
"b": {
"type": "integer",
"maximum": 255,
"minimum": 0
},
"g": {
"type": "integer",
"maximum": 255,
"minimum": 0
},
"r": {
"type": "integer",
"maximum": 255,
"minimum": 0
}
},
"description": "RGB color definition, inspired by site.standard.theme.color#rgb"
},
"external": {
"type": "object",
"required": [
"uri",
"title",
"description"
],
"properties": {
"uri": {
"type": "string",
"format": "uri"
},
"thumb": {
"type": "blob",
"accept": [
"image/*"
],
"maxSize": 1000000
},
"title": {
"type": "string"
},
"description": {
"type": "string"
},
"associatedRefs": {
"type": "array",
"items": {
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"description": "StrongRefs (uri+cid) of the Atmosphere records that backed this view."
}
}
},
"viewExternal": {
"type": "object",
"required": [
"uri",
"title",
"description"
],
"properties": {
"uri": {
"type": "string",
"format": "uri"
},
"thumb": {
"type": "string",
"format": "uri"
},
"title": {
"type": "string"
},
"labels": {
"type": "array",
"items": {
"ref": "com.atproto.label.defs#label",
"type": "ref"
}
},
"source": {
"ref": "#viewExternalSource",
"type": "ref"
},
"createdAt": {
"type": "string",
"format": "datetime",
"description": "When the external content was created, if available. Example: a publication date, for an article."
},
"updatedAt": {
"type": "string",
"format": "datetime",
"description": "When the external content was updated, if available."
},
"description": {
"type": "string"
},
"readingTime": {
"type": "integer",
"description": "Estimated reading time in minutes, if applicable and available."
},
"associatedRefs": {
"type": "array",
"items": {
"ref": "com.atproto.repo.strongRef",
"type": "ref"
},
"description": "StrongRefs (uri+cid) of the Atmosphere records that backed this view."
},
"associatedProfiles": {
"type": "array",
"items": {
"ref": "app.bsky.actor.defs#profileViewBasic",
"type": "ref"
},
"description": "Profiles of the owners of the Atmosphere records that backed this view."
}
}
},
"viewExternalSource": {
"type": "object",
"required": [
"uri",
"title"
],
"properties": {
"uri": {
"type": "string",
"format": "uri",
"description": "URI of the source, if available. Example: the https:// URL of a site.standard.publication record."
},
"icon": {
"type": "string",
"format": "uri",
"description": "Fully-qualified URL where an icon representing the source can be fetched. For example, CDN location provided by the App View."
},
"theme": {
"ref": "#viewExternalSourceTheme",
"type": "ref"
},
"title": {
"type": "string"
},
"description": {
"type": "string"
}
},
"description": "The source of an external embed, such as a standard.site publication."
},
"viewExternalSourceTheme": {
"type": "object",
"properties": {
"accentRGB": {
"ref": "#colorRGB",
"type": "ref"
},
"backgroundRGB": {
"ref": "#colorRGB",
"type": "ref"
},
"foregroundRGB": {
"ref": "#colorRGB",
"type": "ref"
},
"accentForegroundRGB": {
"ref": "#colorRGB",
"type": "ref"
}
},
"description": "The theme colors of an external source, such as a site.standard.publication. These colors may be used when rendering an embed from that source."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}