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

# Deploy bot

> Deploys a bot using the flow JSON you send in the body. Use it after you've changed the flow JSON you got from Get bot flow.



## OpenAPI

````yaml POST /v1/bots/{bot_id}/deploy
openapi: 3.1.0
info:
  title: WotNot API
  version: 1.0.0
  description: 'WotNot API: Deploy bot.'
servers:
  - url: https://api.wotnot.io
    description: Production
security:
  - bearerAuth: []
paths:
  /v1/bots/{bot_id}/deploy:
    post:
      summary: Deploy bot
      description: >-
        Deploys a bot using the flow JSON you send in the body. Use it after
        you've changed the flow JSON you got from Get bot flow.
      operationId: deployBot
      parameters:
        - name: bot_id
          in: path
          required: true
          description: The ID of the bot you want to deploy.
          schema:
            type: string
      requestBody:
        required: true
        description: The flow JSON to deploy.
        content:
          application/json:
            schema:
              type: object
              required:
                - flow_diagram
              properties:
                flow_diagram:
                  type: string
                  description: >-
                    The bot's flow JSON, with your changes. In the example,
                    `BOT_FLOW_JSON` stands in for that JSON.
                  example: BOT_FLOW_JSON
            example:
              flow_diagram: BOT_FLOW_JSON
      responses:
        '200':
          description: >-
            Returns `ok` set to `true`, the deployed flow JSON in `data`, and
            when the bot was deployed.
          content:
            application/json:
              schema:
                type: object
                required:
                  - ok
                  - data
                  - is_deployed
                  - last_deployed_at
                properties:
                  ok:
                    type: boolean
                    description: '`true` when the request worked. Errors return `false`.'
                    example: true
                  data:
                    type: string
                    description: >-
                      The bot's flow JSON as deployed. In the example,
                      `BOT_FLOW_JSON` stands in for that JSON.
                    example: BOT_FLOW_JSON
                  is_deployed:
                    type: boolean
                    description: >-
                      Whether the bot is deployed. `true` after a successful
                      deploy.
                    example: true
                  last_deployed_at:
                    type: string
                    description: >-
                      When the bot was last deployed, in the format `YYYY-MM-DD
                      HH:MM:SS.ffffff`, for example `2025-05-05
                      10:37:43.128000`.
                    example: '2025-05-05 10:37:43.128000'
              example:
                ok: true
                data: BOT_FLOW_JSON
                is_deployed: true
                last_deployed_at: '2025-05-05 10:37:43.128000'
        '404':
          $ref: '#/components/responses/BotNotFound'
components:
  responses:
    BotNotFound:
      description: No bot was found with this `bot_id`. Check that the ID is correct.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
          example:
            error: BOT_NOT_FOUND
            ok: false
            status: 404
            message: Bot not found.
  schemas:
    Error:
      type: object
      description: Returned whenever a request fails.
      required:
        - error
        - ok
        - status
        - message
      properties:
        error:
          type: string
          description: >-
            A short error code in capital letters, for example `UNAUTHORIZED`.
            Check this in your code to tell errors apart.
          example: UNAUTHORIZED
        ok:
          type: boolean
          description: Always `false` when something went wrong.
          example: false
        status:
          type: integer
          description: The HTTP status code, repeated in the body, for example `401`.
          example: 401
        message:
          type: string
          description: What went wrong and how to fix it, in plain words.
          example: Invalid token. Provide the valid account token.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        All of WotNot's APIs use Bearer token authentication. Send your account
        token as `Bearer <token>`. You can find it in Settings > Account
        Settings > Developer. Keep it on your server: anyone who has it can call
        the API as your account.

````

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