Open a dispute

POST/v1/orders/{id}/dispute

For the buyer during the hold: the item is not what the lot said, or was taken back. No money moves until a person has looked. Opening it twice is safe.

Request

Path parameters

  • idstringrequired

    The deal's id.

curl -X POST 'https://api.rockvel.store/v1/orders/019a4c1e-6f3a-7c21-9d40-5b2e8f1a7c03/dispute' \
  -H "Authorization: Bearer $ROCKVEL_KEY"

Answer 200

  • idstring

    The deal's id.

  • numberstring

    The deal's short number, the end of its id. Both sides see it, and the trade offer's message names it.

  • rolestring

    Your side of the deal.

    One ofbuyerseller

  • statusstring

    Where the deal stands.

    One ofpaidsentprotectedsettledcancelledfailedrolled_backdisputed

  • reasonstringoptional

    Why it ended up here, when there is a reason.

  • item_slugstring

    The item's slug.

  • itemobject

    The item as the lot showed it.

    Fields of item
    • asset_idstring

      Steam's id of this very item. It changes when the item changes hands.

    • namestring

      Name as Steam shows it.

    • market_hash_namestring

      Name on the Steam market. A market card has one for each.

    • image_urlstring

      Steam's icon of the item.

    • kindstring

      What sort of item it is.

      One ofweaponknifeglovesagentstickerpatchcharmgraffitimusic_kitcontainercollectibleother

    • raritystringoptional

      Rarity in Steam's words.

    • exteriorstringoptional

      Exterior as a code: FN, MW, FT, WW or BS.

    • stattrakbooleanoptional

      The item is StatTrak.

    • souvenirbooleanoptional

      The item is a Souvenir.

    • marketableboolean

      Steam lets this item be sold on its own market.

    • floatnumberoptional

      Float value, from 0 to 1. Left out for items without one.

    • paint_seedintegeroptional

      Paint seed, from 0 to 1000.

    • kill_countintegeroptional

      StatTrak's count of kills.

    • paint_indexintegeroptional

      The paint's number in the game.

    • def_indexintegeroptional

      The weapon's number in the game.

    • phasestringoptional

      The phase of a Doppler or Gamma Doppler.

    • name_tagstringoptional

      The name tag on the item.

    • inspect_linkstringoptional

      Opens the item in the game.

    • highlight_urlstringoptional

      Video of a souvenir charm's moment.

    • stickersobject[]optional

      Stickers on the item, and patches on an agent.

      Fields of stickers
      • idintegeroptional

        Its number in the game.

      • namestring

        Its name.

      • image_urlstringoptional

        Its picture.

      • slotinteger

        Which place on the item it takes.

      • wearnumberoptional

        How scraped it is, 0 for intact.

      • scalenumberoptional

        Its scale, as the game places it.

      • rotationnumberoptional

        Its rotation, as the game places it.

      • offset_xnumberoptional

        Its offset along x, as the game places it.

      • offset_ynumberoptional

        Its offset along y, as the game places it.

      • offset_znumberoptional

        Its offset along z, as the game places it.

      • tint_idintegeroptional

        Its tint's number in the game.

      • patternintegeroptional

        The pattern of a charm.

      • highlightintegeroptional

        The moment on a souvenir charm.

    • keychainsobject[]optional

      Charms on the item.

      Fields of keychains
      • idintegeroptional

        Its number in the game.

      • namestring

        Its name.

      • image_urlstringoptional

        Its picture.

      • slotinteger

        Which place on the item it takes.

      • wearnumberoptional

        How scraped it is, 0 for intact.

      • scalenumberoptional

        Its scale, as the game places it.

      • rotationnumberoptional

        Its rotation, as the game places it.

      • offset_xnumberoptional

        Its offset along x, as the game places it.

      • offset_ynumberoptional

        Its offset along y, as the game places it.

      • offset_znumberoptional

        Its offset along z, as the game places it.

      • tint_idintegeroptional

        Its tint's number in the game.

      • patternintegeroptional

        The pattern of a charm.

      • highlightintegeroptional

        The moment on a souvenir charm.

    • tagsobject[]optional

      All the labels Steam gives the item.

      Fields of tags
      • categorystring

        The label's kind, such as Collection.

      • namestring

        The label itself.

    • notesstring[]optional

      Steam's lines about this item: its match, its date of issue, what a container holds.

    • referenceobjectoptional

      A hint for your price: the cheapest lot of this name on lis-skins, of this phase for a Doppler. Float, pattern and stickers do not count in it. Only in your inventory and stall, and left out when lis-skins has no such lot.

      Fields of reference
      • price_centsinteger

        The price in US cents.

      • offersinteger

        How many lots of this name, or this phase, lis-skins has.

  • price_centsinteger

    The price in US cents.

  • fee_centsinteger

    The seller's fee: 1.5% of the price, rounded up to a cent.

  • offer_idstringoptional

    The Steam offer, once there is one.

  • groupstring

    The same for deals that go to the buyer in one trade offer: the offer's id once there is one, before that a key that says nothing of the two sides.

  • actionsstring[]

    What you can do with the deal now.

    One ofsendcancelclose_offerdispute

  • partnerobjectoptional

    The other side of the deal: its Steam ID always, and in the list of deals also what Steam shows of them.

    Fields of partner
    • steam_idstring

      Their SteamID64.

    • namestringoptional

      Their name on Steam now.

    • avatar_urlstringoptional

      Their avatar on Steam now.

    • member_sincedate-timeoptional

      When their Steam account was made, unless the profile is private.

    • levelintegeroptional

      Their Steam level now, for the other side of a deal under way, unless the profile is private. Check it in Steam Guard: an account made up to look like them cannot copy it.

    • service_yearsintegeroptional

      Their Years of Service badge on Steam, as Steam counts it, with the level.

    • service_xpintegeroptional

      The XP of that badge.

  • paid_atdate-time

    When the lot was bought.

  • sent_atdate-timeoptional

    When the buyer could first accept the offer.

  • accepted_atdate-timeoptional

    When the item changed hands.

  • finished_atdate-timeoptional

    When the deal ended.

  • deadline_atdate-timeoptional

    When the deal moves on by itself.

  • buyer_cancels_atdate-timeoptional

    When the buyer can cancel. Left out once that time has come.

{
  "id": "019a4c1e-6f3a-7c21-9d40-5b2e8f1a7c03",
  "number": "",
  "role": "buyer",
  "status": "disputed",
  "reason": "buyer_dispute",
  "item_slug": "ak-47-redline-field-tested",
  "item": {
    "asset_id": "54267934219",
    "name": "AK-47 | Redline (Field-Tested)",
    "market_hash_name": "AK-47 | Redline (Field-Tested)",
    "image_url": "https://community.akamai.steamstatic.com/economy/image/i0CoZ81Ui0m-9KwlBY1L_18myuGuq1wfhWSaZgMttyVfPaERSR0Wqmu7LAocGIGz3UqlXOLrxM-vMGmW8VNxu5Dx60noTyLwlcK3wiFO0POlPPNSI_-RHGavzOtyufRkASq2lkxx4W-HnNyqJC3FZwYoC5p0Q7FfthW6wdWxPu-371Pdit5HnyXgznQeHYY5wyA",
    "kind": "weapon",
    "rarity": "Classified Rifle",
    "exterior": "FT",
    "marketable": true,
    "float": 0.2613,
    "paint_seed": 412,
    "paint_index": 282,
    "def_index": 7,
    "inspect_link": "steam://run/730//+csgo_econ_action_preview%2006168DEAFD92CC071E0E26F0072E0536023EE1",
    "stickers": [
      {
        "id": 1693,
        "name": "Sticker | Crown (Foil)",
        "slot": 1,
        "wear": 0.08
      }
    ],
    "tags": [
      { "category": "Type", "name": "Rifle" },
      { "category": "Weapon", "name": "AK-47" },
      {
        "category": "Collection",
        "name": "The Phoenix Collection"
      },
      {
        "category": "Quality",
        "name": "Classified Rifle"
      },
      { "category": "Exterior", "name": "Field-Tested" }
    ]
  },
  "price_cents": 3250,
  "fee_cents": 49,
  "offer_id": "8412653097",
  "group": "8412653097",
  "actions": [],
  "paid_at": "2026-11-02T09:41:17Z",
  "sent_at": "2026-11-02T09:47:17Z",
  "accepted_at": "2026-11-02T10:00:17Z",
  "deadline_at": "2026-11-10T10:00:17Z"
}

Refusals

StatusCodeWhen
403not_your_orderThis deal isn't yours, or this step belongs to the other side.
404no_such_orderThere is no such deal.
409order_moved_onThe deal moved on and this step no longer applies. Read it again.

Any route can also answer with the statuses on the Errors page.