Maps
All map endpoints require authentication.
GET /maps
List your maps. Returns metadata only, not content.
200 OK
{
"maps": [
{
"id": string,
"name": string,
"format": "json" | "tmx" | "tmj" | "zip",
"sizeBytes": number,
"assetBytes": number,
"createdAt": string,
"updatedAt": string
},
...
]
}GET /maps/:id
Download a single map (full content included).
200 OK
{
"map": {
"id": string,
"name": string,
"format": "json" | "tmx" | "tmj" | "zip",
"content": string,
"sizeBytes": number,
"revision": number,
"backupIntervalMinutes": number,
"role": "owner" | "editor" | "viewer",
"createdAt": string,
"updatedAt": string
},
"assets": [
{
"path": string,
"sizeBytes": number,
"contentType": string,
"url": string | null
},
...
]
}
Errors
404 MAP_NOT_FOUNDPOST /maps
Create a new map. Enforces map count, single-file size, and total storage caps from your tier.
Body
{
"name": string (1-255),
"format": "json" | "tmx" | "tmj" | "zip" (default "json"),
"content": string (the map body)
}
201 Created
{ "map": { id, name, format, sizeBytes, createdAt, updatedAt } }
Errors
400 VALIDATION_ERROR
403 EMAIL_NOT_VERIFIED
403 MAP_LIMIT_REACHED
413 FILE_TOO_LARGE
413 STORAGE_LIMIT_REACHEDPATCH /maps/:id
Update a map's name or content. Re-runs the size and storage checks when content changes.
Body
{
"name"?: string (1-255),
"content"?: string,
"baseRevision"?: number,
"backupIntervalMinutes"?: number (min 60)
}
200 OK
{ "map": { id, name, format, sizeBytes, revision, createdAt, updatedAt } }
Errors
400 VALIDATION_ERROR
404 MAP_NOT_FOUND
409 REVISION_CONFLICT
413 FILE_TOO_LARGE
413 STORAGE_LIMIT_REACHEDDELETE /maps/:id
Delete a map. Only the owner can call this.
200 OK
{ "deleted": true }
Errors
404 MAP_NOT_FOUND