curl --request GET \
--url https://api.bachs.io/v1/utilities/uploads/{upload_id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.bachs.io/v1/utilities/uploads/{upload_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.bachs.io/v1/utilities/uploads/{upload_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.bachs.io/v1/utilities/uploads/{upload_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"upload_id": "upl_4f3e2d1c9b8a7605f4e3",
"file_name": "pro-plan-hero.png",
"mime_type": "image/png",
"file_size_bytes": 204800,
"url": "https://cdn.bachs.io/uploads/upl_4f3e2d1c9b8a7605f4e3/pro-plan-hero.png",
"linked_resource_type": "product",
"linked_resource_id": "prod_4b91c2e7d3a85f60b1c9",
"created_at": "2026-07-13T13:40:11.000Z",
"updated_at": "2026-07-13T13:41:02.000Z"
}{
"detail": "Invalid API key",
"error_code": "UNAUTHORIZED"
}{
"detail": "Resource not found",
"error_code": "NOT_FOUND"
}Retrieve an upload
Retrieve metadata for a previously created upload by its ID.
curl --request GET \
--url https://api.bachs.io/v1/utilities/uploads/{upload_id} \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.bachs.io/v1/utilities/uploads/{upload_id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.bachs.io/v1/utilities/uploads/{upload_id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.bachs.io/v1/utilities/uploads/{upload_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}{
"upload_id": "upl_4f3e2d1c9b8a7605f4e3",
"file_name": "pro-plan-hero.png",
"mime_type": "image/png",
"file_size_bytes": 204800,
"url": "https://cdn.bachs.io/uploads/upl_4f3e2d1c9b8a7605f4e3/pro-plan-hero.png",
"linked_resource_type": "product",
"linked_resource_id": "prod_4b91c2e7d3a85f60b1c9",
"created_at": "2026-07-13T13:40:11.000Z",
"updated_at": "2026-07-13T13:41:02.000Z"
}{
"detail": "Invalid API key",
"error_code": "UNAUTHORIZED"
}{
"detail": "Resource not found",
"error_code": "NOT_FOUND"
}Authorizations
Bearer token authentication. Pass your API key as Authorization: Bearer sk_.... See Authentication for keys, scopes, and sandbox vs production.
Path Parameters
Response
Upload metadata
A stored file and its metadata.
Unique identifier for this upload. Pass it wherever an endpoint accepts a file reference.
"upl_4f3e2d1c"
The file name you uploaded, preserved unchanged.
"product-hero.png"
The media type detected from the file's contents, which may differ from what its extension suggests.
"image/png"
Size of the stored file in bytes.
204800
ISO 8601 timestamp of when the file was uploaded.
"2026-02-22T12:00:00.000Z"
ISO 8601 timestamp of when the upload was last changed, which includes being attached to a resource.
"2026-02-22T12:01:30.000Z"
URL the file can be fetched from. null for a private upload, which is served only through the API.
"https://cdn.bachs.io/uploads/upl_4f3e2d1c/product-hero.png"
The kind of resource this upload is attached to, for example product. null while the upload is unattached.
"product"
ID of the resource this upload is attached to. null while the upload is unattached.
"prod_abc123"

