Skip to content

Files

Every route on this page needs the files scope. See Files for how clients download them.

GET/seller/v1/filesscope: files
Query Notes
app_id Your token’s app
200 OK
{
"ok": true,
"data": {
"items": [
{
"id": "file_81623b66014f4360845792dcb77f8e69",
"app_id": "app_ea9745b1df9e4a9bacb22cb1c200993b",
"name": "config.json",
"size": 26,
"sha256": "01965fbe870ff43527561232b4616c6cb76b82e6259b67e3d6472750919f858b",
"content_type": "application/octet-stream",
"tier_ids": ["tier_e26fe8d406f94e13bff9d10c9291c37f"],
"free_access": 0,
"purpose": "download",
"created_by": "tok_2ad338dbbfe44929977a4c4525a9e274",
"created_at": 1794497607,
"updated_at": 1794497607,
"is_update": 0,
"uploaded_by": null
}
],
"storage_configured": true
}
}

is_update is 1 for the file used as the app’s update download.

POST/seller/v1/file/uploadscope: files

The body is the raw file, not JSON. The other fields go in the query string.

Query Required Notes
app_id yes
name yes 1 to 128 characters
tier_ids no Comma-separated tier IDs. Empty = every active subscription
free_access no 1 to also open it to free mode devices

Up to 25 MB. Storage counts toward your plan.

Terminal window
curl -X POST "https://panel.eonauth.fyi/seller/v1/file/upload?app_id=app_ea9745b1df9e4a9bacb22cb1c200993b&name=config.json&tier_ids=tier_e26fe8d406f94e13bff9d10c9291c37f" \
-H "Authorization: Bearer $EONAUTH_TOKEN" \
-H "Content-Type: application/octet-stream" \
--data-binary @config.json
201 Created
{ "ok": true, "data": { "id": "file_81623b66014f4360845792dcb77f8e69", "name": "config.json", "size": 26, "sha256": "01965fbe870ff43527561232b4616c6cb76b82e6259b67e3d6472750919f858b" } }

413 for a file over 25 MB, 400 for an empty one, 402 PLAN_LIMIT when your storage is full.

POST/seller/v1/file/updatescope: files

Changes the name or who can download it. To change the bytes, upload a new file.

Field Type Required Notes
file_id string yes
name string no 1 to 128 characters
tier_ids string[] no Replaces the list
free_access boolean no
200 OK
{ "ok": true, "data": { "updated": true } }
POST/seller/v1/file/deletescope: files
Request
{ "file_id": "file_81623b66014f4360845792dcb77f8e69" }
200 OK
{ "ok": true, "data": { "deleted": true } }

These two routes belong to App settings, which tokens never get. Set the update build in the panel (Update builds).

POST/seller/v1/app/update-file/uploadnot available to tokens
POST/seller/v1/app/update-filenot available to tokens

Both answer 403 FORBIDDEN to a token.