Skip to content

REST API

jqueguiner edited this page May 4, 2026 · 2 revisions

REST API

Base URL: https://openrun.gladia.io/api/v1

Auth: Authorization: Bearer <api_key> (API keys start with or_)

Runs

Method Endpoint Description
POST /runs Create a new run
GET /projects/{id}/runs List runs (paginated, filterable)
GET /runs/{id} Get run details
PATCH /runs/{id} Update run (config, summary, state, tags)
DELETE /runs/{id} Delete a run
POST /runs/{id}/metrics Batch log metrics
GET /runs/{id}/metrics Get all metrics for a run
POST /runs/{id}/logs Log console output
POST /runs/{id}/heartbeat Liveness ping
GET /runs/compare/metrics Multi-run metric comparison

Blog Posts

Method Endpoint Description
POST /projects/{id}/blogs Create blog post + launch generation
GET /projects/{id}/blogs List blog posts
GET /projects/{id}/blogs/{blog_id} Get blog post (with comments)
PATCH /projects/{id}/blogs/{blog_id} Update blog post (content, comments, etc.)
DELETE /projects/{id}/blogs/{blog_id} Delete blog post
POST /projects/{id}/blogs/suggest-title Generate 5 title variants from project data
POST /projects/{id}/blogs/{blog_id}/regenerate Regenerate with different level/model
POST /projects/{id}/blogs/{blog_id}/generate-title Generate title from content
POST /projects/{id}/blogs/{blog_id}/enrich Add charts or tables from project data
POST /projects/{id}/blogs/{blog_id}/chat-edit LLM edits content via chat (full context)
POST /projects/{id}/blogs/{blog_id}/fix-annotation Fix single comment (full project context)
POST /projects/{id}/blogs/{blog_id}/revise Bulk revision from annotations
POST /projects/{id}/blogs/{blog_id}/save-revision Save revision snapshot + auto changelog
GET /projects/{id}/blogs/{blog_id}/revisions List revisions
POST /projects/{id}/blogs/{blog_id}/revisions/{rev_id}/restore Restore revision
POST /projects/{id}/blogs/{blog_id}/publish Mark as published
GET /projects/{id}/blogs/{blog_id}/export/markdown Export as .md
GET /projects/{id}/blogs/{blog_id}/export/html Export as HTML
GET /projects/{id}/blogs/config Get org blog config
PUT /projects/{id}/blogs/config Update org blog config

Papers

Method Endpoint Description
POST /projects/{id}/papers Create paper
GET /projects/{id}/papers List papers
GET /projects/{id}/papers/{paper_id} Get paper with sections
PATCH /projects/{id}/papers/{paper_id} Update paper
DELETE /projects/{id}/papers/{paper_id} Delete paper
GET /projects/{id}/papers/scan-latex Scan artifacts for .tex files
POST /projects/{id}/papers/import-latex Import .tex file as paper
GET /projects/{id}/papers/models List available LLM models
GET /projects/{id}/papers/co-authors/available List org members
POST /projects/{id}/papers/{paper_id}/generate-section Generate single section
POST /projects/{id}/papers/{paper_id}/generate-full Generate all sections
POST /projects/{id}/papers/{paper_id}/debate Single-round debate
POST /projects/{id}/papers/{paper_id}/debate-multi Multi-round debate (2-5 models)
POST /projects/{id}/papers/{paper_id}/debate-multi/cancel Cancel debate
GET /projects/{id}/papers/{paper_id}/status Generation progress
POST /projects/{id}/papers/{paper_id}/chat-edit LLM edits section (full context)
POST /projects/{id}/papers/{paper_id}/fix-annotation Fix annotation (full context)
GET /projects/{id}/papers/{paper_id}/export/latex Export as .tex
GET /projects/{id}/papers/{paper_id}/export/pdf Export as PDF

Projects

Method Endpoint Description
POST /organizations/{org_id}/projects Create project
GET /projects List user's projects
GET /resolve/{org_slug}/{project_slug} Resolve slugs to IDs (case-insensitive)
GET /projects/{id}/baseline Get baseline + targets
PATCH /projects/{id}/baseline Set baseline run

Artifacts

Method Endpoint Description
POST /runs/{id}/artifacts Register artifact (returns presigned upload URLs)
POST /artifacts/versions/{version_id}/confirm Confirm upload complete
GET /projects/{id}/artifacts List all artifacts
GET /artifacts/{id} Get artifact details + versions
GET /artifacts/{id}/versions/{version} Get specific version
GET /artifacts/versions/{id}/files Browse files
GET /artifacts/versions/{id}/download Get download URLs
GET /artifacts/versions/{id}/files/{file_id}/download Stream file
PATCH /artifacts/versions/{id}/ttl Set/clear TTL
PUT /artifacts/{id}/aliases/{name} Set alias
DELETE /artifacts/{id}/aliases/{name} Delete alias
GET /artifacts/{id}/aliases List aliases
GET /artifacts/{id}/lineage Lineage graph
GET /artifacts/{id}/events Audit trail
POST /runs/{id}/use-artifact Record consumption + get download

Model Registry

Method Endpoint Description
GET /registry/models List all model artifacts
GET /registry/models/{name} Get model by name
PUT /registry/models/{id}/card Update model card
POST /registry/versions/{id}/promote Promote lifecycle stage
POST /registry/versions/{id}/request-approval Request approval
POST /registry/versions/{id}/review Approve/reject
GET /registry/models/{id}/compare Compare versions

Media

Method Endpoint Description
POST /runs/{id}/media Create media file
GET /runs/{id}/media List media for a run
GET /storage/download?key=... Download media file

AI Sessions

Method Endpoint Description
POST /projects/{id}/ai-sessions Create AI session
GET /projects/{id}/ai-sessions List sessions
GET /ai-sessions/{id} Get session detail

Organizations

Method Endpoint Description
GET /organizations List user's orgs
POST /organizations Create org
POST /organizations/{id}/invitations Invite member
GET /organizations/{id}/members List members

Search

GET /api/v1/search?q=loss&type=runs&limit=20
GET /api/v1/search/ai-sessions?q=training+loop

OpenTelemetry

POST /api/v1/otel/v1/traces
Content-Type: application/json
Authorization: Bearer or_...

# Standard OTLP JSON format
{"resourceSpans": [...]}

Health

GET /api/v1/health
# {"status": "healthy", "checks": {"postgres": "ok", "redis": "ok", "minio": "ok"}}

Clone this wiki locally