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

# Post messagessearchsemantic



## OpenAPI

````yaml /openapi.json post /messages/search/semantic
openapi: 3.1.1
info:
  title: Anima API
  version: 0.1.0
  description: >-
    The Anima API provides programmatic access to unified infrastructure for AI
    agents: create and manage agents; send and receive email; place phone calls
    and send/receive SMS and voice; store and retrieve vault credentials; manage
    agent identity; and configure webhooks for real-time events. Authenticate
    using a Bearer token or an API key passed via the X-API-Key header.
  contact:
    name: Anima Labs
    url: https://useanima.sh
    email: support@useanima.sh
  license:
    name: MIT
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://api.useanima.sh/v1
    description: Production
security:
  - BearerAuth: []
  - ApiKeyAuth: []
paths:
  /messages/search/semantic:
    post:
      operationId: message.semanticSearch
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                query:
                  type: string
                  minLength: 1
                  maxLength: 1000
                  description: Natural language search query
                agentId:
                  type: string
                  pattern: ^[cC][^\s-]{8,}$
                  description: Filter results to a specific agent
                inboxId:
                  type: string
                  pattern: ^[cC][^\s-]{8,}$
                  description: >-
                    Filter to one inbox — messages delivered to it (inbound) or
                    sent from it (outbound). The precise way to read a single
                    mailbox when an agent owns several.
                fromAddress:
                  type: string
                  description: >-
                    Filter by sender address, matched exactly (case-sensitive).
                    On inbound mail this is the counterparty; on outbound it is
                    the agent identity the mail was sent from.
                toAddress:
                  type: string
                  description: >-
                    Filter by recipient address, matched exactly
                    (case-sensitive). Note that outbound messages store every
                    recipient in one comma-joined value, so an exact filter
                    matches a multi-recipient send only when given that same
                    joined string — prefer `inboxId` to scope outbound mail to a
                    mailbox.
                limit:
                  default: 10
                  type: integer
                  minimum: 1
                  maximum: 50
                  description: Maximum number of results to return
                threshold:
                  default: 0.7
                  type: number
                  minimum: 0
                  maximum: 1
                  description: Minimum similarity score threshold (0-1)
              required:
                - query
              description: Semantic search parameters
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  results:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          pattern: ^[cC][^\s-]{8,}$
                          description: Unique message identifier
                        content:
                          type: string
                          description: Message content text
                        similarity:
                          type: number
                          description: Cosine similarity score between 0 and 1
                        channel:
                          type: string
                          description: Communication channel (e.g. email, sms)
                        direction:
                          type: string
                          description: Message direction (inbound or outbound)
                        createdAt:
                          type: string
                          format: date-time
                          description: ISO 8601 timestamp of message creation
                        agentId:
                          type: string
                          pattern: ^[cC][^\s-]{8,}$
                          description: Identifier of the agent associated with the message
                        inboxId:
                          anyOf:
                            - type: string
                              pattern: ^[cC][^\s-]{8,}$
                            - type: 'null'
                          description: >-
                            ID of the inbox this message belongs to — the inbox
                            it was delivered to (inbound) or sent from
                            (outbound). Null when no inbox backs the address:
                            SMS/MMS/voice messages, and email sent from an email
                            identity that has no inbox. Pass it back as
                            `inboxId` to scope a later search to that one
                            mailbox.
                      required:
                        - id
                        - content
                        - similarity
                        - channel
                        - direction
                        - createdAt
                        - agentId
                        - inboxId
                      description: Semantically matched message
                    description: List of messages ranked by semantic similarity
                required:
                  - results
                description: Semantic search results
components:
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT
      description: >-
        JWT Bearer token obtained from authentication. Pass as: Authorization:
        Bearer <token>
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: 'API key for programmatic access. Pass as: X-API-Key: <your-key>'

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.