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

# Search cards using semantic search

> Search for cards across your organization using natural language queries



## OpenAPI

````yaml https://api.vistaly.com/v1/swagger.json post /beta/cards/search
openapi: 3.1.0
info:
  contact:
    email: support@vistaly.com
    name: Vistaly Support Team
  description: >-
    Vistaly's public API for interacting with our platform, enabling developers
    to integrate with various features such as feedback, cards, and system
    health.
  termsOfService: https://vistaly.com/terms-of-service
  title: Vistaly API
  version: '2025-06-21'
servers:
  - description: Production server
    url: https://api.vistaly.com
security: []
tags:
  - description: System-related endpoints to interact with the overall service.
    name: system
  - description: >-
      Endpoints related to card management, including the creation and
      modification of card metrics and related data.
    externalDocs:
      description: Learn more about Cards
      url: https://docs.vistaly.com/en/card-types/overview
    name: cards
  - description: >-
      Endpoints for handling insights data, such as user feedback and interview
      records.
    externalDocs:
      description: Learn more about Insights
      url: https://docs.vistaly.com/en/insights/overview
    name: insights
paths:
  /beta/cards/search:
    post:
      tags:
        - cards
      summary: Search cards using semantic search
      description: Search for cards across your organization using natural language queries
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SearchCardsRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              example:
                message: Cards searched
              schema:
                $ref: '#/components/schemas/MessageResponse'
          description: Metrics submitted successfully
        '400':
          description: Bad request
          content:
            application/json:
              example:
                message: Bad request
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                message: Unauthorized
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              example:
                message: Forbidden
              schema:
                $ref: '#/components/schemas/MessageResponse'
        '500':
          description: Internal Server Error
          content:
            application/json:
              example:
                message: Internal server error
              schema:
                $ref: '#/components/schemas/MessageResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    SearchCardsRequest:
      additionalProperties: false
      properties:
        filter:
          additionalProperties: false
          description: Used to apply filters based on a card's metadata
          properties:
            must:
              description: Conditions that the matches must match
              items:
                $ref: '#/components/schemas/CardFilterCondition'
              type: array
            must_not:
              description: Conditions that the matches must not match
              items:
                $ref: '#/components/schemas/CardFilterCondition'
              type: array
            should:
              description: Conditions that the matches should match
              items:
                $ref: '#/components/schemas/CardFilterCondition'
              type: array
          type: object
        query:
          description: >-
            Natural language search query that finds cards with similar content.
            The query is converted to a vector representation and matches cards
            based on semantic similarity to card titles and details. Use filters
            for exact matches on card metadata (status, type, dates, etc.).
          type: string
      required: []
      type: object
    MessageResponse:
      additionalProperties: false
      properties:
        message:
          example: System provided message
          type: string
      type: object
    CardFilterCondition:
      oneOf:
        - additionalProperties: false
          description: Used to filter cards based off their archived status
          properties:
            key:
              enum:
                - archived
            match:
              additionalProperties: false
              properties:
                value:
                  type: boolean
              required:
                - value
              type: object
          required:
            - key
            - match
          type: object
        - additionalProperties: false
          description: Used to filter cards based off their card type
          properties:
            key:
              enum:
                - card_type
            match:
              additionalProperties: false
              required:
                - any
              properties:
                any:
                  items:
                    $ref: '#/components/schemas/CardType'
                  type: array
              type: object
          required:
            - key
            - match
          type: object
        - additionalProperties: false
          description: Used to filter a card based off its current status
          properties:
            key:
              enum:
                - card_status
            match:
              additionalProperties: false
              required:
                - any
              properties:
                any:
                  items:
                    $ref: '#/components/schemas/CardTypeStatus'
                  type: array
              type: object
          required:
            - key
            - match
          type: object
        - additionalProperties: false
          description: Used to filter cards by created/updated timestamps
          properties:
            key:
              enum:
                - created_at
                - updated_at
            range:
              additionalProperties: false
              properties:
                gt:
                  type: string
                  format: date-time
                gte:
                  type: string
                  format: date-time
                lt:
                  type: string
                  format: date-time
                lte:
                  type: string
                  format: date-time
              type: object
          required:
            - key
            - range
          type: object
        - additionalProperties: false
          description: Used to filter cards based off their workspace_id
          properties:
            key:
              enum:
                - workspace_id
            match:
              additionalProperties: false
              properties:
                value:
                  type: string
              required:
                - value
              type: object
          required:
            - key
            - match
          type: object
        - additionalProperties: false
          description: Used to filter cards based off their labels
          properties:
            key:
              enum:
                - labels
            match:
              additionalProperties: false
              properties:
                value:
                  type: string
              required:
                - value
              type: object
          required:
            - key
            - match
          type: object
    CardType:
      enum:
        - assumption
        - experiment
        - kpi
        - objective
        - opportunity
        - outcome
        - problem
        - product
        - solution
    CardTypeStatus:
      enum:
        - '[experiment] developing'
        - '[experiment] pending'
        - '[experiment] running'
        - '[experiment] failed'
        - '[experiment] passed'
        - '[opportunity] identified'
        - '[opportunity] later'
        - '[opportunity] next'
        - '[opportunity] now'
        - '[opportunity] addressed'
        - '[opportunity] not now'
        - '[outcome] uncommitted'
        - '[outcome] at risk'
        - '[outcome] progressing'
        - '[outcome] on track'
        - '[kpi] observational'
        - '[kpi] out of limits'
        - '[kpi] within limits'
        - '[solution] idea'
        - '[solution] now'
        - '[solution] next'
        - '[solution] later'
        - '[solution] done'
        - '[solution] not now'
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http

````