openapi: 3.1.0 info: title: Humanloop API description: | Humanloop's V5 REST API for managing and calling Prompts, Tools, Datasets, Evaluators, Logs and Sessions. Authenticate with an API key sent as a Bearer token in the Authorization header (or X-API-KEY header). version: "5.0.0" contact: name: Humanloop Docs url: https://humanloop.com/docs servers: - url: https://api.humanloop.com/v5 paths: /prompts: get: summary: List Prompts operationId: listPrompts responses: '200': description: OK post: summary: Create or upsert Prompt operationId: upsertPrompt requestBody: required: true content: application/json: schema: type: object properties: path: type: string model: type: string template: type: string responses: '200': description: OK /prompts/{id}: parameters: - in: path name: id required: true schema: type: string get: summary: Get Prompt operationId: getPrompt responses: '200': description: OK delete: summary: Delete Prompt operationId: deletePrompt responses: '204': description: Deleted /prompts/call: post: summary: Call a Prompt (invoke the underlying model and log the result) operationId: callPrompt requestBody: required: true content: application/json: schema: type: object properties: path: type: string id: type: string inputs: type: object additionalProperties: true messages: type: array items: type: object provider_api_keys: type: object additionalProperties: type: string responses: '200': description: OK /prompts/log: post: summary: Log a Prompt call operationId: logPrompt requestBody: required: true content: application/json: schema: type: object properties: path: type: string inputs: type: object additionalProperties: true output: type: string responses: '200': description: OK /tools: get: summary: List Tools operationId: listTools responses: '200': description: OK post: summary: Upsert Tool operationId: upsertTool requestBody: required: true content: application/json: schema: type: object responses: '200': description: OK /tools/{id}: parameters: - in: path name: id required: true schema: type: string get: summary: Get Tool operationId: getTool responses: '200': description: OK /datasets: get: summary: List Datasets operationId: listDatasets responses: '200': description: OK post: summary: Upsert Dataset operationId: upsertDataset requestBody: required: true content: application/json: schema: type: object responses: '200': description: OK /datasets/{id}: parameters: - in: path name: id required: true schema: type: string get: summary: Get Dataset operationId: getDataset responses: '200': description: OK /evaluators: get: summary: List Evaluators operationId: listEvaluators responses: '200': description: OK post: summary: Upsert Evaluator operationId: upsertEvaluator requestBody: required: true content: application/json: schema: type: object responses: '200': description: OK /evaluators/{id}: parameters: - in: path name: id required: true schema: type: string get: summary: Get Evaluator operationId: getEvaluator responses: '200': description: OK /logs: get: summary: List Logs operationId: listLogs responses: '200': description: OK /logs/{id}: parameters: - in: path name: id required: true schema: type: string get: summary: Get Log operationId: getLog responses: '200': description: OK /sessions: get: summary: List Sessions operationId: listSessions responses: '200': description: OK post: summary: Create Session operationId: createSession requestBody: required: true content: application/json: schema: type: object responses: '200': description: OK /sessions/{id}: parameters: - in: path name: id required: true schema: type: string get: summary: Get Session operationId: getSession responses: '200': description: OK components: securitySchemes: bearerAuth: type: http scheme: bearer bearerFormat: API Key apiKeyAuth: type: apiKey in: header name: X-API-KEY security: - bearerAuth: [] - apiKeyAuth: []