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

# Global search

> Search across tasks, projects, workspaces, comments, and activities in one workspace. Results are ranked by relevance and returned as a single flat list, each entry tagged with its `type`.



## OpenAPI

````yaml /openapi.json get /search
openapi: 3.1.0
info:
  title: Kaneo API
  version: 1.0.0
  description: Kaneo Project Management API - Manage projects, tasks, labels, and more
servers:
  - url: https://cloud.kaneo.app/api
    description: Kaneo API Server
security:
  - bearerAuth: []
paths:
  /search:
    get:
      tags:
        - Search
      summary: Global search
      description: >-
        Search across tasks, projects, workspaces, comments, and activities in
        one workspace. Results are ranked by relevance and returned as a single
        flat list, each entry tagged with its `type`.
      operationId: globalSearch
      parameters:
        - schema:
            type: string
            minLength: 1
          required: true
          name: q
          in: query
        - schema:
            type: string
            enum:
              - all
              - tasks
              - projects
              - workspaces
              - comments
              - activities
            default: all
          required: false
          name: type
          in: query
        - schema:
            type: string
            minLength: 1
          required: true
          name: workspaceId
          in: query
        - schema:
            type: string
          required: false
          name: projectId
          in: query
        - schema:
            type: string
            default: '20'
          required: false
          name: limit
          in: query
        - schema:
            type: string
            format: email
          required: false
          name: userEmail
          in: query
      responses:
        '200':
          description: Ranked search results
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SearchResponse'
        '400':
          description: Invalid query, or workspace ID could not be determined
          content:
            text/plain:
              schema:
                type: string
        '401':
          description: Missing or invalid credentials
        '403':
          description: No access to the workspace
          content:
            text/plain:
              schema:
                type: string
components:
  schemas:
    SearchResponse:
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/SearchResult'
        totalCount:
          type: number
          description: >-
            Total matches found before the `limit` slice, so a caller can tell
            that more exist.
        searchQuery:
          type: string
          description: The query that was run.
      required:
        - results
        - totalCount
        - searchQuery
    SearchResult:
      type: object
      properties:
        id:
          type: string
        type:
          type: string
          enum:
            - task
            - project
            - workspace
            - comment
            - activity
        title:
          type: string
        description:
          type: string
        content:
          type: string
          description: >-
            Matched body text, for comment and activity results. Activities get
            a rendered summary such as `changed status from Todo to In
            Progress`.
        projectId:
          type: string
        projectName:
          type: string
        projectSlug:
          type: string
        workspaceId:
          type: string
        workspaceName:
          type: string
        userId:
          type: string
        userName:
          type: string
        createdAt:
          type: string
          format: date-time
        relevanceScore:
          type: number
          description: >-
            Higher is a better match. Results are sorted by score, then by
            createdAt descending.
        taskNumber:
          type: number
        priority:
          type: string
        status:
          type: string
      required:
        - id
        - type
        - title
        - createdAt
        - relevanceScore
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API key or session token (Bearer)

````