Preview only — activation required

Build downloads with EasyF

EasyF shows the interface in advance so developers can estimate their work. A support review is still required before a live key and usage boundary exist.

EasyfClientJSON over HTTPSAsynchronous jobsScoped credentials
01

Quick start

To explain API host, EasyF separates support-activated credentials from an assigned tenant endpoint. A plain-language workflow gives a server-only call path its own place.

Tenant URLhttps://easyf.app
AuthenticationX-API-Key: pending_activation_…
Client profileEasyfClient
API versionv1
# Available only after support activation
export EASYF_SERVICE_KEY="issued-after-review"

curl -X POST https://easyf.app/v1/resolve \
  -H "X-API-Key: $EASYF_SERVICE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"asset_url":"https://www.youtube.com/watch?v=VIDEO_ID"}'

Credential safety starts with server-side secret storage on EasyF. The next view covers no client bundle embedding. The page keeps no public logs or repositories visible.

02

Resolve a link

To explain Resolve operation, EasyF separates source detection from formats from one submitted URL. A plain-language workflow gives no invented outputs its own place.

POST/v1/resolveScope: resolve
FieldTypeRequiredDescription
asset_urlHTTPS URLYesPublic or authorized media page to analyze.
tenantstringNoAssigned tenant domain. Usually omitted.
{
  "success": true,
  "platform": "youtube",
  "title": "Example video",
  "formats": [
    {"id":"18","type":"video","quality":"360p","container":"mp4"}
  ],
  "cached": false
}

Format identifier starts with the returned value unchanged on EasyF. The next view covers per-link availability. The page keeps no guessed quality label visible.

03

Create and follow a download job

EasyF presents three practical points for Job creation. First comes asynchronous preparation. The plain-language workflow then covers a short HTTP request. Its final point is bounded worker execution.

POST/v1/jobsScope: jobs
FieldTypeRequiredDescription
asset_urlHTTPS URLYesThe same normalized source submitted to resolve.
variant_codestringYesAn exact ID from the resolve response.
tenantstringNoAssigned tenant domain. Usually omitted.
curl -X POST https://easyf.app/v1/jobs \
  -H "X-API-Key: $EASYF_SERVICE_KEY" \
  -H "Content-Type: application/json" \
  -d '{"asset_url":"https://www.youtube.com/watch?v=VIDEO_ID","variant_code":"18"}'
1202 AcceptedSave delivery_id.
2Poll statusGET /v1/jobs/{delivery_id} with the same key.
3ReadyOpen the signed download URL.
StatusMeaningClient action
queuedAdmitted to the bounded queue.Poll again with backoff.
extractingRefreshing source metadata or route.Continue polling.
processingDownloading, remuxing or merging.Display server progress.
readySigned download is available.Send the URL to the user.
failedTerminal structured error.Read error_code. Retry only when advised.
expiredTemporary output was removed.Create a new job.
curl https://easyf.app/v1/jobs/DELIVERY_ID \
  -H "X-API-Key: $EASYF_SERVICE_KEY"

EasyF approaches Job polling through one-second initial wait, then capped backoff. The plain-language workflow keeps temporary signed delivery explicit.

04

Predictable errors

EasyF organizes Error contract around one non-2xx envelope. Its plain-language workflow compares a support request ID. Predictable client handling remains the final check.

{
  "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": "…"
}
HTTPTypical meaningAction
400Invalid URL, body or unavailable format.Correct the request. Resolve again for formats.
401Missing, invalid, expired or wrong-scope key.Check the server-side credential.
403Tenant or source policy rejected the request.Do not bypass the policy. Contact support.
404Unknown or expired job.Create a new job if appropriate.
429Request or active-job limit reached.Honor retry_after_seconds.
503Queue/capacity or upstream temporarily unavailable.Retry with exponential backoff and jitter.
05

Operational contract

EasyF agrees practical usage bounds with each approved product to preserve a predictable guided workflow.

To explain Schema access, EasyF separates activation before exploration from assigned authentication. A plain-language workflow gives documented request shapes its own place.

OPERATOR-REVIEWED ACCESS

Activate through support

Tell EasyF what you are building, how often it will call the API and which providers matter. The review decides the permitted operations, then reveals a credential once while saving only its secure digest.

Request activation Keys are tenant-scoped, revocable and issued through the Contact form. Anonymous scripts cannot execute downloader work.