Get an upload
Fetch one upload record by id, with fresh signed URLs.
One upload, by the id from List uploads or the
create response. The url and thumb_url
are signed and expire after 7 days, which is the main reason to call this:
re-fetching mints fresh ones.
GET
https://api2.rundiffusion.com/api/v2/uploads/{upload_id}AcceptsOAuth device flowPersonal API Access TokenCompany API Access Token
Request
Headers
AuthorizationstringRequired- Bearer token. This endpoint accepts an OAuth device flow token, a Personal API Access Token, or a Company API Access Token. See Authentication.
Authorization: Bearer eyJhbGciOi…
Path parameters
curl https://api2.rundiffusion.com/api/v2/uploads/$UPLOAD_ID \
-H "Authorization: Bearer $RUNDIFFUSION_TOKEN"const upload = await fetch(
`https://api2.rundiffusion.com/api/v2/uploads/${uploadId}`,
{ headers: { Authorization: `Bearer ${process.env.RUNDIFFUSION_TOKEN}` } },
).then(r => r.json());upload = requests.get(
f"{BASE}/uploads/{upload_id}",
headers=HEADERS,
).json()Response
200 OK with one
Upload object, exactly as the listing
returns it.
{
"id": "Yb3kQ9…",
"name": "fa9c1e22-….png",
"mime_type": "image/png",
"size_bytes": 1863245,
"width": 1024,
"height": 1024,
"url": "https://rundiffusion.com/...",
"thumb_url": "https://rundiffusion.com/...",
"created": "2026-07-23T09:31:02Z"
}Uploads belong to the user who made them, whichever account is selected: a team does not share an upload library.
Errors
Status codes
401TOKEN_INVALID- Missing or invalid credential.
404UPLOAD_NOT_FOUND- No such upload, or not yours. An upload owned by somebody else reads the same as an id that never existed, deliberately.
429RATE_LIMITED- Too many requests. See Rate limits.
