We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Documentation
Learn how to use the Map Editor, Animator, and API.
API Reference
Export project data and integrate with your game engine or build pipeline.
Authentication
All API requests require a Bearer token in the Authorization header:
Create a token in Settings > API Keys. Keys are organization-scoped - one key grants access to all projects in that organization.
- 401 - missing, invalid, revoked, or expired token
- 403 - token belongs to a different organization
- 404 - project ID does not exist
Base URL
All endpoints are prefixed with:
The project_id is a UUID found in the project's URL or settings page.
Endpoints
/info
Returns project metadata.
/hash
Returns a content hash for change detection. Compare to your stored value to check for modifications.
/changes
Opens a Server-Sent Events (SSE) stream for real-time change notifications.
| Parameter | Type | Description |
|---|---|---|
once |
string | If "true", sends initial event then closes. |
Event types:
- •ready - sent immediately with current hash
- •changed - sent when project hash differs
- •deleted - sent when project is removed
/download
Downloads the full project as a ZIP archive.
| Parameter | Type | Description |
|---|---|---|
hash |
string | Optional. Returns 304 if the project hash matches. |
/manifest
Returns a per-file manifest with content hashes and sizes for incremental sync.
/sync
Send your local file hashes and receive only what changed, was added, or was deleted.
- •changed / added - include path, new hash, and base64-encoded content
- •deleted - array of paths that no longer exist
- •images - binary resources that changed; fetch via /resource
/resource
Downloads an individual binary resource such as a tileset image.
| Parameter | Type | Description |
|---|---|---|
path |
string | Required. Resource path, must be under resources/. |
Supports If-None-Match for ETag caching. Returns 304 if unchanged.
Typical workflow
Poll /hash periodically, or connect to /changes SSE for real-time notifications.
When a change is detected, call /manifest to get the current file list.
Call /sync with your local hashes to receive only what changed.
Fetch new or updated images via /resource.