openapi.json25,158 lines
{
"openapi": "3.1.0",
"info": {
"title": "BitMorph API",
"version": "1.0.0",
"description": "Convert, transform, and extract files programmatically. Auth with an API key: `Authorization: Bearer bm_live_…`."
},
"servers": [
{
"url": "https://api.bitmorph.io/v1"
}
],
"security": [
{
"bearerAuth": []
}
],
"paths": {
"/convert/heic/to/jpg": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_heic_to_jpg",
"summary": "HEIC to JPG",
"description": "Convert HEIC to JPG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/webp/to/png": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_webp_to_png",
"summary": "WEBP to PNG",
"description": "Convert WEBP to PNG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/jpg/to/png": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_jpg_to_png",
"summary": "JPG to PNG",
"description": "Convert JPG to PNG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/png/to/jpg": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_png_to_jpg",
"summary": "PNG to JPG",
"description": "Convert PNG to JPG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/png/to/webp": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_png_to_webp",
"summary": "PNG to WEBP",
"description": "Convert PNG to WEBP.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/jpg/to/webp": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_jpg_to_webp",
"summary": "JPG to WEBP",
"description": "Convert JPG to WEBP.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/webp/to/jpg": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_webp_to_jpg",
"summary": "WEBP to JPG",
"description": "Convert WEBP to JPG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/gif/to/png": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_gif_to_png",
"summary": "GIF to PNG",
"description": "Convert GIF to PNG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/gif/to/jpg": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_gif_to_jpg",
"summary": "GIF to JPG",
"description": "Convert GIF to JPG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/heic/to/png": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_heic_to_png",
"summary": "HEIC to PNG",
"description": "Convert HEIC to PNG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/bmp/to/jpg": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_bmp_to_jpg",
"summary": "BMP to JPG",
"description": "Convert BMP to JPG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/bmp/to/png": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_bmp_to_png",
"summary": "BMP to PNG",
"description": "Convert BMP to PNG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/avif/to/jpg": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_avif_to_jpg",
"summary": "AVIF to JPG",
"description": "Convert AVIF to JPG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/avif/to/png": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_avif_to_png",
"summary": "AVIF to PNG",
"description": "Convert AVIF to PNG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/avif/to/webp": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_avif_to_webp",
"summary": "AVIF to WEBP",
"description": "Convert AVIF to WEBP.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/png/to/avif": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_png_to_avif",
"summary": "PNG to AVIF",
"description": "Convert PNG to AVIF.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/jpg/to/avif": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_jpg_to_avif",
"summary": "JPG to AVIF",
"description": "Convert JPG to AVIF.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/webp/to/avif": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_webp_to_avif",
"summary": "WEBP to AVIF",
"description": "Convert WEBP to AVIF.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/tiff/to/png": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_tiff_to_png",
"summary": "TIFF to PNG",
"description": "Convert TIFF to PNG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/tiff/to/jpg": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_tiff_to_jpg",
"summary": "TIFF to JPG",
"description": "Convert TIFF to JPG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/png/to/tiff": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_png_to_tiff",
"summary": "PNG to TIFF",
"description": "Convert PNG to TIFF.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/jpg/to/tiff": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_jpg_to_tiff",
"summary": "JPG to TIFF",
"description": "Convert JPG to TIFF.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/png/to/ico": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_png_to_ico",
"summary": "PNG to ICO",
"description": "Convert PNG to ICO.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/ico/to/png": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_ico_to_png",
"summary": "ICO to PNG",
"description": "Convert ICO to PNG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/svg/to/png": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_svg_to_png",
"summary": "SVG to PNG",
"description": "Convert SVG to PNG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {
"width": {
"description": "Rasterize the SVG at this pixel width (height scales to keep the aspect ratio). Optional.",
"example": "1024",
"type": "integer"
}
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/svg/to/jpg": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_svg_to_jpg",
"summary": "SVG to JPG",
"description": "Convert SVG to JPG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {
"width": {
"description": "Rasterize the SVG at this pixel width (height scales to keep the aspect ratio). Optional.",
"example": "1024",
"type": "integer"
}
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/png/to/svg": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_png_to_svg",
"summary": "PNG to SVG",
"description": "Convert PNG to SVG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/jpg/to/svg": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_jpg_to_svg",
"summary": "JPG to SVG",
"description": "Convert JPG to SVG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/jpg/to/pdf": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_jpg_to_pdf",
"summary": "JPG to PDF",
"description": "Convert JPG to PDF.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/png/to/pdf": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_png_to_pdf",
"summary": "PNG to PDF",
"description": "Convert PNG to PDF.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/word/to/pdf": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_word_to_pdf",
"summary": "Word to PDF",
"description": "Convert Word to PDF. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/excel/to/pdf": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_excel_to_pdf",
"summary": "Excel to PDF",
"description": "Convert Excel to PDF. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/powerpoint/to/pdf": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_powerpoint_to_pdf",
"summary": "PowerPoint to PDF",
"description": "Convert PowerPoint to PDF. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/odt/to/pdf": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_odt_to_pdf",
"summary": "ODT to PDF",
"description": "Convert ODT to PDF. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/ods/to/pdf": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_ods_to_pdf",
"summary": "ODS to PDF",
"description": "Convert ODS to PDF. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/odp/to/pdf": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_odp_to_pdf",
"summary": "ODP to PDF",
"description": "Convert ODP to PDF. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/rtf/to/pdf": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_rtf_to_pdf",
"summary": "RTF to PDF",
"description": "Convert RTF to PDF. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/pdf/to/jpg": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_pdf_to_jpg",
"summary": "PDF to JPG",
"description": "Convert PDF to JPG. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/pdf/to/png": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_pdf_to_png",
"summary": "PDF to PNG",
"description": "Convert PDF to PNG. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/csv/to/excel": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_csv_to_excel",
"summary": "CSV to Excel",
"description": "Convert CSV to Excel.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/excel/to/csv": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_excel_to_csv",
"summary": "Excel to CSV",
"description": "Convert Excel to CSV.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/mov/to/mp4": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_mov_to_mp4",
"summary": "MOV to MP4",
"description": "Convert MOV to MP4. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/avi/to/mp4": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_avi_to_mp4",
"summary": "AVI to MP4",
"description": "Convert AVI to MP4. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/mkv/to/mp4": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_mkv_to_mp4",
"summary": "MKV to MP4",
"description": "Convert MKV to MP4. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/webm/to/mp4": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_webm_to_mp4",
"summary": "WEBM to MP4",
"description": "Convert WEBM to MP4. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/flv/to/mp4": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_flv_to_mp4",
"summary": "FLV to MP4",
"description": "Convert FLV to MP4. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/mp4/to/webm": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_mp4_to_webm",
"summary": "MP4 to WEBM",
"description": "Convert MP4 to WEBM. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/mp4/to/mov": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_mp4_to_mov",
"summary": "MP4 to MOV",
"description": "Convert MP4 to MOV. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/mp4/to/avi": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_mp4_to_avi",
"summary": "MP4 to AVI",
"description": "Convert MP4 to AVI. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/gif/to/mp4": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_gif_to_mp4",
"summary": "GIF to MP4",
"description": "Convert GIF to MP4. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/mp4/to/gif": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_mp4_to_gif",
"summary": "MP4 to GIF",
"description": "Convert MP4 to GIF. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/mov/to/gif": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_mov_to_gif",
"summary": "MOV to GIF",
"description": "Convert MOV to GIF. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/mp4/to/mp3": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_mp4_to_mp3",
"summary": "MP4 to MP3",
"description": "Convert MP4 to MP3.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/wav/to/mp3": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_wav_to_mp3",
"summary": "WAV to MP3",
"description": "Convert WAV to MP3.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/m4a/to/mp3": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_m4a_to_mp3",
"summary": "M4A to MP3",
"description": "Convert M4A to MP3.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/aac/to/mp3": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_aac_to_mp3",
"summary": "AAC to MP3",
"description": "Convert AAC to MP3.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/flac/to/mp3": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_flac_to_mp3",
"summary": "FLAC to MP3",
"description": "Convert FLAC to MP3.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/ogg/to/mp3": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_ogg_to_mp3",
"summary": "OGG to MP3",
"description": "Convert OGG to MP3.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/wma/to/mp3": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_wma_to_mp3",
"summary": "WMA to MP3",
"description": "Convert WMA to MP3.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/mp3/to/wav": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_mp3_to_wav",
"summary": "MP3 to WAV",
"description": "Convert MP3 to WAV.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/mp3/to/aac": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_mp3_to_aac",
"summary": "MP3 to AAC",
"description": "Convert MP3 to AAC.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/wav/to/flac": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_wav_to_flac",
"summary": "WAV to FLAC",
"description": "Convert WAV to FLAC.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/video/to/mp3": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_extract_audio",
"summary": "Extract audio",
"description": "Convert Video to MP3.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/srt/to/vtt": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_srt_to_vtt",
"summary": "SRT to VTT",
"description": "Convert SRT to VTT.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/vtt/to/srt": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_vtt_to_srt",
"summary": "VTT to SRT",
"description": "Convert VTT to SRT.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/srt/to/ass": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_srt_to_ass",
"summary": "SRT to ASS",
"description": "Convert SRT to ASS.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/ass/to/srt": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_ass_to_srt",
"summary": "ASS to SRT",
"description": "Convert ASS to SRT.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/srt/to/sbv": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_srt_to_sbv",
"summary": "SRT to SBV",
"description": "Convert SRT to SBV.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/sbv/to/srt": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_sbv_to_srt",
"summary": "SBV to SRT",
"description": "Convert SBV to SRT.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/vtt/to/ass": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_vtt_to_ass",
"summary": "VTT to ASS",
"description": "Convert VTT to ASS.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/ass/to/vtt": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_ass_to_vtt",
"summary": "ASS to VTT",
"description": "Convert ASS to VTT.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/vtt/to/sbv": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_vtt_to_sbv",
"summary": "VTT to SBV",
"description": "Convert VTT to SBV.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/sbv/to/vtt": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_sbv_to_vtt",
"summary": "SBV to VTT",
"description": "Convert SBV to VTT.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/ssa/to/srt": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_ssa_to_srt",
"summary": "SSA to SRT",
"description": "Convert SSA to SRT.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/text/to/qr": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_text_to_qr",
"summary": "Text to QR",
"description": "Convert Text to QR.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "string",
"description": "inline content to convert"
}
}
},
"params": {
"type": "object",
"properties": {
"data": {
"description": "Text to encode",
"example": "Hello, world",
"type": "string"
},
"format": {
"description": "Output",
"example": "png",
"type": "string",
"enum": [
"png",
"svg"
],
"default": "png"
},
"ecc": {
"description": "Higher levels survive more damage but pack less data. L≈7%, M≈15%, Q≈25%, H≈30% recovery.",
"example": "M",
"type": "string",
"enum": [
"L",
"M",
"Q",
"H"
],
"default": "M"
},
"size": {
"description": "Pixel size per QR module (bigger = larger image). Optional.",
"example": "10",
"type": "integer"
}
},
"required": [
"data"
]
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/url/to/qr": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_url_to_qr",
"summary": "URL to QR",
"description": "Convert URL to QR.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "string",
"description": "inline content to convert"
}
}
},
"params": {
"type": "object",
"properties": {
"data": {
"description": "URL to encode",
"example": "https://bitmorph.io",
"type": "string"
},
"format": {
"description": "Output",
"example": "png",
"type": "string",
"enum": [
"png",
"svg"
],
"default": "png"
},
"ecc": {
"description": "Higher levels survive more damage but pack less data. L≈7%, M≈15%, Q≈25%, H≈30% recovery.",
"example": "M",
"type": "string",
"enum": [
"L",
"M",
"Q",
"H"
],
"default": "M"
},
"size": {
"description": "Pixel size per QR module (bigger = larger image). Optional.",
"example": "10",
"type": "integer"
}
},
"required": [
"data"
]
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/text/to/barcode": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_barcode_generate",
"summary": "Barcode generator",
"description": "Convert Text to Barcode.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"data"
],
"properties": {
"data": {
"type": "string",
"description": "inline content to convert"
}
}
},
"params": {
"type": "object",
"properties": {
"symbology": {
"description": "Barcode type",
"type": "string",
"enum": [
"code128",
"ean13",
"ean8",
"upca",
"code39",
"itf",
"isbn13",
"codabar"
],
"default": "code128"
},
"data": {
"description": "Value to encode",
"example": "0123456789012",
"type": "string"
},
"format": {
"description": "Output",
"example": "png",
"type": "string",
"enum": [
"png",
"svg"
],
"default": "png"
}
},
"required": [
"data"
]
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/qr/to/data": {
"post": {
"tags": [
"extract"
],
"operationId": "convert_scan_qr",
"summary": "Scan QR & barcode",
"description": "Convert QR to Data.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/compress/to/pdf": {
"post": {
"tags": [
"optimize"
],
"operationId": "convert_compress_pdf",
"summary": "Compress PDF",
"description": "Convert Compress to PDF.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {
"quality": {
"description": "Higher compression = smaller file, lower fidelity.",
"example": "ebook",
"type": "string",
"enum": [
"screen",
"ebook",
"printer"
],
"default": "ebook"
}
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/compress/to/img": {
"post": {
"tags": [
"optimize"
],
"operationId": "convert_compress_image",
"summary": "Compress Image",
"description": "Convert Compress to IMG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {
"format": {
"description": "Output format",
"type": "string",
"enum": [
"jpg",
"png",
"webp"
],
"default": "jpg"
},
"quality": {
"description": "Quality (1–100)",
"type": "string"
}
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/compress/to/vid": {
"post": {
"tags": [
"optimize"
],
"operationId": "convert_compress_video",
"summary": "Compress Video",
"description": "Convert Compress to VID. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/pdf/to/word": {
"post": {
"tags": [
"transform"
],
"operationId": "convert_pdf_to_word",
"summary": "PDF to Word",
"description": "Convert PDF to Word. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/pdf/to/excel": {
"post": {
"tags": [
"transform"
],
"operationId": "convert_pdf_to_excel",
"summary": "PDF to Excel",
"description": "Convert PDF to Excel. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/pdf/to/powerpoint": {
"post": {
"tags": [
"transform"
],
"operationId": "convert_pdf_to_powerpoint",
"summary": "PDF to PowerPoint",
"description": "Convert PDF to PowerPoint. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/merge/to/pdf": {
"post": {
"tags": [
"transform"
],
"operationId": "convert_merge_pdf",
"summary": "Merge PDF",
"description": "Convert Merge to PDF.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"files"
],
"properties": {
"files": {
"type": "array",
"items": {
"type": "string"
},
"description": "≥2 upload handles from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/split/to/pdf": {
"post": {
"tags": [
"transform"
],
"operationId": "convert_split_pdf",
"summary": "Split PDF",
"description": "Convert Split to PDF.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {
"groups": {
"description": "JSON array of 1-based page-number arrays; each inner array becomes one PDF in the output zip. Omit to burst one PDF per page. Covers every-N, even/odd, marks and custom ranges — compute the groups client-side.",
"example": "[[1,2,3],[4,5],[6]]",
"type": "string",
"contentMediaType": "application/json",
"contentSchema": {
"type": "array",
"items": {
"type": "array",
"items": {
"type": "integer",
"minimum": 1
}
}
}
}
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/sign/to/pdf": {
"post": {
"tags": [
"transform"
],
"operationId": "convert_fill_and_sign_pdf",
"summary": "Fill & sign PDF",
"description": "Convert Sign to PDF.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {
"placements": {
"description": "JSON array of placements. Coordinates are PERCENT of the page (top-left origin), so output matches the on-device editor.",
"example": "[{\"page\":1,\"xPct\":0.15,\"yPct\":0.8,\"kind\":\"text\",\"value\":\"John Doe\",\"fontPct\":0.03,\"color\":\"#0f172a\",\"font\":\"sans\"},{\"page\":1,\"xPct\":0.6,\"yPct\":0.82,\"kind\":\"image\",\"wPct\":0.25,\"imageData\":\"data:image/png;base64,iVBORw0K…\"}]",
"type": "string",
"contentMediaType": "application/json",
"contentSchema": {
"type": "array",
"description": "One object per overlay to burn onto the PDF.",
"items": {
"type": "object",
"required": [
"page",
"xPct",
"yPct",
"kind"
],
"properties": {
"page": {
"type": "integer",
"minimum": 1,
"description": "1-based page number"
},
"xPct": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "left edge as a fraction of page width (top-left origin)"
},
"yPct": {
"type": "number",
"minimum": 0,
"maximum": 1,
"description": "top edge as a fraction of page height"
},
"kind": {
"type": "string",
"enum": [
"text",
"check",
"image"
]
},
"value": {
"type": "string",
"description": "text content (kind=text)"
},
"imageData": {
"type": "string",
"description": "data:image/png;base64,… (kind=image, e.g. a signature)"
},
"fontPct": {
"type": "number",
"description": "text/check size as a fraction of page height (default 0.02)"
},
"wPct": {
"type": "number",
"description": "image width as a fraction of page width (kind=image, default 0.25)"
},
"color": {
"type": "string",
"description": "hex #rrggbb for text/check (default near-black)"
},
"font": {
"type": "string",
"enum": [
"sans",
"serif",
"mono"
],
"description": "text font family (default sans)"
},
"bold": {
"type": "boolean"
}
}
}
}
}
},
"required": [
"placements"
]
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/organize/to/pdf": {
"post": {
"tags": [
"transform"
],
"operationId": "convert_organize_pdf",
"summary": "Organize PDF",
"description": "Convert Organize to PDF.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {
"order": {
"description": "For ONE PDF (input.file): CSV of 1-based page numbers in the output order; pages not listed are dropped.",
"example": "3,1,2",
"type": "string"
},
"sequence": {
"description": "For 2–3 PDFs (input.files): JSON array of {doc, page}, one entry per output page, in order. `doc` is the 0-based position in input.files (first file = 0, second = 1, …); `page` is 1-based. Expand ranges into individual entries — pages 2 to 5 of the second document become {doc:1,page:2},{doc:1,page:3},{doc:1,page:4},{doc:1,page:5}. A page may repeat (copied more than once); unlisted pages are left out.",
"example": "[{\"doc\":1,\"page\":2},{\"doc\":1,\"page\":3},{\"doc\":1,\"page\":4},{\"doc\":1,\"page\":5},{\"doc\":0,\"page\":12}]",
"type": "string",
"contentMediaType": "application/json",
"contentSchema": {
"type": "array",
"items": {
"type": "object",
"required": [
"doc",
"page"
],
"properties": {
"doc": {
"type": "integer",
"minimum": 0,
"description": "0-based index into input.files"
},
"page": {
"type": "integer",
"minimum": 1,
"description": "1-based page number in that document"
}
}
}
}
}
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/protect/to/pdf": {
"post": {
"tags": [
"transform"
],
"operationId": "convert_protect_pdf",
"summary": "Protect PDF",
"description": "Convert Protect to PDF.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {
"password": {
"description": "Password to set on the PDF",
"example": "s3cret-pass",
"type": "string"
}
},
"required": [
"password"
]
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/unlock/to/pdf": {
"post": {
"tags": [
"transform"
],
"operationId": "convert_unlock_pdf",
"summary": "Unlock PDF",
"description": "Convert Unlock to PDF.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {
"password": {
"description": "Current password of the PDF",
"example": "s3cret-pass",
"type": "string"
}
},
"required": [
"password"
]
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/redact/to/pdf": {
"post": {
"tags": [
"transform"
],
"operationId": "convert_redact_pdf",
"summary": "Redact PII",
"description": "Convert Redact to PDF. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {
"profile": {
"description": "Which category set to auto-detect and remove. `full` redacts all detected PII; `none` redacts ONLY the `terms`/`regexes` you supply.",
"example": "hipaa",
"type": "string",
"enum": [
"full",
"hipaa",
"glba",
"pci",
"coppa",
"gdpr",
"none"
],
"default": "full"
},
"lang": {
"description": "Document language (ISO code or `auto`)",
"example": "en",
"type": "string"
},
"threshold": {
"description": "Lower = more aggressive detection (more recall, more false positives); higher = stricter. Default 0.4. Ignored when profile=none.",
"example": "0.4",
"type": "string"
},
"terms": {
"description": "JSON array of literal strings; every occurrence is found and removed, on top of the profile.",
"example": "[\"John Doe\",\"Acct #4485-2201\"]",
"type": "string",
"contentMediaType": "application/json",
"contentSchema": {
"type": "array",
"items": {
"type": "string"
}
}
},
"regexes": {
"description": "JSON array of regular expressions (e.g. account or case numbers); every match is redacted.",
"example": "[\"\\\\b\\\\d{3}-\\\\d{2}-\\\\d{4}\\\\b\"]",
"type": "string",
"contentMediaType": "application/json",
"contentSchema": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/rotate/to/pdf": {
"post": {
"tags": [
"transform"
],
"operationId": "convert_rotate_pdf",
"summary": "Rotate PDF",
"description": "Convert Rotate to PDF.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {
"angle": {
"description": "Clockwise degrees applied to every page. Ignored when `rotations` is provided.",
"example": "90",
"type": "string",
"enum": [
"90",
"180",
"270"
],
"default": "90"
},
"rotations": {
"description": "JSON object mapping a 1-based page number to a clockwise angle (90, 180 or 270). Takes precedence over `angle`. Use this for different rotations on different pages; use `angle` to rotate the whole document.",
"example": "{\"1\":90,\"3\":180,\"4\":270}",
"type": "string",
"contentMediaType": "application/json",
"contentSchema": {
"type": "object",
"additionalProperties": {
"type": "integer",
"enum": [
90,
180,
270
]
}
}
}
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/watermark/to/pdf": {
"post": {
"tags": [
"transform"
],
"operationId": "convert_watermark_pdf",
"summary": "Watermark PDF",
"description": "Convert Watermark to PDF.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {
"text": {
"description": "Watermark text",
"example": "CONFIDENTIAL",
"type": "string"
}
},
"required": [
"text"
]
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/number/to/pdf": {
"post": {
"tags": [
"transform"
],
"operationId": "convert_add_page_numbers",
"summary": "Add page numbers",
"description": "Convert Number to PDF.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {
"position": {
"description": "Page-number position",
"example": "bottom-center",
"type": "string",
"enum": [
"bottom-center",
"bottom-right",
"top-center",
"top-right"
],
"default": "bottom-center"
},
"format": {
"description": "Page-number format",
"example": "n",
"type": "string",
"enum": [
"n",
"n-of-total",
"page-n-of-total"
],
"default": "n"
}
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/pdf/to/txt": {
"post": {
"tags": [
"extract"
],
"operationId": "convert_pdf_to_text",
"summary": "PDF to TXT",
"description": "Convert PDF to TXT.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/extract/to/pdf": {
"post": {
"tags": [
"extract"
],
"operationId": "convert_extract_pdf_pages",
"summary": "Extract PDF pages",
"description": "Convert Extract to PDF.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {
"pages": {
"description": "Range expression or CSV of 1-based pages. Output preserves the given order; duplicates are de-duped.",
"example": "6-9, 12, 22-29",
"type": "string"
}
},
"required": [
"pages"
]
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/ocr/to/pdf": {
"post": {
"tags": [
"extract"
],
"operationId": "convert_ocr_pdf",
"summary": "OCR to PDF",
"description": "Convert OCR to PDF. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {
"lang": {
"description": "OCR language",
"example": "eng",
"type": "string",
"enum": [
"eng",
"fra",
"deu",
"spa",
"ita",
"por",
"nld",
"rus",
"ukr",
"pol",
"ces",
"slk",
"ron",
"hun",
"bul",
"hrv",
"srp",
"slv",
"lit",
"lav",
"est",
"fin",
"swe",
"dan",
"nor",
"ell",
"tur",
"cat",
"ara",
"heb",
"hin",
"tha",
"vie",
"ind",
"msa",
"chi_sim",
"chi_tra",
"jpn",
"kor"
],
"default": "eng"
}
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/image/to/text": {
"post": {
"tags": [
"extract"
],
"operationId": "convert_image_to_text",
"summary": "Image to Text",
"description": "Convert Image to Text. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {
"lang": {
"description": "OCR language",
"example": "eng",
"type": "string",
"enum": [
"eng",
"fra",
"deu",
"spa",
"ita",
"por",
"nld",
"rus",
"ukr",
"pol",
"ces",
"slk",
"ron",
"hun",
"bul",
"hrv",
"srp",
"slv",
"lit",
"lav",
"est",
"fin",
"swe",
"dan",
"nor",
"ell",
"tur",
"cat",
"ara",
"heb",
"hin",
"tha",
"vie",
"ind",
"msa",
"chi_sim",
"chi_tra",
"jpn",
"kor"
],
"default": "eng"
}
}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/pdf/to/images": {
"post": {
"tags": [
"extract"
],
"operationId": "convert_extract_images",
"summary": "Extract images",
"description": "Convert PDF to Images.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/tables/to/csv": {
"post": {
"tags": [
"extract"
],
"operationId": "convert_extract_tables",
"summary": "Extract tables",
"description": "Convert Tables to CSV. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/pdf/to/md": {
"post": {
"tags": [
"ai"
],
"operationId": "convert_pdf_to_markdown",
"summary": "PDF to MD",
"description": "Convert PDF to MD. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/pdf/to/json": {
"post": {
"tags": [
"ai"
],
"operationId": "convert_pdf_to_json",
"summary": "PDF to JSON",
"description": "Convert PDF to JSON. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/pdf/to/csv": {
"post": {
"tags": [
"ai"
],
"operationId": "convert_pdf_to_csv",
"summary": "PDF to CSV",
"description": "Convert PDF to CSV. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/pdf/to/ragchunks": {
"post": {
"tags": [
"ai"
],
"operationId": "convert_pdf_to_chunks",
"summary": "PDF to RAG Chunks",
"description": "Convert PDF to RAG Chunks. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/invoice/to/json": {
"post": {
"tags": [
"ai"
],
"operationId": "convert_invoice_to_json",
"summary": "Invoice to JSON",
"description": "Convert Invoice to JSON. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/receipt/to/json": {
"post": {
"tags": [
"ai"
],
"operationId": "convert_receipt_to_json",
"summary": "Receipt to JSON",
"description": "Convert Receipt to JSON. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/resume/to/json": {
"post": {
"tags": [
"ai"
],
"operationId": "convert_resume_to_json",
"summary": "Resume to JSON",
"description": "Convert Resume to JSON. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/contract/to/json": {
"post": {
"tags": [
"ai"
],
"operationId": "convert_contract_to_json",
"summary": "Contract to JSON",
"description": "Convert Contract to JSON. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/csv/to/json": {
"post": {
"tags": [
"developer"
],
"operationId": "convert_csv_to_json",
"summary": "CSV to JSON",
"description": "Convert CSV to JSON.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/json/to/csv": {
"post": {
"tags": [
"developer"
],
"operationId": "convert_json_to_csv",
"summary": "JSON to CSV",
"description": "Convert JSON to CSV.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/xml/to/json": {
"post": {
"tags": [
"developer"
],
"operationId": "convert_xml_to_json",
"summary": "XML to JSON",
"description": "Convert XML to JSON.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/json/to/xml": {
"post": {
"tags": [
"developer"
],
"operationId": "convert_json_to_xml",
"summary": "JSON to XML",
"description": "Convert JSON to XML.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/yaml/to/json": {
"post": {
"tags": [
"developer"
],
"operationId": "convert_yaml_to_json",
"summary": "YAML to JSON",
"description": "Convert YAML to JSON.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/json/to/yaml": {
"post": {
"tags": [
"developer"
],
"operationId": "convert_json_to_yaml",
"summary": "JSON to YAML",
"description": "Convert JSON to YAML.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/csv/to/tsv": {
"post": {
"tags": [
"developer"
],
"operationId": "convert_csv_to_tsv",
"summary": "CSV to TSV",
"description": "Convert CSV to TSV.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/tsv/to/csv": {
"post": {
"tags": [
"developer"
],
"operationId": "convert_tsv_to_csv",
"summary": "TSV to CSV",
"description": "Convert TSV to CSV.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/tsv/to/json": {
"post": {
"tags": [
"developer"
],
"operationId": "convert_tsv_to_json",
"summary": "TSV to JSON",
"description": "Convert TSV to JSON.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/excel/to/json": {
"post": {
"tags": [
"developer"
],
"operationId": "convert_excel_to_json",
"summary": "Excel to JSON",
"description": "Convert Excel to JSON.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/json/to/excel": {
"post": {
"tags": [
"developer"
],
"operationId": "convert_json_to_excel",
"summary": "JSON to Excel",
"description": "Convert JSON to Excel.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/url/to/pdf": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_url_to_pdf",
"summary": "URL to PDF",
"description": "Convert URL to PDF. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "http(s) source URL"
}
}
},
"params": {
"type": "object",
"properties": {
"url": {
"description": "Page URL to render",
"example": "https://example.com/article",
"type": "string"
}
},
"required": [
"url"
]
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/html/to/pdf": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_html_to_pdf",
"summary": "HTML to PDF",
"description": "Convert HTML to PDF. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/url/to/markdown": {
"post": {
"tags": [
"developer"
],
"operationId": "convert_url_to_markdown",
"summary": "URL to Markdown",
"description": "Convert URL to Markdown. Runs async — poll GET /jobs/{id} or send `Prefer: wait`.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri",
"description": "http(s) source URL"
}
}
},
"params": {
"type": "object",
"properties": {
"url": {
"description": "Page URL to convert",
"example": "https://example.com/article",
"type": "string"
}
},
"required": [
"url"
]
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/html/to/markdown": {
"post": {
"tags": [
"developer"
],
"operationId": "convert_html_to_markdown",
"summary": "HTML to Markdown",
"description": "Convert HTML to Markdown.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/markdown/to/html": {
"post": {
"tags": [
"developer"
],
"operationId": "convert_markdown_to_html",
"summary": "Markdown to HTML",
"description": "Convert Markdown to HTML.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/stl/to/obj": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_stl_to_obj",
"summary": "STL to OBJ",
"description": "Convert STL to OBJ.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/obj/to/stl": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_obj_to_stl",
"summary": "OBJ to STL",
"description": "Convert OBJ to STL.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/stl/to/glb": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_stl_to_glb",
"summary": "STL to GLB",
"description": "Convert STL to GLB.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/obj/to/glb": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_obj_to_glb",
"summary": "OBJ to GLB",
"description": "Convert OBJ to GLB.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/glb/to/obj": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_glb_to_obj",
"summary": "GLB to OBJ",
"description": "Convert GLB to OBJ.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/glb/to/stl": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_glb_to_stl",
"summary": "GLB to STL",
"description": "Convert GLB to STL.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/fbx/to/glb": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_fbx_to_glb",
"summary": "FBX to GLB",
"description": "Convert FBX to GLB.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/fbx/to/obj": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_fbx_to_obj",
"summary": "FBX to OBJ",
"description": "Convert FBX to OBJ.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/ply/to/stl": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_ply_to_stl",
"summary": "PLY to STL",
"description": "Convert PLY to STL.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/stl/to/ply": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_stl_to_ply",
"summary": "STL to PLY",
"description": "Convert STL to PLY.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/eps/to/pdf": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_eps_to_pdf",
"summary": "EPS to PDF",
"description": "Convert EPS to PDF.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/ai/to/pdf": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_ai_to_pdf",
"summary": "AI to PDF",
"description": "Convert AI to PDF.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/eps/to/svg": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_eps_to_svg",
"summary": "EPS to SVG",
"description": "Convert EPS to SVG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/ai/to/svg": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_ai_to_svg",
"summary": "AI to SVG",
"description": "Convert AI to SVG.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/latex/to/pdf": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_latex_to_pdf",
"summary": "LaTeX to PDF",
"description": "Convert LaTeX to PDF. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/epub/to/pdf": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_epub_to_pdf",
"summary": "EPUB to PDF",
"description": "Convert EPUB to PDF. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/mobi/to/pdf": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_mobi_to_pdf",
"summary": "MOBI to PDF",
"description": "Convert MOBI to PDF. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/azw3/to/pdf": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_azw3_to_pdf",
"summary": "AZW3 to PDF",
"description": "Convert AZW3 to PDF. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/epub/to/mobi": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_epub_to_mobi",
"summary": "EPUB to MOBI",
"description": "Convert EPUB to MOBI. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/epub/to/word": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_epub_to_docx",
"summary": "EPUB to Word",
"description": "Convert EPUB to Word. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/pdf/to/epub": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_pdf_to_epub",
"summary": "PDF to EPUB",
"description": "Convert PDF to EPUB. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/pdf/to/pdfa": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_pdf_to_pdfa",
"summary": "PDF to PDF/A",
"description": "Convert PDF to PDF/A. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/eml/to/pdf": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_eml_to_pdf",
"summary": "EML to PDF",
"description": "Convert EML to PDF. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/msg/to/pdf": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_msg_to_pdf",
"summary": "MSG to PDF",
"description": "Convert MSG to PDF. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/eml/to/html": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_eml_to_html",
"summary": "EML to HTML",
"description": "Convert EML to HTML.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/msg/to/html": {
"post": {
"tags": [
"convert"
],
"operationId": "convert_msg_to_html",
"summary": "MSG to HTML",
"description": "Convert MSG to HTML.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/jupyter/to/pdf": {
"post": {
"tags": [
"developer"
],
"operationId": "convert_jupyter_to_pdf",
"summary": "Jupyter to PDF",
"description": "Convert Jupyter to PDF. Runs async — poll GET /jobs/{id} or send `Prefer: wait`. Weighted 3 units.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/jupyter/to/html": {
"post": {
"tags": [
"developer"
],
"operationId": "convert_jupyter_to_html",
"summary": "Jupyter to HTML",
"description": "Convert Jupyter to HTML.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/convert/jupyter/to/markdown": {
"post": {
"tags": [
"developer"
],
"operationId": "convert_jupyter_to_markdown",
"summary": "Jupyter to Markdown",
"description": "Convert Jupyter to Markdown.",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"input"
],
"properties": {
"input": {
"type": "object",
"required": [
"file"
],
"properties": {
"file": {
"type": "string",
"description": "upload handle from POST /uploads"
},
"filename": {
"type": "string"
}
}
},
"params": {
"type": "object",
"properties": {}
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"404": {
"description": "Unknown conversion",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"422": {
"description": "Bad input",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/jobs": {
"post": {
"summary": "Create a job",
"description": "Run a tool on an input. Returns 202 (queued) unless the job finishes within a `Prefer: wait=<seconds>` budget, then 200 (completed).",
"parameters": [
{
"name": "Idempotency-Key",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "Dedupe retries: same key returns the same job."
},
{
"name": "Prefer",
"in": "header",
"required": false,
"schema": {
"type": "string"
},
"description": "`wait=<0-55>` to long-poll for a fast job."
}
],
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"tool",
"input"
],
"properties": {
"tool": {
"type": "string",
"enum": [
"aac-to-mp3",
"add-page-numbers",
"ai-to-pdf",
"ai-to-svg",
"ass-to-srt",
"ass-to-vtt",
"avi-to-mp4",
"avif-to-jpg",
"avif-to-png",
"avif-to-webp",
"azw3-to-pdf",
"barcode-generate",
"bmp-to-jpg",
"bmp-to-png",
"compress-image",
"compress-pdf",
"compress-video",
"contract-to-json",
"csv-to-excel",
"csv-to-json",
"csv-to-tsv",
"eml-to-html",
"eml-to-pdf",
"eps-to-pdf",
"eps-to-svg",
"epub-to-docx",
"epub-to-mobi",
"epub-to-pdf",
"excel-to-csv",
"excel-to-json",
"excel-to-pdf",
"extract-audio",
"extract-images",
"extract-pdf-pages",
"extract-tables",
"fbx-to-glb",
"fbx-to-obj",
"fill-and-sign-pdf",
"flac-to-mp3",
"flv-to-mp4",
"gif-to-jpg",
"gif-to-mp4",
"gif-to-png",
"glb-to-obj",
"glb-to-stl",
"heic-to-jpg",
"heic-to-png",
"html-to-markdown",
"html-to-pdf",
"ico-to-png",
"image-to-text",
"invoice-to-json",
"jpg-to-avif",
"jpg-to-pdf",
"jpg-to-png",
"jpg-to-svg",
"jpg-to-tiff",
"jpg-to-webp",
"json-to-csv",
"json-to-excel",
"json-to-xml",
"json-to-yaml",
"jupyter-to-html",
"jupyter-to-markdown",
"jupyter-to-pdf",
"latex-to-pdf",
"m4a-to-mp3",
"markdown-to-html",
"merge-pdf",
"mkv-to-mp4",
"mobi-to-pdf",
"mov-to-gif",
"mov-to-mp4",
"mp3-to-aac",
"mp3-to-wav",
"mp4-to-avi",
"mp4-to-gif",
"mp4-to-mov",
"mp4-to-mp3",
"mp4-to-webm",
"msg-to-html",
"msg-to-pdf",
"obj-to-glb",
"obj-to-stl",
"ocr-pdf",
"odp-to-pdf",
"ods-to-pdf",
"odt-to-pdf",
"ogg-to-mp3",
"organize-pdf",
"pdf-to-chunks",
"pdf-to-csv",
"pdf-to-epub",
"pdf-to-excel",
"pdf-to-jpg",
"pdf-to-json",
"pdf-to-json-full",
"pdf-to-markdown",
"pdf-to-pdfa",
"pdf-to-png",
"pdf-to-powerpoint",
"pdf-to-text",
"pdf-to-word",
"ply-to-stl",
"png-to-avif",
"png-to-ico",
"png-to-jpg",
"png-to-pdf",
"png-to-svg",
"png-to-tiff",
"png-to-webp",
"powerpoint-to-pdf",
"protect-pdf",
"receipt-to-json",
"redact-pdf",
"resume-to-json",
"rotate-pdf",
"rtf-to-pdf",
"sbv-to-srt",
"sbv-to-vtt",
"scan-qr",
"split-pdf",
"srt-to-ass",
"srt-to-sbv",
"srt-to-vtt",
"ssa-to-srt",
"stl-to-glb",
"stl-to-obj",
"stl-to-ply",
"svg-to-jpg",
"svg-to-png",
"text-to-qr",
"tiff-to-jpg",
"tiff-to-png",
"tsv-to-csv",
"tsv-to-json",
"unlock-pdf",
"url-to-markdown",
"url-to-pdf",
"url-to-qr",
"vtt-to-ass",
"vtt-to-sbv",
"vtt-to-srt",
"watermark-pdf",
"wav-to-flac",
"wav-to-mp3",
"webm-to-mp4",
"webp-to-avif",
"webp-to-jpg",
"webp-to-png",
"wma-to-mp3",
"word-to-pdf",
"xml-to-json",
"yaml-to-json"
]
},
"input": {
"type": "object",
"description": "One of: {file} (a handle from POST /uploads), {files:[]} (multi-source), {url} (fetch), or {data} (inline text)."
},
"params": {
"type": "object",
"additionalProperties": {
"type": "string"
},
"description": "Tool-specific options. See GET /tools/{slug} or the per-conversion path POST /convert/{from}/to/{to}."
}
}
}
}
}
},
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"202": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"400": {
"description": "Invalid request",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"402": {
"description": "Quota exhausted",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"429": {
"description": "Rate/concurrency limit",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"get": {
"summary": "List jobs",
"parameters": [
{
"name": "limit",
"in": "query",
"schema": {
"type": "integer",
"default": 20,
"maximum": 100
}
},
{
"name": "starting_after",
"in": "query",
"schema": {
"type": "string"
}
},
{
"name": "status",
"in": "query",
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "A list of jobs"
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/jobs/{id}": {
"get": {
"summary": "Retrieve a job",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"delete": {
"summary": "Cancel a job",
"description": "Best-effort removal of a still-queued job.",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Job",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Job"
}
}
}
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/uploads": {
"post": {
"summary": "Create an upload",
"description": "Mint a presigned R2 PUT for a source file; reference the returned `file` handle in a job's input.",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"properties": {
"filename": {
"type": "string"
},
"size": {
"type": "integer"
}
}
}
}
}
},
"responses": {
"201": {
"description": "Upload target"
},
"401": {
"description": "Auth",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"413": {
"description": "Too large",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
},
"503": {
"description": "API launching soon",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/tools": {
"get": {
"summary": "List tools",
"security": [],
"responses": {
"200": {
"description": "A list of tools"
}
}
}
},
"/tools/{slug}": {
"get": {
"summary": "Retrieve a tool",
"security": [],
"parameters": [
{
"name": "slug",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Tool contract"
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/webhook_endpoints": {
"post": {
"summary": "Register a webhook endpoint",
"requestBody": {
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"url"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"events": {
"type": "array",
"items": {
"type": "string"
}
}
}
}
}
}
},
"responses": {
"201": {
"description": "Endpoint (secret shown once)"
},
"400": {
"description": "Invalid URL",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"get": {
"summary": "List webhook endpoints",
"responses": {
"200": {
"description": "A list of endpoints"
}
}
}
},
"/webhook_endpoints/{id}": {
"get": {
"summary": "Retrieve an endpoint",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Endpoint"
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
},
"delete": {
"summary": "Delete an endpoint",
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"schema": {
"type": "string"
}
}
],
"responses": {
"200": {
"description": "Deleted"
},
"404": {
"description": "Not found",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/Error"
}
}
}
}
}
}
},
"/health": {
"get": {
"summary": "Health",
"security": [],
"responses": {
"200": {
"description": "OK"
}
}
}
}
},
"components": {
"securitySchemes": {
"bearerAuth": {
"type": "http",
"scheme": "bearer",
"description": "Your API key (bm_live_… / bm_test_…)."
}
},
"schemas": {
"Error": {
"type": "object",
"properties": {
"error": {
"type": "object",
"properties": {
"type": {
"type": "string"
},
"code": {
"type": "string"
},
"message": {
"type": "string"
},
"param": {
"type": "string"
},
"request_id": {
"type": "string"
},
"doc_url": {
"type": "string"
}
},
"required": [
"type",
"code",
"message",
"request_id"
]
}
}
},
"Job": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"object": {
"type": "string",
"enum": [
"job"
]
},
"tool": {
"type": "string"
},
"status": {
"type": "string",
"enum": [
"queued",
"processing",
"completed",
"failed",
"canceled"
]
},
"usage": {
"type": "object",
"properties": {
"units": {
"type": "integer"
},
"class": {
"type": "string",
"enum": [
"standard",
"heavy",
"ai",
"video"
]
}
}
},
"output": {
"type": [
"object",
"null"
],
"properties": {
"url": {
"type": "string",
"format": "uri"
},
"filename": {
"type": "string"
},
"content_type": {
"type": "string"
},
"size": {
"type": "integer"
},
"expires_at": {
"type": "string",
"format": "date-time"
}
}
},
"error": {
"type": [
"object",
"null"
]
},
"created_at": {
"type": "string",
"format": "date-time"
},
"expires_at": {
"type": "string",
"format": "date-time"
}
}
}
}
}
}