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

# POST /api/bots



## OpenAPI

````yaml /api/worksong.openapi.json post /api/bots
openapi: 3.1.0
info:
  title: Worksong API
  version: 042e65d5f227
  description: >-
    The HTTP API behind the Worksong apps, generated from the code at the commit
    below. Request and response shapes come from the shared zod contract; an
    operation marked `x-gaps` has a part the generator could not resolve.
  x-source: worksong-ai/worksong@042e65d5f2275493f60f879c7970dcfdeceb7e0e
servers:
  - url: https://app.worksong.ai
security:
  - bearerAuth: []
tags:
  - name: Approvals
  - name: Audit
  - name: Avatar generator
  - name: Bootstrap
  - name: Bot compute limit
  - name: Bot mcp servers
  - name: Bots
  - name: Calls
  - name: Connections
  - name: Contacts
  - name: Conversations
  - name: Coupons
  - name: Day grants
  - name: Desktop
  - name: Entity files
  - name: Files
  - name: Github
  - name: Insights
  - name: Login
  - name: Mcp servers
  - name: Me
  - name: Me bot messaging
  - name: Me chat header
  - name: Me daily limit
  - name: Me time zone
  - name: Memory
  - name: Message delete
  - name: Messages
  - name: Notifications
  - name: Optimize prompt
  - name: Phone
  - name: Places
  - name: Projects
  - name: Public file links
  - name: Push
  - name: Queue
  - name: Reactions
  - name: Register
  - name: Rooms
  - name: Routes
  - name: Routines
  - name: Runs
  - name: Skills
  - name: Tasks
  - name: Transcribe
  - name: Tts
  - name: Webhooks
  - name: Whats new
  - name: Whatsapp
  - name: Workspace files
paths:
  /api/bots:
    post:
      tags:
        - Bots
      summary: POST /api/bots
      operationId: post_api_bots
      parameters: []
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                profile:
                  type: object
                  properties:
                    name:
                      type: string
                      minLength: 1
                      maxLength: 80
                    title:
                      type: string
                      minLength: 1
                      maxLength: 80
                    description:
                      type: string
                      minLength: 1
                      maxLength: 40000
                    avatarColor:
                      type: string
                      pattern: ^#[0-9a-fA-F]{6}$
                    avatarShape:
                      type: string
                      enum:
                        - circle
                        - squircle
                        - hexagon
                        - shield
                        - diamond
                    imageFileId:
                      anyOf:
                        - type: string
                          format: uuid
                        - type: 'null'
                  required:
                    - name
                    - title
                    - description
                    - avatarColor
                    - avatarShape
                model:
                  anyOf:
                    - type: string
                      minLength: 1
                      maxLength: 128
                      pattern: ^[A-Za-z0-9._@:/-]+$
                    - type: 'null'
                effort:
                  anyOf:
                    - type: string
                      enum:
                        - low
                        - medium
                        - high
                        - xhigh
                        - max
                    - type: 'null'
                voice:
                  type: string
                  enum:
                    - alloy
                    - ash
                    - coral
                    - echo
                    - fable
                    - onyx
                    - nova
                    - sage
                    - shimmer
                autonomy:
                  default: supervised
                  type: string
                  enum:
                    - manual
                    - supervised
                    - autonomous
                capabilities:
                  type: object
                  properties:
                    tools:
                      maxItems: 64
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 128
                        pattern: ^[A-Za-z0-9_*-]+$
                    sandboxEnabled:
                      type: boolean
                    approvalRequiredTools:
                      maxItems: 64
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 128
                        pattern: ^[A-Za-z0-9_*-]+$
                    browserEnabled:
                      type: boolean
                    allowedComposioSlugs:
                      maxItems: 200
                      type: array
                      items:
                        type: string
                        minLength: 1
                        maxLength: 200
                budget:
                  type: object
                  properties:
                    maxBudgetUsd:
                      type: number
                      exclusiveMinimum: 0
                      maximum: 1000
                    maxTurns:
                      type: integer
                      minimum: 1
                      maximum: 1000
                    monthlyBudgetUsd:
                      anyOf:
                        - type: number
                          minimum: 0
                          maximum: 999999
                        - type: 'null'
                    dailyBudgetUsd:
                      anyOf:
                        - type: number
                          minimum: 0
                          maximum: 999999
                        - type: 'null'
                    dailyComputeHours:
                      anyOf:
                        - type: number
                          minimum: 0.5
                          maximum: 168
                        - type: 'null'
              required:
                - profile
      responses:
        '201':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    format: uuid
                  userId:
                    type: string
                    format: uuid
                  profile:
                    type: object
                    properties:
                      name:
                        type: string
                        minLength: 1
                        maxLength: 80
                      title:
                        type: string
                        minLength: 1
                        maxLength: 80
                      description:
                        type: string
                        minLength: 1
                        maxLength: 40000
                      avatarColor:
                        type: string
                        pattern: ^#[0-9a-fA-F]{6}$
                      avatarShape:
                        type: string
                        enum:
                          - circle
                          - squircle
                          - hexagon
                          - shield
                          - diamond
                      imageFileId:
                        anyOf:
                          - type: string
                            format: uuid
                          - type: 'null'
                    required:
                      - name
                      - title
                      - description
                      - avatarColor
                      - avatarShape
                    additionalProperties: false
                  model:
                    anyOf:
                      - type: string
                        minLength: 1
                        maxLength: 128
                        pattern: ^[A-Za-z0-9._@:/-]+$
                      - type: 'null'
                  effort:
                    anyOf:
                      - type: string
                        enum:
                          - low
                          - medium
                          - high
                          - xhigh
                          - max
                      - type: 'null'
                  voice:
                    default: nova
                    type: string
                    enum:
                      - alloy
                      - ash
                      - coral
                      - echo
                      - fable
                      - onyx
                      - nova
                      - sage
                      - shimmer
                  status:
                    type: string
                    enum:
                      - active
                      - paused
                      - archived
                  autonomy:
                    type: string
                    enum:
                      - manual
                      - supervised
                      - autonomous
                  capabilities:
                    type: object
                    properties:
                      tools:
                        maxItems: 64
                        type: array
                        items:
                          type: string
                          minLength: 1
                          maxLength: 128
                          pattern: ^[A-Za-z0-9_*-]+$
                      sandboxEnabled:
                        type: boolean
                      approvalRequiredTools:
                        maxItems: 64
                        type: array
                        items:
                          type: string
                          minLength: 1
                          maxLength: 128
                          pattern: ^[A-Za-z0-9_*-]+$
                      browserEnabled:
                        type: boolean
                      allowedComposioSlugs:
                        maxItems: 200
                        type: array
                        items:
                          type: string
                          minLength: 1
                          maxLength: 200
                    required:
                      - tools
                      - sandboxEnabled
                      - approvalRequiredTools
                    additionalProperties: false
                  budget:
                    type: object
                    properties:
                      maxBudgetUsd:
                        type: number
                        exclusiveMinimum: 0
                        maximum: 1000
                      maxTurns:
                        type: integer
                        minimum: 1
                        maximum: 1000
                      monthlyBudgetUsd:
                        anyOf:
                          - type: number
                            minimum: 0
                            maximum: 999999
                          - type: 'null'
                      dailyBudgetUsd:
                        anyOf:
                          - type: number
                            minimum: 0
                            maximum: 999999
                          - type: 'null'
                      dailyComputeHours:
                        anyOf:
                          - type: number
                            minimum: 0.5
                            maximum: 168
                          - type: 'null'
                    required:
                      - maxBudgetUsd
                      - maxTurns
                      - monthlyBudgetUsd
                    additionalProperties: false
                  monthSpendUsd:
                    type: number
                    minimum: 0
                    maximum: 1000000
                  daySpendUsd:
                    type: number
                    minimum: 0
                    maximum: 1000000
                  lastActivityAt:
                    anyOf:
                      - type: string
                        format: date-time
                      - type: 'null'
                  lastMessagePreview:
                    anyOf:
                      - type: object
                        properties:
                          kind:
                            type: string
                            enum:
                              - text
                              - photo
                              - file
                              - voice
                          text:
                            anyOf:
                              - type: string
                                maxLength: 500
                              - type: 'null'
                        required:
                          - kind
                          - text
                        additionalProperties: false
                      - type: 'null'
                  lastMessageSentAt:
                    anyOf:
                      - type: string
                        format: date-time
                      - type: 'null'
                  lastMessageFrom:
                    anyOf:
                      - type: string
                        enum:
                          - person
                          - agent
                      - type: 'null'
                  pinned:
                    default: false
                    type: boolean
                  favorite:
                    default: false
                    type: boolean
                  chatArchived:
                    default: false
                    type: boolean
                  createdAt:
                    type: string
                    format: date-time
                  updatedAt:
                    type: string
                    format: date-time
                required:
                  - id
                  - userId
                  - profile
                  - model
                  - voice
                  - status
                  - autonomy
                  - capabilities
                  - budget
                  - monthSpendUsd
                  - pinned
                  - favorite
                  - chatArchived
                  - createdAt
                  - updatedAt
                additionalProperties: false
        4XX:
          description: Error. A problem object with a status and a message.
      security:
        - bearerAuth: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

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