tech.waow.typeahead.searchActors

typeahead.waow.tech

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "actorBasic": {
      "description": "Basic actor profile. Matches the shape of app.bsky.actor.defs#profileViewBasic minus the authenticated viewer state, so results are interchangeable with bluesky's for unauthenticated use.",
      "properties": {
        "associated": {
          "description": "Pass-through of app.bsky.actor.defs#profileAssociated as last seen from the actor's profile (lists, feedgens, starter packs, chat settings); absent if never observed.",
          "type": "unknown"
        },
        "avatar": {
          "description": "Avatar image URL — usually a bluesky CDN URL, but may point directly at the actor's PDS blob endpoint for accounts bluesky's CDN no longer serves.",
          "format": "uri",
          "type": "string"
        },
        "createdAt": {
          "description": "Account creation time as reported by the actor's profile view; absent if unknown.",
          "format": "datetime",
          "type": "string"
        },
        "did": {
          "description": "The actor's decentralized identifier.",
          "format": "did",
          "type": "string"
        },
        "displayName": {
          "description": "Self-declared display name from the actor's profile record; absent if unset.",
          "maxGraphemes": 64,
          "maxLength": 640,
          "type": "string"
        },
        "handle": {
          "description": "The actor's current handle, e.g. zzstoatzz.io.",
          "format": "handle",
          "type": "string"
        },
        "labels": {
          "description": "Pass-through of the actor's com.atproto.label.defs#label array (self-labels and moderation-service labels) as last seen; may be empty.",
          "type": "unknown"
        }
      },
      "required": [
        "did",
        "handle"
      ],
      "type": "object"
    },
    "main": {
      "description": "Prefix search for atproto actors, ordered for typeahead use. Served entirely from a community-run index (https://typeahead.waow.tech); unauthenticated, CORS-enabled, results edge-cached for 60s. Also served at app.bsky.actor.searchActorsTypeahead as a drop-in migration alias with an identical response.",
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "actors": {
              "description": "Matching actors, best match first. Ranking blends prefix quality with a stored popularity score; actors hidden by moderation are excluded.",
              "items": {
                "ref": "#actorBasic",
                "type": "ref"
              },
              "type": "array"
            }
          },
          "required": [
            "actors"
          ],
          "type": "object"
        }
      },
      "parameters": {
        "properties": {
          "limit": {
            "default": 10,
            "description": "Maximum number of actors to return.",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "q": {
            "description": "Search prefix; matched case-insensitively against handles and display names (CJK display names are matched via bigrams).",
            "type": "string"
          }
        },
        "required": [
          "q"
        ],
        "type": "params"
      },
      "type": "query"
    }
  },
  "id": "tech.waow.typeahead.searchActors",
  "lexicon": 1
}

Validate Record

Validate a record against tech.waow.typeahead.searchActors

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:y6kywgnb7xletjpa5hhxmd4k
CID
bafyreiguixdlv2ddhlsbqcam5qoqi3gqqflak4wyonhtw4bwhh5ucghhvq
Indexed At
2026-08-17 05:17 UTC
AT-URI
at://did:plc:y6kywgnb7xletjpa5hhxmd4k/com.atproto.lexicon.schema/tech.waow.typeahead.searchActors

Version History (4 versions)

Similar Lexicons

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

  • Accounts whose display name or handle starts with `q`, case-insensitively, for the mention picker. At most `limit` results, ordered: exact handle match first, then display-name prefix matches, then handle prefix matches…

  • Find actor suggestions for a prefix search term. Expected use is for auto-completion during text field entry.

  • Find actor suggestions for a prefix search term. Expected use is for auto-completion during text field entry. Does not require auth.

  • Find actor suggestions for a prefix search term. Expected use is for auto-completion during text field entry. Does not require auth.

  • town.delve.actor.searchActorsTypeahead querynot from the namespace authority

    Find actor suggestions for a prefix search term. Expected use is for auto-completion during text field entry. Does not require auth.

Lexicon Garden

@