Loading…

Account

Your own profile and preferences. The only group that needs a credential.

The authenticated user profile

GET/api/auth/meAuth required

The identity behind the current credential, and the cheapest way to check that a credential is live: it answers 200 with the profile it belongs to, or 401. Accepts either a session cookie or an API key.

The response carries the profile’s preferred currency code, so a client can initialise without a second call. An API key with no backing profile resolves that field to null.

Request

curl "https://api.scmm.app/api/auth/me" \
  -H "x-api-key: YOUR_KEY_HERE"

Response 200 · application/json · object

  • roles*array<string>
  • authType*enum

    One of: session, api-key

  • currencystring | nulloptional

    Preferred 3-letter currency code.

  • id*string
  • steamId*string
  • name*string | null
  • avatarUrl*string | null
  • apiKeyIdstringoptional
  • apiKeyNamestringoptional

A public profile by id

GET/api/profile/{id}

The public view of one profile: Steam id, name, avatar, trade URL, community visibility, when its inventory was last imported and a count of what is in it. Accepts a profile id or guid, a Steam vanity name, or a 64-bit Steam id.

No credential is required. It answers 401 when the subject has opted out of item analytics and the caller is neither its owner nor an administrator — the gate is the subject’s privacy setting, not the caller’s identity.

Parameters

NameInRequiredDescription
idpathyesProfile id, profile guid, vanity url, or 64-bit Steam id.

Request

curl "https://api.scmm.app/api/profile/<id>"

Response 200 · application/json · object

  • id*string

    Canonical profile id (the UUID used as :profileId on the inventory endpoints).

  • steamId*string
  • name*string | null
  • avatarUrl*string | null
  • tradeUrl*string | null
  • privacy*number

    Steam community visibility — 0 unknown, 1 private, 2 friends-only, 3 public.

  • lastUpdatedInventoryOn*string | null

    ISO timestamp of the last completed inventory import, or null if never imported.

  • object

Delete all data held about the authenticated profile

DELETE/api/profile/dataAuth required

Irreversible. Accepted item creators are stripped back to their public Steam identity (id, name, avatar) rather than deleted, so the items they authored keep their attribution. Everyone else is removed outright.

Request

curl -X DELETE "https://api.scmm.app/api/profile/data" \
  -H "x-api-key: YOUR_KEY_HERE"

Every piece of data held about the authenticated profile

GET/api/profile/dataAuth required

Returns a JSON attachment containing the profile, inventory, market items, and preferences.

Request

curl "https://api.scmm.app/api/profile/data" \
  -H "x-api-key: YOUR_KEY_HERE"

The authenticated user’s own profile

GET/api/profile/meAuth required

The full profile of the signed-in user, including the fields the public view omits: the resolved language and currency, donation level, role flags and a summary of their inventory. Requires a session; an API key with no backing profile answers 401.

Request

curl "https://api.scmm.app/api/profile/me" \
  -H "x-api-key: YOUR_KEY_HERE"

Response 200 · application/json · object

  • profileId*string | null
  • avatarLargeUrl*string | null
  • languageId*string | null
  • language*string | null
  • currencyId*string | null
  • currency*string | null

    Resolved 3-letter preferred-currency code, or null.

  • donatorLevel*number
  • gamblingOffset*string
  • isTradeBanned*boolean
  • isCommunityBanned*boolean
  • itemAnalyticsParticipation*number
  • preferences*object
  • roles*array<string>
  • firstSignInTime*string | null
  • lastSignInTime*string | null
  • lastViewedInventoryOn*string | null
  • lastUpdatedFriendsOn*string | null
  • lastUpdatedProfileOn*string | null
  • id*string

    Canonical profile id (the UUID used as :profileId on the inventory endpoints).

  • steamId*string
  • name*string | null
  • avatarUrl*string | null
  • tradeUrl*string | null
  • privacy*number

    Steam community visibility — 0 unknown, 1 private, 2 friends-only, 3 public.

  • lastUpdatedInventoryOn*string | null

    ISO timestamp of the last completed inventory import, or null if never imported.

  • object

Update the authenticated user’s profile

PATCH/api/profile/meAuth required

Updates the signed-in user’s own profile and returns it as it now stands. Every field is optional, and only the fields present in the body are written — a PATCH with one key leaves the rest untouched. A value outside the accepted set is rejected with 400 rather than stored.

Request body application/json · required

  • tradeUrlstring | nulloptional
  • languageIdstring | nulloptional
  • currencyIdstring | nulloptional
  • gamblingOffsetstringoptional
  • itemAnalyticsParticipationenumoptional

    One of: -1, 0, 1

  • preferencesobjectoptional

Request

curl -X PATCH "https://api.scmm.app/api/profile/me" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_KEY_HERE" \
  -d '{"tradeUrl":"<tradeUrl>"}'

Response 200 · application/json · object

  • profileId*string | null
  • avatarLargeUrl*string | null
  • languageId*string | null
  • language*string | null
  • currencyId*string | null
  • currency*string | null

    Resolved 3-letter preferred-currency code, or null.

  • donatorLevel*number
  • gamblingOffset*string
  • isTradeBanned*boolean
  • isCommunityBanned*boolean
  • itemAnalyticsParticipation*number
  • preferences*object
  • roles*array<string>
  • firstSignInTime*string | null
  • lastSignInTime*string | null
  • lastViewedInventoryOn*string | null
  • lastUpdatedFriendsOn*string | null
  • lastUpdatedProfileOn*string | null
  • id*string

    Canonical profile id (the UUID used as :profileId on the inventory endpoints).

  • steamId*string
  • name*string | null
  • avatarUrl*string | null
  • tradeUrl*string | null
  • privacy*number

    Steam community visibility — 0 unknown, 1 private, 2 friends-only, 3 public.

  • lastUpdatedInventoryOn*string | null

    ISO timestamp of the last completed inventory import, or null if never imported.

  • object

Update the authenticated user’s preferences

PATCH/api/profile/me/preferencesAuth required

Updates the site-customisation preferences of the signed-in user and returns the whole profile as it now stands. Only the keys present in the body are written. These preferences change what other endpoints return for this caller — which markets and payment types are considered when electing a cheapest offer, whether market fees are included in a price, and the default ordering of the item store — so a change here is visible on reads, not only here.

Request body application/json · required

  • currencystringoptional
  • languagestringoptional
  • themeenumoptional

    One of: light, dark, system

  • notificationsobjectoptional

Request

curl -X PATCH "https://api.scmm.app/api/profile/me/preferences" \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_KEY_HERE" \
  -d '{"currency":"USD"}'

Response 200 · application/json · object

  • profileId*string | null
  • avatarLargeUrl*string | null
  • languageId*string | null
  • language*string | null
  • currencyId*string | null
  • currency*string | null

    Resolved 3-letter preferred-currency code, or null.

  • donatorLevel*number
  • gamblingOffset*string
  • isTradeBanned*boolean
  • isCommunityBanned*boolean
  • itemAnalyticsParticipation*number
  • preferences*object
  • roles*array<string>
  • firstSignInTime*string | null
  • lastSignInTime*string | null
  • lastViewedInventoryOn*string | null
  • lastUpdatedFriendsOn*string | null
  • lastUpdatedProfileOn*string | null
  • id*string

    Canonical profile id (the UUID used as :profileId on the inventory endpoints).

  • steamId*string
  • name*string | null
  • avatarUrl*string | null
  • tradeUrl*string | null
  • privacy*number

    Steam community visibility — 0 unknown, 1 private, 2 friends-only, 3 public.

  • lastUpdatedInventoryOn*string | null

    ISO timestamp of the last completed inventory import, or null if never imported.

  • object