Management API¶
Admin endpoints for managing applications, customers, and uploads.
Admin Access Required
All endpoints on this page require an admin API key.
Create Application¶
Create a new application.
Request Body¶
| Field | Type | Required | Description |
|---|---|---|---|
applicationId |
string | Yes | Unique identifier (lowercase, alphanumeric, hyphens) |
name |
string | Yes | Display name |
description |
string | No | Application description |
tags |
string[] | No | Tags for filtering |
customerIds |
string[] | No | Customer IDs with access |
Example Request¶
curl -X POST \
-H "Authorization: Bearer YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"applicationId": "my-new-app",
"name": "My New Application",
"description": "A brand new application",
"tags": ["windows", "utility"]
}' \
https://api.bindist.eu/v1/management/applications
Example Response¶
{
"success": true,
"data": {
"applicationId": "my-new-app",
"name": "My New Application",
"description": "A brand new application",
"tags": ["windows", "utility"],
"isActive": true,
"createdAt": "2025-01-15T10:00:00Z"
}
}
Delete Application¶
Soft delete an application. The application and its data remain but are hidden from listings.
Path Parameters¶
| Parameter | Type | Description |
|---|---|---|
applicationId |
string | The application ID |
Example Request¶
curl -X DELETE \
-H "Authorization: Bearer YOUR_ADMIN_API_KEY" \
https://api.bindist.eu/v1/management/applications/my-app
Example Response¶
{
"success": true,
"data": {
"message": "Application deleted successfully",
"applicationId": "my-app",
"deletedAt": "2025-01-15T10:30:00Z"
}
}
Upload Binary¶
Upload a binary file for a version. For files larger than 10MB, use the large file upload endpoints.
Request Body (multipart/form-data)¶
| Field | Type | Required | Description |
|---|---|---|---|
applicationId |
string | Yes | The application ID |
version |
string | Yes | Version string |
file |
file | Yes | The binary file |
releaseNotes |
string | No | Release notes |
fileType |
string | No | File type (MAIN, DEPENDENCY, etc.) |
Example Request¶
curl -X POST \
-H "Authorization: Bearer YOUR_ADMIN_API_KEY" \
-F "applicationId=my-app" \
-F "version=2.2.0" \
-F "releaseNotes=New features and bug fixes" \
-F "file=@./my-app-2.2.0.exe" \
https://api.bindist.eu/v1/management/upload
Large File Upload¶
For files larger than 10MB, use the two-step upload process.
Step 1: Get Upload URL¶
Request Body¶
| Field | Type | Required | Description |
|---|---|---|---|
applicationId |
string | Yes | The application ID |
version |
string | Yes | Version string |
fileName |
string | Yes | Original filename |
fileSize |
number | Yes | File size in bytes |
contentType |
string | No | MIME type |
Example Request¶
curl -X POST \
-H "Authorization: Bearer YOUR_ADMIN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"applicationId": "my-app",
"version": "2.2.0",
"fileName": "my-app-2.2.0.exe",
"fileSize": 52428800
}' \
https://api.bindist.eu/v1/management/upload/large-url
Example Response¶
{
"success": true,
"data": {
"uploadUrl": "https://s3.eu-central-1.amazonaws.com/...",
"uploadId": "upl_abc123",
"expiresAt": "2025-01-15T11:00:00Z"
}
}
Step 2: Upload to S3¶
Upload the file directly to the pre-signed URL:
curl -X PUT \
-H "Content-Type: application/octet-stream" \
--data-binary @./my-app-2.2.0.exe \
"UPLOAD_URL_FROM_STEP_1"
Step 3: Complete Upload¶
Request Body¶
| Field | Type | Required | Description |
|---|---|---|---|
uploadId |
string | Yes | Upload ID from step 1 |
releaseNotes |
string | No | Release notes |
List Customers¶
List all customers in your account.
Example Response¶
{
"success": true,
"data": {
"customers": [
{
"customerId": "cust_abc123",
"name": "Acme Corp",
"tier": "Premium",
"isActive": true,
"createdAt": "2024-06-15T10:00:00Z"
}
]
}
}
Update Customer¶
Update a customer's information.
Request Body¶
| Field | Type | Description |
|---|---|---|
name |
string | Customer name |
isActive |
boolean | Active status |
notes |
string | Admin notes |
Create API Key¶
Create a new API key for a customer.
Example Response¶
{
"success": true,
"data": {
"customerId": "cust_abc123",
"apiKey": "cust_abc123.xYz789SecretKeyHere",
"createdAt": "2025-01-15T10:00:00Z"
}
}
Save the API Key
The API key is only shown once. Store it securely.
List Activity¶
List recent upload and download activity.
Query Parameters¶
| Parameter | Type | Description |
|---|---|---|
type |
string | Filter by upload or download |
applicationId |
string | Filter by application |
limit |
number | Maximum items |
cursor |
string | Pagination cursor |