Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.cs2cap.com/llms.txt

Use this file to discover all available pages before exploring further.

The Alerts API lets you configure price and spread notifications for CS2 catalog items. You can set alerts that fire when a best ask crosses a price threshold or when the bid-ask spread exceeds a target percentage. Alerts are delivered by email and automatically disable themselves after a successful delivery, so you only receive each notification once until you re-enable the alert. Alert management requests are exempt from your monthly quota.

POST /account/alerts

Creates a new price or spread alert for a catalog item. Auth: API key required ยท Rate limit: Standard per-tier RPM (exempt from monthly quota)
curl -sS -X POST \
  -H "Authorization: Bearer $CS2C_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"item_id":4994,"kind":"price_below","threshold_value":"500.00","threshold_currency":"USD"}' \
  "$CS2C_API_BASE/account/alerts"
item_id
integer
required
Catalog item ID for the alert target.
kind
string
required
Alert type. One of: price_below, price_above, spread_exceeds.
threshold_value
string
required
Decimal string threshold greater than zero. For price alerts, this is the price in threshold_currency. For spread_exceeds, this is a spread percentage.
threshold_currency
string
Currency for price alerts (ISO 4217). Ignored for spread_exceeds alerts.
is_enabled
boolean
default:"true"
Set to false to create the alert in a disabled state and enable it later.
Request body
{
  "item_id": 156,
  "kind": "price_below",
  "threshold_value": "20.00",
  "threshold_currency": "USD",
  "is_enabled": true
}
price_below and price_above compare against the current best ask price. spread_exceeds uses the formula ((best_ask - best_bid) / best_ask) * 100. After a successful email delivery, the alert automatically disables itself โ€” you must re-enable it to receive the next notification. A verified email address is required for enabled alerts.

POST /account/alerts/batch

Creates multiple alerts in a single request and returns per-item results in the same order as the input. Auth: API key required ยท Rate limit: Standard per-tier RPM (exempt from monthly quota, counts as one request regardless of batch size)
curl -sS -X POST \
  -H "Authorization: Bearer $CS2C_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"alerts":[{"item_id":4994,"kind":"price_below","threshold_value":"500.00","threshold_currency":"USD"},{"item_id":12632,"kind":"spread_exceeds","threshold_value":"15.0"}]}' \
  "$CS2C_API_BASE/account/alerts/batch"
alerts
array
required
Array of 1โ€“100 alert objects. Each object uses the same fields as POST /account/alerts.
Request body
{
  "alerts": [
    {
      "item_id": 156,
      "kind": "price_below",
      "threshold_value": "20.00",
      "threshold_currency": "USD"
    },
    {
      "item_id": 157,
      "kind": "spread_exceeds",
      "threshold_value": "15.0"
    }
  ]
}
Multiple alerts for the same item_id are allowed when the kind or threshold_value differs. Exact duplicate payloads within the same request are rejected inline with an error result for that entry. If the batch would push you over your enabled-alert cap, the entire request fails upfront with 402.

GET /account/alerts

Returns all configured alerts for your account, newest first, with optional filtering. Auth: API key required ยท Rate limit: Standard per-tier RPM (exempt from monthly quota)
curl -sS \
  -H "Authorization: Bearer $CS2C_API_KEY" \
  "$CS2C_API_BASE/account/alerts?limit=25&search=AK-47"
limit
integer
default:"50"
Page size, clamped to 1โ€“200.
offset
integer
default:"0"
Zero-based starting position.
Filter results. Pass an exact numeric item_id for an ID match, or a string for a case-insensitive item name substring search.

PATCH /account/alerts/:alert_id

Partially updates an alertโ€™s threshold, currency, or enabled state. Auth: API key required ยท Rate limit: Standard per-tier RPM (exempt from monthly quota)
curl -sS -X PATCH \
  -H "Authorization: Bearer $CS2C_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"threshold_value":"450.00","is_enabled":true}' \
  "$CS2C_API_BASE/account/alerts/YOUR_ALERT_ID"
alert_id
string
required
UUID of the alert to update.
threshold_value
string
Updated threshold as a decimal string.
threshold_currency
string
Updated currency for price alerts (ISO 4217).
is_enabled
boolean
Updated enabled state. Enabling an alert runs the same checks as alert creation (e.g., verified email required).
Request body
{
  "threshold_value": "18.50",
  "is_enabled": true
}

DELETE /account/alerts/:alert_id

Permanently deletes an alert rule. Auth: API key required ยท Rate limit: Standard per-tier RPM (exempt from monthly quota)
curl -sS -X DELETE \
  -H "Authorization: Bearer $CS2C_API_KEY" \
  "$CS2C_API_BASE/account/alerts/YOUR_ALERT_ID"
alert_id
string
required
UUID of the alert to delete.
Response example
{
  "ok": true
}

GET /account/alerts/events

Returns recent alert trigger events and their email delivery attempts, newest first. Auth: API key required ยท Rate limit: Standard per-tier RPM (exempt from monthly quota)
curl -sS \
  -H "Authorization: Bearer $CS2C_API_KEY" \
  "$CS2C_API_BASE/account/alerts/events?limit=25"
limit
integer
default:"50"
Page size, clamped to 1โ€“100.
offset
integer
default:"0"
Zero-based starting position.
events[].triggered_currency
string | null
The currency in which the threshold was evaluated. Always null for spread_exceeds alerts since spread is dimensionless.
events[].deliveries
array
Email delivery attempts for this event. Currently includes email delivery only.
triggered_currency is null for spread_exceeds alerts. Cursor pagination is not supported on this endpoint โ€” use offset and limit to page through results.
Last modified on May 23, 2026