# @culturekit/culturekit-js

> JavaScript client for CultureKit.

Latest version **0.3.1** (published 2026-09-16) · MIT license · 0 weekly downloads

## Install

```sh
npm install @culturekit/culturekit-js
pnpm add @culturekit/culturekit-js
yarn add @culturekit/culturekit-js
bun add @culturekit/culturekit-js
```

## Health

**Score 70/100 (B)** — status: active.

Positive: has types; esm support; no vulnerabilities; recently updated; high maintenance score; high quality score.

Warnings: low downloads; pre 1.0.

## Facts

| | |
|---|---|
| Version | 0.3.1 |
| Published | 2026-09-16 |
| First published | 2022-03-29 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 5 |
| Unpacked size | 2.5 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | admin-cineville, lsarni, joeri-cineville |

## Links

- npm: https://www.npmjs.com/package/@culturekit/culturekit-js
- npm.io page: https://npm.io/package/@culturekit/culturekit-js

## Dependencies (5)

- [qs](https://npm.io/package/qs.md) ^6.10.3
- [zod](https://npm.io/package/zod.md) ^3.23.8
- [axios](https://npm.io/package/axios.md) ^1.15.0
- [deepmerge](https://npm.io/package/deepmerge.md) ^4.3.1
- [@types/node](https://npm.io/package/@types/node.md) ^22.1.0

## Recent versions

- 0.3.1 (latest) — 2026-09-16
- 0.2.22 — 2026-08-17
- 0.2.20 — 2026-08-04
- 0.2.19 — 2026-08-04
- 0.2.18 — 2026-07-29
- 0.2.17 — 2026-07-27
- 0.2.15 — 2026-06-01
- 0.2.13 — 2026-04-23
- 0.2.12 — 2026-04-16
- 0.2.11 — 2026-04-13
- 0.2.10 — 2026-04-13
- 0.2.9 — 2026-03-24
- 0.2.8 — 2026-02-18
- 0.2.7 — 2026-02-09
- 0.2.6 — 2026-01-19
- … 86 more at https://npm.io/package/@culturekit/culturekit-js/versions

## README

# `culturekit-js`

JavaScript client for CultureKit.

## Usage

First of all, you need to install the package:

```sh
npm install @culturekit/culturekit-js
```

Then you'll be able to import the package and create a client:

```js
import { createClient } from '@culturekit/culturekit-js';

// Creates a singleton CultureKit client which you can use to interact with CultureKit
const culturekit = createClient({
  apiUrl: 'https://api.xyz.com',
});
```

### UMD

You can use plain `<script>`s to import culturekit-js from CDNs:

```html
<script src="https://cdn.jsdelivr.net/npm/@culturekit/culturekit-js"></script>
```

or even:

```html
<script src="https://unpkg.com/@culturekit/culturekit-js"></script>
```

**Note:** Please make sure to pin the used version to prevent breaking.

Then you can use it from a global `culturekit` variable:

```html
<script>
  const { createClient } = culturekit;
  const _culturekit = createClient({
    apiUrl: 'https://api.xyz.com',
  });

  console.log('CultureKit Instance: ', _culturekit);
  // ...
</script>
```

### ESM

You can use type="module" `<script>`s to import culturekit-js from CDNs:

```html
<script type="module">
  import { createClient } from 'https://cdn.jsdelivr.net/npm/@culturekit/culturekit-js/+esm';
  const culturekit = createClient({
    apiUrl: 'https://api.xyz.com',
  });

  console.log('CultureKit Instance: ', culturekit);
  // ...
</script>
```

**Note:** Please make sure to pin the used version to prevent breaking.

## General

### Set locale (optional)

Set it during construction:

```ts
import { createClient } from 'https://cdn.jsdelivr.net/npm/@culturekit/culturekit-js/+esm';
const locale = 'nl'; // ISO 639-1 string
const culturekit = createClient({
  apiUrl: 'https://api.xyz.com',
  locale,
});
```

Or set it directly on the client:

```ts
const locale = 'nl'; // ISO 639-1 string
culturekit.locale = locale;
```

Or alternatively, you can set the locale through query params.

```ts
const locale = 'nl'; // ISO 639-1 string
culturekit.schedule.productions.list({ locale });
```

#### Authentication (optional)

A bearer token is used to make authenticated requests against the API:

```ts
const accessToken = 'eyJhbGciOiJSUzI1NiIsImtpZCI6'; // Without 'Bearer '
cultureKitclient.accessToken = token.access_token;
```

Set it to `undefined` to stop using authentication:

```ts
cultureKitclient.accessToken = undefined;
```

## Collections

### Collections

#### Create a collection

```ts
const inputData = {};
const { rawData, error } = await culturekit.schedule.collections.create(
  inputData
);
```

#### Retrieve a collection

```ts
const query = {};
const { rawData, error } = await culturekit.schedule.collections.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
```

#### Retrieve collections list

```ts
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.collections.list(query);
```

#### Add item to collection

```ts
const inputData = {};
const { rawData, error } = await culturekit.schedule.collections.addItem(
  inputData
);
```

#### Remove item from collection

```ts
const inputData = {};
const { rawData, error } = await culturekit.schedule.collections.removeItem(
  inputData
);
```

### Collection groups

#### Create a collection group

```ts
const inputData = {};
const { rawData, error } = await culturekit.schedule.collectionGroups.create(
  inputData
);
```

#### Retrieve a collection group

```ts
const query = {};
const { rawData, error } = await culturekit.schedule.collectionGroups.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
```

#### Retrieve collection groups list

```ts
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.collectionGroups.list(query);
```

## Customers

### Customers

#### Retrieve logged in customer

```ts
const { rawData, error } =
  await culturekit.customers.customers.getLoggedInCustomer();
```

#### Retrieve a customer

```ts
const query = {};
const { rawData, error } = await culturekit.customers.customers.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
```

#### Retrieve customers list

```ts
const query = {};
const { rawData, error, previous, next } =
  await culturekit.customers.customers.list(query);
```

### Cards

#### Retrieve cards for customer

```ts
const query = {};
const { rawData, error, previous, next } =
  await culturekit.customers.cards.listForCustomer(
    'de21ad60-6b14-4432-b87e-8f728d5d7007',
    query
  );
```

### Reservations

#### Retrieve reservations for customer

```ts
const query = {};
const { rawData, error, previous, next } =
  await culturekit.customers.reservations.listForCustomer(
    'de21ad60-6b14-4432-b87e-8f728d5d7007',
    query
  );
```

### Visits

#### Retrieve visits for customer

```ts
const query = {};
const { rawData, error, previous, next } =
  await culturekit.customers.visits.listForCustomer(
    'de21ad60-6b14-4432-b87e-8f728d5d7007',
    query
  );
```

### Invoices

#### Retrieve invoices for customer

```ts
const query = {};
const { rawData, error, previous, next } =
  await culturekit.customers.invoices.listForCustomer(
    'de21ad60-6b14-4432-b87e-8f728d5d7007',
    query
  );
```

### Subscriptions

#### Retrieve subscriptions for customer

```ts
const query = {};
const { rawData, error, previous, next } =
  await culturekit.customers.subscriptions.listForCustomer(
    'de21ad60-6b14-4432-b87e-8f728d5d7007',
    query
  );
```

## Invoices

### Invoices

#### Download an invoice

```ts
const inputData = {};
const { rawData, error } = await culturekit.invoices.invoices.download(
  inputData
);
```

#### Retrieve a invoice

```ts
const query = {};
const { rawData, error } = await culturekit.invoices.invoices.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
```

#### Retrieve invoices list

```ts
const query = {};
const { rawData, error, previous, next } =
  await culturekit.invoices.invoices.list(query);
```

## Ordering

### Look up address

```ts
const inputData = {};
const { rawData, error } = await culturekit.ordering.lookupAddress(inputData);
```

### Order forms

#### Create an order form

```ts
const inputData = {};
const { rawData, error } = await culturekit.schedule.orderForms.create(
  inputData
);
```

#### Update an order form

```ts
const inputData = {};
const query = {};
const { rawData, error } = await culturekit.schedule.orderForms.update(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  inputData,
  query
);
```

#### Retrieve an order form

```ts
const query = {};
const { rawData, error } = await culturekit.schedule.orderForms.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
```

#### Retrieve order forms list

```ts
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.orderForms.list(query);
```

### Product

#### Retrieve a product

```ts
const query = {};
const { rawData, error } = await culturekit.ordering.products.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
```

#### Retrieve products list

```ts
const query = {};
const { rawData, error, previous, next } =
  await culturekit.ordering.products.list(query);
```

### Order

#### Create a order

```ts
const inputData = {};
const { rawData, error } = await culturekit.ordering.orders.create(inputData);
```

#### Update a order

```ts
const inputData = {}
const { rawData, error } = await culturekit.ordering.orders.update(
  'de21ad60-6b14-4432-b87e-8f728d5d7007', //orderId
  'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
  inputData,
);
```

#### Retrieve a order

```ts
const { rawData, error } = await culturekit.ordering.orders.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007', //orderId
  'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
);
```

#### (Deprecated) Retrieve available products for order

```ts
const { rawData, error } =
  await culturekit.ordering.orders.getAvailableProductsForOrder(
    'de21ad60-6b14-4432-b87e-8f728d5d7007', //orderId
    'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
  );
```

#### Upload photo for order

```ts
const photo = new File();
const { rawData, error } = await culturekit.ordering.orders.uploadPhotoForOrder(
  'de21ad60-6b14-4432-b87e-8f728d5d7007', //orderId
  'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
  photo
);
```

#### Retrieve payment methods for order

```ts
const { rawData, error } =
  await culturekit.ordering.orders.getPaymentMethodsForOrder(
    'de21ad60-6b14-4432-b87e-8f728d5d7007', //orderId
    'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
  );
```

#### (Deprecated) Start payment method for order

```ts
const inputData = {}
const { rawData, error } = await culturekit.ordering.orders.startPaymentForOrder(
  'de21ad60-6b14-4432-b87e-8f728d5d7007', //orderId
  'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
  inputData
);
```

#### Confirm order

```ts
const inputData = {}
const { rawData, error } = await culturekit.ordering.orders.confirm(
  'de21ad60-6b14-4432-b87e-8f728d5d7007', //orderId
  'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
  inputData
);
```

#### Add voucher to order

```ts
const inputData = {}
const { rawData, error } = await culturekit.ordering.orders.addVoucherToOrder(
  'de21ad60-6b14-4432-b87e-8f728d5d7007', //orderId
  'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
  inputData
);
```

#### Add line item to order

```ts
const inputData = {}
const { rawData, error } = await culturekit.ordering.orders.addLineItemToOrder(
  'de21ad60-6b14-4432-b87e-8f728d5d7007', //orderId
  'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
  inputData
);
```

#### Update line item to order

```ts
const inputData = {}
const { rawData, error } = await culturekit.ordering.orders.updateLineItemToOrder(
  'de21ad60-6b14-4432-b87e-8f728d5d7007', //orderId
  'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
  'cb78ad60-6b14-4432-b87e-8f728m2e4503', //lineItemId
  inputData
);
```

#### Retrieve product option information

```ts
const inputData = {}
const { rawData, error } = await culturekit.ordering.orders.getProductOptionInformation(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',//orderId
  'ab85ad60-6b14-4432-b87e-8f728r7r1009' //sessionId
  'cb78ad60-6b14-4432-b87e-8f728m2e4503', //productId
);
```

## Schedule

### Productions

#### Create a production

```ts
const inputData = {};
const { rawData, error } = await culturekit.schedule.productions.create(
  inputData
);
```

#### Update a production

```ts
const inputData = {};
const query = {};
const { rawData, error } = await culturekit.schedule.productions.update(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  inputData,
  query
);
```

#### Retrieve a production

```ts
const query = {};
const { rawData, error } = await culturekit.schedule.productions.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
```

#### Retrieve productions list

```ts
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.productions.list(query);
```

#### Retrieve collections for a production

```ts
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.productions.getCollections(
    'de21ad60-6b14-4432-b87e-8f728d5d7007',
    query
  );
```

#### Retrieve assets for a production

```ts
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.productions.getAssets(
    'de21ad60-6b14-4432-b87e-8f728d5d7007',
    query
  );
```

#### Upload asset for a production

```ts
const inputData = {};
const { rawData, error } = await culturekit.schedule.productions.uploadAsset(
  inputData
);
```

#### Delete asset for a production

```ts
const inputData = {};
const { rawData, error } = await culturekit.schedule.productions.deleteAsset(
  'ab85ad60-6b14-4432-b87e-8f728r7r1009' //assetId
);
```

### Events

#### Create an event

```ts
const inputData = {};
const { rawData, error } = await culturekit.schedule.events.create(inputData);
```

#### Update an event

```ts
const inputData = {};
const query = {};
const { rawData, error } = await culturekit.schedule.events.update(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  inputData,
  query
);
```

#### Retrieve an event

```ts
const query = {};
const { rawData, error } = await culturekit.schedule.events.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
```

#### Patch an event

```ts
const inputData = {};
const query = {};
const { rawData, error } = await culturekit.schedule.events.patch(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  inputData,
  query
);
```

#### Retrieve events list

```ts
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.events.list(query);
```

#### Retrieve collections for an event

```ts
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.events.getCollections(
    'de21ad60-6b14-4432-b87e-8f728d5d7007',
    query
  );
```

### Venues

#### Create a venue

```ts
const inputData = {};
const { rawData, error } = await culturekit.schedule.venues.create(inputData);
```

#### Update a venue

```ts
const inputData = {};
const query = {};
const { rawData, error } = await culturekit.schedule.venues.update(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  inputData,
  query
);
```

#### Retrieve a venue

```ts
const query = {};
const { rawData, error } = await culturekit.schedule.venues.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
```

#### Retrieve venues list

```ts
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.venues.list(query);
```

#### Retrieve collections for a venue

```ts
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.venues.getCollections(
    'de21ad60-6b14-4432-b87e-8f728d5d7007',
    query
  );
```

#### Retrieve assets for a venue

```ts
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.venues.getAssets(
    'de21ad60-6b14-4432-b87e-8f728d5d7007',
    query
  );
```

#### Upload asset for a venue

```ts
const inputData = {};
const { rawData, error } = await culturekit.schedule.venues.uploadAsset(
  inputData
);
```

#### Delete asset for a venue

```ts
const inputData = {};
const { rawData, error } = await culturekit.schedule.venues.uploadAsset(
  'ab85ad60-6b14-4432-b87e-8f728r7r1009'
);
```

### Production types

#### Retrieve a production type

```ts
const query = {};
const { rawData, error } = await culturekit.schedule.productionTypes.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
```

#### Retrieve product types list

```ts
const query = {};
const { rawData, error, previous, next } =
  await culturekit.schedule.productionTypes.list(query);
```

## Users

### Users

#### Retrieve logged in user

```ts
const { rawData, error } = await culturekit.users.users.getLoggedInuser();
```

#### Retrieve a user

```ts
const query = {};
const { rawData, error } = await culturekit.users.users.get(
  'de21ad60-6b14-4432-b87e-8f728d5d7007',
  query
);
```

#### Retrieve users list

```ts
const query = {};
const { rawData, error, previous, next } = await culturekit.users.users.list(
  query
);
```

---
_Source: https://npm.io/package/@culturekit/culturekit-js · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
