Bluejay Folders API

The Folders API from Bluejay — 6 operation(s) for folders.

OpenAPI Specification

bluejay-folders-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Bluejay Agents Folders API
  description: Bluejay API
  version: 0.1.0
servers:
- url: https://api.getbluejay.ai
  description: Production server
security:
- apiKeyAuth: []
tags:
- name: Folders
paths:
  /v1/create-folder:
    post:
      tags:
      - Folders
      summary: Create Folder
      description: 'Create a new folder for organizing agents.


        Returns the created folder details.'
      operationId: create_folder_v1_create_folder_post
      security:
      - HTTPBearer: []
      parameters:
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
        description: API key required to authenticate requests.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FolderCreateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FolderResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/all-folders:
    get:
      tags:
      - Folders
      summary: Get All Folders
      description: 'Get all folders for the authenticated user''s organization.


        Returns a list of all folders with their details.'
      operationId: get_all_folders_v1_all_folders_get
      security:
      - HTTPBearer: []
      parameters:
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
        description: API key required to authenticate requests.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/FolderResponse'
                title: Response Get All Folders V1 All Folders Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/folder/{folder_id}:
    get:
      tags:
      - Folders
      summary: Get Folder
      description: 'Get a specific folder by ID.


        Returns the folder details if it exists and belongs to the user''s organization.'
      operationId: get_folder_v1_folder__folder_id__get
      security:
      - HTTPBearer: []
      parameters:
      - name: folder_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Folder Id
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
        description: API key required to authenticate requests.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FolderResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
    delete:
      tags:
      - Folders
      summary: Delete Folder
      description: 'Delete a folder.


        Note: This will set the folder_id to NULL for all agents in this folder.

        Returns the deleted folder ID and status.'
      operationId: delete_folder_v1_folder__folder_id__delete
      security:
      - HTTPBearer: []
      parameters:
      - name: folder_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Folder Id
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
        description: API key required to authenticate requests.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FolderDeleteResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/folders/move-agent:
    put:
      tags:
      - Folders
      summary: Move Agent To Folder
      description: 'Move an agent to a folder or disassociate it from any folder.


        - If folder_id is provided: Associates the agent with that folder

        - If folder_id is null: Disassociates the agent from any folder


        Both the agent and folder (if provided) must belong to the user''s organization.'
      operationId: move_agent_to_folder_v1_folders_move_agent_put
      security:
      - HTTPBearer: []
      parameters:
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
        description: API key required to authenticate requests.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/MoveAgentRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MoveAgentResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/update-folder/{folder_id}:
    put:
      tags:
      - Folders
      summary: Update Folder
      description: 'Update a folder''s name.


        Returns the updated folder details.'
      operationId: update_folder_v1_update_folder__folder_id__put
      security:
      - HTTPBearer: []
      parameters:
      - name: folder_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Folder Id
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
        description: API key required to authenticate requests.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FolderUpdateRequest'
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FolderResponse'
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
  /v1/get-agents-by-folder/{folder_id}:
    get:
      tags:
      - Folders
      summary: Get Agents By Folder
      description: 'Get all agents in a specific folder.


        Returns a list of agent IDs and names in the folder.'
      operationId: get_agents_by_folder_v1_get_agents_by_folder__folder_id__get
      security:
      - HTTPBearer: []
      parameters:
      - name: folder_id
        in: path
        required: true
        schema:
          type: string
          format: uuid
          title: Folder Id
      - name: X-API-Key
        in: header
        required: true
        schema:
          type: string
        description: API key required to authenticate requests.
      responses:
        '200':
          description: Successful Response
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/AgentPydantic'
                title: Response Get Agents By Folder V1 Get Agents By Folder  Folder Id  Get
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
components:
  schemas:
    MoveAgentRequest:
      properties:
        agent_id:
          type: integer
          title: Agent Id
          description: ID of the agent to move
        folder_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Folder Id
          description: ID of the target folder (null to disassociate from any folder)
      type: object
      required:
      - agent_id
      title: MoveAgentRequest
    AgentPydantic:
      properties:
        id:
          anyOf:
          - type: string
          - type: integer
          - type: 'null'
          title: Id
        name:
          type: string
          title: Name
        agent_description:
          type: string
          title: Agent Description
        knowledge_base:
          type: string
          title: Knowledge Base
        organization_id:
          type: string
          title: Organization Id
        goals:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Goals
        mode:
          $ref: '#/components/schemas/AgentMode'
        type:
          anyOf:
          - $ref: '#/components/schemas/AgentType'
          - type: 'null'
        connection_type:
          anyOf:
          - $ref: '#/components/schemas/ConnectionType'
          - type: 'null'
        phone_number:
          anyOf:
          - type: string
          - type: 'null'
          title: Phone Number
        websocket_url:
          anyOf:
          - type: string
          - type: 'null'
          title: Websocket Url
        redact_pii:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Redact Pii
        folder_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Folder Id
        created_at:
          anyOf:
          - type: string
            format: date-time
          - type: 'null'
          title: Created At
        keyterms:
          anyOf:
          - items:
              type: string
            type: array
          - type: 'null'
          title: Keyterms
        voice_provider:
          anyOf:
          - type: string
          - type: 'null'
          title: Voice Provider
        provider_id:
          anyOf:
          - type: string
          - type: 'null'
          title: Provider Id
        websocket_username:
          anyOf:
          - type: string
          - type: 'null'
          title: Websocket Username
        websocket_password:
          anyOf:
          - type: string
          - type: 'null'
          title: Websocket Password
        external_agent_id:
          anyOf:
          - type: string
          - type: 'null'
          title: External Agent Id
        sip_uri:
          anyOf:
          - type: string
          - type: 'null'
          title: Sip Uri
        custom_sip_headers:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Custom Sip Headers
        sip_username:
          anyOf:
          - type: string
          - type: 'null'
          title: Sip Username
        sip_password:
          anyOf:
          - type: string
          - type: 'null'
          title: Sip Password
        simulation_notifications:
          additionalProperties: true
          type: object
          title: Simulation Notifications
        livekit_agent_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Livekit Agent Name
        livekit_metadata:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Livekit Metadata
        pipecat_agent_name:
          anyOf:
          - type: string
          - type: 'null'
          title: Pipecat Agent Name
        pipecat_agent_configuration:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Pipecat Agent Configuration
        pipecat_room_properties:
          anyOf:
          - additionalProperties: true
            type: object
          - type: 'null'
          title: Pipecat Room Properties
        http_webhook:
          anyOf:
          - type: string
          - type: 'null'
          title: Http Webhook
        http_webhook_key:
          anyOf:
          - type: string
          - type: 'null'
          title: Http Webhook Key
        enable_outbound_call_auto_start:
          anyOf:
          - type: boolean
          - type: 'null'
          title: Enable Outbound Call Auto Start
      type: object
      required:
      - name
      - agent_description
      - knowledge_base
      - organization_id
      - mode
      title: AgentPydantic
    AgentType:
      type: string
      enum:
      - INBOUND
      - OUTBOUND
      title: AgentType
      description: Enum representing the type of agent
    MoveAgentResponse:
      properties:
        agent_id:
          type: integer
          title: Agent Id
          description: ID of the agent
        folder_id:
          anyOf:
          - type: string
            format: uuid
          - type: 'null'
          title: Folder Id
          description: ID of the folder (null if disassociated)
        status:
          type: string
          title: Status
          description: Status of the operation
          default: success
      type: object
      required:
      - agent_id
      title: MoveAgentResponse
    FolderCreateRequest:
      properties:
        name:
          type: string
          title: Name
          description: Name of the folder
      type: object
      required:
      - name
      title: FolderCreateRequest
    ValidationError:
      properties:
        loc:
          items:
            anyOf:
            - type: string
            - type: integer
          type: array
          title: Location
        msg:
          type: string
          title: Message
        type:
          type: string
          title: Error Type
      type: object
      required:
      - loc
      - msg
      - type
      title: ValidationError
    FolderResponse:
      properties:
        id:
          type: string
          format: uuid
          title: Id
          description: ID of the folder
        name:
          type: string
          title: Name
          description: Name of the folder
        organization_id:
          type: string
          title: Organization Id
          description: Organization ID
        created_at:
          type: string
          title: Created At
          description: Timestamp when the folder was created
      type: object
      required:
      - id
      - name
      - organization_id
      - created_at
      title: FolderResponse
    ConnectionType:
      type: string
      enum:
      - SMS
      - HTTP_WEBHOOK
      - PHONE
      - SIP
      - WEBSOCKET
      - LIVEKIT
      - PIPECAT
      title: ConnectionType
      description: Enum representing the connection type of the agent
    FolderDeleteResponse:
      properties:
        folder_id:
          type: string
          format: uuid
          title: Folder Id
          description: ID of the deleted folder
        status:
          type: string
          title: Status
          description: Status of the deletion
          default: success
      type: object
      required:
      - folder_id
      title: FolderDeleteResponse
    FolderUpdateRequest:
      properties:
        name:
          type: string
          title: Name
          description: New name for the folder
      type: object
      required:
      - name
      title: FolderUpdateRequest
    AgentMode:
      type: string
      enum:
      - VOICE
      - TEXT
      title: AgentMode
      description: Enum representing the mode of agent
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          type: array
          title: Detail
      type: object
      title: HTTPValidationError
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: API key required to authenticate requests.