https://dwyt.appBuild downloads with DWYT
The DWYT code samples document the future request sequence. Production calls remain closed until the video client is reviewed and operator-assigned credentials are enabled.
Quick start
DWYT's format map reviews support-activated credentials for API host. It shows an assigned tenant endpoint next and does not obscure a server-only call path.
X-API-Key: pending_activation_…DwytFlowv1# Available only after support activation
export DWYT_FLOW_SECRET="issued-after-review"
curl -X POST https://dwyt.app/v1/resolve \
-H "X-API-Key: $DWYT_FLOW_SECRET" \
-H "Content-Type: application/json" \
-d '{"public_media":"https://www.youtube.com/watch?v=VIDEO_ID"}'For Credential safety, DWYT begins with server-side secret storage. Its format map pairs that with no client bundle embedding and ends with no public logs or repositories.
Resolve a link
DWYT's format map reviews source detection for Resolve operation. It shows formats from one submitted URL next and does not obscure no invented outputs.
/v1/resolveScope: resolve| Field | Type | Required | Description |
|---|---|---|---|
public_media | 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
}For Format identifier, DWYT begins with the returned value unchanged. Its format map pairs that with per-link availability and ends with no guessed quality label.
Create and follow a download job
For Job creation, DWYT checks asynchronous preparation before a short HTTP request. This format map also makes bounded worker execution clear.
/v1/jobsScope: jobs| Field | Type | Required | Description |
|---|---|---|---|
public_media | HTTPS URL | Yes | The same normalized source submitted to resolve. |
rendition_key | string | Yes | An exact ID from the resolve response. |
tenant | string | No | Assigned tenant domain. Usually omitted. |
curl -X POST https://dwyt.app/v1/jobs \
-H "X-API-Key: $DWYT_FLOW_SECRET" \
-H "Content-Type: application/json" \
-d '{"public_media":"https://www.youtube.com/watch?v=VIDEO_ID","rendition_key":"18"}'flow_id.GET /v1/jobs/{flow_id} 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://dwyt.app/v1/jobs/FLOW_ID \
-H "X-API-Key: $DWYT_FLOW_SECRET"Job polling begins with one-second initial wait on DWYT. This format map then presents capped backoff. The final fact is temporary signed delivery.
Predictable errors
DWYT handles Error contract by first identifying one non-2xx envelope. It follows with a support request ID and keeps predictable client handling in view.
{
"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
DWYT reviews the integration before choosing quotas that protect both the video client and upstream services.
- 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.
DWYT's format map reviews activation before exploration for Schema access. It shows assigned authentication next and does not obscure documented request shapes.
Activate through support
Explain the application behind the request, its monthly traffic estimate and the video services it will use. DWYT reviews those details, assigns the necessary API permissions and retains no recoverable key value.
Request activation Keys are tenant-scoped, revocable and issued through the Contact form. Anonymous scripts cannot execute downloader work.