openapi: 3.2.0 info: title: Agenta Testsets API description: Agenta is an open-source LLMOps platform for prompt management, LLM evaluation, and LLM observability. termsOfService: https://agenta.ai/terms contact: name: Agenta Support url: https://agenta.ai/ email: team@agenta.ai license: name: MIT url: https://github.com/Agenta-AI/agenta/blob/main/LICENSE version: '1.0' servers: - url: https://cloud.agenta.ai/api description: Agenta Cloud (US) - url: https://eu.cloud.agenta.ai/api description: Agenta Cloud (EU) security: - ApiKeyAuth: [] tags: - name: Test Sets description: Manage evaluation datasets (testsets). paths: /testsets/: post: operationId: createTestset tags: - Test Sets summary: Create a testset requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/TestsetCreateRequest' responses: '200': description: The created testset. content: application/json: schema: $ref: '#/components/schemas/Testset' '401': $ref: '#/components/responses/Unauthorized' /testsets/query: post: operationId: queryTestsets tags: - Test Sets summary: List and filter testsets requestBody: required: false content: application/json: schema: $ref: '#/components/schemas/TestsetQueryRequest' responses: '200': description: A list of testsets. content: application/json: schema: type: array items: $ref: '#/components/schemas/Testset' '401': $ref: '#/components/responses/Unauthorized' /testsets/{testset_id}: get: operationId: fetchTestset tags: - Test Sets summary: Fetch a single testset by id parameters: - name: testset_id in: path required: true schema: type: string format: uuid responses: '200': description: The requested testset. content: application/json: schema: $ref: '#/components/schemas/Testset' '401': $ref: '#/components/responses/Unauthorized' '404': $ref: '#/components/responses/NotFound' /simple/testsets/upload: post: operationId: createTestsetFromFile tags: - Test Sets summary: Create a testset from an uploaded CSV or JSON file requestBody: required: true content: multipart/form-data: schema: type: object properties: file: type: string format: binary name: type: string responses: '200': description: The created testset. content: application/json: schema: $ref: '#/components/schemas/Testset' '401': $ref: '#/components/responses/Unauthorized' components: schemas: Error: type: object properties: detail: oneOf: - type: string - type: object Testset: type: object properties: id: type: string format: uuid slug: type: string name: type: string data: type: object properties: testcases: type: array items: type: object additionalProperties: true lifecycle: $ref: '#/components/schemas/Lifecycle' TestsetCreateRequest: type: object required: - testset properties: testset: type: object required: - slug properties: slug: type: string name: type: string data: type: object properties: testcases: type: array items: type: object additionalProperties: true Lifecycle: type: object description: Audit metadata attached to most Agenta resources. properties: created_at: type: string format: date-time updated_at: type: string format: date-time created_by_id: type: string format: uuid updated_by_id: type: string format: uuid TestsetQueryRequest: type: object properties: include_archived: type: boolean default: false windowing: $ref: '#/components/schemas/Windowing' Windowing: type: object description: Cursor / time-window pagination controls. properties: next: type: string limit: type: integer default: 100 oldest: type: string format: date-time newest: type: string format: date-time order: type: string enum: - ascending - descending responses: Unauthorized: description: Missing or invalid API key. content: application/json: schema: $ref: '#/components/schemas/Error' NotFound: description: The requested resource was not found. content: application/json: schema: $ref: '#/components/schemas/Error' securitySchemes: ApiKeyAuth: type: http scheme: bearer description: 'Agenta API key sent in the Authorization header. Generate keys from the Agenta web app under Settings > API keys. The value is passed as `Authorization: ApiKey ` (Bearer-style header credential).'