{"openapi":"3.1.0","info":{"title":"Resalevalue API","version":"0.1.0","description":"A fully local, general methodology for estimating secondhand/resale value by category (electronics, appliances, furniture, clothing, sporting goods, musical instruments, tools, collectibles): age-based depreciation curves, category-specific condition-grading rubrics, a combined estimator, platform-choice guidance, a comparables-based estimator, and a glossary. Not live pricing data — every estimate says so.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://resalevalue.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/resalevalue/docs"},"termsOfService":"https://connectorbay.com/resalevalue/terms"},"servers":[{"url":"https://resalevalue.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/resalevalue/docs"},"security":[{},{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/estimate_depreciation":{"post":{"operationId":"estimate_depreciation","summary":"Combines a category's age-based depreciation curve with a condition multiplier into a point estimate and","description":"Combines a category's age-based depreciation curve with a condition multiplier into a point estimate and\n    range for one item's resale value. Not live pricing — a general methodology. Use for \"roughly what's this\n    3-year-old laptop worth in good condition, bought for $1200\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category":{"description":"A resale category.","examples":["electronics"],"minLength":1,"title":"Category","type":"string"},"original_price":{"description":"The original purchase price.","examples":[1200],"minimum":0,"title":"Original Price","type":"number"},"age_years":{"description":"Age of the item in years.","examples":[3],"minimum":0,"title":"Age Years","type":"number"},"condition":{"description":"A condition grade valid for the category (see condition_grading).","examples":["good"],"minLength":1,"title":"Condition","type":"string"}},"required":["category","original_price","age_years","condition"],"title":"estimate_depreciationArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/category_depreciation_curve":{"post":{"operationId":"category_depreciation_curve","summary":"A category's general age-based depreciation curve (illustrative % of original value retained at several","description":"A category's general age-based depreciation curve (illustrative % of original value retained at several\n    ages). Collectibles have no age-based curve — value there is driven by rarity/demand/condition grade instead,\n    and this tool says so rather than forcing a number. Use for \"how fast do electronics lose value\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category":{"description":"A resale category.","minLength":1,"title":"Category","type":"string"}},"required":["category"],"title":"category_depreciation_curveArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/condition_grading":{"post":{"operationId":"condition_grading","summary":"The condition-grading rubric for a category — a general 5-point scale for most goods, a dedicated","description":"The condition-grading rubric for a category — a general 5-point scale for most goods, a dedicated\n    NWT-to-poor scale for clothing, and a dedicated mint-to-poor scale for collectibles/memorabilia. Use for\n    \"what's the clothing condition grading scale\", \"what does 'near mint' mean for collectibles\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category":{"description":"A resale category.","minLength":1,"title":"Category","type":"string"}},"required":["category"],"title":"condition_gradingArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/price_multiplier_for_condition":{"post":{"operationId":"price_multiplier_for_condition","summary":"Just one condition grade's price multiplier and description for a category. Use for \"what multiplier does","description":"Just one condition grade's price multiplier and description for a category. Use for \"what multiplier does\n    'excellent' condition get for musical instruments\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category":{"description":"A resale category.","minLength":1,"title":"Category","type":"string"},"condition":{"description":"A condition grade valid for the category.","minLength":1,"title":"Condition","type":"string"}},"required":["category","condition"],"title":"price_multiplier_for_conditionArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/resale_readiness_checklist":{"post":{"operationId":"resale_readiness_checklist","summary":"Category-tailored tips to maximize the resale value you can actually achieve before listing an item. Use","description":"Category-tailored tips to maximize the resale value you can actually achieve before listing an item. Use\n    for \"how do I get the most for this laptop before selling it\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"category":{"description":"A resale category.","minLength":1,"title":"Category","type":"string"}},"required":["category"],"title":"resale_readiness_checklistArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/platform_choice_tips":{"post":{"operationId":"platform_choice_tips","summary":"General, non-brand-specific guidance on choosing between a general marketplace, a specialty marketplace,","description":"General, non-brand-specific guidance on choosing between a general marketplace, a specialty marketplace,\n    consignment, or a local/in-person sale. Use for \"should I sell this on a general marketplace or consign it\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"platform_choice_tipsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/estimate_by_comparables":{"post":{"operationId":"estimate_by_comparables","summary":"Computes median, mean and a suggested range from real recent comparable sale prices you supply — usually a","description":"Computes median, mean and a suggested range from real recent comparable sale prices you supply — usually a\n    better estimate of achievable resale value than any generic depreciation curve. Use for \"I found 4 recent\n    sale prices for a similar item, what does that suggest my item is worth\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"sale_prices":{"description":"2+ real recent sale prices of the same or a very similar item.","examples":[[220,245,210,260]],"items":{"type":"number"},"minItems":2,"title":"Sale Prices","type":"array"}},"required":["sale_prices"],"title":"estimate_by_comparablesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/items_holding_value":{"post":{"operationId":"items_holding_value","summary":"The general pattern of which categories tend to hold or gain value over time versus depreciate steeply —","description":"The general pattern of which categories tend to hold or gain value over time versus depreciate steeply —\n    educational, not a guarantee for any specific item. Use for \"what kinds of things actually hold their value\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"items_holding_valueArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/categories_list":{"post":{"operationId":"categories_list","summary":"Every resale category Resalevalue covers. Use for \"what categories do you have resale guidance for\".","description":"Every resale category Resalevalue covers. Use for \"what categories do you have resale guidance for\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"categories_listArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/glossary":{"post":{"operationId":"glossary","summary":"Definitions of resale terms — depreciation curve, comps, condition grading, patina, consignment,","description":"Definitions of resale terms — depreciation curve, comps, condition grading, patina, consignment,\n    provenance, floor value. Use for \"what are comps\", \"what's provenance mean for resale\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A specific term to look up; omit to list all.","title":"Term"}},"title":"glossaryArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}