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

# For developers

> Two APIs, five SDKs, a CLI, an MCP server and agent skills — what to pick for your task.

ItemShop offers two APIs with different purposes. Every SDK has the same split.

| | **Storefront API v1** | **API with a key** |
| - | - | - |
| What it's for | The shop's site, widgets, checkout | Managing the shop: products, orders, site, integrations |
| Where it runs | Browser (and server) | Server, CI or bot only |
| Authentication | None — the shop is identified by `shopId` or domain | `X-API-Key` header |
| Secrets | None — everything is public | A key with permissions (e.g. `products:write`, `site:write`) |
| In the SDK | `createStorefront()` | `createClient({ apiKey })` |
| Docs | [Storefront API](https://andcze.mintlify.site/en/developers/storefront-api.md) | [API with a key](https://andcze.mintlify.site/en/developers/api-keys.md) |

## Pick a tool

> **[I'm building a shop site](https://andcze.mintlify.site/en/developers/sdk/typescript.md)**
>
> `@itemshop/sdk` + `@itemshop/sdk/react` and the `itemshop` CLI.

> **[I'm integrating a backend / bot](https://andcze.mintlify.site/en/developers/api-keys.md)**
>
> The SDK in your language and an API key.

> **[I react to events](https://andcze.mintlify.site/en/developers/webhooks.md)**
>
> Discord notifications about orders and daily reports.

> **[I'm writing my own plugin](https://andcze.mintlify.site/en/developers/plugin-protocol.md)**
>
> The real-time order fulfillment protocol.

> **[I use an AI agent](https://andcze.mintlify.site/en/developers/mcp.md)**
>
> The MCP server and skills for Claude Code and other agents.

> **[I'm looking for an endpoint](https://andcze.mintlify.site/en/api-reference/overview.md)**
>
> The full reference generated from OpenAPI.

## SDKs

| Language | Package | Page |
| - | - | - |
| TypeScript / JavaScript | `@itemshop/sdk` (npm) | [TypeScript](https://andcze.mintlify.site/en/developers/sdk/typescript.md) |
| Python | `itemshop` (PyPI) | [Python](https://andcze.mintlify.site/en/developers/sdk/python.md) |
| PHP | `itemshop/sdk` (Composer) | [PHP](https://andcze.mintlify.site/en/developers/sdk/php.md) |
| Java / Kotlin | `pl.itemshop:sdk` (Maven) | [Java and Kotlin](https://andcze.mintlify.site/en/developers/sdk/java-kotlin.md) |
| Go | `github.com/itemshop/sdk-go` | [Go](https://andcze.mintlify.site/en/developers/sdk/go.md) |

TypeScript is the reference implementation. The other SDKs are generated from the same OpenAPI specification and have a hand-written, idiomatic layer — method names differ by language convention, not by meaning.

## The same example in every language

The SDK pages share a layout: **install → storefront → client with a key → checkout → errors**. That makes it easy to compare languages:

```ts TypeScript theme={null}
const sf = createStorefront({ shopId: "65f1c0ffee0000000000abcd" });
const products = await sf.products.list();
```

```python Python theme={null}
sf = itemshop.Storefront("65f1c0ffee0000000000abcd")
products = sf.products.list()
```

```php PHP theme={null}
$sf = new ItemShop\Storefront(shopId: '65f1c0ffee0000000000abcd');
$products = $sf->products->list();
```

```kotlin Kotlin theme={null}
val sf = storefront("65f1c0ffee0000000000abcd").suspending()
val products = sf.products.list()
```

```go Go theme={null}
sf := storefront.New("65f1c0ffee0000000000abcd")
products, err := sf.Products.List(ctx, nil)
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.