> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qoory.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Search entities

> Search bounded identities from Qoory's curated entity graph. Hidden, deleted, and ineligible records are excluded; strict response DTOs omit source, provider, evidence, raw payload, profile-metric, and operational fields. Bulk listing queries are rejected.



## OpenAPI

````yaml /openapi/public-v1.json post /v1/search
openapi: 3.1.0
info:
  title: Qoory Developer API
  version: 1.0.0-beta
  description: >-
    Authenticated, credit-metered REST API for bounded, public-safe intelligence
    from Qoory's curated entity graph. Responses use strict source-free DTOs and
    do not expose bulk entity listing endpoints.
servers:
  - url: https://api.qoory.ai
    description: Qoory production API
security: []
tags:
  - name: Search
    description: Resolve specific entities through bounded search and identity matching.
  - name: Discovery
    description: Explore curated, fixed-size Qoory snapshots without bulk entity listing.
  - name: Projects
    description: Fetch project identities and bounded project intelligence.
  - name: Funds
    description: >-
      Fetch fund identities, rankings, partners, and verified portfolio
      relationships.
  - name: People
    description: Fetch person identities, roles, and verified investment relationships.
  - name: Tokens
    description: Fetch token identities, market facts, tokenomics, and unlock windows.
  - name: Markets
    description: Fetch bounded crypto-market snapshots and visualisation data.
  - name: Stocks
    description: Fetch crypto-related stock identities, rankings, and curated news.
  - name: News
    description: Fetch Qoory-curated, source-free news summaries and entity links.
  - name: Narratives
    description: Fetch Qoory-curated market narratives and bounded timelines.
  - name: Events
    description: Fetch eligible Web3 event identities and upcoming-event snapshots.
  - name: X Accounts
    description: Fetch opaque Qoory-owned X-account references and eligible entity links.
paths:
  /v1/search:
    post:
      tags:
        - Search
      summary: Search entities
      description: >-
        Search bounded identities from Qoory's curated entity graph. Hidden,
        deleted, and ineligible records are excluded; strict response DTOs omit
        source, provider, evidence, raw payload, profile-metric, and operational
        fields. Bulk listing queries are rejected.
      operationId: searchEntities
      requestBody:
        required: true
        description: JSON input for search entities.
        content:
          application/json:
            schema:
              type: object
              additionalProperties: false
              properties:
                q:
                  type: string
                  minLength: 2
                  maxLength: 500
                  description: Specific entity name, symbol, slug, or X handle to search.
                types:
                  description: Optional entity family or families to search.
                  anyOf:
                    - type: string
                      enum:
                        - project
                        - fund
                        - person
                        - token
                        - stock
                        - x_account
                    - type: array
                      items:
                        type: string
                        enum:
                          - project
                          - fund
                          - person
                          - token
                          - stock
                          - x_account
                      minItems: 1
                      maxItems: 6
                limit:
                  type: integer
                  minimum: 1
                  maximum: 20
                  default: 10
                  description: Maximum number of bounded search results to return.
              required:
                - q
            example:
              q: uniswap
              types:
                - project
              limit: 10
      responses:
        '200':
          description: Successful response.
          headers:
            Cache-Control:
              description: Developer API responses are not cacheable.
              schema:
                type: string
                enum:
                  - no-store
            x-qoory-request-id:
              description: Public request id for support and usage correlation.
              schema:
                type: string
                minLength: 8
                maxLength: 96
                pattern: ^[A-Za-z0-9_.:-]{8,96}$
            x-qoory-credits-used:
              description: Credits charged for the request, when metering ran.
              schema:
                type: string
                pattern: ^[0-9]+$
                maxLength: 20
            x-qoory-credits-remaining:
              description: Credits remaining after the request, when available.
              schema:
                type: string
                pattern: ^[0-9]+$
                maxLength: 20
            x-qoory-rate-limit:
              description: >-
                Stringified rate-limit metadata with limit, remaining, reset_at,
                and tier.
              schema:
                type: string
                maxLength: 512
          content:
            application/json:
              schema:
                type: object
                additionalProperties: false
                properties:
                  data:
                    $ref: '#/components/schemas/DeveloperApiSearchResponseData'
                    description: Operation-specific response data.
                  meta:
                    type: object
                    additionalProperties: false
                    properties:
                      request_id:
                        type: string
                        minLength: 8
                        maxLength: 96
                        pattern: ^[A-Za-z0-9_.:-]{8,96}$
                      credits_used:
                        type: integer
                        minimum: 0
                      credits_remaining:
                        type: integer
                        minimum: 0
                      rate_limit:
                        type: object
                        additionalProperties: false
                        properties:
                          limit:
                            type: integer
                            minimum: 0
                          remaining:
                            type: integer
                            minimum: 0
                          reset_at:
                            type: string
                            format: date-time
                          tier:
                            type: string
                            enum:
                              - free
                              - pro
                              - pro_plus
                              - team
                              - internal
                        required:
                          - limit
                          - remaining
                          - reset_at
                          - tier
                    required:
                      - request_id
                    description: Request correlation, credit, and rate-limit metadata.
                required:
                  - data
                  - meta
              example:
                data:
                  types:
                    - project
                    - token
                    - x_account
                  limit: 10
                  results:
                    - type: project
                      id: uniswap
                      slug: uniswap
                      name: Uniswap
                    - type: token
                      id: uniswap-uni
                      symbol: UNI
                      name: Uniswap
                    - type: x_account
                      id: 46d1f8fd-e456-4f66-bf2b-a774aaf6dcd5
                meta:
                  request_id: req_example
                  credits_used: 1
                  credits_remaining: 99
                  rate_limit:
                    limit: 30
                    remaining: 29
                    reset_at: '2026-06-26T00:00:00.000Z'
                    tier: free
        '401':
          description: Missing or invalid API key.
          headers:
            Cache-Control:
              description: Developer API responses are not cacheable.
              schema:
                type: string
                enum:
                  - no-store
            x-qoory-request-id:
              description: Public request id for support and usage correlation.
              schema:
                type: string
                minLength: 8
                maxLength: 96
                pattern: ^[A-Za-z0-9_.:-]{8,96}$
            x-qoory-credits-used:
              description: Credits charged for the request, when metering ran.
              schema:
                type: string
                pattern: ^[0-9]+$
                maxLength: 20
            x-qoory-credits-remaining:
              description: Credits remaining after the request, when available.
              schema:
                type: string
                pattern: ^[0-9]+$
                maxLength: 20
            x-qoory-rate-limit:
              description: >-
                Stringified rate-limit metadata with limit, remaining, reset_at,
                and tier.
              schema:
                type: string
                maxLength: 512
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeveloperApiErrorEnvelope'
              example:
                error:
                  code: INVALID_API_KEY
                  message: The API key is invalid.
                meta:
                  request_id: req_example
                  credits_used: 0
                  credits_remaining: 100
                  rate_limit:
                    limit: 30
                    remaining: 29
                    reset_at: '2026-06-26T00:00:00.000Z'
                    tier: free
        '402':
          description: Insufficient credits.
          headers:
            Cache-Control:
              description: Developer API responses are not cacheable.
              schema:
                type: string
                enum:
                  - no-store
            x-qoory-request-id:
              description: Public request id for support and usage correlation.
              schema:
                type: string
                minLength: 8
                maxLength: 96
                pattern: ^[A-Za-z0-9_.:-]{8,96}$
            x-qoory-credits-used:
              description: Credits charged for the request, when metering ran.
              schema:
                type: string
                pattern: ^[0-9]+$
                maxLength: 20
            x-qoory-credits-remaining:
              description: Credits remaining after the request, when available.
              schema:
                type: string
                pattern: ^[0-9]+$
                maxLength: 20
            x-qoory-rate-limit:
              description: >-
                Stringified rate-limit metadata with limit, remaining, reset_at,
                and tier.
              schema:
                type: string
                maxLength: 512
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeveloperApiErrorEnvelope'
              example:
                error:
                  code: INSUFFICIENT_CREDITS
                  message: Not enough credits are available for this request.
                meta:
                  request_id: req_example
                  credits_used: 0
                  credits_remaining: 0
                  rate_limit:
                    limit: 30
                    remaining: 29
                    reset_at: '2026-06-26T00:00:00.000Z'
                    tier: free
        '403':
          description: API key is disabled, revoked, or missing the required scope.
          headers:
            Cache-Control:
              description: Developer API responses are not cacheable.
              schema:
                type: string
                enum:
                  - no-store
            x-qoory-request-id:
              description: Public request id for support and usage correlation.
              schema:
                type: string
                minLength: 8
                maxLength: 96
                pattern: ^[A-Za-z0-9_.:-]{8,96}$
            x-qoory-credits-used:
              description: Credits charged for the request, when metering ran.
              schema:
                type: string
                pattern: ^[0-9]+$
                maxLength: 20
            x-qoory-credits-remaining:
              description: Credits remaining after the request, when available.
              schema:
                type: string
                pattern: ^[0-9]+$
                maxLength: 20
            x-qoory-rate-limit:
              description: >-
                Stringified rate-limit metadata with limit, remaining, reset_at,
                and tier.
              schema:
                type: string
                maxLength: 512
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeveloperApiErrorEnvelope'
              example:
                error:
                  code: FORBIDDEN
                  message: The API key does not have the required scope.
                meta:
                  request_id: req_example
                  credits_used: 0
                  credits_remaining: 100
                  rate_limit:
                    limit: 30
                    remaining: 29
                    reset_at: '2026-06-26T00:00:00.000Z'
                    tier: free
        '422':
          description: Invalid request.
          headers:
            Cache-Control:
              description: Developer API responses are not cacheable.
              schema:
                type: string
                enum:
                  - no-store
            x-qoory-request-id:
              description: Public request id for support and usage correlation.
              schema:
                type: string
                minLength: 8
                maxLength: 96
                pattern: ^[A-Za-z0-9_.:-]{8,96}$
            x-qoory-credits-used:
              description: Credits charged for the request, when metering ran.
              schema:
                type: string
                pattern: ^[0-9]+$
                maxLength: 20
            x-qoory-credits-remaining:
              description: Credits remaining after the request, when available.
              schema:
                type: string
                pattern: ^[0-9]+$
                maxLength: 20
            x-qoory-rate-limit:
              description: >-
                Stringified rate-limit metadata with limit, remaining, reset_at,
                and tier.
              schema:
                type: string
                maxLength: 512
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeveloperApiErrorEnvelope'
              example:
                error:
                  code: INVALID_REQUEST
                  message: The request parameters are invalid.
                  details:
                    - path: limit
                      message: Expected a value within the documented range.
                      code: too_big
                meta:
                  request_id: req_example
                  credits_used: 0
                  credits_remaining: 100
                  rate_limit:
                    limit: 30
                    remaining: 29
                    reset_at: '2026-06-26T00:00:00.000Z'
                    tier: free
        '429':
          description: Rate limit exceeded.
          headers:
            Cache-Control:
              description: Developer API responses are not cacheable.
              schema:
                type: string
                enum:
                  - no-store
            x-qoory-request-id:
              description: Public request id for support and usage correlation.
              schema:
                type: string
                minLength: 8
                maxLength: 96
                pattern: ^[A-Za-z0-9_.:-]{8,96}$
            x-qoory-credits-used:
              description: Credits charged for the request, when metering ran.
              schema:
                type: string
                pattern: ^[0-9]+$
                maxLength: 20
            x-qoory-credits-remaining:
              description: Credits remaining after the request, when available.
              schema:
                type: string
                pattern: ^[0-9]+$
                maxLength: 20
            x-qoory-rate-limit:
              description: >-
                Stringified rate-limit metadata with limit, remaining, reset_at,
                and tier.
              schema:
                type: string
                maxLength: 512
            Retry-After:
              description: Whole seconds to wait before retrying a rate-limited request.
              schema:
                type: string
                pattern: ^[0-9]+$
                maxLength: 10
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeveloperApiErrorEnvelope'
              example:
                error:
                  code: RATE_LIMITED
                  message: Rate limit exceeded.
                meta:
                  request_id: req_example
                  credits_used: 0
                  credits_remaining: 100
                  rate_limit:
                    limit: 30
                    remaining: 29
                    reset_at: '2026-06-26T00:00:00.000Z'
                    tier: free
        '500':
          description: Internal server error.
          headers:
            Cache-Control:
              description: Developer API responses are not cacheable.
              schema:
                type: string
                enum:
                  - no-store
            x-qoory-request-id:
              description: Public request id for support and usage correlation.
              schema:
                type: string
                minLength: 8
                maxLength: 96
                pattern: ^[A-Za-z0-9_.:-]{8,96}$
            x-qoory-credits-used:
              description: Credits charged for the request, when metering ran.
              schema:
                type: string
                pattern: ^[0-9]+$
                maxLength: 20
            x-qoory-credits-remaining:
              description: Credits remaining after the request, when available.
              schema:
                type: string
                pattern: ^[0-9]+$
                maxLength: 20
            x-qoory-rate-limit:
              description: >-
                Stringified rate-limit metadata with limit, remaining, reset_at,
                and tier.
              schema:
                type: string
                maxLength: 512
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeveloperApiErrorEnvelope'
              example:
                error:
                  code: INTERNAL_ERROR
                  message: The request could not be completed.
                meta:
                  request_id: req_example
                  credits_used: 0
                  credits_remaining: 100
                  rate_limit:
                    limit: 30
                    remaining: 29
                    reset_at: '2026-06-26T00:00:00.000Z'
                    tier: free
      security:
        - bearerAuth: []
components:
  schemas:
    DeveloperApiSearchResponseData:
      type: object
      additionalProperties: false
      properties:
        types:
          type: array
          items:
            type: string
            enum:
              - project
              - fund
              - person
              - token
              - stock
              - x_account
          description: Entity families represented by this response.
        limit:
          type: integer
          description: Maximum result count applied to this response.
        results:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/DeveloperApiSearchProject'
              - $ref: '#/components/schemas/DeveloperApiSearchFund'
              - $ref: '#/components/schemas/DeveloperApiSearchPerson'
              - $ref: '#/components/schemas/DeveloperApiSearchToken'
              - $ref: '#/components/schemas/DeveloperApiSearchStock'
              - $ref: '#/components/schemas/DeveloperApiSearchXAccount'
          description: Bounded ordered records returned by this operation.
      required:
        - types
        - limit
        - results
      title: Search Response Data
      description: Bounded entity search results across the requested entity families.
    DeveloperApiErrorEnvelope:
      type: object
      additionalProperties: false
      properties:
        error:
          type: object
          additionalProperties: false
          properties:
            code:
              type: string
              enum:
                - MISSING_API_KEY
                - INVALID_API_KEY
                - DISABLED_API_KEY
                - REVOKED_API_KEY
                - USER_SUSPENDED
                - FEATURE_DISABLED
                - CONFIGURATION_ERROR
                - FORBIDDEN
                - INVALID_REQUEST
                - RATE_LIMITED
                - INSUFFICIENT_CREDITS
                - NOT_FOUND
                - DATA_UNAVAILABLE
                - INTERNAL_ERROR
              description: Stable machine-readable error code.
            message:
              type: string
              description: Public-safe human-readable error message.
            details:
              $ref: '#/components/schemas/DeveloperApiValidationErrorDetails'
              description: Optional bounded validation details for an invalid request.
          required:
            - code
            - message
          description: Standard Developer API error object.
        meta:
          type: object
          additionalProperties: false
          properties:
            request_id:
              type: string
              minLength: 8
              maxLength: 96
              pattern: ^[A-Za-z0-9_.:-]{8,96}$
              description: Public request identifier for support and usage correlation.
            credits_used:
              type: integer
              minimum: 0
              description: Total credits charged for this request.
            credits_remaining:
              type: integer
              minimum: 0
              description: Credits available after this request, when known.
            rate_limit:
              type: object
              additionalProperties: false
              properties:
                limit:
                  type: integer
                  minimum: 0
                  description: Maximum result count applied to this response.
                remaining:
                  type: integer
                  minimum: 0
                  description: Requests remaining in the active rate-limit window.
                reset_at:
                  type: string
                  format: date-time
                  description: UTC timestamp when the active rate-limit window resets.
                tier:
                  type: string
                  enum:
                    - free
                    - pro
                    - pro_plus
                    - team
                    - internal
                  description: >-
                    Rate-limit or trend tier, as defined by the containing
                    schema.
              required:
                - limit
                - remaining
                - reset_at
                - tier
              description: Rate-limit metadata for the active request window.
          required:
            - request_id
          description: Request correlation, credit, and rate-limit metadata.
      required:
        - error
        - meta
      title: Error Envelope
      description: Standard error response shared by every Developer API operation.
    DeveloperApiSearchProject:
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - project
          description: Stable entity or record-type discriminator.
        id:
          type: string
          description: Stable Qoory identifier for this record.
        slug:
          type: string
          description: Canonical Qoory slug for this entity.
        name:
          type: string
          description: Canonical display name for this entity.
      required:
        - type
        - id
        - slug
        - name
      title: Search Project
      description: Stable project identity returned by search.
    DeveloperApiSearchFund:
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - fund
          description: Stable entity or record-type discriminator.
        id:
          type: string
          description: Stable Qoory identifier for this record.
        slug:
          type: string
          description: Canonical Qoory slug for this entity.
        name:
          type: string
          description: Canonical display name for this entity.
      required:
        - type
        - id
        - slug
        - name
      title: Search Fund
      description: Stable fund identity returned by search.
    DeveloperApiSearchPerson:
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - person
          description: Stable entity or record-type discriminator.
        id:
          type: string
          description: Stable Qoory identifier for this record.
        slug:
          type: string
          description: Canonical Qoory slug for this entity.
        full_name:
          type: string
          description: Canonical display name for a Qoory person.
      required:
        - type
        - id
        - slug
        - full_name
      title: Search Person
      description: Stable person identity returned by search.
    DeveloperApiSearchToken:
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - token
          description: Stable entity or record-type discriminator.
        id:
          type: string
          description: Stable Qoory identifier for this record.
        symbol:
          type: string
          description: Canonical token symbol.
        name:
          type: string
          description: Canonical display name for this entity.
      required:
        - type
        - id
        - symbol
        - name
      title: Search Token
      description: Stable token identity returned by search.
    DeveloperApiSearchStock:
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - stock
          description: Stable entity or record-type discriminator.
        id:
          type: string
          description: Stable Qoory identifier for this record.
        slug:
          type: string
          description: Canonical Qoory slug for this entity.
        ticker:
          anyOf:
            - type: string
            - type: 'null'
          description: Canonical stock ticker when available.
        name:
          type: string
          description: Canonical display name for this entity.
      required:
        - type
        - id
        - slug
        - ticker
        - name
      title: Search Stock
      description: Stable stock identity returned by search.
    DeveloperApiSearchXAccount:
      type: object
      additionalProperties: false
      properties:
        type:
          type: string
          enum:
            - x_account
          description: Stable entity or record-type discriminator.
        id:
          type: string
          format: uuid
          description: Stable Qoory identifier for this record.
      required:
        - type
        - id
      title: Search X Account
      description: Opaque Qoory-owned X-account identity returned by search.
    DeveloperApiValidationErrorDetails:
      anyOf:
        - type: array
          items:
            type: object
            additionalProperties: false
            properties:
              path:
                type: string
                maxLength: 160
                pattern: ^[A-Za-z0-9_.:-]{1,160}$
                description: Bounded input path associated with a validation issue.
              message:
                type: string
                maxLength: 500
                description: Public-safe human-readable error message.
              code:
                type: string
                maxLength: 80
                pattern: ^[A-Za-z0-9_]+$
                description: Stable machine-readable error code.
            required:
              - path
              - message
              - code
          maxItems: 50
        - type: object
          additionalProperties: false
          properties:
            formErrors:
              type: array
              items:
                type: string
                maxLength: 500
              maxItems: 50
              description: Validation messages that apply to the request as a whole.
            fieldErrors:
              type: object
              maxProperties: 50
              propertyNames:
                type: string
                minLength: 1
                maxLength: 160
                pattern: ^[A-Za-z0-9_.:-]{1,160}$
              additionalProperties:
                type: array
                items:
                  type: string
                  maxLength: 500
                maxItems: 50
              description: Validation messages grouped by bounded input field name.
          required: []
      title: Validation Error Details
      description: Bounded validation issues for an invalid request.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: Qoory API key
      description: Use the HTTP authentication scheme with a Qoory API key.

````