Developers

API reference.

A REST API for CRUD and a GraphQL endpoint for reads that would otherwise take four round trips. OAuth 2.0 throughout. Everything the first-party integrations do, you can do.

Quickstart

From nothing to a first call

  1. 01

    Create an app

    Workspace settings, Developers, New app. You get a client ID and secret, scoped to the workspace you created it in.

  2. 02

    Authorise

    Standard OAuth 2.0 authorisation code flow with PKCE. Tokens live one hour, refresh tokens thirty days.

  3. 03

    Call the API

    Base URL https://api.nexaflow.com/v4. Everything is JSON, everything is UTC, and every list endpoint is cursor-paginated.

  4. 04

    Subscribe to events

    Register a webhook rather than polling. Polling a list endpoint on a schedule is the fastest way to meet the rate limiter.

Reference

The essentials

Base URL
https://api.nexaflow.com/v4
Auth
OAuth 2.0 authorisation code with PKCE; bearer tokens
Token life
Access token 1 hour, refresh token 30 days
Rate limits
600 requests per minute per workspace, 60 per second burst
Pagination
Cursor-based, limit up to 100, next in the envelope
GraphQL
Single endpoint at /v4/graphql, read-only, depth limit 8
Versioning
Major in the path, twelve-month deprecation overlap
SDKs
Node, Python, Go — all generated from the same schema
FAQ

Questions we get asked

Is there a private API the integrations use?

No. Every first-party integration is built on the same public endpoints you have. If an integration can do it, so can you.

What happens when we hit the rate limit?

A 429 with a Retry-After header. Sustained overage on Enterprise raises a conversation, not a cut-off.

How long do you support an old version?

Twelve months of overlap from the day the replacement ships. We have never removed an endpoint without a replacement being live first.

Do sandboxes cost anything?

No. Every plan including Starter gets a sandbox workspace with the full API surface.

Get a sandbox and make the first call.