Skip to main content

GET /v1/user

Return authenticated profile and account type metadata.

Response type

type GetUserResponse = ApiSuccess<{
  type: 'user' | 'apiKey';
  profile: {
    id: string;
    balance: number;
    twoFactor: { enabled: boolean; method: string | null };
    subscription: {
      active: boolean;
      nextBilling: number | null;
      cancelAtPeriodEnd: boolean;
    };
    discord: {
      id: string;
      username: string;
      discriminator: string;
      avatar: string;
    } | null;
  };
  message: string;
}>;

Example

curl --request GET \
  --url "https://api.skinshark.gg/v1/user" \
  --header "X-API-Key: <YOUR_API_KEY>"

GET /v1/user/fees

Return fee configuration used for pricing and withdrawals.

Response type

type GetFeesResponse = ApiSuccess<{
  fees: {
    totalSpent: number | null;
    tier: number | null;
    reduction: number;
    currentFee: number;
    platformFee: number;
    partnerFee: number;
    withdrawFee: number;
    progress: number | null;
    isCustom: boolean;
    isSubscribed: boolean;
    inheritedFrom: { type: 'ApiKey'; id: string } | null;
  };
  message: string;
}>;

Example

curl --request GET \
  --url "https://api.skinshark.gg/v1/user/fees" \
  --header "X-API-Key: <YOUR_API_KEY>"

GET /v1/user/transactions

Return historical transaction rows (purchases/refunds).

Response type

type GetTransactionsResponse = ApiSuccess<{
  total: number;
  transactions: Array<{
    id: string;
    itemId: string;
    itemName: string;
    float: number | null;
    price: number;
    fee: number;
    amount: number;
    type: 'purchase' | 'refund' | string;
    status: string;
    timestamp: number;
  }>;
  message: string;
}>;

Example

curl --request GET \
  --url "https://api.skinshark.gg/v1/user/transactions?page=1&limit=100" \
  --header "X-API-Key: <YOUR_API_KEY>"

GET /v1/user/transactions/stats

Return aggregate completed/failed purchase counts.

Response type

type GetTransactionStatsResponse = ApiSuccess<{
  stats: {
    completed: number;
    failed: number;
  };
  message: string;
}>;

Example

curl --request GET \
  --url "https://api.skinshark.gg/v1/user/transactions/stats" \
  --header "X-API-Key: <YOUR_API_KEY>"

GET /v1/user/orders

Return orders with latest normalized status and settlement metadata.

Response type

type GetOrdersResponse = ApiSuccess<{
  total: number;
  returned: number;
  orders: Array<{
    id: string;
    item: string;
    itemId: string;
    amount: number;
    currency: 'USD';
    status: {
      code: 'INITIATED' | 'PENDING' | 'ACTIVE' | 'HOLD' | 'COMPLETED' | 'FAILED' | 'REVERTED';
      label: string;
    };
    timestamp: number;
    cancelType: number;
    cancelReason: string;
    settlementTime: string | null;
    protectedCauser: number;
  }>;
  message: string;
}>;

Example

curl --request GET \
  --url "https://api.skinshark.gg/v1/user/orders" \
  --header "X-API-Key: <YOUR_API_KEY>"

GET /v1/user/ledger

Unified financial ledger across deposits, withdrawals, purchases, refunds, and transfer entries.

Query type

interface GetLedgerQuery {
  page?: number; // default 1
  limit?: number; // default 20
  type?: 'credit' | 'debit' | 'neutral' | 'credit,debit' | string;
}

Response type

type GetLedgerResponse = ApiSuccess<{
  page: number;
  limit: number;
  total: number;
  items: LedgerItem[];
  message: string;
}>;

Example

curl --request GET \
  --url "https://api.skinshark.gg/v1/user/ledger?page=1&limit=50" \
  --header "X-API-Key: <YOUR_API_KEY>"