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

API key

The calling key's limits and reach

The key making the request: its type, what it may read and write, when it expires and every limit it is held to. An agent should call it first.

The API key object

Always the key that calls it, live or test.

idstringrequired

A api key id, key_ and 22 characters.

object"api_key"required
kind"integration" | "agent"required

The key's type.

access"read" | "read_write"required
mode"live" | "test"required

test sees and writes test data only.

expires_atstringrequirednullable

When this key stops working. Null for never.

contacts_maskedbooleanrequired

Whether contact details are masked for this key.

limitsobjectrequired
limits.requests_per_minuteintegerrequired

Requests this key may make a minute.

limits.requests_per_dayintegerrequired

Requests this key may make a day.

limits.writes_per_minuteintegerrequired

Writes this key may make a minute.

limits.writes_per_dayintegerrequired

Writes this key may make a day.

limits.removals_per_dayintegerrequirednullable

DELETE requests this key may make a day, inside its writes.

limits.page_size_defaultintegerrequired

Rows in a page when limit is not sent.

limits.page_size_maxintegerrequired

The largest limit this key may send.

can_readarray of stringsrequired

Every object this key can list and retrieve, by path, e.g. customers.

can_writearray of stringsrequired

Every write this key can make, as method and path, e.g. POST /customers.

The API key object
{
  "id": "key_0TMXp8QPR6yGvKuV2GZQ10",
  "object": "api_key",
  "kind": "integration",
  "access": "read",
  "mode": "test",
  "expires_at": null,
  "contacts_masked": false,
  "limits": {
    "requests_per_minute": 300,
    "requests_per_day": 50000,
    "writes_per_minute": 60,
    "writes_per_day": 2000,
    "removals_per_day": 200,
    "page_size_default": 25,
    "page_size_max": 100
  },
  "can_read": [
    "venues",
    "customers",
    "tags",
    "lists",
    "bookings",
    "orders",
    "activities",
    "packages",
    "events",
    "tickets",
    "gift-cards"
  ],
  "can_write": []
}

Retrieve your key

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

Describes the key the request is made with. Every key may call it, and it reads nothing else - so an agent learns its limits here rather than from a 403 or a 429.

curl "https://api.hatcel.com/key" \
  -H "Authorization: Bearer $HATCEL_API_KEY" \
  -H "Hatcel-Version: 2026-10-08"
200 response
{
  "id": "key_0TMXp8QPR6yGvKuV2GZQ10",
  "object": "api_key",
  "kind": "integration",
  "access": "read",
  "mode": "test",
  "expires_at": null,
  "contacts_masked": false,
  "limits": {
    "requests_per_minute": 300,
    "requests_per_day": 50000,
    "writes_per_minute": 60,
    "writes_per_day": 2000,
    "removals_per_day": 200,
    "page_size_default": 25,
    "page_size_max": 100
  },
  "can_read": [
    "venues",
    "customers",
    "tags",
    "lists",
    "bookings",
    "orders",
    "activities",
    "packages",
    "events",
    "tickets",
    "gift-cards"
  ],
  "can_write": []
}