curl --request POST \
--url https://api.moonup.gg/v1/offers \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"game": "roblox",
"category": "accounts",
"title": "Roblox account, 40k Robux, age verified",
"description": "Original email included.",
"price": 4990,
"delivery_type": "instant",
"images": [
"https://cdn.moonup.gg/offers/2f9c.jpg"
],
"attributes": {
"more_played_game": "Blox Fruits",
"robux_balance": 40000,
"age_verified": true
},
"units": [
{
"login": "a@example.com",
"password": "..."
},
{
"login": "b@example.com",
"password": "..."
}
]
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"seller_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"description": "<string>",
"price": 123,
"currency": "<string>",
"attributes": {},
"images": [
"<string>"
],
"tags": [
"<string>"
],
"delivery_type": "instant",
"manual_delivery_value": 123,
"manual_delivery_unit": "<string>",
"manual_delivery_instructions": "<string>",
"status": "draft",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"published_at": "2023-11-07T05:31:56Z",
"rejection_reason_code": "<string>",
"rejection_note": "<string>",
"seller_instructions": "<string>",
"delivery_method": "<string>",
"price_per_unit": 123,
"stock_quantity": 123,
"min_order_quantity": 123,
"product_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "seller_instructions_required"
}{
"error": "unauthorized"
}{
"error": "seller_instructions_required"
}{
"error": "rate_limited"
}Create an offer
Creates the listing as a draft. Read the category’s schema first —
requirements names the fields this body must carry for it.
Nothing is on sale until POST /v1/offers/{id}/submit.
curl --request POST \
--url https://api.moonup.gg/v1/offers \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"game": "roblox",
"category": "accounts",
"title": "Roblox account, 40k Robux, age verified",
"description": "Original email included.",
"price": 4990,
"delivery_type": "instant",
"images": [
"https://cdn.moonup.gg/offers/2f9c.jpg"
],
"attributes": {
"more_played_game": "Blox Fruits",
"robux_balance": 40000,
"age_verified": true
},
"units": [
{
"login": "a@example.com",
"password": "..."
},
{
"login": "b@example.com",
"password": "..."
}
]
}
'{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"seller_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"description": "<string>",
"price": 123,
"currency": "<string>",
"attributes": {},
"images": [
"<string>"
],
"tags": [
"<string>"
],
"delivery_type": "instant",
"manual_delivery_value": 123,
"manual_delivery_unit": "<string>",
"manual_delivery_instructions": "<string>",
"status": "draft",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"published_at": "2023-11-07T05:31:56Z",
"rejection_reason_code": "<string>",
"rejection_note": "<string>",
"seller_instructions": "<string>",
"delivery_method": "<string>",
"price_per_unit": 123,
"stock_quantity": 123,
"min_order_quantity": 123,
"product_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
}{
"error": "seller_instructions_required"
}{
"error": "unauthorized"
}{
"error": "seller_instructions_required"
}{
"error": "rate_limited"
}Authorizations
Your API key, from the cabinet under Seller → API keys.
Body
Which of these are required depends on the category — read
requirements from its schema. The rest are optional everywhere.
The game's slug.
The category's slug.
8 - 1284096Minor units of the platform currency. Ignored for a bulk
(per-unit) listing, which prices off price_per_unit instead.
The platform currency, or omitted. Anything else is refused.
The category's own fields, keyed by the schema's key.
URLs minted by POST /v1/offers/images/upload-url. Nothing else is accepted.
instant, manual A key from GET /v1/offers/delivery-methods.
What the buyer is told about the handoff, in your words.
2048Instant delivery only — one opaque JSON payload per unit, the goods themselves. Encrypted at rest; never read back by this API.
Manual delivery only — the handoff time you promise.
minutes, hours, days 2048Bulk listings only — from .../products.
Bulk listings only. Per one of the product's scale, not per coin.
Bulk listings only.
Bulk listings only — the smallest order you will take.
Response
Created
Your own listing, as the write calls answer with it.
instant, manual draft, pending_moderation, active, paused, reserved, sold, rejected, removed, archived Why moderation refused it, when it did.
