openapi: 3.0.3
info:
title: Happy Scribe Exports Uploads API
description: The Happy Scribe API turns audio and video into text and subtitles programmatically. Submit work through the Orders API (automatic/machine or professional/human service), manage the resulting transcriptions, export finished transcripts into 15+ formats (SRT, VTT, STL, DOCX, PDF, TXT, JSON, CSV, XLSX, and editing-suite formats), and administer organizations and their members. Files are ingested by public URL or via a signed upload. All requests are REST over HTTPS and authenticated with a Bearer API token from your Happy Scribe account settings. Base URL https://www.happyscribe.com/api/v1. Endpoint paths and fields are grounded in the public developer documentation (dev.happyscribe.com); request/response schemas below are honestly modeled from that documentation and may not enumerate every field.
version: '1.0'
contact:
name: Happy Scribe
url: https://dev.happyscribe.com
servers:
- url: https://www.happyscribe.com/api/v1
description: Happy Scribe API v1
security:
- bearerAuth: []
tags:
- name: Uploads
description: Signed upload URLs for local media files.
paths:
/uploads/new:
get:
operationId: newUpload
tags:
- Uploads
summary: Request a signed upload URL
description: Returns a signed URL to which a local media file can be PUT. The returned temporary URL is then passed as tmp_url / url when creating a transcription or order.
parameters:
- name: filename
in: query
required: true
description: The name of the file to be uploaded.
schema:
type: string
responses:
'200':
description: A signed upload URL.
content:
application/json:
schema:
$ref: '#/components/schemas/Upload'
'401':
$ref: '#/components/responses/Unauthorized'
components:
responses:
Unauthorized:
description: Missing or invalid Bearer token.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
Upload:
type: object
properties:
url:
type: string
format: uri
description: Signed URL to PUT the file to.
tmp_url:
type: string
format: uri
description: Temporary URL to pass when creating a transcription or order.
Error:
type: object
properties:
error:
type: string
message:
type: string
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'API token from your Happy Scribe account settings, passed as `Authorization: Bearer YOUR_API_TOKEN`.'