tiempoAPI reference
Start here

API changelog

Breaking changes ship as dated versions. Your platform stays on the version it started with until you upgrade in the dashboard (see versioning). Additions and fixes below that aren’t marked as a version apply to every version at once.

16 October 2026

  • Accounts have a slot grid: slot_interval_minutes (default 15) and slot_alignment. Searches use it unless they give interval_minutes or slot_alignment, and the response says which grid it used.
  • slot_alignment: "opening" starts the grid at each stretch of working hours instead of midnight, so someone who starts at 09:20 is offered 09:20 on a 30-minute grid.
  • The API has its own host. The test deployment's is https://api.uat.tiempo.one (base URL for every request, https://api.uat.tiempo.one/v1/…); the docs and dashboard stay at https://uat.tiempo.one, which no longer answers /v1. Production's will be https://api.tiempo.one.
  • Every API response carries Cache-Control: no-store: no cache between you and Tiempo may keep it. /openapi.json may be cached for five minutes.
  • Rate limits: 100 requests a second per platform in live mode, 25 in test. Responses carry RateLimit-Limit, RateLimit-Remaining and RateLimit-Reset; over the limit you get 429 rate_limited with Retry-After.

15 October 2026

  • The test deployment has its own domain: the API, docs and dashboard are at https://uat.tiempo.one, so use that as your base URL (https://uat.tiempo.one/v1/…). The old address, https://tiempo-test-3e407.web.app, works for now. Production will be https://tiempo.one.

14 October 2026

  • A resource with no schedule is now closed: give it hours with POST /v1/schedules before it shows in search or takes a booking. Before, it was open around the clock. An override still opens a single date, and conflict_policy: "capacity_only" still books outside hours.

7 October 2026

  • Search can give one duration_minutes for every segment, and duration_overrides for candidates who take a different time. Each slot is one possible booking, so a start can appear once per length.
  • New conflict_policy: "capacity_only" on bookings, reschedules and series: ignores working hours, overrides and blocks, but never overlaps another booking. For staff booking a client in after hours.
  • Completed and no-show bookings keep their time until they end; only cancelling frees it. Completing is allowed before the booking starts (paid in advance); a no-show still has to wait for the start.

6 October 2026

  • Every response carries a Request-Id header (req_…). Quote it when you ask us about a request.
  • Request bodies over 1 MB are refused with 413 request_too_large.

5 October 2026

  • Confirming or extending a hold now locks its resources and checks expiry under the lock, so a hold that lapsed while a payment was in flight can never be confirmed on top of a booking that took its slot.
  • Idempotent requests are atomic: the key, the request’s changes and the stored response commit together, so a request that failed half way leaves nothing behind and a retry runs it again.
  • GET /v1/events lists events in commit order, so paging forward from the newest event you’ve seen never skips one.
  • Series occurrences that couldn’t be created in time are recorded as skipped with reason start_passed.

4 October 2026: version 2026-10-04

Breaking, in version 2026-10-04: bookings and attendees keep expires_at after they leave pending, so you can see when a hold lapsed or how long it had left when it was confirmed. Before this version it was cleared.

Also added, for every version:

  • Buffers: buffer_before_minutes and buffer_after_minutes on resources and segments.
  • Edit a series in place from a date, and split a series into a new one.
  • Each platform sets its longest hold, up to 7 days.
  • Webhook endpoints report their health, turn off after three days of failures, and can resend what they missed.
  • Unknown query parameters are refused with 400 parameter_unknown, like unknown body fields.

3 October 2026: version 2026-10-03

The first version: accounts, locations, resources, schedules, overrides, blocks, availability search and calendar, bookings with holds and candidates, sessions with attendees, series, events and webhooks.