---
title: "Owner-only: queue generation of a new drop (idempotent via requestId)"
method: POST
path: "/v1/admin/drops"
tags: ["Admin: Drops"]
---

# Owner-only: queue generation of a new drop (idempotent via requestId)

`POST /v1/admin/drops`

## Request

- Base URL: `https://api.sprixen.com`
- URL: `https://api.sprixen.com/v1/admin/drops`
- Auth: `bearer` (a scheme the document does not define)

## Request body

- CreateDropDto
  - `slug` string, required: URL slug, lowercase kebab-case, unique.
  - `title` string, required
  - `theme` string, required
  - `month` string, required
  - `palette` DropPaletteDto, required
    - `main` string, required
    - `accent` string, required
    - `glow` string, required
  - `mood` string
  - `material` string
  - `requestId` string, required: Idempotency key. Re-posting the same requestId resumes/returns the existing Drop instead of creating a duplicate.
  - `mapScenes` DropMapSceneDto[]: Explicit list of battle map scenes (5 expected). Omit to have the pipeline brainstorm them from theme/mood via Gemini text.
    - `name` string, required
    - `description` string, required
    - `doors` string[], required
    - `walls` DropWallSegmentDto[]: Authoritative internal map geometry in grid units.
      - `x1` number, required
      - `y1` number, required
      - `x2` number, required
      - `y2` number, required
      - `kind` 'wall' | 'door' | 'secret', required
      - `doorState` 'closed' | 'locked' | 'secret'
    - `lights` DropLightDto[]: Foundry AmbientLight definitions in grid units.
      - `x` number, required
      - `y` number, required
      - `radius` number, required
      - `color` string, required
      - `intensity` number, required
      - `dim` number
  - `tokenSubjects` DropTokenSubjectDto[]: Explicit list of token subjects (20 expected). Omit to have the pipeline brainstorm them from theme/mood via Gemini text.
    - `name` string, required
    - `description` string, required
  - `audioTracks` DropAudioTrackDto[]: Explicit list of ambient audio tracks (3 expected). Omit to have the pipeline brainstorm them from theme/mood via Gemini text.
    - `name` string, required
    - `prompt` string, required
    - `bpm` number

## Response `201`

Drop created (or resumed) and generation queued

---

[API](https://skmtc.dev/sprixen/apis/sprixen-api.md) · [All operations](https://skmtc.dev/sprixen/apis/sprixen-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sprixen/apis/sprixen-api/revisions/6c0c57f6da58?raw)
