> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tybritelabs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Start building awesome documentation in minutes

## Fast Track to Galactic Commerce

Get your commerce backend running in three steps using the Tybrite API or TypeScript SDK.

### Step 1: Obtain your API Keys

Before you can make any requests, you need to authorized your application.

<AccordionGroup>
  <Accordion icon="key" title="Tybrite Dashboard">
    Login to the [Galactic Core Dashboard](https://gc.tybritelabs.com/dashboard) and navigate to **Integrations → Developer**.

    You will find two types of keys:

    * **Publishable Key (`tybrite_pk_...`)**: Used for frontend applications (Web/Mobile).
    * **Secret Key (`tybrite_sk_...`)**: Used for backend services and administrative tasks.
  </Accordion>

  <Accordion icon="shield" title="Security Best Practice">
    **Never** include your Secret Key in client-side code. Use Publishable Keys for search and product browsing, and Secret Keys for checkout and accounting from your server.
  </Accordion>
</AccordionGroup>

### Step 2: Initialize the SDK or REST Client

Choose your preferred way to interact with Galactic Core.

<CodeGroup>
  ```typescript TypeScript SDK theme={null}
  import { Tybrite } from '@tybrite-labs/sdk';

  const client = new Tybrite({
    apiKey: 'tybrite_pk_live_your_key'
  });
  ```

  ```bash curl theme={null}
  curl -X GET "https://api.tybritelabs.com/v1/products" \
       -H "Authorization: Bearer tybrite_pk_live_your_key"
  ```
</CodeGroup>

### Step 3: Make your first request

Retrieve your product catalog to verify your connection.

```typescript theme={null}
const { products } = await client.products.listProducts({ limit: 5 });

console.log(`Found ${products.length} products!`);
```

### Step 4: Know your store

Most storefronts open with a single **store info** call — it returns everything you need to render the
shell before any catalog request: branding, the currencies you support, which features are enabled,
which payment methods to show, and a catalog snapshot. Read it once on load and reuse it.

```typescript theme={null}
const info = await client.system.getStoreInfo({});
```

```json Response (trimmed — from the Galactic Test Store) theme={null}
{
  "store": {
    "store_id": "ef7b07d3-424b-4b03-b1d4-30a2d2073b61",
    "name": "Galactic Test Store",
    "logo_url": "https://cdn.tybritelabs.com/.../gc-bag-blue.png",
    "website": "https://gc.tybritelabs.com",
    "default_currency": "USD",
    "currencies": ["USD", "GBP", "EUR"],
    "timezone": "America/New_York"
  },
  "marketplace": { "mode": "standard", "marketplace_enabled": false },
  "catalog": {
    "products": { "total": 56, "active": 56, "has_variants": 13, "featured": 1 },
    "sample": [
      { "id": "715b8c10-...", "name": "Apple MacBook Pro", "category": "Laptops", "price": 1999 },
      { "id": "0186665f-...", "name": "Samsung Galaxy Watch 6", "category": "Wearables", "price": 299 }
    ]
  },
  "payments": {
    "providers": ["cash", "stripe"],
    "methods": [
      { "name": "stripe", "display_name": "Stripe", "type": "redirect" },
      { "name": "cash", "display_name": "Cash on Delivery", "type": "manual" }
    ]
  },
  "features": {
    "semantic_search": true, "ai_recommendations": true, "multi_currency": true,
    "returns": true, "gift_cards": true, "promotions": true, "messaging": true
  }
}
```

How a storefront uses each part:

| Section       | What it's for                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| :------------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `store`       | Branding (name, `logo_url`) and locale: render the header, and use `currencies` to build a currency switcher (`default_currency` is the base — though each priced response also carries its own `display_currency`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| `marketplace` | `mode` tells you whether this is a single store (`standard`) or a multi-merchant marketplace (`marketplace`).                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `catalog`     | A snapshot — product counts and a `sample` of a few products — handy for a "store at a glance" view or a quick health check.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| `payments`    | The `methods` to surface at checkout — render exactly these (e.g. Stripe, Cash on Delivery); don't hardcode providers.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| `features`    | Booleans for "render this capability now?" — only show what's live. A flag is `true` only when the capability is both available **and** has data/config; `false` is broad (not on the plan, or on the plan but not set up yet, or both). Some flags are **plan-gated** (`semantic_search`, `ai_recommendations`, `multi_currency`, `dynamic_pricing`, `cms`, `lookbooks`, `returns` — e.g. Starter has none, Growth adds cms/lookbooks/returns, Premium adds the rest); others are **data-presence** on every plan (`gift_cards`, `promotions`, `messaging`, `specifications`, `collections`). A companion **`feature_status`** map gives the reason per flag — `available`, `awaiting_data` (in plan but no data yet → safe to pre-build the UI), or `not_in_plan` — so you can ship UI early and let it auto-activate. See [Store info](/sdk/api-reference/classes/SystemService). |

<Tip>
  Request only the parts you need with `sections`, e.g. `getStoreInfo({ sections: 'features,payments' })`.
</Tip>

## Next Steps

Explore the core pillars of the Tybrite ecosystem:

<CardGroup cols={2}>
  <Card title="Authentication Guide" icon="lock" href="/authentication">
    Learn about session management and HMAC security.
  </Card>

  <Card title="Core Commerce" icon="shopping-bag" href="/sdk/api-reference/classes/ProductsService">
    Master products, orders, and customer management.
  </Card>

  <Card title="Discovery" icon="magnifying-glass" href="/sdk/api-reference/classes/SearchService">
    Implement AI-powered search and recommendations.
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/introduction">
    Browse the full REST API documentation.
  </Card>
</CardGroup>

<Note>
  **Pro Tip:** Use the `fields` parameter in your requests to optimize for mobile performance and reduce bandwidth.
</Note>
