How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Sageox Recordings API

Full lifecycle management for discussion recordings: chunked upload, transcription, speaker identification, AI-generated summaries, decisions, and action items. Recordings feed into the repository Ledger. Supports both audio upload and real-time recording sessions via Temporal workflows.

Sageox Recordings API is one of 23 APIs that Sageox publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Recordings. The published artifact set on APIs.io includes an OpenAPI specification.

This API exposes 36 operations across 30 paths, and defines 1 schema. It is described by OpenAPI 3.1.0, at version 1.0.0.

Requests are made against 3 base URLs: http://localhost:3000, https://test.sageox.ai, https://sageox.ai.

36 operations 30 paths 1 schemas 2 DELETE16 GET2 PATCH16 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.1.0
API Version
1.0.0
Servers
http://localhost:3000
https://test.sageox.ai
https://sageox.ai
Authentication
HTTP Bearer
Contact
SageOx Team
License
MIT
Resource Areas
1

Authentication & Security 1

Sageox Recordings API declares 1 security scheme for authenticating requests. It accepts HTTP bearer tokens (JWT) (bearerAuth). By default, every request must be authenticated.

  • bearerAuth — JWT token obtained from the auth service (/api/auth/token). Token is validated using JWKS from the auth service. Required claims: sub (userid), email, name, ti…

Paths & Operations 36

Across 30 paths, the API surfaces 36 operations — 2 DELETE, 16 GET, 2 PATCH, 16 POST. Each is listed below with its method, path, parameters, and response codes.

Recordings 36

Full lifecycle management for discussion recordings: chunked upload, transcription, speaker identification, AI-generated summaries, decisions, and action items. Recordings feed in…

POST
/api/v1/repos/{repo_id}/recordings
Start recording (repo-scoped)
startRecordingRepo 1 param body → 201400401403500
GET
/api/v1/repos/{repo_id}/recordings
List recordings (repo-scoped)
listRecordingsRepo 7 params → 200400401403
GET
/api/v1/repos/{repo_id}/recordings/{rec_id}
Get recording details (repo-scoped)
getRecordingRepo 2 params → 200400401403404
PATCH
/api/v1/repos/{repo_id}/recordings/{rec_id}
Update recording metadata (repo-scoped)
updateRecordingRepo 2 params body → 200400401403404
DELETE
/api/v1/repos/{repo_id}/recordings/{rec_id}
Delete recording (repo-scoped)
deleteRecordingRepo 2 params → 204400401403404
POST
/api/v1/repos/{repo_id}/recordings/{rec_id}/chunks
Get presigned URL for chunk upload (repo-scoped)
getChunkURLRepo 2 params body → 200400401403404409
POST
/api/v1/repos/{repo_id}/recordings/{rec_id}/chunks/prefetch
Batch prefetch chunk upload URLs (repo-scoped)
prefetchChunkURLsRepo 2 params body → 200400401404409
POST
/api/v1/repos/{repo_id}/recordings/{rec_id}/chunks/heartbeat
Send chunk upload heartbeat (repo-scoped)
chunkHeartbeatRepo 2 params body → 204400401
POST
/api/v1/repos/{repo_id}/recordings/{rec_id}/pause
Pause recording (repo-scoped)
pauseRecordingRepo 2 params → 204400401
POST
/api/v1/repos/{repo_id}/recordings/{rec_id}/resume
Resume recording (repo-scoped)
resumeRecordingRepo 2 params → 204400401
POST
/api/v1/repos/{repo_id}/recordings/{rec_id}/complete
Complete recording upload (repo-scoped)
completeRecordingRepo 2 params body → 200400401404409
POST
/api/v1/repos/{repo_id}/recordings/{rec_id}/force-complete
Force-complete stuck recording (repo-scoped)
forceCompleteRecordingRepo 2 params → 200400401404409
GET
/api/v1/repos/{repo_id}/recordings/{rec_id}/transcript
Get transcript (repo-scoped)
getTranscriptRepo 2 params → 200401403404
GET
/api/v1/repos/{repo_id}/recordings/{rec_id}/decisions
Get extracted decisions (repo-scoped)
getDecisionsRepo 2 params → 200401403404
GET
/api/v1/repos/{repo_id}/recordings/{rec_id}/download
Get download URL (repo-scoped)
getDownloadURLRepo 2 params → 200401404
POST
/api/v1/teams/{team_id}/recordings
Start recording (team-scoped)
startRecordingTeam 1 param body → 201400401403
GET
/api/v1/teams/{team_id}/recordings
List recordings (team-scoped)
listRecordingsTeam 7 params → 200401403
GET
/api/v1/teams/{team_id}/recordings/{rec_id}
Get recording details (team-scoped)
getRecordingTeam 2 params → 200401403404
PATCH
/api/v1/teams/{team_id}/recordings/{rec_id}
Update recording metadata (team-scoped)
updateRecordingTeam 2 params body → 200401403404
DELETE
/api/v1/teams/{team_id}/recordings/{rec_id}
Delete recording (team-scoped)
deleteRecordingTeam 2 params → 204401403404
POST
/api/v1/teams/{team_id}/recordings/{rec_id}/chunks
Get presigned URL for chunk upload (team-scoped)
getChunkURLTeam 2 params body → 200401409
POST
/api/v1/teams/{team_id}/recordings/{rec_id}/chunks/prefetch
Batch prefetch chunk URLs (team-scoped)
prefetchChunkURLsTeam 2 params body → 200401
POST
/api/v1/teams/{team_id}/recordings/{rec_id}/chunks/heartbeat
Send heartbeat (team-scoped)
chunkHeartbeatTeam 2 params body → 204401
POST
/api/v1/teams/{team_id}/recordings/{rec_id}/pause
Pause recording (team-scoped)
pauseRecordingTeam 2 params → 204401
POST
/api/v1/teams/{team_id}/recordings/{rec_id}/resume
Resume recording (team-scoped)
resumeRecordingTeam 2 params → 204401
POST
/api/v1/teams/{team_id}/recordings/{rec_id}/complete
Complete recording upload (team-scoped)
completeRecordingTeam 2 params body → 200401409
POST
/api/v1/teams/{team_id}/recordings/{rec_id}/force-complete
Force-complete stuck recording (team-scoped)
forceCompleteRecordingTeam 2 params → 200401409
GET
/api/v1/teams/{team_id}/recordings/{rec_id}/transcript
Get transcript (team-scoped)
getTranscriptTeam 2 params → 200401404
GET
/api/v1/teams/{team_id}/recordings/{rec_id}/decisions
Get extracted decisions (team-scoped)
getDecisionsTeam 2 params → 200401404
GET
/api/v1/teams/{team_id}/recordings/{rec_id}/download
Get download URL (team-scoped)
getDownloadURLTeam 2 params → 200401404
GET
/api/v1/recordings/{rec_id}/reactions
List recording reactions
listRecordingReactions 1 param → 200400401403404
GET
/api/v1/recordings/{rec_id}/comments
List recording (live-meeting) chat comments
listRecordingComments 1 param → 200400401403404
GET
/api/v1/recordings/{rec_id}/decisions
List participant-marked decisions
listRecordingDecisionMarks 1 param → 200400401403404
GET
/api/v1/recordings/{rec_id}/questions
List participant-marked questions
listRecordingQuestions 1 param → 200400401403404
GET
/api/v1/recordings/{rec_id}/action-items
List participant-marked action items
listRecordingActionItems 1 param → 200400401403404
GET
/api/v1/recordings/{rec_id}/concerns
List participant-marked concerns
listRecordingConcerns 1 param → 200400401403404

Schemas 1

The contract defines 1 schema that model the data the API accepts and returns. The most detailed is ErrorResponse (2 properties). Each schema is shown below with its type and property counts.

ErrorResponse
object
Standard error response returned by all endpoints on failure.
2 properties 2 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

sageox-recordings-api-openapi.yml Raw ↑

Other APIs Sageox publishes across the network.

Sageox Admin API
Sageox AgentX API
Sageox API Keys API
Sageox Auth API
Sageox CLI API
Sageox Devices API
Sageox Firmware Admin API
Sageox Firmware OTA API
Sageox Git API
Sageox Guidance API
Sageox Health API
Sageox LLM API
Where this information came from

This is an independent, third-party profile of Sageox Recordings API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.