Skip to content

Latest commit

 

History

History
163 lines (131 loc) · 3.46 KB

api.md

File metadata and controls

163 lines (131 loc) · 3.46 KB

API for Developers

CS2 Inventory Simulator exposes a couple of endpoints to be used in other applications.

Get user inventory

GET https://inventory.cstrike.app/api/inventory/{steamID64}.json

Response

  • Returns 200 (application/json):

    type GetUserInventoryResponse = {
      caseid?: number;
      equipped?: boolean;
      equippedCT?: boolean;
      equippedT?: boolean;
      id: number;
      nametag?: string;
      seed?: number;
      stattrak?: number;
      stickers?: number[];
      stickerswear?: number[];
      storage?: {
        caseid?: number;
        id: number;
        nametag?: string;
        seed?: number;
        stattrak?: number;
        stickers?: number[];
        stickerswear?: number[];
        uid: number;
        updatedat?: number;
        wear?: number;
      }[];
      uid: number;
      updatedat?: number;
      wear?: number;
    }[];

Get user equipped items

GET https://inventory.cstrike.app/api/equipped/v3/{steamID64}.json

Response

  • Returns 200 (application/json):

    interface BaseEconItem {
      def: number;
      paint: number;
      seed: number;
      wear: number;
    }
    interface WeaponEconItem extends BaseEconItem {
      legacy: boolean;
      nametag: string;
      stattrak: number;
      stickers: {
        def: number;
        slot: number;
        wear: number;
      }[];
      uid: number;
    }
    interface AgentItem {
      model: string;
      patches: number[];
      vofallback: boolean;
      vofemale: boolean;
      voprefix: string;
    }
    interface MusicKitItem {
      def: number;
      stattrak: number;
      uid: number;
    }
    type GetUserEquippedItemsResponse = {
      agents?: Record<number, AgentItem>;
      ctWeapons?: Record<number, WeaponEconItem>;
      gloves?: Record<number, BaseEconItem>;
      knives?: Record<number, WeaponEconItem>;
      musicKit?: MusicKitItem;
      pin?: number;
      tWeapons?: Record<number, WeaponEconItem>;
    };

Increment item StatTrak

POST https://inventory.cstrike.app/api/increment-item-stattrak

Request

Important

API key must have api or stattrak_increment scope.

type PostIncrementItemStatTrakRequest = {
  apiKey: string;
  targetUid: number;
  userId: string;
};

Response

  • Returns 401 when using an invalid API key.
  • Returns 400 when the user does not exist or target uid is invalid.
  • Returns 204 when the increment was successful.

Sign-in user

This is intended to be used in other first-party apps to authenticate users to Inventory Simulator. First, a POST request must be sent to /api/sign-in to get the user's authentication token, then the user must be immediately redirected to /api/sign-in/callback?token={token}.

Get user sign-in token

POST https://inventory.cstrike.app/api/sign-in

Request

Important

API key must have api_auth scope.

type GetUserSignInTokenRequest = {
  apiKey: string;
  userId: string;
};

Response

  • Returns 401 when using an invalid API key.

  • Returns 400 when the user does not exist.

  • Returns 200 (application/json) when a token is generated:

    type GetUserSignInTokenResponse = {
      token: string; // expires in 1 minute.
    };

Sign-in user

GET https://inventory.cstrike.app/api/sign-in/callback?token={token}

Response

  • Returns 302 redirecting to https://inventory.cstrike.app/api/action/preferences if the authentication was successful, otherwise to https://inventory.cstrike.app.