Skip to content

Deposit Status

GET /api/v1/merchant/deposit/status

Retrieves the current status of a deposit. Look up by internal id or your merchant_tx_id.

Request

Headers

HeaderRequiredDescription
X-Api-KeyYour merchant API key

Query Parameters

ParameterTypeRequiredDescription
idinteger✅*Internal trade ID
merchant_tx_idstring✅*Your transaction ID

* At least one of id or merchant_tx_id is required.

Response

json
{
  "success": true,
  "message": "Deposit status fetched successfully",
  "data": {
    "id": 42,
    "merchant_tx_id": "order-12345",
    "status": "completed",
    "bot_steam_id": 76561199012345678,
    "bot_name": "Skinslink Bot #3",
    "trade_offer_id": "6912345678",
    "trade_offer_expiry_at": "2026-02-16T12:30:00Z",
    "success_url": "https://yoursite.com/deposit/success",
    "fail_url": "https://yoursite.com/deposit/failed",
    "custom_currency": "EUR",
    "custom_currency_multiplier": 1.0,
    "custom_currency_rate": 0.92,
    "custom_currency_sum": 33.35
  }
}

Response Fields

FieldTypeDescription
idintegerInternal trade ID
merchant_tx_idstringYour transaction ID
statusstringCurrent trade status
bot_steam_idinteger | nullSteam ID of the trading bot
bot_namestring | nullName of the trading bot
trade_offer_idstring | nullSteam trade offer ID
trade_offer_expiry_atstring | nullWhen the offer expires
success_urlstringSuccess redirect URL (only present if set on the deposit)
fail_urlstringFailure redirect URL (only present if set on the deposit)
custom_currencystring | nullCustom currency code
custom_currency_multipliernumber | nullCurrency multiplier
custom_currency_ratenumber | nullCurrency exchange rate
custom_currency_sumnumber | nullComputed amount in custom currency
hold_end_datestring | nullISO 8601 timestamp indicating when the Steam trade hold ends. Only present when status is hold.
fail_reasonstring | nullReason for failure or cancellation. Only present when status is failed or canceled. See Fail Reasons below.

INFO

Custom currency fields are only included when the trade status is hold or completed.

Examples

By merchant_tx_id

bash
curl "https://api.skinslink.com/api/v1/merchant/deposit/status?merchant_tx_id=order-12345" \
  -H "X-Api-Key: your-api-key"

By internal ID

bash
curl "https://api.skinslink.com/api/v1/merchant/deposit/status?id=42" \
  -H "X-Api-Key: your-api-key"

Trade Statuses

StatusDescriptionFinal?
newDeposit created, not yet processedNo
pendingTrade offer sent, waiting for user to acceptNo
activeTrade offer accepted by user, being processedNo
holdItems on Steam trade hold (7-day hold)No
completedTrade successful, items received ✅Yes
failedTrade failed (user declined, items unavailable, etc.) ❌Yes
canceledTrade canceled by user or systemYes
revertedPreviously held trade was reversedYes

TIP

For real-time updates, use Webhooks instead of polling.

Fail Reasons

When status is failed or canceled, the fail_reason field contains one of the following values:

ValueDescription
provider_unavailableProvider was unavailable
insufficient_balanceInsufficient provider balance
price_changedItem price changed
item_not_availableItem is no longer available
item_specified_price_not_foundItem at specified price not found
user_revertedTrade reverted by user
provider_revertedTrade reverted by provider
canceled_by_userCanceled by user
canceled_by_providerCanceled by provider

Errors

StatusMessageCause
400validation errorNeither id nor merchant_tx_id provided
401missing authorization headerX-Api-Key header not provided
401invalid API keyAPI key not found or inactive
403merchant account is disabledMerchant account deactivated
403invalid IP: <ip>Request IP not in whitelist
404not found errorNo deposit matches the given ID