What the API Is For

The Magmaro Creator API is designed for release automation, creator data integrations, campaign management and public discovery. It is not a full replacement for the marketplace UI — the strongest use cases are automating new version releases from CI/CD pipelines, reading commercial data programmatically and managing campaigns without opening the web interface.

The API has two distinct surfaces. The creator surface requires an API key and an active Magmaro+ subscription. It exposes write operations for publishing, and read operations for transactions, licenses and campaigns. The public surface is read-only, requires no authentication, and is intended for lightweight external integrations such as in-game update checkers or community tools.

Base URL and Format

All endpoints share the same versioned base URL:

https://magmaro.com/api/v1

All requests and responses use JSON. Set the Accept: application/json header on every request to ensure error responses are also returned as JSON rather than HTML redirects. Write endpoints that accept a request body expect Content-Type: application/json unless a multipart/form-data upload is explicitly specified.

List endpoints return a consistent data array and a meta object containing pagination details. Single-entity endpoints return a data object. Error responses return a JSON object with a top-level message field and, for validation errors, an errors map of field names to error arrays.

Authentication

API keys are generated from My Account → Settings → Magmaro+ Settings → API Access. Magmaro shows the full plaintext key only once at creation time — copy it immediately and store it securely in a secrets manager, CI environment variable or deployment vault. It cannot be retrieved again after the initial display.

Pass your key in one of these two request headers — both are accepted:

Authorization: Bearer YOUR_API_KEY
X-API-Key: YOUR_API_KEY

To verify connectivity and key validity, call the /me endpoint:

curl https://magmaro.com/api/v1/me \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"
{
  "data": {
    "id": 2,
    "public_id": "xY1Djci26aAe",
    "name": "Whiron",
    "username": "whiron",
    "email": "[email protected]",
    "country": null,
    "preferred_currency": "EUR",
    "has_magmaro_plus": true,
    "stripe_ready": true,
    "api_key": {
      "name": "Primary API Key",
      "prefix": "mgmr_31YTwctUAQv",
      "last_used_at": "2026-04-03T19:08:19+00:00",
      "created_at": "2026-04-03T19:07:32+00:00"
    }
  }
}

If the key is valid but your Magmaro+ subscription has lapsed, creator endpoints will return 402. If the key itself is invalid or missing, you will receive 401.

Access Requirements

  • API accessActive Magmaro+ subscription required
  • Write endpointsStripe Connect onboarding must be complete
  • Package uploadsChunked upload flow only — no single-request file upload
  • Package size limitStandard accounts 100 MB / Magmaro+ 500 MB per version
  • Temporal tokensOnly injected into JARs when creator has active Magmaro+
  • Public endpointsNo API key or subscription required

Full Endpoint Surface

Creator API (API key + Magmaro+ required):

GET    /api/v1/me

GET    /api/v1/resources
GET    /api/v1/resources/{resource}
GET    /api/v1/resources/{resource}/download
GET    /api/v1/resources/{resource}/versions/{resourceVersion}/download
POST   /api/v1/resources/package-upload/chunk
POST   /api/v1/resources/{resource}/versions
POST   /api/v1/resources/{resource}/release

GET    /api/v1/jobs
GET    /api/v1/jobs/{job}

GET    /api/v1/transactions
GET    /api/v1/licenses
POST   /api/v1/licenses/grant

GET    /api/v1/offers
POST   /api/v1/offers
DELETE /api/v1/offers/{offer}

GET    /api/v1/coupons
POST   /api/v1/coupons
DELETE /api/v1/coupons/{coupon}

GET    /api/v1/ads
POST   /api/v1/ads
DELETE /api/v1/ads/{booking}

Public API (no key required):

GET /api/v1/public/resources/search
GET /api/v1/public/resources/{resource}/latest-release

Route Keys

Magmaro uses opaque route keys rather than sequential integer IDs for most resources. A route key looks like a short alphanumeric string and is stable for the lifetime of the entity. Use GET /api/v1/resources to resolve the route key for a resource before targeting it with version or download endpoints. The route key is the value you pass as the {resource} path parameter in all resource-scoped endpoints.

Do not construct route keys from other data. They are assigned by the platform and cannot be predicted. Always resolve them from the list endpoint or from the platform UI before use.

Versioning and Stability

The current API version is v1, embedded in all endpoint paths. Magmaro will introduce a new version prefix if breaking changes are made to the API contract. Additive changes — new optional response fields, new optional request parameters — may be made within the current version without a version bump. Build your integrations to tolerate unknown JSON fields in responses.