curl --request DELETE \
--url https://api.moonup.gg/v1/offers/accounts/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.moonup.gg/v1/offers/accounts/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.moonup.gg/v1/offers/accounts/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.moonup.gg/v1/offers/accounts/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.moonup.gg/v1/offers/accounts/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.moonup.gg/v1/offers/accounts/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.moonup.gg/v1/offers/accounts/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"description": "<string>",
"attributes": {},
"tags": [
"<string>"
],
"status": "draft",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"published_at": "2023-11-07T05:31:56Z",
"manual_delivery_value": 123,
"manual_delivery_unit": "minutes",
"price": 123,
"currency": "USD",
"images": [
"<string>"
],
"delivery_type": "instant"
}{
"error": "unauthorized"
}{
"error": "not_found"
}{
"error": "delivery_instructions_required"
}Delete one of your accounts listings
Retires the listing for good — it leaves the marketplace, stays readable to you, and cannot be brought back. To take it down temporarily, pause it instead.
curl --request DELETE \
--url https://api.moonup.gg/v1/offers/accounts/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.moonup.gg/v1/offers/accounts/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.moonup.gg/v1/offers/accounts/{id}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.moonup.gg/v1/offers/accounts/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.moonup.gg/v1/offers/accounts/{id}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.moonup.gg/v1/offers/accounts/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.moonup.gg/v1/offers/accounts/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"title": "<string>",
"description": "<string>",
"attributes": {},
"tags": [
"<string>"
],
"status": "draft",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"published_at": "2023-11-07T05:31:56Z",
"manual_delivery_value": 123,
"manual_delivery_unit": "minutes",
"price": 123,
"currency": "USD",
"images": [
"<string>"
],
"delivery_type": "instant"
}{
"error": "unauthorized"
}{
"error": "not_found"
}{
"error": "delivery_instructions_required"
}Authorizations
Your API key, from the cabinet under Seller → API keys.
Path Parameters
Response
OK
How a listing sold by hand promises to hand over.
The category's own fields, keyed by the schema's key.
draft on create, then active once you publish it. paused and
archived are yours too, through pause and DELETE. reserved
and sold follow an order. removed is a takedown after
publishing, which no call in this API performs.
draft, active, paused, reserved, sold, removed, archived When publish put it on the marketplace. null while it is a
draft, and written once — pausing and unpausing leave it alone.
The handover time promised, read together with the unit — 2 and hours.
What the value counts. Both are null on a listing delivered instantly.
minutes, hours, days, null US cents.
Always USD.
"USD"
instant sells out of the unit pool; manual you hand over yourself.
instant, manual 