Skip to content
This page was generated and translated with the assistance of AI. If you spot any inaccuracies, feel free to help improve it. Edit on GitHub

Admin API

All admin endpoints require the X-Auth-Token header with an admin-scoped token. Admin tokens have full access to all API operations including upload.

Products

List Products

GET /admin/api/products

Returns all products with their basic information.

bash
curl http://localhost:8000/admin/api/products \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN"

Create Product

POST /admin/api/products
Content-Type: application/json
FieldRequiredDescription
nameYesProduct display name
slugYesURL identifier (unique)
descriptionNoProduct description
bash
curl -X POST http://localhost:8000/admin/api/products \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"name": "MyApp", "slug": "myapp", "description": "Cross-platform app"}'

Get Product

GET /admin/api/products/:productID

Returns the product with all its variants.

Update Product

PUT /admin/api/products/:productID
Content-Type: application/json

Delete Product

DELETE /admin/api/products/:productID

Cascading Delete

Deleting a product permanently removes all its variants, releases, and uploaded files.

Variants

Create Variant

POST /admin/api/products/:productID/variants
Content-Type: application/json
FieldRequiredDescription
platformYesios, android, macos, windows, linux
display_nameYesHuman-readable name
identifierYesBundle ID or package name
archNoCPU architecture
installer_typeNoFile type (ipa, apk, dmg, etc.)
min_osNoMinimum OS version
sort_orderNoDisplay order (lower = first)

Update Variant

PUT /admin/api/variants/:variantID
Content-Type: application/json

Delete Variant

DELETE /admin/api/variants/:variantID

Cascading Delete

Deleting a variant permanently removes all its releases and uploaded files.

Variant Statistics

GET /admin/api/variants/:variantID/stats

Returns download counts and other statistics for the variant.

Releases

Delete Release

DELETE /admin/api/releases/:releaseID

Removes the release and its uploaded binary file.

Publishing

Control whether a product/app is visible on the public download page.

Publish

PUT /admin/api/apps/:appID/publish

Unpublish

PUT /admin/api/apps/:appID/unpublish

Events

Query Events

GET /admin/api/events

Returns visit, click, and download events. Supports query parameters for filtering.

ParameterDescription
typeEvent type (visit, click, download)
variant_idFilter by variant
release_idFilter by release

iOS Devices

List Devices

GET /admin/api/ios_devices

Returns all iOS devices that have completed UDID binding.

Register Device with Apple

POST /admin/api/devices/:deviceID/register-apple

Registers a single device with your Apple Developer account.

Batch Register Devices

POST /admin/api/devices/register-apple

Registers all unregistered devices with Apple in a single batch operation.

Apple Developer API

Check Status

GET /admin/api/apple/status

Returns whether Apple Developer API credentials are configured and valid.

List Apple Devices

GET /admin/api/apple/devices

Returns devices registered in your Apple Developer account.

Settings

Get Settings

GET /admin/api/settings

Returns current system settings (domains, organization, storage type).

Update Settings

PUT /admin/api/settings
Content-Type: application/json

Updatable fields include:

  • primary_domain -- Public URL for manifests and callbacks
  • secondary_domains -- CDN or alternate domains
  • organization -- Organization name in iOS profiles
  • storage_type -- local or s3
  • S3 configuration (endpoint, bucket, keys, public URL)
  • Apple Developer API credentials

Get Upload Configuration

GET /admin/api/upload-config

Returns the current upload configuration including storage type and limits.

Exports

Export data as CSV files for external analysis:

EndpointData
GET /admin/exports/releases.csvAll releases with metadata
GET /admin/exports/events.csvAll events
GET /admin/exports/ios_devices.csvAll iOS devices
bash
# Example: export all releases
curl -o releases.csv http://localhost:8000/admin/exports/releases.csv \
  -H "X-Auth-Token: YOUR_ADMIN_TOKEN"

Next Steps

Released under the Apache-2.0 License.