Documentation Index
Fetch the complete documentation index at: https://docs.skinshark.gg/llms.txt
Use this file to discover all available pages before exploring further.
POST /v1/partner/users
Create (or fetch existing) child API key under a top-level partner.
Auth
- Top-level partner API key required.
Request type
interface CreateSubAccountRequest {
email: string;
name?: string;
description?: string;
}
Response type
type CreateSubAccountResponse = ApiSuccess<{
apiKeyId: string;
apiKey?: string; // present when newly created
email: string;
name: string;
linkedUserId: string | null;
status: 'active' | 'suspended' | 'deleted';
message: string;
}>;
Example
curl --request POST \
--url "https://api.skinshark.gg/v1/partner/users" \
--header "Content-Type: application/json" \
--header "X-API-Key: <TOP_LEVEL_PARTNER_KEY>" \
--data '{
"email": "merchant-001@partner.example",
"name": "Merchant #001",
"description": "Storefront account"
}'
POST /v1/partner/transfers
Transfer balance from top-level partner to a child account.
Auth
- Top-level partner API key required.
Request type
interface PartnerTransferRequest {
toEmail?: string;
toApiKeyId?: string;
amountCents: number;
idempotencyKey: string;
}
Response type
type PartnerTransferResponse = ApiSuccess<{
partnerApiKeyId?: string;
userApiKeyId?: string;
amountCents?: number;
message: string;
}>;
Example
curl --request POST \
--url "https://api.skinshark.gg/v1/partner/transfers" \
--header "Content-Type: application/json" \
--header "X-API-Key: <TOP_LEVEL_PARTNER_KEY>" \
--data '{
"toEmail": "merchant-001@partner.example",
"amountCents": 5000,
"idempotencyKey": "871d43ef-df3e-431a-a177-ca1f63a60a3b"
}'
Notes
- Exactly one of
toEmail or toApiKeyId must be provided.
- Reusing the same
idempotencyKey returns an idempotent success.
GET /v1/partner/stats
Partner-level order, volume, and revenue stats.
Auth
- Top-level partner API key required.
Response type
type PartnerStatsResponse = ApiSuccess<{
orderAmount: number;
pendingOrderAmount: number;
volume: number;
pendingVolume: number;
partnerRevenue: number;
pendingPartnerRevenue: number;
}>;
Example
curl --request GET \
--url "https://api.skinshark.gg/v1/partner/stats" \
--header "X-API-Key: <TOP_LEVEL_PARTNER_KEY>"
GET /v1/partner/market-health
Operational health for c5/ecosteam workers and queues.
Auth
- Top-level partner API key required.
Response type
type PartnerMarketHealthResponse = ApiSuccess<{
status: 'ok' | 'degraded' | 'down';
ts: number;
markets: {
c5: MarketHealthEntry;
ecosteam: MarketHealthEntry;
};
service: {
c5: boolean;
ecosteam: boolean;
};
}>;
interface MarketHealthEntry {
status: 'ok' | 'degraded' | 'down';
staleMs: number;
commonQueue: string;
commonConsumers: number;
workers: Array<{
workerId: string;
queue: string;
consumerCount: number;
heartbeat: {
ts: number;
ageMs: number;
balanceUsd: number | null;
} | null;
status: 'ok' | 'no-consumer' | 'no-heartbeat' | 'stale-heartbeat';
}>;
}
Example
curl --request GET \
--url "https://api.skinshark.gg/v1/partner/market-health" \
--header "X-API-Key: <TOP_LEVEL_PARTNER_KEY>"
GET /v1/partner/onramp/limitsMapping
Auth
- Partner API key required.
Example
curl --request GET \
--url "https://api.skinshark.gg/v1/partner/onramp/limitsMapping" \
--header "X-API-Key: <PARTNER_KEY>"
GET /v1/partner/onramp/allCountryConfig
Auth
- Partner API key required.
Example
curl --request GET \
--url "https://api.skinshark.gg/v1/partner/onramp/allCountryConfig" \
--header "X-API-Key: <PARTNER_KEY>"
GET /v1/partner/onramp/allConfigMapping
Auth
- Partner API key required.
Example
curl --request GET \
--url "https://api.skinshark.gg/v1/partner/onramp/allConfigMapping" \
--header "X-API-Key: <PARTNER_KEY>"
GET /v1/partner/live/listings (legacy)
Legacy live listings endpoint. Prefer GET /v2/partner/live/listings.
Example
curl --request GET \
--url "https://api.skinshark.gg/v1/partner/live/listings" \
--header "X-API-Key: <PARTNER_KEY>"
GET /v1/partner/listing-detail (legacy)
Legacy listing detail endpoint. Prefer POST /v2/partner/listing-detail.
Query type
interface ListingDetailLegacyQuery {
item: string; // 16-char id
listing: string;
market: 'c5' | 'eco' | 'ecosteam';
}
Example
curl --request GET \
--url "https://api.skinshark.gg/v1/partner/listing-detail?item=4a27ccaf8769fd11&listing=1482075074326503424&market=c5" \
--header "X-API-Key: <PARTNER_KEY>"