openapi: 3.0.1
info:
title: Openlayer Commits Storage 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: Storage
description: Presigned URLs for uploading datasets and artifacts.
paths:
/storage/presigned-url:
post:
operationId: createPresignedUrl
tags:
- Storage
summary: Create a presigned URL
description: Create a presigned URL used to upload a dataset or artifact to Openlayer object storage before committing it to a project.
parameters:
- name: objectName
in: query
description: The name of the object to upload.
required: true
schema:
type: string
responses:
'200':
description: A presigned upload URL.
content:
application/json:
schema:
$ref: '#/components/schemas/PresignedUrl'
'401':
$ref: '#/components/responses/Unauthorized'
components:
responses:
Unauthorized:
description: Authentication failed or the API key is missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
Error:
type: object
properties:
code:
type: string
message:
type: string
required:
- message
PresignedUrl:
type: object
properties:
url:
type: string
description: The presigned URL to which the object should be uploaded.
storageUri:
type: string
description: The storage URI (e.g. s3://...) referencing the uploaded object.
fields:
type: object
additionalProperties: true
description: Form fields to include with the upload request, when applicable.
securitySchemes:
api_key:
type: http
scheme: bearer
bearerFormat: apiKey
description: Pass your Openlayer API key as a Bearer token in the Authorization header.