Skip to content
GridCraft
FeaturesPricingGamesDocsEditor
FeaturesPricingGamesDocsEditor
GridCraft

A tile map editor for game developers.

Product

  • Features
  • Pricing
  • Editor

Resources

  • Documentation
  • Get Started
  • Sign In
  • Dashboard

Community

  • Send feedback
  • Discord

Legal

  • Privacy Policy
  • Terms of Service
  • Cookie Policy
© 2026 GridCraft. A product of OmniaDev Inc.
Documentation menu
  • Getting started

    • Introduction
  • Editor concepts

    • Tile layers
    • Object layers
    • Tilesets
    • Variable-sized tiles
    • Terrain brushes
    • AutoMap rules
    • Plugins
  • Workflows

    • Open a Tiled file
    • Convert to GridCraft
    • Real-time collaboration
    • Edit with AI agents
    • Save to cloud
    • Use the desktop app
  • Export formats

    • Tiled JSON
    • LDtk
    • Godot 4
    • GameMaker
    • Defold
    • LOVE2D (Lua)
    • CSV
    • Binary (server-ready)
  • Account & cloud

    • Cloud sync, devices, Discord
  • Admin

    • Audit log
  • API reference

    • Overview
    • Auth
    • Maps
    • Billing
    • Admin
    • Discord linking
    • Devices
  • Legal

    • Legal index
  • Getting started

    • Introduction
  • Editor concepts

    • Tile layers
    • Object layers
    • Tilesets
    • Variable-sized tiles
    • Terrain brushes
    • AutoMap rules
    • Plugins
  • Workflows

    • Open a Tiled file
    • Convert to GridCraft
    • Real-time collaboration
    • Edit with AI agents
    • Save to cloud
    • Use the desktop app
  • Export formats

    • Tiled JSON
    • LDtk
    • Godot 4
    • GameMaker
    • Defold
    • LOVE2D (Lua)
    • CSV
    • Binary (server-ready)
  • Account & cloud

    • Cloud sync, devices, Discord
  • Admin

    • Audit log
  • API reference

    • Overview
    • Auth
    • Maps
    • Billing
    • Admin
    • Discord linking
    • Devices
  • Legal

    • Legal index

Devices

The desktop app calls /auth/devices/register the first time it signs in on a machine, then re-calls it on subsequent launches to refresh lastSeenAt. The free tier caps you at 1 bound device; paid tiers raise the limit.

POST /auth/devices/register

Authenticated. Idempotent: re-registering an existing (user, deviceId) pair updates the row instead of inserting.

Body
{
  "deviceId": string (8-64 chars, stable per machine),
  "name":     string (1-128),
  "platform": "darwin" | "win32" | "linux" | "web"
}

200 OK   (refreshed existing row)
201 Created   (new device, under the cap)
{ "device": { id, deviceId, name, platform, lastSeenAt, createdAt } }

Errors
  400 INVALID_REQUEST
  409 DEVICE_LIMIT_REACHED

GET /auth/devices

List bound devices on your account.

200 OK
{
  "devices": [
    { id, deviceId, name, platform, lastSeenAt, createdAt, updatedAt },
    ...
  ],
  "cap": number
}

DELETE /auth/devices/:id

Unlink a device you own.

200 OK
{ "success": true }

Errors
  400 INVALID_REQUEST
  404 DEVICE_NOT_FOUND