API reference
Shops
Your stores and their settings.
List your shops
GET
/v1/shopsNeeds a key with read
Every shop you own, oldest first, with how many listings are live, drafts and sold.
curl https://api.resell.store/v1/shops \
-H "Authorization: Bearer $RESELL_KEY"Response
{
"object": "list",
"data": [
{
"object": "shop",
"id": "c0a8…",
"slug": "maya",
"name": "Maya's closet",
"about": "Clothes and kitchen things I don't use any more.",
"category": "Clothes",
"location": "Portland, OR",
"tone": "lemon",
"visibility": "public",
"paused": false,
"url": "https://maya.resell.store",
"picture_url": null,
"agent": {
"answer_questions": true,
"haggle": true,
"lowest_percent": 15,
"ask_hold": true
},
"counts": {
"live": 12,
"drafts": 2,
"sold": 20
},
"created_at": "2026-09-03T17:20:00.000Z"
}
],
"total": 1,
"has_more": false
}Open a shop
POST
/v1/shopsNeeds a key with shops
Opens a new shop at {slug}.resell.store. Slugs are unique across resell.store.
Body
namestringrequiredslugstringrequired- The subdomain, e.g. "maya" for maya.resell.store.
categorystringaboutstringtone"lemon" | "mint" | "pink" | "leaf" | "blush"default "lemon"visibility"public" | "link" | "private"default "public"
curl https://api.resell.store/v1/shops \
-H "Authorization: Bearer $RESELL_KEY" \
-d name="Maya's kitchen" \
-d slug=maya-kitchen \
-d category=Home \
-d visibility=publicResponse
{
"object": "shop",
"id": "c0a8…",
"slug": "maya-kitchen",
"name": "Maya's kitchen",
"about": "Clothes and kitchen things I don't use any more.",
"category": "Clothes",
"location": "Portland, OR",
"tone": "lemon",
"visibility": "public",
"paused": false,
"url": "https://maya-kitchen.resell.store",
"picture_url": null,
"agent": {
"answer_questions": true,
"haggle": true,
"lowest_percent": 15,
"ask_hold": true
},
"counts": {
"live": 12,
"drafts": 2,
"sold": 20
},
"created_at": "2026-09-03T17:20:00.000Z"
}Get a shop
GET
/v1/shops/:slugNeeds a key with read
One of your shops by its slug, with this week's numbers.
Path
slugstringrequired- The shop's slug.
curl https://api.resell.store/v1/shops/maya \
-H "Authorization: Bearer $RESELL_KEY"Response
{
"object": "shop",
"id": "c0a8…",
"slug": "maya",
"name": "Maya's closet",
"about": "Clothes and kitchen things I don't use any more.",
"category": "Clothes",
"location": "Portland, OR",
"tone": "lemon",
"visibility": "public",
"paused": false,
"url": "https://maya.resell.store",
"picture_url": null,
"agent": {
"answer_questions": true,
"haggle": true,
"lowest_percent": 15,
"ask_hold": true
},
"counts": {
"live": 12,
"drafts": 2,
"sold": 20
},
"created_at": "2026-09-03T17:20:00.000Z",
"stats": {
"views": 1606,
"views_7d": 214,
"followers": 105,
"likes": 48,
"shares": 9,
"offers_waiting": 2
}
}Change a shop
PATCH
/v1/shops/:slugNeeds a key with shops
Change any of the shop's settings. Send only what changes. A new slug moves the store to a new address.
Path
slugstringrequired- The shop's slug.
Body
namestring- Shown at the top of the store.
slugstring- The subdomain: {slug}.resell.store. Changing it moves the store.
aboutstring- A line or two about the shop.
categorystringlocationstring- Where things ship from, e.g. "Portland, OR".
tone"lemon" | "mint" | "pink" | "leaf" | "blush"- The shop's colour.
visibility"public" | "link" | "private"- public: listed on the marketplace. link: only people with the link. private: only you.
pausedboolean- Hides the shop and keeps everything.
answer_questionsboolean- Let the shop's agent answer buyers' questions.
haggleboolean- Let the shop's agent haggle on offers.
lowest_percentinteger- Lowest the agent will go, as % off the price.
ask_holdboolean- Ask for a deposit to hold an item.
curl -X PATCH https://api.resell.store/v1/shops/maya \
-H "Authorization: Bearer $RESELL_KEY" \
-d about="Clothes, shoes and a few kitchen things." \
-d haggle=true \
-d lowest_percent=20Response
{
"object": "shop",
"id": "c0a8…",
"slug": "maya",
"name": "Maya's closet",
"about": "Clothes and kitchen things I don't use any more.",
"category": "Clothes",
"location": "Portland, OR",
"tone": "lemon",
"visibility": "public",
"paused": false,
"url": "https://maya.resell.store",
"picture_url": null,
"agent": {
"answer_questions": true,
"haggle": true,
"lowest_percent": 15,
"ask_hold": true
},
"counts": {
"live": 12,
"drafts": 2,
"sold": 20
},
"created_at": "2026-09-03T17:20:00.000Z"
}Delete a shop
DELETE
/v1/shops/:slugNeeds a key with shops
Deletes the shop, its listings and their photos. This can't be undone. A shop with sales can't be deleted (the orders keep a record of it); pause it instead.
Path
slugstringrequired- The shop's slug.
curl -X DELETE https://api.resell.store/v1/shops/maya-kitchen \
-H "Authorization: Bearer $RESELL_KEY"Response
{
"object": "shop",
"slug": "maya-kitchen",
"deleted": true
}