Update Creator Studio drop edits

Update an existing ERC-721 SeaDrop V1 drop and its stages.

Saves a Creator Studio draft. It does not change the live drop: SeaDrop stages are onchain contract state, so the draft has to be published separately before buyers see it. A 200 here means the draft was accepted, not that the drop changed.

stages replaces the whole set rather than merging, so send every stage the drop should end up with, including ones you are not changing. Reuse an existing stage uuid to update it, supply a new UUID to add one, and omit a stage to delete it.

The stage list has four rules, and rules 2 and 4 interact in a way worth reading before the first attempt:

  1. Exactly one stage must be public_sale.
  2. That public stage must be first in the array.
  3. The presales, meaning every stage after the first, must be contiguous among themselves: each one starts exactly when the previous presale ended. The first presale start time is not constrained.
  4. The last presale must end exactly when the public stage starts.

Together, 2 and 4 mean array order is not chronological order: the public stage is listed first and runs last, with the presales running in array order before it. A drop with two allowlist stages therefore sends [public, presale1, presale2] while time runs presale1, then presale2, then public. Rule 3 does not tie presale1 back to the public stage, which is why the chain reads forward from presale1 rather than from the array head.

Per-wallet mint limits are cumulative across stages, so max_total_mintable_by_wallet on a later stage is a running total for the wallet rather than a fresh allowance.

Recent Requests
Log in to see full request history
TimeStatusUser Agent
Retrieving recent requests…
LoadingLoading…
Path Params
string
required

The collection slug identifying the drop to update

Body Params

Request to save Creator Studio drop edits

string

Creator payout address

boolean
Defaults to false

Set when saving a configuration the creator has not chosen a launch date for. Stage start and end times are still required, but they are held as a placeholder rather than a schedule: the whole stage set is shifted so the earliest stage opens at the Unix epoch, preserving each stage's duration and the gaps between them, and publishing the drop is refused until a launch date is set. Omit it to leave the drop scheduled; an explicit null is rejected.

string

Maximum supply for the drop as a decimal string

stages
array of objects
required
length between 1 and 2147483647

The drop's complete stage set, replacing any existing stages rather than merging with them. Exactly one stage must be public_sale and it must be first in this array. The presales that follow must be contiguous among themselves, each starting exactly when the previous presale ended, and the last must end exactly when the public stage starts. The first presale start time is not constrained. Array order is therefore not chronological: the public stage is listed first and runs last.

stages*

A drop stage for Creator Studio edits

string

Allowlist file token

string

Stage description

date-time
required

Stage end time

string

Stage label

string

Maximum token supply for this stage as a decimal string

string
required

Maximum tokens mintable per wallet as a decimal string. Cumulative across stages rather than per stage, so this is a running total for the wallet. A wallet that has already reached a later stage's cap cannot mint on it.

price
object
required

Stage price

string
enum
required

Stage type. public_sale for the open stage, signed_presale for an allowlist stage. merkle_presale exists in the underlying enum but is rejected: no drop has ever used one and mints against such a stage fail.

Allowed:
date-time
required

Stage start time

string
required

Stage UUID. Reuse an existing stage UUID to update that stage, or supply a new one to add a stage. Because stages replaces the whole set, omitting a stage deletes it.

Responses

400

For error reasons, review the response data.

401

Invalid or missing API key

403

Forbidden

404

Resource not found

500

Internal server error. Please open a support ticket so OpenSea can investigate.

Language
Credentials
Header
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
*/*