Sada Files
Public Developer API & SDK Platform · 231 File Tools

Developer API & Integration Guide

Incorporate bank-grade file operations into your backend services, automation scripts, and mobile apps. Execute tools synchronously or scale with background worker queues.

Developer API Keys & Access

Generate secure bearer tokens to authenticate your automated requests, set up webhook callbacks, and bypass browser concurrency limits. Free developer tier with fair-use limits.

Read Documentation

Developer Platform Features

  • Bearer token authentication for scripts & pipelines
  • Synchronous streaming (<= 60s) or async job queues
  • 231 tools spanning PDF, Image, Office, Media & AI
  • Encrypted temporary files with 24-hr auto-purge
  • Fine-grained permissions and instant token revocation
Complete Integration Guide

How to Use the Public Developer API

Everything you need to integrate Sada Files into your software stack. Follow our quickstart steps, explore endpoints, and copy ready-to-run recipes.

1

Authenticate

Include your bearer token in the HTTP Authorization header:

Authorization: Bearer sf_live_...
2

Send Multipart Form

Attach source files in files and tool options as JSON:

options={"quality":80}
3

Receive or Stream

Synchronous calls stream the output binary directly. Heavy jobs return a job ID to poll progress.

HTTP/1.1 200 OK (Content-Type: image/webp)

Quickstart Code Snippets

Copy and run full working code in your preferred programming language.

cURL Implementation
# 1. Run a tool synchronously (e.g. compress image) and save the output:
curl -X POST "https://sadafiles.com/v1/tools/compress-image" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "files=@document.jpg" \
  -F 'options={"quality": 75, "stripMetadata": true}' \
  -o "compressed.jpg"

# 2. Run a heavy job asynchronously:
curl -X POST "https://sadafiles.com/v1/tools/pdf-to-word/jobs" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "files=@annual_report.pdf" \
  -F 'options={"preserveLayout": true}'

# 3. Check job status:
curl -X GET "https://sadafiles.com/v1/jobs/job_12345678" \
  -H "Authorization: Bearer YOUR_API_KEY"

# 4. Download finished output file:
curl -X GET "https://sadafiles.com/v1/jobs/job_12345678/download" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -o "converted_report.docx"

REST API Endpoints Specification

Full contract specification for tools, jobs, pipelines, and lifecycle operations.

GET/v1/tools
DiscoveryPublic (No Key)
List All Tools & Schemas: Returns the full public registry of all 231 tools, supported input/output formats, option JSON schemas, and engine capabilities.
Response: 200 OK — Array of tool metadata objects
GET/v1/tools/:slug
DiscoveryPublic (No Key)
Get Tool Specification: Retrieves schema definition, option parameters, default values, and operational limits for a single tool.
Response: 200 OK — Tool specification object
POST/v1/tools/:slug
ExecutionKey Required
Run Tool Synchronously: Executes a file tool in-line (<= 60s) and streams the converted binary directly back in the HTTP response. If longer, returns 202 Accepted.
Body: multipart/form-data (files, options)Response: 200 OK (Binary stream) or 202 Accepted (Job summary)
POST/v1/tools/:slug/jobs
ExecutionKey Required
Run Tool Asynchronously: Submits a heavy processing job to the worker queue. Returns a job ID immediately for status tracking and progress polling.
Body: multipart/form-data (files, options)Response: 201 Created — { id, status: 'queued', progress: 0, expiresAt }
GET/v1/jobs/:id
JobsKey Required
Poll Job Status & Progress: Checks current status ('queued', 'processing', 'done', 'failed') and progress percentage (0-100%).
Response: 200 OK — Job status and output artifact links
GET/v1/jobs/:id/download
JobsKey Required
Download Finished Artifact: Streams the generated output file from secure, encrypted temporary storage.
Response: 200 OK — Binary file download stream
POST/v1/pipeline
PipelineKey Required
Execute Multi-Tool Pipeline: Chains multiple tools sequentially in one request (e.g., PDF -> extract pages -> compress -> watermark). Validates sequence up front.
Body: multipart/form-data / JSONResponse: 200 OK (Streamed result) or 202 Accepted
DELETE/v1/jobs/:id
PrivacyKey Required
Purge Job & Artifacts: Immediately deletes all input and output files from server storage without waiting for the automatic 24-hour expiration.
Response: 204 No Content

Common Production Recipes & Payloads

Pre-built payload options for popular image, document, and AI operations.

Image Compression (JPEG/PNG/WebP)compress-image

Compress images with control over lossy quality and EXIF metadata stripping.

Options Payload (JSON)
{
  "quality": 75,
  "stripMetadata": true
}

Accepts: image/jpeg, image/png, image/webp

PDF to Word (DOCX Conversion)pdf-to-word

Convert PDF documents to editable Microsoft Word documents preserving formatting.

Options Payload (JSON)
{
  "preserveLayout": true,
  "detectTables": true
}

Accepts: application/pdf

AI Background Removalremove-background

Cut out portrait or product backgrounds cleanly using neural segmentation.

Options Payload (JSON)
{
  "mode": "auto",
  "feather": 2
}

Accepts: image/jpeg, image/png, image/webp

Multi-PDF Document Mergemerge-pdf

Combine multiple PDF files into a single unified document with page ordering.

Options Payload (JSON)
{
  "linearize": true
}

Accepts: application/pdf (2 or more files)

Chaining Tools with Pipelines (POST /v1/pipeline)

Execute an ordered chain of operations inside one worker with zero intermediary downloads.

curl -X POST "https://sadafiles.com/v1/pipeline" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "files=@document.pdf" \
  -F 'pipeline=[
    {"tool": "pdf-to-images", "options": {"dpi": 150}},
    {"tool": "bulk-resize-image", "options": {"width": 1200}},
    {"tool": "create-zip", "options": {"filename": "rendered_pages.zip"}}
  ]' \
  -o "rendered_pages.zip"

Pipelines validate compatibility before execution. If an intermediate tool output cannot be consumed by the next step, the API returns a descriptive validation error identifying the failing link.

Interactive Tool API Explorer (231 Tools)

Select any tool from our registry to inspect its endpoint URL, supported formats, and auto-generated command.

Compress Image

Reduce image file size with a live quality preview or an exact target size — lossy or lossless, strip metadata, before/after comparison.

POST https://sadafiles.com/v1/tools/compress-image
Categoryimage.optimize
Accepted Inputsimage/jpeg, image/png, image/webp, image/avif, image/gif, image/bmp, image/tiff, image/heic, image/heif
Output Formatssame, image/webp, image/avif, image/jpeg, image/png
Auto-Generated cURL Command
curl -X POST "https://sadafiles.com/v1/tools/compress-image" \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "files=@input_file" \ -o "output_file"

HTTP Status Codes & Error Handling

Status CodeMeaningAction / Resolution
200 OKSynchronous execution completedRead binary stream directly from response body
202 AcceptedJob queued or running asynchronouslyPoll status using returned Location header or job ID
400 Bad RequestInvalid parameters or incompatible file MIMECheck error JSON for missing inputs or option validation
401 UnauthorizedMissing, malformed, or revoked API keyProvide a valid bearer token in Authorization header
413 Payload Too LargeInput file exceeds maximum size limit (2 GB)Split input or compress before uploading
429 Rate LimitedFair-use quota exceededInspect Retry-After response header and back off requests

Local & Cloud Hybrid

Use client-side WebAssembly for private, on-device operations or leverage server engines for heavy OCR, video, and multi-file conversions.

24-Hour Maximum Retention

All server processing utilizes encrypted temporary storage and automatically expires within 24 hours. Purge artifacts immediately with DELETE /jobs/:id.

Granular Scopes & Security

Choose granular tool execution, job reading, and pipeline permissions. Immediately revoke compromised keys from your developer dashboard.