stemp Logostemp Developer

Changelog

Changes to the stemp API, webhooks, and documentation.

Changelog

This page lists changes to the stemp API, webhooks, and this documentation, newest first. Each entry is dated by the day the change went live.


2026-11-11

MCP Server for Claude

Shop owners can connect Claude to stemp at https://mcp.stemp.app. Eleven tools set up and change the stamp card, read the shop's numbers and tags, and manage automations on Max. Claude signs in through the stemp authorization server with OAuth 2.1 and PKCE, and every call checks the same scopes as the API. See Connect Claude.


2026-11-02

Documentation Corrections

These pages described behavior the API does not have. The API itself did not change.

PageCorrection
WebhooksHeaders are X-Webhook-*, not X-Stemp-*. The signature is Base64 without a sha256= prefix. Each delivery gets up to 3 attempts within about a minute.
Webhook EventsThe envelope has type, createdAt, and data; there is no id or timestamp. pass.updated, pass.uninstalled, stamp.card_completed, and organization.created are not sent. crm_import.started and crm_import.completed are added.
Error HandlingValidation errors return 400, not 422. A missing scope returns 403 with code insufficient_scopes.
Rate LimitingLimits apply per IP address. There is no X-RateLimit-Reset header.
User TagsDeleting a tag sends no user_tag.unassigned events.

2026-11-01

Free Plan Limits

New organizations try Pro free for 30 days. After the trial, an organization without a paid plan moves to Free. On Free, three requests return 402 Payment Required with a limit field:

LimitRequest
CUSTOMERSChanging stamps for any customer after the first 30
LOCATIONSCreating a second location
TEMPLATESCreating a second active template

Previously, write requests returned 402 once the trial had ended. See Plans & Limits.


2026-10-23

Timestamps in UTC

Timestamps in REST responses now end in Z, for example 2026-10-19T10:53:10Z. Previously they had no zone. Promotion and reward export times and webhook payloads are unchanged. See Dates and Times.

Birthday Tag

A user who signs up on their birthday, or adds their birth date on that day, gets the geburtstag tag immediately instead of at the next nightly run. This triggers a user_tag.assigned webhook event.

Auto-Tagging Rules

Rules have a new read-only field tagEndsWithItsDay: true when the rule's tag lasts a single day, like geburtstag. See Auto-Tagging Rules.

OpenAPI Specification

/v3/api-docs is no longer public. Use /v3/api-docs/public; the API Reference is built from it.