How can we help?
Search 240 articles across guides, API reference and troubleshooting. Most questions are answered in under a minute.
Documentation by area
Start here if you would rather read than search. Each area has a maintainer and a last-reviewed date on every page.
- 18 articles
Getting started
Install, authenticate and make a first successful call in about ten minutes.
- Quickstart in your language
- Authentication and API keys
- Sandbox versus production
- 74 articles
API reference
Every endpoint with request and response schemas, error codes and copyable examples.
- Endpoint index
- Error code reference
- Pagination and cursors
- 21 articles
Webhooks
Event types, delivery guarantees, retry behaviour and signature verification.
- Verifying signatures
- Retry and backoff schedule
- Replaying failed deliveries
- 43 articles
Troubleshooting
The errors people actually hit, written as symptoms rather than as causes.
- 401 despite a valid key
- Timeouts on large exports
- Duplicate webhook deliveries
- 52 articles
Guides
Longer walkthroughs for complete tasks that span several endpoints.
- Migrating from v2 to v3
- Building an idempotent sync
- Handling partial failures
- 32 articles
Account and billing
Plans, limits, invoices, seat management and data export.
- Understanding rate limits
- Exporting your data
- Changing plan mid-cycle
What people open most this month
With the proportion who marked each one helpful, because an article nobody finds useful should be rewritten rather than left up.
- Troubleshooting
Why am I getting a 401 with a key that works elsewhere?
Updated 6 days ago · 4 min read
- Views
- 18.4k
- Helpful
- 94%
- Account and billing
Rate limits, burst allowance and what a 429 actually means
Updated 2 weeks ago · 6 min read
- Views
- 14.1k
- Helpful
- 91%
- Webhooks
Verifying webhook signatures without leaking timing information
Updated 3 days ago · 8 min read
- Views
- 11.7k
- Helpful
- 96%
-
- Views
- 9.8k
- Helpful
- 88%
- API reference
Cursor pagination, and why offset stops working past 10,000 rows
Updated 1 month ago · 5 min read
- Views
- 7.2k
- Helpful
- 92%
-
- Views
- 6.4k
- Helpful
- 89%
What changed, and when it will break you
Breaking changes are announced at least ninety days before they ship, and never in a patch release.
-
v3.4.0
12 Mar 2032
AddedCursor pagination on the events endpoint
Events now accept a cursor parameter alongside the existing offset. Offset continues to work and remains the default, but degrades past ten thousand rows and will be deprecated in v4.
-
v3.3.2
28 Feb 2032
FixedDuplicate webhook deliveries under retry
A retry could occasionally deliver an event twice with the same delivery ID when the first attempt timed out after the handler had already committed. Deduplicate on delivery ID regardless — this remains the documented guarantee.
-
v3.3.0
09 Feb 2032
DeprecatedThe legacy list filters
Filtering with bracket syntax is deprecated in favour of the structured query parameter. Bracket syntax keeps working until v4.0 at the earliest, which is not before January 2033.
-
v3.0.0
14 Nov 2031
BreakingTimestamps are RFC 3339 everywhere
All timestamps in requests and responses are now RFC 3339 with an explicit offset. Unix epoch integers are no longer accepted. Announced 2 August 2031, shipped 104 days later.
Every entry links to the migration note where one is needed. Deprecations stay functional for at least two minor versions after announcement, and we email every account using an affected endpoint rather than relying on you reading this page.
How to reach a person
Four routes, with honest response times rather than aspirational ones.
-
Community forum
Public, searchable and answered by other users as well as by us. Your question helps whoever hits it next.
- Response
- ~4 hours
- Best for
- Best for how-do-I questions
-
Email support
For account-specific problems and anything involving your data. Include your account ID and a request ID if you have one.
- Response
- 1 working day
- Best for
- Best for account issues
-
Status page
Live incident reporting and a ninety-day history. Subscribe before you need it rather than during an outage.
- Response
- Live
- Best for
- Best for is it just me?
-
Security
A separate, monitored inbox with a published PGP key. Please do not report vulnerabilities through the forum.
- Response
- 24 hours
- Best for
- Best for disclosure
Every support conversation that reveals a gap in the documentation becomes a ticket against the docs, and roughly a fifth of our articles started life as a support reply. If you had to ask, the page was not good enough.
How the documentation works
Some of this is unusual enough to be worth stating.
Because "last updated" only tells you when someone touched the file, which is often a typo fix. Last-reviewed means a maintainer has confirmed the content is still accurate against the current version. Anything not reviewed in twelve months is flagged automatically.
Yes. Every minor version back to v2.0 stays published at its own URL and is never edited after release, so a link you saved in 2029 still shows what was true in 2029.
The full documentation is available as a single downloadable file per version, and every page prints cleanly with code blocks intact and navigation stripped.
Every page has an edit link that opens a pull request against the docs repository. If that is too much friction, the feedback widget at the bottom of each page reaches the same maintainer.
Drafts sometimes, review never. Every published page has a named human maintainer who is accountable for its accuracy, and that name is on the page.
Still stuck?
The forum is usually faster than email, and the answer stays public for the next person.