garden.lexicon.suggest

lexicon.garden

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "lexiconSuggestion": {
      "description": "An indexed lexicon whose NSID matched the query.",
      "properties": {
        "did": {
          "description": "DID of the authority that published the lexicon.",
          "format": "did",
          "type": "string"
        },
        "lexiconType": {
          "description": "Definition type of the lexicon's main def. Absent when the indexed type is unknown.",
          "knownValues": [
            "record",
            "query",
            "procedure",
            "subscription",
            "permission-set"
          ],
          "maxLength": 32,
          "type": "string"
        },
        "nsid": {
          "description": "The full NSID of the lexicon.",
          "format": "nsid",
          "type": "string"
        },
        "uri": {
          "description": "AT-URI of the com.atproto.lexicon.schema record backing this suggestion.",
          "format": "at-uri",
          "type": "string"
        }
      },
      "required": [
        "nsid",
        "did",
        "uri"
      ],
      "type": "object"
    },
    "main": {
      "description": "Typeahead suggestions for indexed lexicons. Unlike garden.lexicon.browse, the query is matched against every segment-aligned suffix of an NSID, so 'feed.post' matches 'app.bsky.feed.post'. Results are sorted by NSID ascending and are not paginated.",
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "suggestions": {
              "items": {
                "ref": "#lexiconSuggestion",
                "type": "ref"
              },
              "type": "array"
            }
          },
          "required": [
            "suggestions"
          ],
          "type": "object"
        }
      },
      "parameters": {
        "properties": {
          "lexiconType": {
            "description": "Filter suggestions to these definition types. Repeat the parameter for multiple types. Omit to include all types.",
            "items": {
              "knownValues": [
                "record",
                "query",
                "procedure",
                "subscription",
                "permission-set"
              ],
              "maxLength": 32,
              "type": "string"
            },
            "maxLength": 5,
            "type": "array"
          },
          "limit": {
            "default": 10,
            "description": "Maximum number of suggestions to return.",
            "maximum": 20,
            "minimum": 1,
            "type": "integer"
          },
          "q": {
            "description": "Search prefix, matched against an NSID or any of its segment-aligned suffixes.",
            "maxLength": 253,
            "minLength": 2,
            "type": "string"
          }
        },
        "required": [
          "q"
        ],
        "type": "params"
      },
      "type": "query"
    }
  },
  "id": "garden.lexicon.suggest",
  "lexicon": 1
}

Validate Record

Validate a record against garden.lexicon.suggest

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:akhgi4ekkeaupiqsis6g2gqg
CID
bafyreigrh7lvjgoqqnhkz5nd5k5otvlkltmeedlhv5snflsdkkaahnurpi
Indexed At
2026-07-30 22:53 UTC
AT-URI
at://did:plc:akhgi4ekkeaupiqsis6g2gqg/com.atproto.lexicon.schema/garden.lexicon.suggest

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • Browse indexed lexicons whose NSID begins with a segment-aligned prefix. Segment-aligned means 'community.lexicon' matches 'community.lexicon.foo' but not 'community.lexiconfoo'. Results are sorted by NSID ascending.

Lexicon Garden

@