Zaulto API – for uploaders

With the Zaulto API you create containers programmatically and read at any time which links are online or offline – including the hoster label. It is built for uploaders who want to wire Zaulto into their own tools, scripts or upload workflows.

Your token = your access. Treat it like a password.

An API token is shown exactly once at creation time and cannot be retrieved afterwards. Save it immediately in a safe place (e.g. a password manager) and never commit it to a repository or frontend code.

Always pass the token in the Authorization header – never in the URL, since URLs end up in logs and browser history. If you suspect it has leaked, revoke it in your account right away and create a new one. Every token is limited to the “upload” scope and to your own account: it can only create containers on your behalf – it cannot read, change or delete anyone else's containers.

Authentication & creating a token

The upload API authenticates with a personal bearer token. Here's how to get one: sign in, open the “API tokens” area in your account, give it a descriptive label (e.g. “My upload script”) and optionally a lifetime in days. The token is shown once in clear text – copy it immediately.

On every request send the header Authorization: Bearer <YOUR_TOKEN>. If the header is missing or the token is invalid or revoked, the API responds with 401.

Header
Authorization: Bearer ztk_live_xxxxxxxxxxxxxxxxxxxxxxxx
Content-Type: application/json

Manage tokens in your account

Create a container

A POST to /api/v1/containers creates a new link container. Only a title and at least one link are required; every other field is optional with sensible defaults. Only http and https links are accepted.

Optionally you enable access protection right away: a password, a captcha (captchaRequired) and an expiry date or access limit (expiresAt, maxDownloads). With urlMasking the real hoster URL also stays hidden.

The response contains the container ID and the ready-to-share public URL – so you can hand out the link right away.

MethodPathAuthPurpose
POST/api/v1/containersBearer tokenCreate a new container with one or more links.
Request (curl)
curl -X POST https://zaulto.com/api/v1/containers \
  -H "Authorization: Bearer $ZAULTO_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "My release",
    "links": [
      { "url": "https://filer.net/get/abc123", "filename": "part1.rar" },
      { "url": "https://ddownload.com/abc123xyz", "filename": "part2.rar" }
    ]
  }'
Response (201)
{
  "id": "AB12CD34",
  "slug": null,
  "url": "https://zaulto.com/#/c/AB12CD34",
  "shortUrl": null
}
Most important request fields (JSON body)
FieldTypeDescription
titlestring (1–200)Required. Container title.
linksarrayRequired. At least 1 link. Each entry: { url, hoster?, filename? }. http/https only.
descriptionstring (≤2000)Optional description.
customSlugstring (3–40)Optional custom short slug for the URL.
passwordstringOptional password visitors need to open the container.
captchaRequiredbooleanRequire a captcha before opening (default: false).
maxDownloadsnumber|nullMaximum number of successful unlocks.
expiresAtnumber|nullExpiry as Unix time in milliseconds (null = never).
mirrorSetsarray (≤20)Optional mirror tiers as complete replacement link sets.
urlMaskingbooleanEnable URL masking (the real hoster URL stays hidden).
listedbooleanList the container in the public directory (default: false).

Read status & hoster label

A GET to /api/c/:id returns the public view of a container. If the container requires neither a password nor a captcha, you can read its state without unlocking it. Per link you see the status (online, offline, pending or unknown) and – if enabled for the container – the hoster name. That lets you detect automatically what is offline where.

Note: with a password/captcha or URL masking enabled, the actual links are only delivered after unlocking; the plain status is still visible through the public view. Zaulto keeps the status current via its built-in, regular link check.

MethodPathAuthPurpose
GET/api/c/:idnonePublic container view incl. online/offline status per link and hoster label.
Request (curl)
curl https://zaulto.com/api/c/AB12CD34
Status values per link
ValueTypeMeaning
onlinestatusFile is reachable at the hoster.
offlinestatusFile is deleted or no longer available.
pendingstatusNot checked yet – check is pending.
unknownstatusStatus could not be determined unambiguously.

Which hosters are detected especially precisely

Limits & error codes

Each container allows up to 40 links. Mirror tiers hold up to 200 links per tier and at most 20 tiers. Titles are capped at 200, descriptions at 2000 characters. There is no fixed upper limit on the number of your containers.

The API responds with clear HTTP status codes – evaluate them instead of only looking at the body.

HTTP status codes
CodeMeaningNote
201CreatedContainer was created.
400Bad RequestValidation failed (e.g. missing title, invalid URL).
401UnauthorizedToken missing, invalid, revoked or wrong scope.
404Not FoundContainer not found (when reading).
409ConflictRequested customSlug is already taken.

Security – keeping your access tight

Store the token server-side or in a secret store only, never in browser code or public repositories. Create a separate token with its own label per app/script – that way you can revoke a single one precisely without affecting the others.

Set a lifetime where it makes sense so a forgotten token expires automatically. Send requests over HTTPS only. And if a token ever does leak: revoke it in your account immediately – a revoked token is worthless instantly.

More on security & privacy

That's everything to wire Zaulto cleanly into your uploads: create containers via token and monitor the online/offline status automatically.

Zaulto roadmap

From the first concept to the finished platform – how Zaulto evolves step by step.

Autumn 2025 – Project start & concept

  • Idea and core concept for secure link containers
  • Technical architecture and security model defined
  • Encryption and access protection designed

Winter 2025/26 – Core development

  • Container creation and management built
  • Captcha, password protection and expiry limits added
  • First internal tests of the release logic

Spring 2026 – Polish & security

  • AutoProtect, stealth mode and geo-IP rules
  • DLC/Click'n'Load support added
  • Analytics, user management and API tokens

June 2026 – Soft launch (Current)

  • Public launch of the platform (beta)
  • Bilingual interface and knowledge base live
  • Gathering feedback from first users

Summer 2026 – Stabilisation & expansion

  • Incorporate feedback, optimise performance
  • Connect more hosters and formats
  • Expand documentation and FAQ

October 2026 – Final version 1.0

  • Official final version of the platform
  • Complete API and stable interfaces
  • Full feature set for all users