openapi: 3.2.0 info: title: Gloria Terminal Narratives 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: Narratives description: Market narrative threads grouping related news paths: /narratives: get: operationId: getNarratives tags: - Narratives summary: List narratives description: Returns all active market narrative threads. responses: '200': description: Narrative list content: application/json: schema: type: array items: $ref: '#/components/schemas/Narrative' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /narratives/{id}: get: operationId: getNarrativeById tags: - Narratives summary: Get a single narrative parameters: - name: id in: path required: true schema: type: string responses: '200': description: Narrative content: application/json: schema: $ref: '#/components/schemas/Narrative' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' components: schemas: Narrative: type: object required: - narrative_id - updated_at - content properties: narrative_id: type: string updated_at: type: string format: date-time tag: type: - string - 'null' description: Narrative tag / classification summary: type: - string - 'null' description: Narrative summary content: type: array items: type: object additionalProperties: true description: Associated news items ErrorResponse: type: object required: - detail properties: detail: type: string description: Error message responses: NotFound: description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' Unauthorized: description: Missing or invalid authentication token 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`.