---
title: "✅ Accept or deny confirmations (one or many)"
method: POST
path: "/steam/api/guard/confirmations/confirm"
tags: ["Steam Guard"]
---

# ✅ Accept or deny confirmations (one or many)

`POST /steam/api/guard/confirmations/confirm`

## Request

- Base URL: `https://www.steamwebapi.com`
- URL: `https://www.steamwebapi.com/steam/api/guard/confirmations/confirm`
- Auth: API key in query parameter `key`

Accepts or denies one OR many mobile confirmations. Provide either a `confirmations` array of {id, key} pairs, or a single `confid` + `confkey` (the Steam getlist `id` and `nonce`). op: allow/accept to confirm, cancel/deny to reject. Charges one credit per confirmation acted on.

## Request body

- object
  - `identitysecret` string, password, required
  - `steamloginsecure` string, password, required
  - `steamid` string, required
  - `confirmations` object[]: List of {id, key} pairs to act on — for one or many. Alternatively send a single confid + confkey.
    - `id` string
    - `key` string
  - `confid` string: Single confirmation id (alternative to `confirmations`).
  - `confkey` string: Single confirmation `nonce` (alternative to `confirmations`).
  - `op` 'allow' | 'cancel' | 'accept' | 'deny', required
  - `deviceid` string

## Response `200`

Per-confirmation results (always an array, even for a single confirmation).

## Other responses

- `401`: steamloginsecure invalid or expired.
- `402`: Requires Trade API access — shares the "trade" rate limit.
- `422`: Validation failed, or neither confirmations nor confid/confkey provided.

---

[API](https://skmtc.dev/steamwebapi/apis/steamwebapi-com-third-party-steam-market-api-documentation.md) · [All operations](https://skmtc.dev/steamwebapi/apis/steamwebapi-com-third-party-steam-market-api-documentation/llms.txt) · [OpenAPI document](https://skmtc.dev/steamwebapi/apis/steamwebapi-com-third-party-steam-market-api-documentation/revisions/f9a4109cbda6?raw)
