openapi: 3.2.0 info: title: Prorata API Service Questions API version: 1.0.0 description: API for chat, threads, questions, and publisher management servers: - url: /v1 description: API v1 tags: - name: Questions paths: /v1/questions/recommended: get: summary: Get recommended questions description: '**Authentication Required**: This endpoint requires a valid API key. Returns a list of recommended questions for users to ask. **Rate Limiting**: This endpoint is subject to rate limiting based on your organization''s settings. The response headers will include: - `X-RateLimit-Limit`: Maximum requests allowed in the current time window - `X-RateLimit-Remaining`: Number of requests remaining - `X-RateLimit-Reset`: Unix timestamp when the rate limit resets ' tags: - Questions security: - apiKeyAuth: [] parameters: - in: header name: X-User-ID required: true schema: type: string description: Unique identifier for the user making the request - in: query name: count schema: type: integer default: 5 minimum: 1 description: Number of questions to return responses: '200': description: List of recommended questions headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' content: application/json: schema: type: object properties: questions: type: object properties: recommended_queries: type: object properties: questions: type: array items: type: string related_or_synthetic: type: string '401': description: Unauthorized - Invalid or missing API key '429': description: Too Many Requests - Your request was rejected due to rate limit restrictions headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' content: application/json: schema: type: object properties: error: type: string example: Too Many Requests message: type: string example: Rate limit exceeded statusCode: type: integer example: 429 '500': description: Internal server error /v1/questions/related: post: summary: Get related questions description: '**Authentication Required**: This endpoint requires a valid API key. Returns a list of questions related to the provided query. **Rate Limiting**: This endpoint is subject to rate limiting based on your organization''s settings. The response headers will include: - `X-RateLimit-Limit`: Maximum requests allowed in the current time window - `X-RateLimit-Remaining`: Number of requests remaining - `X-RateLimit-Reset`: Unix timestamp when the rate limit resets ' tags: - Questions security: - apiKeyAuth: [] parameters: - in: header name: X-User-ID required: true schema: type: string description: Unique identifier for the user making the request requestBody: required: true content: application/json: schema: type: object required: - thread_id - turn_id - question properties: thread_id: type: string description: Thread ID from your previous /v1/chat response example: turn_id: type: string description: Turn ID from your previous /v1/chat response example: question: type: string description: The original question asked by the user example: How does artificial intelligence work? num_recommended_queries: type: integer description: Number of related questions to return default: 3 max_words_question: type: integer description: Maximum number of words in generated questions default: 14 responses: '200': description: List of related questions headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' content: application/json: schema: type: object properties: questions: type: object properties: recommended_queries: type: object properties: questions: type: array items: type: string related_or_synthetic: type: string '401': description: Unauthorized - Invalid or missing API key '429': description: Too Many Requests - Your request was rejected due to rate limit restrictions headers: X-RateLimit-Limit: $ref: '#/components/headers/X-RateLimit-Limit' X-RateLimit-Remaining: $ref: '#/components/headers/X-RateLimit-Remaining' X-RateLimit-Reset: $ref: '#/components/headers/X-RateLimit-Reset' content: application/json: schema: type: object properties: error: type: string example: Too Many Requests message: type: string example: Rate limit exceeded statusCode: type: integer example: 429 '500': description: Internal server error components: headers: X-RateLimit-Remaining: description: Number of requests remaining in the current time window schema: type: integer X-RateLimit-Limit: description: Maximum requests allowed in the current time window schema: type: integer X-RateLimit-Reset: description: Unix timestamp when the rate limit resets schema: type: integer securitySchemes: apiKeyAuth: type: apiKey in: header name: Authorization description: Add your API key with the Bearer prefix (e.g., "Bearer YOUR-API-KEY")