parts.page.mention.search

Search a mention service for matching results. A single XRPC host can serve multiple mention services, distinguished by the service AT URI.

Repository @page.parts did:plc:de2gzyliybvjo4bfvu4i54de namespace authority
Details · query
Kindquery
Authoritymention.page.parts
Indexed
cid bafyreie6zl537fbecnyq7ybgge6b47hwd7gdfjsmqlguvhgkuqtryfvyua

Checks

Valid
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "aspectRatio": {
      "properties": {
        "height": {
          "type": "integer"
        },
        "width": {
          "type": "integer"
        }
      },
      "required": [
        "width",
        "height"
      ],
      "type": "object"
    },
    "embedInfo": {
      "properties": {
        "aspectRatio": {
          "description": "Aspect ratio of the embed. If provided, takes precedence over width/height for sizing.",
          "ref": "#aspectRatio",
          "type": "ref"
        },
        "height": {
          "description": "Default height of the embed in pixels",
          "maximum": 3200,
          "minimum": 16,
          "type": "integer"
        },
        "src": {
          "description": "Source URL for the iframe embed",
          "format": "uri",
          "type": "string"
        },
        "width": {
          "description": "Default width of the embed in pixels",
          "maximum": 3200,
          "minimum": 16,
          "type": "integer"
        }
      },
      "required": [
        "src"
      ],
      "type": "object"
    },
    "main": {
      "description": "Search a mention service for matching results. A single XRPC host can serve multiple mention services, distinguished by the service AT URI.",
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "results": {
              "items": {
                "ref": "#result",
                "type": "ref"
              },
              "maxLength": 50,
              "type": "array"
            }
          },
          "required": [
            "results"
          ],
          "type": "object"
        }
      },
      "parameters": {
        "properties": {
          "limit": {
            "default": 20,
            "description": "Maximum number of results to return",
            "maximum": 50,
            "minimum": 1,
            "type": "integer"
          },
          "scope": {
            "description": "Optional scope identifier to narrow results within a service, as returned by a previous result's subscope.scope field",
            "type": "string"
          },
          "search": {
            "description": "Search query string",
            "type": "string"
          },
          "service": {
            "description": "AT URI of the parts.page.mention.service record identifying which service to query",
            "format": "at-uri",
            "type": "string"
          }
        },
        "required": [
          "service",
          "search"
        ],
        "type": "params"
      },
      "type": "query"
    },
    "mentionLabel": {
      "properties": {
        "text": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "result": {
      "properties": {
        "description": {
          "description": "A description for the mentioned entity",
          "type": "string"
        },
        "embed": {
          "description": "Optional embed info for creating an embed block instead of an inline mention",
          "ref": "#embedInfo",
          "type": "ref"
        },
        "href": {
          "description": "Optional web URL for the mentioned entity",
          "format": "uri",
          "type": "string"
        },
        "icon": {
          "description": "Optional icon URL for the mentioned entity, displayed next to the mention",
          "format": "uri",
          "type": "string"
        },
        "labels": {
          "description": "A set of labels to be rendered with the mentionedEntity",
          "items": {
            "ref": "#mentionLabel",
            "type": "ref"
          },
          "type": "array"
        },
        "name": {
          "description": "Display name for the mentioned entity",
          "type": "string"
        },
        "subscope": {
          "description": "Optional subscope info indicating this result can be scoped into for further searching",
          "ref": "#subscopeInfo",
          "type": "ref"
        },
        "uri": {
          "description": "Identifier for the mentioned entity",
          "type": "string"
        }
      },
      "required": [
        "uri",
        "name"
      ],
      "type": "object"
    },
    "subscopeInfo": {
      "properties": {
        "label": {
          "description": "Display label for the scope-down button (e.g. 'Posts', 'Tracks')",
          "maxLength": 100,
          "type": "string"
        },
        "scope": {
          "description": "Scope identifier passed back to the service in subsequent search queries",
          "type": "string"
        }
      },
      "required": [
        "scope",
        "label"
      ],
      "type": "object"
    }
  },
  "id": "parts.page.mention.search",
  "lexicon": 1
}