Getting started

Versioning and limits

What can change between versions, and the rate limits.

Versions

The API lives under /wp-json/kwazi/v1. From Kwazi 1.0 on, v1 only grows: new routes, new optional parameters, new fields in answers and new webhook events. Your integration should ignore fields it does not know. A change that would break an integration gets a new version (v2) next to v1.

Before 1.0 the shape can still change; the changelog names every change.

Ids

Kwazi records have a public id (a UUID). Use it to store references; it never changes. WordPress objects keep their own number: users and staff (user_id) and forms (form.id).

Rate limits

Routes for logged-in users and application passwords have no limit of their own (your host may have one). The public routes that website visitors use are limited per IP address (hashed; an IPv6 address counts as its /64 block), per 10 minutes:

Public route Limit per 10 minutes
Browsing services and free times 120
Booking an appointment 20
Managing a booking with its link 20
Submitting a form 20 requests, 5 submissions
Confirming or unsubscribing from marketing 20

Over the limit the answer is 429 kwazi_rate_limited.

Sizes

What Limit
A page of a list (per_page) 100 (25 by default)
A CSV file to import 5 MB, 100 columns, 50,000 rows (csv: too_large, too_many_columns, too_many_rows)
Webhooks per site 20
The answer of a webhook receiver only the first 4 KB is read

Still stuck?

A real person answers, in plain words. Use the help form, or ask on the WordPress forum.

Ask us a question