Openlayer Inference Pipelines API
Production monitoring pipelines and their rows, sessions, and users.
Production monitoring pipelines and their rows, sessions, and users.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/openlayer-inference-pipelines-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Openlayer Commits Inference Pipelines API
description: The Openlayer REST API for AI evaluation, testing, and observability. Manage projects, commit model versions and datasets, run and evaluate tests, create inference pipelines for production monitoring, and stream production inference data into Openlayer. All requests are authenticated with a Bearer API key.
termsOfService: https://www.openlayer.com/terms
contact:
name: Openlayer Support
url: https://www.openlayer.com/docs
email: support@openlayer.com
version: '1.0'
servers:
- url: https://api.openlayer.com/v1
description: Openlayer production API
security:
- api_key: []
tags:
- name: Inference Pipelines
description: Production monitoring pipelines and their rows, sessions, and users.
paths:
/projects/{projectId}/inference-pipelines:
get:
operationId: listInferencePipelines
tags:
- Inference Pipelines
summary: List inference pipelines
description: List the inference pipelines in a project.
parameters:
- $ref: '#/components/parameters/ProjectId'
- name: name
in: query
required: false
schema:
type: string
- name: page
in: query
required: false
schema:
type: integer
default: 1
- name: perPage
in: query
required: false
schema:
type: integer
default: 100
responses:
'200':
description: A paginated list of inference pipelines.
content:
application/json:
schema:
$ref: '#/components/schemas/InferencePipelineList'
'401':
$ref: '#/components/responses/Unauthorized'
post:
operationId: createInferencePipeline
tags:
- Inference Pipelines
summary: Create an inference pipeline
description: Create a new inference pipeline within a project.
parameters:
- $ref: '#/components/parameters/ProjectId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateInferencePipelineRequest'
responses:
'201':
description: The created inference pipeline.
content:
application/json:
schema:
$ref: '#/components/schemas/InferencePipeline'
'401':
$ref: '#/components/responses/Unauthorized'
/inference-pipelines/{inferencePipelineId}:
get:
operationId: retrieveInferencePipeline
tags:
- Inference Pipelines
summary: Retrieve an inference pipeline
parameters:
- $ref: '#/components/parameters/InferencePipelineId'
responses:
'200':
description: The requested inference pipeline.
content:
application/json:
schema:
$ref: '#/components/schemas/InferencePipeline'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateInferencePipeline
tags:
- Inference Pipelines
summary: Update an inference pipeline
parameters:
- $ref: '#/components/parameters/InferencePipelineId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateInferencePipelineRequest'
responses:
'200':
description: The updated inference pipeline.
content:
application/json:
schema:
$ref: '#/components/schemas/InferencePipeline'
'401':
$ref: '#/components/responses/Unauthorized'
delete:
operationId: deleteInferencePipeline
tags:
- Inference Pipelines
summary: Delete an inference pipeline
parameters:
- $ref: '#/components/parameters/InferencePipelineId'
responses:
'204':
description: Inference pipeline deleted.
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/inference-pipelines/{inferencePipelineId}/rows:
post:
operationId: streamRows
tags:
- Inference Pipelines
summary: Create inference pipeline rows
parameters:
- $ref: '#/components/parameters/InferencePipelineId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DataStreamRequest'
responses:
'200':
description: Rows created.
content:
application/json:
schema:
$ref: '#/components/schemas/DataStreamResponse'
'401':
$ref: '#/components/responses/Unauthorized'
put:
operationId: updateRow
tags:
- Inference Pipelines
summary: Update an inference pipeline row
description: Update a previously published row, for example to attach ground truth.
parameters:
- $ref: '#/components/parameters/InferencePipelineId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateRowRequest'
responses:
'200':
description: Row updated.
content:
application/json:
schema:
$ref: '#/components/schemas/Row'
'401':
$ref: '#/components/responses/Unauthorized'
/inference-pipelines/{inferencePipelineId}/rows/{inferenceId}:
get:
operationId: retrieveRow
tags:
- Inference Pipelines
summary: Retrieve an inference pipeline row
parameters:
- $ref: '#/components/parameters/InferencePipelineId'
- $ref: '#/components/parameters/InferenceId'
responses:
'200':
description: The requested row.
content:
application/json:
schema:
$ref: '#/components/schemas/Row'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteRow
tags:
- Inference Pipelines
summary: Delete an inference pipeline row
parameters:
- $ref: '#/components/parameters/InferencePipelineId'
- $ref: '#/components/parameters/InferenceId'
responses:
'204':
description: Row deleted.
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/inference-pipelines/{inferencePipelineId}/results:
get:
operationId: listInferencePipelineTestResults
tags:
- Inference Pipelines
summary: List inference pipeline test results
parameters:
- $ref: '#/components/parameters/InferencePipelineId'
- name: status
in: query
required: false
schema:
type: string
- name: type
in: query
required: false
schema:
type: string
responses:
'200':
description: A list of test results.
content:
application/json:
schema:
$ref: '#/components/schemas/TestResultList'
'401':
$ref: '#/components/responses/Unauthorized'
components:
schemas:
UpdateRowRequest:
type: object
properties:
inferenceId:
type: string
row:
type: object
additionalProperties: true
config:
$ref: '#/components/schemas/DataStreamConfig'
required:
- inferenceId
- row
TestResult:
type: object
properties:
id:
type: string
format: uuid
projectVersionId:
type:
- string
- 'null'
format: uuid
inferencePipelineId:
type:
- string
- 'null'
format: uuid
status:
type: string
description: Result status, e.g. running, passing, failing, skipped, error.
statusMessage:
type:
- string
- 'null'
dateCreated:
type: string
format: date-time
dateUpdated:
type: string
format: date-time
dateDataStarts:
type:
- string
- 'null'
format: date-time
dateDataEnds:
type:
- string
- 'null'
format: date-time
goal:
$ref: '#/components/schemas/Test'
goalId:
type:
- string
- 'null'
format: uuid
required:
- id
- status
DataStreamConfig:
type: object
description: Maps the columns present in each streamed row to Openlayer concepts. The exact fields depend on the project task type (LLM vs tabular).
properties:
inputVariableNames:
type: array
items:
type: string
description: Names of the columns that are input variables to the model.
outputColumnName:
type:
- string
- 'null'
description: Name of the column containing the model output.
groundTruthColumnName:
type:
- string
- 'null'
description: Name of the column containing ground truth labels.
numOfTokenColumnName:
type:
- string
- 'null'
description: Name of the column containing token counts.
costColumnName:
type:
- string
- 'null'
description: Name of the column containing the request cost.
latencyColumnName:
type:
- string
- 'null'
description: Name of the column containing latency in milliseconds.
timestampColumnName:
type:
- string
- 'null'
description: Name of the column containing the UNIX timestamp.
inferenceIdColumnName:
type:
- string
- 'null'
description: Name of the column containing a unique inference id for the row.
contextColumnName:
type:
- string
- 'null'
description: Name of the column containing retrieved context (for RAG/LLM tasks).
questionColumnName:
type:
- string
- 'null'
prompt:
type:
- array
- 'null'
items:
type: object
properties:
role:
type: string
content:
type: string
Row:
type: object
properties:
inferenceId:
type: string
row:
type: object
additionalProperties: true
InferencePipelineList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/InferencePipeline'
DataStreamResponse:
type: object
properties:
success:
type: string
description: Indicates the data was accepted (e.g. "success").
TestResultList:
type: object
properties:
items:
type: array
items:
$ref: '#/components/schemas/TestResult'
UpdateInferencePipelineRequest:
type: object
properties:
name:
type: string
description:
type:
- string
- 'null'
referenceDatasetUri:
type:
- string
- 'null'
CreateInferencePipelineRequest:
type: object
properties:
name:
type: string
description:
type: string
required:
- name
Error:
type: object
properties:
code:
type: string
message:
type: string
required:
- message
Test:
type: object
properties:
id:
type: string
format: uuid
projectVersionId:
type:
- string
- 'null'
format: uuid
name:
type: string
description:
type:
- string
- 'null'
type:
type: string
description: The test type (integrity, consistency, performance).
subtype:
type:
- string
- 'null'
archived:
type: boolean
dateCreated:
type: string
format: date-time
dateUpdated:
type: string
format: date-time
creatorId:
type:
- string
- 'null'
format: uuid
usesMlModel:
type:
- boolean
- 'null'
usesValidationDataset:
type:
- boolean
- 'null'
usesTrainingDataset:
type:
- boolean
- 'null'
usesProductionData:
type:
- boolean
- 'null'
thresholds:
type: array
items:
type: object
properties:
measurement:
type: string
operator:
type: string
value:
oneOf:
- type: number
- type: string
- type: boolean
- type: array
items: {}
required:
- id
- name
- type
DataStreamRequest:
type: object
properties:
config:
$ref: '#/components/schemas/DataStreamConfig'
rows:
type: array
description: The rows of production data being published.
items:
type: object
additionalProperties: true
required:
- config
- rows
InferencePipeline:
type: object
properties:
id:
type: string
format: uuid
projectId:
type:
- string
- 'null'
format: uuid
name:
type: string
description:
type:
- string
- 'null'
dateCreated:
type: string
format: date-time
dateUpdated:
type: string
format: date-time
dateLastSampleReceived:
type:
- string
- 'null'
format: date-time
dateLastEvaluated:
type:
- string
- 'null'
format: date-time
passingGoalCount:
type:
- integer
- 'null'
failingGoalCount:
type:
- integer
- 'null'
totalGoalCount:
type:
- integer
- 'null'
status:
type:
- string
- 'null'
statusMessage:
type:
- string
- 'null'
links:
type: object
properties:
app:
type: string
required:
- id
- name
parameters:
InferencePipelineId:
name: inferencePipelineId
in: path
required: true
description: The unique identifier of the inference pipeline.
schema:
type: string
format: uuid
ProjectId:
name: projectId
in: path
required: true
description: The unique identifier of the project.
schema:
type: string
format: uuid
InferenceId:
name: inferenceId
in: path
required: true
description: The unique identifier of a streamed inference row.
schema:
type: string
responses:
Unauthorized:
description: Authentication failed or the API key is missing or invalid.
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:
api_key:
type: http
scheme: bearer
bearerFormat: apiKey
description: Pass your Openlayer API key as a Bearer token in the Authorization header.