API reference
Research
Research runs in the background
GET /listings/:id/research every few seconds until status is done.Look it up
/v1/listings/:id/researchStarts the research agent on a listing: it works out what the item is from the photo and words, finds it in the catalog, checks second-hand prices and suggests a price. It runs in the background for about a minute; poll GET /listings/:id/research. If a run is already going, you get that one.
Path
idstringrequired- The id.
curl -X POST https://api.resell.store/v1/listings/8d1e6c2a-…/research \
-H "Authorization: Bearer $RESELL_KEY"{
"object": "research_run",
"id": "run_…",
"listing": "8d1e6c2a-…",
"status": "running",
"steps": []
}Research results
/v1/listings/:id/researchThe latest research run: each step's progress while it's running, then the findings when it's done: what it is, a price range and suggested price, facts, where the prices came from and questions worth answering.
Path
idstringrequired- The id.
curl https://api.resell.store/v1/listings/8d1e6c2a-…/research \
-H "Authorization: Bearer $RESELL_KEY"{
"object": "research_run",
"id": "run_…",
"listing": "8d1e6c2a-…",
"status": "done",
"steps": [
{
"key": "identify",
"state": "done",
"title": "Look at your photo",
"detail": "Le Creuset Signature, 5.5 qt"
}
],
"findings": {
"identified": "Le Creuset Signature round dutch oven, 5.5 qt, Soleil",
"category": "Kitchen",
"confidence": "high",
"price": {
"min": 120,
"max": 260,
"band_low": 160,
"band_high": 210,
"suggested": 185
},
"facts": [
{
"label": "Retail price",
"value": "$420"
}
],
"questions": [
{
"field": "condition",
"ask": "Any chips or stains inside?"
}
],
"summary": "Sells quickly between $160 and $210 in this colour."
}
}Look up an item
/v1/researchShortcut for "what's this worth?": makes a draft from your words (and optional picture URLs) and starts the research agent on it. Poll GET /listings/:id/research with the listing id you get back. Delete the draft if you don't want to sell it.
Body
querystringrequired- What it is, e.g. "Le Creuset dutch oven 5.5 qt yellow".
shopstring- Which shop the draft goes in. Defaults to your first.
photo_urlsstring[]
curl https://api.resell.store/v1/research \
-H "Authorization: Bearer $RESELL_KEY" \
-d query="Le Creuset dutch oven 5.5 qt yellow"{
"object": "research_run",
"id": "run_…",
"listing": "8d1e6c2a-…",
"status": "running",
"steps": []
}Write the words
/v1/listings/:id/wordsThe writing agent writes (or rewrites) the title, one-liner, description and teaser from the listing's details and research, in a tone you pick, and puts them on the listing. instruction can be "shorter", "longer", "take" (a fresh take) or anything you'd say to a writer.
Path
idstringrequired- The id.
Body
tone"Friendly" | "Playful" | "Straight to the point" | "A bit luxe"default "Friendly"instructionstring
curl https://api.resell.store/v1/listings/8d1e6c2a-…/words \
-H "Authorization: Bearer $RESELL_KEY" \
-d tone="Straight to the point"{
"object": "listing_words",
"listing": "8d1e6c2a-…",
"tone": "Straight to the point",
"title": "Le Creuset dutch oven, 5.5 qt, Soleil yellow",
"one_liner": "Used twice. No chips, no stains.",
"description": "Signature round dutch oven in Soleil…",
"teaser": "Used twice, like new"
}