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

# Send a new whisper.



## OpenAPI

````yaml api/openapi.json post /api/whispers
openapi: 3.0.2
info:
  contact:
    name: OpenAgents
    url: https://openagents.com
  description: >-
    OpenAgents REST API (Laravel). Primary auth is Sanctum bearer tokens for
    /api endpoints.
  title: OpenAgents API
  version: 1.0.0
servers:
  - description: Primary production server
    url: https://openagents.com
security:
  - SanctumToken: []
tags:
  - description: Authentication context and token lifecycle endpoints.
    name: Auth
  - description: Conversation, run, and stream endpoints.
    name: Chat
  - description: Autopilot resources, thread scoping, and stream alias routes.
    name: Autopilot
  - description: Authenticated profile management endpoints.
    name: Profile
  - description: Global public broadcast messages, optionally scoped by zone.
    name: Shouts
  - description: Direct messages between two users, inbox and thread retrieval.
    name: Whispers
  - description: Lightning L402 wallet, receipts, and deployment telemetry endpoints.
    name: L402
  - description: >-
      Per-user Spark wallet lifecycle and payment APIs (invoice + pay + spark
      transfers).
    name: Agent Payments
paths:
  /api/whispers:
    post:
      tags:
        - Whispers
      summary: Send a new whisper.
      requestBody:
        content:
          application/json:
            schema:
              properties:
                body:
                  example: hey
                  maxLength: 5000
                  type: string
                recipientHandle:
                  example: agent:autopilot
                  nullable: true
                  type: string
                recipientId:
                  example: 42
                  nullable: true
                  type: integer
              type: object
        description: Send a direct whisper to a user by id or handle.
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  data:
                    properties:
                      body:
                        type: string
                      createdAt:
                        format: date-time
                        nullable: true
                        type: string
                      id:
                        type: integer
                      readAt:
                        format: date-time
                        nullable: true
                        type: string
                      recipient:
                        properties:
                          avatar:
                            nullable: true
                            type: string
                          handle:
                            type: string
                          id:
                            type: integer
                          name:
                            type: string
                        type: object
                      sender:
                        properties:
                          avatar:
                            nullable: true
                            type: string
                          handle:
                            type: string
                          id:
                            type: integer
                          name:
                            type: string
                        type: object
                      updatedAt:
                        format: date-time
                        nullable: true
                        type: string
                    type: object
                type: object
          description: Whisper response payload
        '401':
          content:
            application/json:
              schema:
                properties:
                  message:
                    example: Unauthenticated.
                    type: string
                type: object
          description: Authentication required
        '403':
          content:
            application/json:
              schema:
                properties:
                  message:
                    example: This action is unauthorized.
                    type: string
                type: object
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                properties:
                  message:
                    example: Not found.
                    type: string
                type: object
          description: Not found
        '422':
          content:
            application/json:
              schema:
                properties:
                  errors:
                    additionalProperties:
                      items:
                        type: string
                      type: array
                    type: object
                  message:
                    example: The given data was invalid.
                    type: string
                type: object
          description: Validation error
components:
  securitySchemes:
    SanctumToken:
      bearerFormat: Sanctum PAT
      scheme: bearer
      type: http

````