Gentrace API
REST API (v4) for managing Gentrace pipelines, datasets, experiments, and test cases used to evaluate and test LLM/AI applications. Bearer API-key authenticated.
REST API (v4) for managing Gentrace pipelines, datasets, experiments, and test cases used to evaluate and test LLM/AI applications. Bearer API-key authenticated.
{
"openapi": "3.1.0",
"info": {
"title": "Gentrace API",
"version": "0.1.0",
"description": "API documentation for Gentrace services.",
"contact": {
"name": "Gentrace",
"url": "https://gentrace.ai",
"email": "support@gentrace.ai"
},
"license": {
"name": "MIT",
"url": "https://opensource.org/licenses/MIT"
}
},
"externalDocs": {
"url": "https://github.com/gentrace/gentrace-openapi",
"description": "Gentrace OpenAPI Github"
},
"servers": [
{
"url": "https://gentrace.ai/api",
"description": "API Endpoint"
}
],
"security": [
{
"bearerAuth": []
}
],
"paths": {
"/v4/pipelines": {
"get": {
"summary": "List pipelines",
"description": "List pipelines",
"operationId": "listPipelines",
"tags": ["Pipelines"],
"parameters": [
{
"$ref": "#/components/parameters/SlugQueryParam"
},
{
"$ref": "#/components/parameters/FolderIdQueryParam"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Pipeline"
}
}
},
"required": ["data"]
}
}
}
},
"400": {
"description": "Client provided an invalid request for the pipeline. Please check the request format and parameters.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestError"
}
}
}
},
"401": {
"description": "No valid API key provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnauthorizedError"
}
}
}
},
"404": {
"description": "The pipeline resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NotFoundError"
}
}
}
},
"500": {
"description": "Something went wrong on Gentrace's end.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalServerError"
}
}
}
}
}
},
"post": {
"summary": "Create a pipeline",
"description": "Create a new pipeline",
"operationId": "createPipeline",
"tags": ["Pipelines"],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreatePipeline"
}
}
}
},
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pipeline"
}
}
}
},
"400": {
"description": "Client provided an invalid request for the pipeline. Please check the request format and parameters.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestError"
}
}
}
},
"401": {
"description": "No valid API key provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnauthorizedError"
}
}
}
},
"404": {
"description": "The pipeline resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NotFoundError"
}
}
}
},
"500": {
"description": "Something went wrong on Gentrace's end.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalServerError"
}
}
}
}
}
}
},
"/v4/pipelines/{id}": {
"get": {
"summary": "Get a single pipeline",
"description": "Retrieve the details of a pipeline by ID",
"operationId": "getPipeline",
"tags": ["Pipelines"],
"parameters": [
{
"$ref": "#/components/parameters/PipelineIdPathParam"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pipeline"
}
}
}
},
"400": {
"description": "Client provided an invalid request for the pipeline. Please check the request format and parameters.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestError"
}
}
}
},
"401": {
"description": "No valid API key provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnauthorizedError"
}
}
}
},
"404": {
"description": "The pipeline resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NotFoundError"
}
}
}
},
"500": {
"description": "Something went wrong on Gentrace's end.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalServerError"
}
}
}
}
}
},
"post": {
"summary": "Update a pipeline",
"description": "Update the details of a pipeline by ID",
"operationId": "updatePipeline",
"tags": ["Pipelines"],
"parameters": [
{
"$ref": "#/components/parameters/PipelineIdPathParam"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdatePipeline"
}
}
}
},
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Pipeline"
}
}
}
},
"400": {
"description": "Client provided an invalid request for the pipeline. Please check the request format and parameters.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestError"
}
}
}
},
"401": {
"description": "No valid API key provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnauthorizedError"
}
}
}
},
"404": {
"description": "The pipeline resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NotFoundError"
}
}
}
},
"500": {
"description": "Something went wrong on Gentrace's end.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalServerError"
}
}
}
}
}
}
},
"/v4/datasets": {
"get": {
"summary": "List datasets",
"description": "List datasets",
"operationId": "listDatasets",
"tags": ["Datasets"],
"parameters": [
{
"$ref": "#/components/parameters/PipelineIdQueryParam"
},
{
"$ref": "#/components/parameters/PipelineSlugQueryParam"
},
{
"$ref": "#/components/parameters/ArchivedQueryParam"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Dataset"
}
}
},
"required": ["data"]
}
}
}
},
"400": {
"description": "Client provided an invalid request for the dataset. Please check the request format and parameters.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestError"
}
}
}
},
"401": {
"description": "No valid API key provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnauthorizedError"
}
}
}
},
"404": {
"description": "The dataset resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NotFoundError"
}
}
}
},
"500": {
"description": "Something went wrong on Gentrace's end.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalServerError"
}
}
}
}
}
},
"post": {
"summary": "Create a dataset",
"description": "Create a new dataset",
"operationId": "createDataset",
"tags": ["Datasets"],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateDataset"
}
}
}
},
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Dataset"
}
}
}
},
"400": {
"description": "Client provided an invalid request for the dataset. Please check the request format and parameters.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestError"
}
}
}
},
"401": {
"description": "No valid API key provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnauthorizedError"
}
}
}
},
"404": {
"description": "The dataset resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NotFoundError"
}
}
}
},
"500": {
"description": "Something went wrong on Gentrace's end.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalServerError"
}
}
}
}
}
}
},
"/v4/datasets/{id}": {
"get": {
"summary": "Get a single dataset",
"description": "Retrieve the details of a dataset by ID",
"operationId": "getDataset",
"tags": ["Datasets"],
"parameters": [
{
"$ref": "#/components/parameters/DatasetIdPathParam"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Dataset"
}
}
}
},
"400": {
"description": "Client provided an invalid request for the dataset. Please check the request format and parameters.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestError"
}
}
}
},
"401": {
"description": "No valid API key provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnauthorizedError"
}
}
}
},
"404": {
"description": "The dataset resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NotFoundError"
}
}
}
},
"500": {
"description": "Something went wrong on Gentrace's end.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalServerError"
}
}
}
}
}
},
"post": {
"summary": "Update a dataset",
"description": "Update the details of a dataset by ID",
"operationId": "updateDataset",
"tags": ["Datasets"],
"parameters": [
{
"$ref": "#/components/parameters/DatasetIdPathParam"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateDataset"
}
}
}
},
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Dataset"
}
}
}
},
"400": {
"description": "Client provided an invalid request for the dataset. Please check the request format and parameters.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestError"
}
}
}
},
"401": {
"description": "No valid API key provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnauthorizedError"
}
}
}
},
"404": {
"description": "The dataset resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NotFoundError"
}
}
}
},
"500": {
"description": "Something went wrong on Gentrace's end.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalServerError"
}
}
}
}
}
}
},
"/v4/experiments": {
"get": {
"summary": "List experiments",
"description": "List experiments",
"operationId": "listExperiments",
"tags": ["Experiments"],
"parameters": [
{
"$ref": "#/components/parameters/PipelineIdQueryParam"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/Experiment"
}
}
},
"required": ["data"]
}
}
}
},
"400": {
"description": "Client provided an invalid request for the experiment. Please check the request format and parameters.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestError"
}
}
}
},
"401": {
"description": "No valid API key provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnauthorizedError"
}
}
}
},
"404": {
"description": "The experiment resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NotFoundError"
}
}
}
},
"500": {
"description": "Something went wrong on Gentrace's end.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalServerError"
}
}
}
}
}
},
"post": {
"summary": "Create a experiment",
"description": "Create a new experiment",
"operationId": "createExperiment",
"tags": ["Experiments"],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateExperiment"
}
}
}
},
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Experiment"
}
}
}
},
"400": {
"description": "Client provided an invalid request for the experiment. Please check the request format and parameters.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestError"
}
}
}
},
"401": {
"description": "No valid API key provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnauthorizedError"
}
}
}
},
"404": {
"description": "The experiment resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NotFoundError"
}
}
}
},
"500": {
"description": "Something went wrong on Gentrace's end.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalServerError"
}
}
}
}
}
}
},
"/v4/experiments/{id}": {
"get": {
"summary": "Get a single experiment",
"description": "Retrieve the details of a experiment by ID",
"operationId": "getExperiment",
"tags": ["Experiments"],
"parameters": [
{
"$ref": "#/components/parameters/ExperimentIdPathParam"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Experiment"
}
}
}
},
"400": {
"description": "Client provided an invalid request for the experiment. Please check the request format and parameters.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestError"
}
}
}
},
"401": {
"description": "No valid API key provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnauthorizedError"
}
}
}
},
"404": {
"description": "The experiment resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NotFoundError"
}
}
}
},
"500": {
"description": "Something went wrong on Gentrace's end.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalServerError"
}
}
}
}
}
},
"post": {
"summary": "Update a experiment",
"description": "Update the details of a experiment by ID",
"operationId": "updateExperiment",
"tags": ["Experiments"],
"parameters": [
{
"$ref": "#/components/parameters/ExperimentIdPathParam"
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UpdateExperiment"
}
}
}
},
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Experiment"
}
}
}
},
"400": {
"description": "Client provided an invalid request for the experiment. Please check the request format and parameters.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestError"
}
}
}
},
"401": {
"description": "No valid API key provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnauthorizedError"
}
}
}
},
"404": {
"description": "The experiment resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NotFoundError"
}
}
}
},
"500": {
"description": "Something went wrong on Gentrace's end.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalServerError"
}
}
}
}
}
}
},
"/v4/test-cases": {
"get": {
"summary": "List test cases",
"description": "List test cases",
"operationId": "listTestCases",
"tags": ["TestCases"],
"parameters": [
{
"$ref": "#/components/parameters/DatasetIdQueryParam"
},
{
"$ref": "#/components/parameters/PipelineIdQueryParam"
},
{
"$ref": "#/components/parameters/PipelineSlugQueryParam"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/components/schemas/TestCase"
}
}
},
"required": ["data"]
}
}
}
},
"400": {
"description": "Client provided an invalid request for the test case. Please check the request format and parameters.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestError"
}
}
}
},
"401": {
"description": "No valid API key provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnauthorizedError"
}
}
}
},
"404": {
"description": "The test case resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NotFoundError"
}
}
}
},
"500": {
"description": "Something went wrong on Gentrace's end.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalServerError"
}
}
}
}
}
},
"post": {
"summary": "Create a test case",
"description": "Create a new test case",
"operationId": "createTestCase",
"tags": ["TestCases"],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/CreateTestCase"
}
}
}
},
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TestCase"
}
}
}
},
"400": {
"description": "Client provided an invalid request for the test case. Please check the request format and parameters.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestError"
}
}
}
},
"401": {
"description": "No valid API key provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnauthorizedError"
}
}
}
},
"404": {
"description": "The test case resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NotFoundError"
}
}
}
},
"500": {
"description": "Something went wrong on Gentrace's end.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalServerError"
}
}
}
}
}
}
},
"/v4/test-cases/{id}": {
"get": {
"summary": "Get a single test case",
"description": "Retrieve the details of a test case by ID",
"operationId": "getTestCase",
"tags": ["TestCases"],
"parameters": [
{
"$ref": "#/components/parameters/TestCaseIdPathParam"
}
],
"responses": {
"200": {
"description": "Successful response",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TestCase"
}
}
}
},
"400": {
"description": "Client provided an invalid request for the test case. Please check the request format and parameters.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BadRequestError"
}
}
}
},
"401": {
"description": "No valid API key provided.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/UnauthorizedError"
}
}
}
},
"404": {
"description": "The test case resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/NotFoundError"
}
}
}
},
"500": {
"description": "Something went wrong on Gentrace's end.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/InternalServerError"
}
}
}
}
}
},
"delete": {
"summary": "Delete a test case",
"description": "Delete a test case by ID",
"operationId": "deleteTestCase",
"tags": ["TestCases"],
"parameters": [
{
"$ref": "#/components/parameters/TestCaseIdPathParam"
}
],
"responses": {
"204": {
"description": "Successful response"
},
"400": {
"description": "Client provided an invalid request for the test case. Please check the request format and parameters.",
"content": {
# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/gentrace/refs/heads/main/openapi/gentrace-openapi-original.json