Skip to contentSkip to navigation
Hatcel
Developers
2026-10-08API status

Packages

List and retrieve packages

A bundle sold as one booking: a party, a group format.

The package object

The same for every key, live or test: there is no test copy of it.

idstringrequired

A package id, pkg_ and 22 characters.

object"package"required
namestringrequired
slugstringrequired
descriptionstringrequirednullable
statusstringrequirednullable
pricing_modelstringrequirednullable

per_head or flat_rate.

pricesobjectrequired
prices.adultintegerrequirednullable

An amount in whole cents.

prices.juniorintegerrequirednullable

An amount in whole cents.

prices.flat_rateintegerrequirednullable

An amount in whole cents.

prices.baseintegerrequirednullable

An amount in whole cents.

peak_pricesobjectrequirednullable
peak_prices.adultintegerrequirednullable

An amount in whole cents.

peak_prices.juniorintegerrequirednullable

An amount in whole cents.

peak_prices.flat_rateintegerrequirednullable

An amount in whole cents.

peak_prices.baseintegerrequirednullable

An amount in whole cents.

guestsobjectrequired
guests.min_adultsintegerrequirednullable
guests.max_adultsintegerrequirednullable
guests.min_juniorsintegerrequirednullable
guests.max_juniorsintegerrequirednullable
guests.max_guestsintegerrequirednullable
staff_onlybooleanrequired

True when only staff can book it.

venuesarray of stringsrequired

Where it is sold. Empty means every venue.

created_atstringrequired

A UTC instant, ISO 8601, e.g. 2026-10-08T03:00:00.000Z.

updated_atstringrequired

A UTC instant, ISO 8601, e.g. 2026-10-08T03:00:00.000Z.

duration_minutesintegerrequirednullable
depositobjectrequirednullable
deposit.typestringrequirednullable
deposit.valueintegerrequirednullable
available_fromstringrequirednullable

yyyy-MM-dd.

available_untilstringrequirednullable

yyyy-MM-dd.

The package object
{
  "id": "pkg_0TMXp8QPR6yGvKuV2GZQ10",
  "object": "package",
  "name": "<string>",
  "slug": "<string>",
  "description": "<string>",
  "status": "<string>",
  "pricing_model": "<string>",
  "prices": {
    "adult": 4500,
    "junior": 4500,
    "flat_rate": 4500,
    "base": 4500
  },
  "peak_prices": {
    "adult": 4500,
    "junior": 4500,
    "flat_rate": 4500,
    "base": 4500
  },
  "guests": {
    "min_adults": 1,
    "max_adults": 1,
    "min_juniors": 1,
    "max_juniors": 1,
    "max_guests": 1
  },
  "staff_only": true,
  "venues": [
    "ven_0TMXp8QPR6yGvKuV2GZQ10"
  ],
  "created_at": "2026-10-08T03:00:00.000Z",
  "updated_at": "2026-10-08T03:00:00.000Z",
  "duration_minutes": 1,
  "deposit": {
    "type": "<string>",
    "value": 1
  },
  "available_from": "2026-10-08",
  "available_until": "2026-10-08"
}

List packages

GEThttps://api.hatcel.com/packages
Any key

Every package the key can see, newest first, a page at a time.

Query parameters

limitinteger

How many to return, 1 to 100. Defaults to 25.

starting_afterstring

The next_cursor of the page before. Omit it for the first page.

updated_sincestring

Only rows changed at or after this instant, ISO 8601 with an offset.

curl "https://api.hatcel.com/packages?limit=25" \
  -H "Authorization: Bearer $HATCEL_API_KEY" \
  -H "Hatcel-Version: 2026-10-08"
200 response
{
  "object": "list",
  "data": [
    {
      "id": "pkg_0TMXp8QPR6yGvKuV2GZQ10",
      "object": "package",
      "name": "<string>",
      "slug": "<string>",
      "description": "<string>",
      "status": "<string>",
      "pricing_model": "<string>",
      "prices": {
        "adult": 4500,
        "junior": 4500,
        "flat_rate": 4500,
        "base": 4500
      },
      "peak_prices": {
        "adult": 4500,
        "junior": 4500,
        "flat_rate": 4500,
        "base": 4500
      },
      "guests": {
        "min_adults": 1,
        "max_adults": 1,
        "min_juniors": 1,
        "max_juniors": 1,
        "max_guests": 1
      },
      "staff_only": true,
      "venues": [
        "ven_0TMXp8QPR6yGvKuV2GZQ10"
      ],
      "created_at": "2026-10-08T03:00:00.000Z",
      "updated_at": "2026-10-08T03:00:00.000Z",
      "duration_minutes": 1,
      "deposit": {
        "type": "<string>",
        "value": 1
      },
      "available_from": "2026-10-08",
      "available_until": "2026-10-08"
    }
  ],
  "has_more": true,
  "next_cursor": "eyJ0IjoiMjAyNi0xMC0wOFQwMzowMDowMC4wMDBaIiwiaSI6IjBmOGZhZDViIn0"
}

Retrieve a package

GEThttps://api.hatcel.com/packages/{id}
Any key

One package by its id, with its version in the ETag header. Another object's id, or one this key cannot see, is a 404.

Path parameters

idstringrequired

The package's id, pkg_ and 22 characters.

curl "https://api.hatcel.com/packages/pkg_0TMXp8QPR6yGvKuV2GZQ10" \
  -H "Authorization: Bearer $HATCEL_API_KEY" \
  -H "Hatcel-Version: 2026-10-08"
200 response
{
  "id": "pkg_0TMXp8QPR6yGvKuV2GZQ10",
  "object": "package",
  "name": "<string>",
  "slug": "<string>",
  "description": "<string>",
  "status": "<string>",
  "pricing_model": "<string>",
  "prices": {
    "adult": 4500,
    "junior": 4500,
    "flat_rate": 4500,
    "base": 4500
  },
  "peak_prices": {
    "adult": 4500,
    "junior": 4500,
    "flat_rate": 4500,
    "base": 4500
  },
  "guests": {
    "min_adults": 1,
    "max_adults": 1,
    "min_juniors": 1,
    "max_juniors": 1,
    "max_guests": 1
  },
  "staff_only": true,
  "venues": [
    "ven_0TMXp8QPR6yGvKuV2GZQ10"
  ],
  "created_at": "2026-10-08T03:00:00.000Z",
  "updated_at": "2026-10-08T03:00:00.000Z",
  "duration_minutes": 1,
  "deposit": {
    "type": "<string>",
    "value": 1
  },
  "available_from": "2026-10-08",
  "available_until": "2026-10-08"
}