---
title: "openvibe-sdk/shoes · OpenVibe.Services"
canonical: "https://openvibe.services/docs/sdk/shoes"
updated: null
---

# openvibe-sdk/shoes · OpenVibe.Services

HTML: [openvibe-sdk/shoes · OpenVibe.Services](https://openvibe.services/docs/sdk/shoes)

# `openvibe-sdk/shoes`

Generated at 2026-11-13 06:25:48 UTC from [`openvibe-contracts v0.419.0`](https://github.com/OpenVibers/OpenVibe.Contracts/tree/v0.419.0) and [`openvibe-sdk v0.161.0`](https://github.com/OpenVibers/OpenVibe.SDK/tree/v0.161.0).

From `types/shoes.d.ts` (server only). Declarations are shown verbatim.

## type ProductKind

openvibe-sdk/shoes: Open.Shoes public catalog and tools.

~~~~
export type ProductKind = 'shoe' | 'laces' | 'socks' | 'care' | 'insoles' | 'kids';
~~~~

## interface ShoesClient

~~~~
export interface ShoesClient {
  products: {
    list(args?: { kind?: ProductKind; q?: string; size?: string; signal?: AbortSignal }): Promise<{ products: unknown[]; total: number }>;
    get(id: string, options?: { signal?: AbortSignal }): Promise<{ product: unknown }>;
    offers(id: string, options?: { signal?: AbortSignal }): Promise<{ offers: unknown[] }>;
  };
  tools: { laceLength(args: { eyelet_pairs: number; method?: string; horizontal_cm?: number; vertical_cm?: number; ends_cm?: number; signal?: AbortSignal }): Promise<{ cm: number; inches: number; method: string }> };
  sizes: { convert(args: { system: string; size: string; brand?: string; signal?: AbortSignal }): Promise<{ conversions: unknown[] }> };
}
~~~~

## export export function createShoesClient(client: { json(opts: Recor

~~~~
export function createShoesClient(client: { json(opts: Record<string, unknown>): Promise<any> }, options?: { baseUrl?: string }): ShoesClient;
~~~~
