Website Builder API
GET /services/websites/v1/generator/download/{websiteId}/{versionId} Public

Download a specific website version with signature validation

URL format: /download/{websiteId}/{versionId}?signature={hmac}&expires={timestamp} PAUSE/RESUME SUPPORT: - Browser: Automatic pause/resume support via Range headers - Envoy wget: Use `wget -c URL` for continue/resume - Envoy curl: Use `curl -C - -o file.zip URL` for continue/resume HEADERS: - Accept-Ranges: bytes (enables pause/resume) - Content-Type: application/zip - Cache-Control: public, max-age=3600 (1 hour cache)

Parameters

NameTypeInRequiredDescription
websiteId integer path Required Website ID
versionId string path Required Version ID to download
signature string query Required HMAC signature to authenticate the download request.
Example: a1b2c3d4e5f6...
expires integer query Required Unix timestamp after which the signed URL expires.
Example: 1717200000

Responses

200
422
429
Successful response
Headers
HeaderTypeDescriptionExample
X-RateLimit-Limit integer Maximum number of requests allowed per minute 60
X-RateLimit-Remaining integer Number of requests remaining in the current window 57
Validation error
FieldTypeDescription
message string Errors overview.
errors object A detailed description of each field that failed validation.
Too Many Requests — rate limit exceeded
Headers
HeaderTypeDescriptionExample
X-RateLimit-Limit integer Maximum number of requests allowed per minute 60
X-RateLimit-Remaining integer Number of requests remaining in the current window 57
Retry-After integer Seconds until the rate limit resets 60
FieldTypeDescription
error boolean
message string
Base URL
https://api.wemasy.nl/api
Authentication

Request Sample
cURL
JS
PHP
Python
curl -X GET "https://api.wemasy.nl/api/services/websites/v1/generator/download/{websiteId}/{versionId}" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
fetch('https://api.wemasy.nl/api/services/websites/v1/generator/download/{websiteId}/{versionId}', {
  method: 'GET',
  headers: {
    'Authorization': 'Bearer YOUR_API_TOKEN',
    'Accept': 'application/json'  }})
.then(r => r.json())
.then(data => console.log(data));
$response = Http::withToken('YOUR_API_TOKEN')
    ->accept('application/json')
    ->get('https://api.wemasy.nl/api/services/websites/v1/generator/download/{websiteId}/{versionId}');
$data = $response->json();
import requests

headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Accept": "application/json"
}
r = requests.get("https://api.wemasy.nl/api/services/websites/v1/generator/download/{websiteId}/{versionId}", headers=headers)
print(r.json())

Try It
websiteId Required
versionId Required
signature Required
expires Required

Export