openapi: 3.2.0 info: title: Fullcast Assistant Copilot API description: API for Fullcast Assistant version: 1.0.0 tags: - name: Copilot Api paths: /copilot-api/v1/chat: post: summary: Chat description: Chat with the assistant operationId: chat_copilot_api_v1_chat_post requestBody: content: application/json: schema: $ref: '#/components/schemas/ChatRequest' required: true responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - APIKeyCookie: [] - APIKeyHeader: [] tags: - Copilot Api /copilot-api/v1/chat/messages: get: summary: Get Messages description: Get messages for a chat session operationId: get_messages_copilot_api_v1_chat_messages_get security: - APIKeyCookie: [] - APIKeyHeader: [] parameters: - name: session_id in: query required: true schema: type: string description: The session ID title: Session Id description: The session ID responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/MessageList' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Copilot Api /copilot-api/v1/chat/feedback: post: summary: Submit Feedback description: Submit feedback for a chat session operationId: submit_feedback_copilot_api_v1_chat_feedback_post requestBody: content: application/json: schema: $ref: '#/components/schemas/FeedbackRequest' required: true responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - APIKeyCookie: [] - APIKeyHeader: [] tags: - Copilot Api /copilot-api/v1/chat/stop: post: summary: Stop Chat description: Stop an ongoing chat stream by setting the cancel event operationId: stop_chat_copilot_api_v1_chat_stop_post requestBody: content: application/json: schema: $ref: '#/components/schemas/StopRequest' required: true responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - APIKeyCookie: [] - APIKeyHeader: [] tags: - Copilot Api /copilot-api/v1/chat/session: post: summary: Create Session description: Create a new chat session or updates an existing session. operationId: create_session_copilot_api_v1_chat_session_post requestBody: content: application/json: schema: $ref: '#/components/schemas/SessionRequest' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SessionResponse' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - APIKeyCookie: [] - APIKeyHeader: [] tags: - Copilot Api /copilot-api/v1/chat/sessions: get: summary: List Sessions description: List all active chat sessions for the current user operationId: list_sessions_copilot_api_v1_chat_sessions_get security: - APIKeyCookie: [] - APIKeyHeader: [] parameters: - name: type in: query required: false schema: type: string description: Filter sessions by type. If unspecified, return all sessions title: Type description: Filter sessions by type. If unspecified, return all sessions responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Copilot Api /copilot-api/v1/chat/session/{session_id}: get: summary: Get Session description: Get details of a specific chat session by ID operationId: get_session_copilot_api_v1_chat_session__session_id__get security: - APIKeyCookie: [] - APIKeyHeader: [] parameters: - name: session_id in: path required: true schema: type: string title: Session Id responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Copilot Api delete: summary: Delete Session description: Delete a chat session by its ID operationId: delete_session_copilot_api_v1_chat_session__session_id__delete security: - APIKeyCookie: [] - APIKeyHeader: [] parameters: - name: session_id in: path required: true schema: type: string title: Session Id responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Copilot Api /copilot-api/v1/chat/sessions_archived: get: summary: List Archived Sessions description: List all archived chat sessions for the current user operationId: list_archived_sessions_copilot_api_v1_chat_sessions_archived_get security: - APIKeyCookie: [] - APIKeyHeader: [] parameters: - name: type in: query required: false schema: type: string description: Filter sessions by type. If unspecified, return all sessions title: Type description: Filter sessions by type. If unspecified, return all sessions responses: '200': description: Successful Response content: application/json: schema: {} '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Copilot Api /copilot-api/v1/assistant: get: summary: List Assistants description: List all assistants for the current user operationId: list_assistants_copilot_api_v1_assistant_get responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/AssistantList' security: - APIKeyCookie: [] - APIKeyHeader: [] tags: - Copilot Api put: summary: Update Assistant description: Update an existing assistant operationId: update_assistant_copilot_api_v1_assistant_put requestBody: content: application/json: schema: $ref: '#/components/schemas/Assistant' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Assistant' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Copilot Api post: summary: Create Assistant description: Create a new assistant operationId: create_assistant_copilot_api_v1_assistant_post requestBody: content: application/json: schema: $ref: '#/components/schemas/Assistant' required: true responses: '200': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/Assistant' '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' security: - APIKeyCookie: [] - APIKeyHeader: [] tags: - Copilot Api delete: summary: Deactivate Assistant description: Deactivate an existing assistant operationId: deactivate_assistant_copilot_api_v1_assistant_delete requestBody: content: application/json: schema: $ref: '#/components/schemas/AssistantDeletion' required: true responses: '200': description: Successful Response content: application/json: schema: type: boolean title: Response Deactivate Assistant Copilot Api V1 Assistant Delete '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Copilot Api patch: summary: Reactivate Assistant description: Reactivate an existing assistant operationId: reactivate_assistant_copilot_api_v1_assistant_patch requestBody: content: application/json: schema: $ref: '#/components/schemas/AssistantDeletion' required: true responses: '200': description: Successful Response content: application/json: schema: type: boolean title: Response Reactivate Assistant Copilot Api V1 Assistant Patch '422': description: Validation Error content: application/json: schema: $ref: '#/components/schemas/HTTPValidationError' tags: - Copilot Api /copilot-api/v1/ping: get: summary: Ping operationId: ping_copilot_api_v1_ping_get responses: '200': description: Successful Response content: application/json: schema: {} tags: - Copilot Api components: schemas: StopRequest: properties: session_id: type: string title: Session Id type: object required: - session_id title: StopRequest SessionResponse: properties: session: $ref: '#/components/schemas/UserSession' type: object required: - session title: SessionResponse 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 MessageList: properties: messages: items: $ref: '#/components/schemas/Message' type: array title: Messages type: object required: - messages title: MessageList UserSession: properties: id: type: string title: Id title: type: string title: Title default: '' assistant_id: type: string title: Assistant Id user_id: type: string title: User Id tenant_id: type: string title: Tenant Id data: anyOf: - additionalProperties: true type: object - type: 'null' title: Data created_at: type: string format: date-time title: Created At pin_flag: type: boolean title: Pin Flag default: false type: object required: - assistant_id - user_id - tenant_id title: UserSession SessionRequest: properties: session_id: anyOf: - type: string - type: 'null' title: Session Id assistant_id: anyOf: - type: string - type: 'null' title: Assistant Id browser_details: anyOf: - additionalProperties: true type: object - type: 'null' title: Browser Details current_url: anyOf: - type: string - type: 'null' title: Current Url renderLastFiveMessage: anyOf: - items: {} type: array - type: 'null' title: Renderlastfivemessage planId: anyOf: - type: string - type: 'null' title: Planid planName: anyOf: - type: string - type: 'null' title: Planname pin_flag: anyOf: - type: boolean - type: 'null' title: Pin Flag type: anyOf: - type: string - type: 'null' title: Type module: anyOf: - type: string - type: 'null' title: Module type: object title: SessionRequest Metadata: properties: title: type: string title: Title description: type: string title: Description icon: type: string title: Icon prompts: anyOf: - items: type: string type: array - type: 'null' title: Prompts num_history_messages: anyOf: - type: integer - type: 'null' title: Num History Messages default: 0 type: object required: - title - description - icon - prompts title: Metadata FeedbackRequest: properties: message_id: type: string title: Message Id feedback: type: integer title: Feedback feedback_comment: anyOf: - type: string - type: 'null' title: Feedback Comment support_ticket: anyOf: - type: boolean - type: 'null' title: Support Ticket default: false type: object required: - message_id - feedback title: FeedbackRequest Assistant: properties: id: type: string title: Id name: type: string title: Name description: Name of the assistant config: $ref: '#/components/schemas/AssistantConfig' metadata: anyOf: - $ref: '#/components/schemas/Metadata' - type: 'null' type: object required: - name - config - metadata title: Assistant AssistantList: properties: assistants: items: $ref: '#/components/schemas/Assistant' type: array title: Assistants description: List of assistants default: [] type: object title: AssistantList ChatRequest: properties: session_id: type: string title: Session Id message: $ref: '#/components/schemas/Message' metadata: additionalProperties: true type: object title: Metadata web_search_access: anyOf: - type: boolean - type: 'null' title: Web Search Access default: false type: object required: - session_id - message title: ChatRequest AssistantDeletion: properties: id: type: string format: uuid title: Id description: ID of the assistant to delete type: object required: - id title: AssistantDeletion Message: properties: role: type: string title: Role default: user content: type: string title: Content blocks: items: additionalProperties: true type: object type: array title: Blocks message_id: type: string title: Message Id metadata: anyOf: - additionalProperties: true type: object - type: 'null' title: Metadata masked_content: anyOf: - items: additionalProperties: true type: object type: array - type: 'null' title: Masked Content type: object required: - content title: Message HTTPValidationError: properties: detail: items: $ref: '#/components/schemas/ValidationError' type: array title: Detail type: object title: HTTPValidationError AssistantConfig: properties: provider: type: string title: Provider description: Provider of the assistant type: type: string title: Type description: type of the assistant model: type: string title: Model description: Model used by the assistant table_name: anyOf: - type: string - type: 'null' title: Table Name description: Table name for the assistant type: object required: - provider - type - model title: AssistantConfig securitySchemes: APIKeyCookie: type: apiKey in: cookie name: token APIKeyHeader: type: apiKey in: header name: csrf_token