# OpenAPI

> De OpenAPI 3.1 beschrijving van de TradeCatalog API en hoe u deze gebruikt met Postman, getypeerde clients en API-verkenners.

De hele API is beschreven in één OpenAPI 3.1 document:

```text
https://tradecatalog.app/api/v1/openapi.json
```

Het is openbaar (geen sleutel nodig) en gegenereerd vanuit dezelfde schema’s die de API gebruikt om aanvragen te controleren, dus het kan niet afwijken van wat de API accepteert. Het bevat elk pad, elk parameter, elk aanvraagbody, elke limiet en elke enum-waarde.

## Importeren in Postman of Insomnia

1. Kies in Postman **Import** en plak de URL hierboven. Kies in Insomnia **Import** en daarna **From URL**.
2. Stel de verificatie van de verzameling in op **Bearer Token** met uw API-sleutel.

## Genereer TypeScript typen

[openapi-typescript](https://openapi-ts.dev) zet het om in typen:

```bash
npx openapi-typescript https://tradecatalog.app/api/v1/openapi.json -o tradecatalog.d.ts
```

Gebruik ze met `openapi-fetch` voor een getypeerde client:

```js
import createClient from 'openapi-fetch'

const client = createClient({
  baseUrl: 'https://tradecatalog.app/api/v1',
  headers: { Authorization: `Bearer ${process.env.TRADECATALOG_API_KEY}` },
})

const { data, error } = await client.GET('/prices', {
  params: { query: { customer: 'OAK01', sku: 'HX-8510', qty: 10 } },
})
```

Het document beschrijft aanvraagparameters en -body's volledig. Response bodies worden beschreven als het gedeelde `{ data, nextOffset, currency }` envelop; de veld-voor-veld response vormen zijn op elke eindpuntpagina in deze documentatie.

## Andere talen

Elke OpenAPI generator werkt, bijvoorbeeld:

```bash
npx @openapitools/openapi-generator-cli generate \
  -i https://tradecatalog.app/api/v1/openapi.json \
  -g python -o tradecatalog-client
```

## Blader erin

Plak de URL in [Scalar](https://scalar.com), [Swagger Editor](https://editor.swagger.io) of een willekeurige OpenAPI viewer om de eindpunten te bladeren en aanvragen te testen met uw sleutel.

## Voor AI-agents

Het OpenAPI-document is vermeld in de API-catalogus op `/.well-known/api-catalog`, zodat agents het zelf kunnen vinden. Zie [AI- en LLM-resources](/docs/guides/llms).
