openapi: 3.2.0 info: title: Gloria Terminal Bots API version: 1.0.0 description: AI-powered crypto intelligence API providing real-time news with sentiment analysis, market narratives, category recaps, and articles. contact: name: Gloria Terminal url: https://itsgloria.ai servers: - url: https://ai.gloriaterminal.com description: Production security: - BearerAuth: [] - TokenQuery: [] tags: - name: Bots description: Social platform bot registration (Telegram, Discord) paths: /user/social-platform-bots: put: operationId: registerBot tags: - Bots summary: Register a social platform bot description: Registers a bot on a social platform (e.g. Telegram, Discord) to receive news updates. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/RegisterBotRequest' responses: '201': description: Bot registered content: application/json: schema: type: object required: - id properties: id: type: string description: Bot registration ID '401': $ref: '#/components/responses/Unauthorized' get: operationId: listBots tags: - Bots summary: List registered bots description: Returns all social platform bots registered by the authenticated user. responses: '200': description: Bot list content: application/json: schema: type: object required: - bots properties: bots: type: array items: $ref: '#/components/schemas/SocialPlatformBot' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' delete: operationId: deleteBot tags: - Bots summary: Delete a registered bot requestBody: required: true content: application/json: schema: type: object required: - id properties: id: type: string description: Bot registration ID to delete responses: '200': description: Bot deleted content: application/json: schema: type: object properties: message: type: string example: Deleted successfully '401': $ref: '#/components/responses/Unauthorized' '500': $ref: '#/components/responses/InternalError' components: schemas: RegisterBotRequest: type: object required: - label - platform - platform_user_id - platform_channel_id properties: label: type: string description: Bot label / name platform: type: string description: Platform name (e.g. telegram, discord) platform_user_id: type: string description: User ID on the platform platform_channel_id: type: string description: Channel ID on the platform ErrorResponse: type: object required: - detail properties: detail: type: string description: Error message SocialPlatformBot: type: object required: - id - label - platform - platform_user_id - platform_channel_id - created_at - wallet_address properties: id: type: string label: type: string platform: type: string platform_user_id: type: string platform_channel_id: type: string created_at: type: string format: date-time wallet_address: type: string responses: Unauthorized: description: Missing or invalid authentication token content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' InternalError: description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' securitySchemes: BearerAuth: type: http scheme: bearer bearerFormat: JWT description: JWT token obtained from `/auth/verify` or `/user/api-tokens`. TokenQuery: type: apiKey in: query name: token description: JWT token passed as a query parameter. Equivalent to `BearerAuth`.