SuperAPI AI Directory

remix-rest-snippets

Agents & models

View repository

Updated 10-15 21:41

About this skill

TypeScript (REST)

const baseUrl = 'https://api.remix.gg'
const headers = {
  Authorization: `Bearer ${process.env.REMIX_API_KEY!}`,
  'Content-Type': 'application/json',
}

const openApiSpec = await fetch(`${baseUrl}/docs/json`, {
  method: 'GET',
  headers,
}).then((r) => r.json())

const createRes = await fetch(${baseUrl}/v1/games, { method: 'POST', headers, body: JSON.stringify({ name: 'Neon Dash' }), }) const createJson = await createRes.json() if (!createJson.success) throw new Error(createJson.error.message)

const gameId = createJson.data.game.id as string const versionId = createJson.data.game.version.id as string

const updateRes = await fetch( ${baseUrl}/v1/games/${gameId}/versions/${versionId}/code, { method: 'POST', headers, body: JSON.stringify({ code: html }), }, ) const updateJson = await updateRes.json() if (!updateJson.success) throw new Error(updateJson.error.message)

const validateRes = await fetch( ${baseUrl}/v1/games/${gameId}/versions/${versionId}/validate, { method: 'GET', headers }, ) const validateJson = await validateRes.json() if (!validateJson.success) throw new Error(validateJson.error.message) if (!validateJson.data.valid) { throw new Error(Blocked: ${validateJson.data.blockers.map((b: { code: string }) => b.code).join(', ')}) }

const statusRes = await fetch( ${baseUrl}/v1/games/${gameId}/versions/${versionId}/status, { method: 'GET', headers }, ) const statusJson = await statusRes.json() if (!statusJson.success) throw new Error(statusJson.error.message)

const readinessRes = await fetch( ${baseUrl}/v1/games/${gameId}/launch-readiness?versionId=${versionId}, { method: 'GET', headers }, ) const readinessJson = await readinessRes.json() if (!readinessJson.success) throw new Error(readinessJson.error.message)

const leaderboardRes = await fetch( ${baseUrl}/v1/games/${gameId}/analytics/leaderboard?startDate=2026-03-01&endDate=2026-03-15, { method: 'GET', headers }, ) const leaderboardJson = await leaderboardRes.json() if (!leaderboardJson.success) throw new Error(leaderboardJson.error.message)


## Image Generation

```ts
const imageRes = await fetch(
  `${baseUrl}/v1/games/${gameId}/images/generate`,
  {
    method: 'POST',
    headers,
    body: JSON.stringify({ prompt: 'A neon cityscape background' }),
  },
)
const imageJson = await imageRes.json()
if (!imageJson.success) throw new Error(imageJson.error.message)

Sprite Generation

const spriteRes = await fetch(
  `${baseUrl}/v1/games/${gameId}/sprites/generate`,
  {
    method: 'POST',
    headers,
    body: JSON.stringify({ prompt: 'A pixel art character running' }),
  },
)
const spriteJson = await spriteRes.json()
if (!spriteJson.success) throw new Error(spriteJson.error.message)

Shop Items

// List items
const itemsRes = await fetch(
  `${baseUrl}/v1/games/${gameId}/items`,
  { method: 'GET', headers },
)
const itemsJson = await itemsRes.json()

// Create item
const createItemRes = await fetch(
  `${baseUrl}/v1/games/${gameId}/items`,
  {
    method: 'POST',
    headers,
    body: JSON.stringify({
      name: 'Speed Boost',
      slug: 'speed-boost',
      itemType: 'CONSUMABLE',
      bitsCost: 100,
    }),
  },
)
const createItemJson = await createItemRes.json()

// Delete item
const itemId = createItemJson.data.item.id
const deleteItemRes = await fetch(
  `${baseUrl}/v1/games/${gameId}/items/${itemId}`,
  { method: 'DELETE', headers },
)

Asset Upload

const formData = new FormData()
formData.append('file', fileBlob, 'icon.png')

const assetRes = await fetch(
  `${baseUrl}/v1/games/${gameId}/assets`,
  {
    method: 'POST',
    headers: { Authorization: `Bearer ${process.env.REMIX_API_KEY!}` },
    body: formData,
  },
)
const assetJson = await assetRes.json()
if (!assetJson.success) throw new Error(assetJson.error.message)

Game Update

const gameUpdateRes = await fetch(
  `${baseUrl}/v1/games/${gameId}`,
  {
    method: 'POST',
    headers,
    body: JSON.stringify({ name: 'Neon Dash Deluxe' }),
  },
)
const gameUpdateJson = await gameUpdateRes.json()
if (!gameUpdateJson.success) throw new Error(gameUpdateJson.error.message)