https://quickt.ioBuild downloads with QuickT
QuickT documents how a mobile client would communicate with the service. It cannot submit production work until support approves the design and enables scoped access.
Quick start
For API host, QuickT checks support-activated credentials before an assigned tenant endpoint. This device-ready view also makes a server-only call path clear.
X-API-Key: pending_activation_…QuicktRoutev1# Available only after support activation
export QUICKT_ROUTE_TOKEN="issued-after-review"
curl -X POST https://quickt.io/v1/resolve \
-H "X-API-Key: $QUICKT_ROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"route_source":"https://www.youtube.com/watch?v=VIDEO_ID"}'QuickT organizes Credential safety around server-side secret storage. Its device-ready view compares no client bundle embedding. No public logs or repositories remains the final check.
Resolve a link
For Resolve operation, QuickT checks source detection before formats from one submitted URL. This device-ready view also makes no invented outputs clear.
/v1/resolveScope: resolve| Field | Type | Required | Description |
|---|---|---|---|
route_source | HTTPS URL | Yes | Public or authorized media page to analyze. |
tenant | string | No | Assigned tenant domain. Usually omitted. |
{
"success": true,
"platform": "youtube",
"title": "Example video",
"formats": [
{"id":"18","type":"video","quality":"360p","container":"mp4"}
],
"cached": false
}QuickT organizes Format identifier around the returned value unchanged. Its device-ready view compares per-link availability. No guessed quality label remains the final check.
Create and follow a download job
To explain Job creation, QuickT separates asynchronous preparation from a short HTTP request. A device-ready view gives bounded worker execution its own place.
/v1/jobsScope: jobs| Field | Type | Required | Description |
|---|---|---|---|
route_source | HTTPS URL | Yes | The same normalized source submitted to resolve. |
route_format | string | Yes | An exact ID from the resolve response. |
tenant | string | No | Assigned tenant domain. Usually omitted. |
curl -X POST https://quickt.io/v1/jobs \
-H "X-API-Key: $QUICKT_ROUTE_TOKEN" \
-H "Content-Type: application/json" \
-d '{"route_source":"https://www.youtube.com/watch?v=VIDEO_ID","route_format":"18"}'route_job.GET /v1/jobs/{route_job} with the same key.| Status | Meaning | Client action |
|---|---|---|
queued | Admitted to the bounded queue. | Poll again with backoff. |
extracting | Refreshing source metadata or route. | Continue polling. |
processing | Downloading, remuxing or merging. | Display server progress. |
ready | Signed download is available. | Send the URL to the user. |
failed | Terminal structured error. | Read error_code. Retry only when advised. |
expired | Temporary output was removed. | Create a new job. |
curl https://quickt.io/v1/jobs/ROUTE_JOB \
-H "X-API-Key: $QUICKT_ROUTE_TOKEN"One-second initial wait is the starting point for Job polling on QuickT. A device-ready view then presents capped backoff and explains temporary signed delivery.
Predictable errors
For Error contract, QuickT begins with one non-2xx envelope. Its device-ready view pairs that with a support request ID and ends with predictable client handling.
{
"success": false,
"error": {
"code": "RATE_LIMITED",
"category": "rate_limited",
"message": "Too many requests. Please try again shortly.",
"retryable": true,
"details": {"retry_after_seconds": 20}
},
"request_id": "…"
}| HTTP | Typical meaning | Action |
|---|---|---|
| 400 | Invalid URL, body or unavailable format. | Correct the request. Resolve again for formats. |
| 401 | Missing, invalid, expired or wrong-scope key. | Check the server-side credential. |
| 403 | Tenant or source policy rejected the request. | Do not bypass the policy. Contact support. |
| 404 | Unknown or expired job. | Create a new job if appropriate. |
| 429 | Request or active-job limit reached. | Honor retry_after_seconds. |
| 503 | Queue/capacity or upstream temporarily unavailable. | Retry with exponential backoff and jitter. |
Operational contract
QuickT chooses mobile-client limits during approval so creator networks and the API remain responsive.
- Use idempotent application logic and never start duplicate jobs for the same user click.
- Cache resolve metadata briefly, but always treat signed download URLs as expiring.
- Use bounded exponential backoff with jitter for
429,503and retryable errors. - Process only public media or media you are authorized to access. DRM and access controls are not bypassed.
- Keep request IDs and job IDs in private operational logs. Do not log submitted URLs unnecessarily.
For Schema access, QuickT checks activation before exploration before assigned authentication. This device-ready view also makes documented request shapes clear.
Activate through support
Describe the mobile experience, its traffic expectation and the creator networks it needs. QuickT uses that information to assign analysis and queue permissions before revealing the secret once.
Request activation Keys are tenant-scoped, revocable and issued through the Contact form. Anonymous scripts cannot execute downloader work.