Presign one PUT URL per file, into a CDN project
Requires files:[“write”]. Accepts either key class, with different project resolution: a wordpress key always uses its bound project; an api-class key (unbound by design) must name the target project via the projectId field. Offload-first: no batch, no processor, no transforms billed. Nothing is persisted until /uploads/confirm.
Authorizations
An API key minted from the dashboard (POST /api/api-keys), of either class: api (prefix pxg_) or wordpress (prefix pxg_wp_). Which class a given route accepts is documented per-endpoint below; presenting a real key of a class the route doesn't accept is 403 WRONG_KEY_CLASS, never folded into 401 INVALID_API_KEY. No cookie fallback exists.
Body
1 - 100 elementsREQUIRED for an api-class key (400 MISSING_PROJECT_ID if omitted; 404 if it names a project outside this key's org). Optional for a wordpress key, which always uploads into its own bound project — if given, it must equal that binding or the call 404s.