Website Builder API
POST /services/websites/v1/websites/get-publish-data Auth

Get Publish Data

Returns all data needed for the publish popup: - Domain information (wemasy/custom/none) - Versions list with current version (from database) - Deployment status and logs (from Redis + database) - Current action type (generate/generate-deploy) PERFORMANCE: Database-only queries, no filesystem reads

Responses

500
200
403
422
401
429
Internal server error
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
FieldTypeDescription
error boolean
message string
details string|null
Publish data retrieved successfully
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
FieldTypeDescription
domain mixed
versions mixed
current_version_id string
max_versions integer
deployment mixed
Forbidden — insufficient permissions
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
FieldTypeDescription
error boolean
message string
Validation error
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
FieldTypeDescription
error boolean
message string
Unauthenticated — missing or invalid Bearer token
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
FieldTypeDescription
error boolean
message string
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 POST "https://api.wemasy.nl/api/services/websites/v1/websites/get-publish-data" \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -H "Accept: application/json"
fetch('https://api.wemasy.nl/api/services/websites/v1/websites/get-publish-data', {
  method: 'POST',
  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')
    ->post('https://api.wemasy.nl/api/services/websites/v1/websites/get-publish-data');
$data = $response->json();
import requests

headers = {
    "Authorization": "Bearer YOUR_API_TOKEN",
    "Accept": "application/json"
}
r = requests.post("https://api.wemasy.nl/api/services/websites/v1/websites/get-publish-data", headers=headers)
print(r.json())
Response Example
{
    "domain": {
        "type": "custom",
        "domain": "wemasy.com",
        "wemasy_domain": null,
        "dns_records_added_at": "2026-02-09 21:17:10",
        "dns_status": "verified",
        "show_dns_records": false,
        "can_switch_to_wemasy": true,
        "wemasy_domain_available": false,
        "wemasy_suggestion": "wemasy",
        "dns_records": null,
        "can_use_custom_domain": true
    },
    "versions": [
        {
            "name": "v20260330",
            "version_id": "20260330214759-5422",
            "date": "30 Mar 2026, 11:50 PM",
            "full_date": "2026-03-30 21:50:06",
            "size": "1052.66 MB",
            "size_bytes": 1103794012.16,
            "deployTime": "30 Mar 2026, 11:50 PM",
            "isLive": true,
            "isLatest": true
        }
    ],
    "current_version_id": "20260330214759-5422",
    "max_versions": 8,
    "deployment": {
        "status": "testing",
        "action": null,
        "is_active": false
    }
}

Try It

Export