ToolAssay

Takes a list of returns with the figures your own systems already hold and retur

Takes a list of returns with the figures your own systems already hold and returns one decision per return, with the arithmetic that produced it. Four routes are valued: reselling as is, at the resale value weighted by the probability that it actually sells and less the restocking cost; repairing and reselling, at the refurbished value weighted by the repair success probability plus the salvage value on the failure branch, less the repair cost, which is incurred either way; recovering value…

Answeringour last check, 2026-10-18
1 of 1checks answered this week
1209 msmedian answer time
$0.004listed price per call
$0.004price it asked us

Paid test badge: not yet. The checks above are free: we call the tool without paying and read the payment request it sends back. The Verified badge needs paid calls whose answers match the promised output, and nobody can buy a badge.

Endpoint

POST https://handel.halowerk.com/v1/return-disposition

CategoryEverything else
Provider hosthandel.halowerk.com
Networkseip155:8453
Payment schemesexact
Self-reported calls, 30 days1 from 1 payers (the provider's figure, not ours)

Our checks, last 30 days

DayResultHTTPAskedTime
2026-10-18 valid payment request 402$0.004 1209 ms

Example input (from the provider)

{
  "body": {
    "currency": "EUR",
    "decision_margin_pct": 5,
    "defaults": {
      "disposal_cost": 1.5,
      "inbound_freight_cost": 3.9,
      "inspection_cost": 4.5,
      "restocking_cost": 2
    },
    "items": [
      {
        "condition": "like_new",
        "refurb_resale_value": 199,
        "repair_cost": 35,
        "repair_success_probability": 0.9,
        "resale_probability": 0.95,
        "resale_value": 189,
        "return_id": "R-1001",
        "salvage_value": 12
      },
      {
        "condition": "defective",
        "refurb_resale_value": 149,
        "repair_cost": 60,
        "repair_success_probability": 0.7,
        "resale_probability": 0.4,
        "resale_value": 20,
        "return_id": "R-1002",
        "salvage_value": 18
      },
      {
        "condition": "damaged",
        "refurb_resale_value": 40,
        "repair_cost": 55,
        "repair_success_probability": 0.5,
        "resale_probability": 0.3,
        "resale_value": 9,
        "return_id": "R-1003",
        "salvage_value": 6
      }
    ]
  },
  "bodyType": "json",
  "method": "POST",
  "type": "http"
}

Promised output schema (from the provider)

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "properties": {
    "input": {
      "additionalProperties": false,
      "properties": {
        "body": {
          "additionalProperties": false,
          "properties": {
            "currency": {
              "default": "EUR",
              "description": "ISO 4217 code for every amount in this request. Not converted, only carried through.",
              "maxLength": 3,
              "minLength": 3,
              "type": "string"
            },
            "decision_margin_pct": {
              "default": 5,
              "description": "How far ahead the best route must be before it counts as a decision. Inside this margin the result is reported as ambiguous instead of asserting a winner.",
              "maximum": 100,
              "minimum": 0,
              "type": "number"
            },
            "defaults": {
              "additionalProperties": false,
              "description": "Values that apply to every item that does not carry its own. An item value always wins.",
              "properties": {
                "disposal_cost": {
                  "maximum": 100000000,
                  "minimum": 0,
                  "type": "number"
                },
                "inbound_freight_cost": {
                  "maximum": 100000000,
                  "minimum": 0,
                  "type": "number"
                },
                "inspection_cost": {
                  "maximum": 100000000,
                  "minimum": 0,
                  "type": "number"
                },
                "repair_cost": {
                  "maximum": 100000000,
                  "minimum": 0,
                  "type": "number"
                },
                "repair_success_probability": {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                "resale_probability": {
                  "maximum": 1,
                  "minimum": 0,
                  "type": "number"
                },
                "restocking_cost": {
                  "maximum": 100000000,
                  "minimum": 0,
                  "type": "number"
                }
              },
              "type": "object"
            },
            "items": {
              "description": "The returns to decide on. Every amount is in the currency named at document level.",
              "items": {
                "additionalProperties": false,
                "properties": {
                  "condition": {
                    "description": "Condition as your inspection recorded it. Passed through unchanged; it does not change the arithmetic.",
                    "enum": [
                      "new",
                      "like_new",
                      "used",
                      "damaged",
                      "defective",
                      "unknown"
                    ],
                    "type": "string"
                  },
                  "disposal_cost": {
                    "description": "Cost of disposing of the item. Scrapping is a cost, not proceeds.",
                    "maximum": 100000000,
                    "minimum": 0,
                    "type": "number"
                  },
                  "inbound_freight_cost": {
                    "description": "Freight already spent getting the item back. Incurred on every route.",
                    "maximum": 100000000,
                    "minimum": 0,
                    "type": "number"
                  },
                  "inspection_cost": {
                    "description": "Cost of inspecting this return. Incurred on every route and therefore does not change the ranking, only the level.",
                    "maximum": 100000000,
                    "minimum": 0,
                    "type": "number"
                  },
                  "refurb_resale_value": {
                    "description": "Expected proceeds after a successful repair.",
                    "maximum": 100000000,
                    "minimum": 0,
                    "type": "number"
                  },
                  "repair_cost": {
                    "description": "Cost of the repair attempt. Incurred whether or not the repair succeeds.",
                    "maximum": 100000000,
                    "minimum": 0,
                    "type": "number"
                  },
                  "repair_success_probability": {
                    "description": "Probability that the repair succeeds. A failed repair falls back to salvage_value.",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "resale_probability": {
                    "default": 1,
                    "description": "Probability that the as-is resale actually happens within your planning window.",
                    "maximum": 1,
                    "minimum": 0,
                    "type": "number"
                  },
                  "resale_value": {
                    "description": "Expected proceeds from selling the item as it is.",
                    "maximum": 100000000,
                    "minimum": 0,
                    "type": "number"
                  },
                  "restocking_cost": {
                    "description": "Cost of putting the item back into stock. Only charged to the as-is resale route.",
                    "maximum": 100000000,
                    "minimum": 0,
                    "type": "number"
                  },
                  "return_id": {
                    "description": "Your identifier for this return. Must be unique within the request.",
                    "maxLength": 64,
                    "minLength": 1,
                    "type": "string"
                  },
                  "salvage_value": {
                    "description": "Proceeds from parts recovery or material rec

This page as JSON