Skip to main content
The Nixflex API is plain HTTPS + JSON with a bearer key. The Node.js SDK is the only official client today; from any other language you call the API directly, or generate a client from the OpenAPI specification.

Call the API directly

Every endpoint is documented with a curl example in the API reference. Three things to get right:
  1. Authentication - Authorization: Bearer KEY_ID:KEY_SECRET, both halves joined by a colon.
  2. Numbers in URLs - URL-encode the leading + as %2B (/v1/phone-numbers/%2B447446466847).
  3. Errors - every error is { "error": { "type", "code", "message", "doc_url", "details" } } with a meaningful HTTP status. Branch on code. See Errors.

Retries worth copying

The Node SDK’s policy is safe to reproduce in any language:
  • 429 - retry once after the Retry-After header.
  • Network failures - retry once.
  • 5xx - retry only GET and DELETE. Never blind-retry a POST - a call must never be dialled twice.

Generate a client from the OpenAPI spec

The full specification lives at https://docs.nixflex.com/api-reference/openapi.json (OpenAPI 3.1, every path and error shape). Generate a typed client for your language:
Supported generators include python, go, java, csharp, ruby, php, kotlin, swift and more. Import the same file into Postman or Insomnia to explore the API interactively.

Verify webhooks in any language

Webhook payloads are signed. The header is X-Nixflex-Signature: t=<unix_ts>,v1=<hex>; the signature is HMAC-SHA256 of "<timestamp>.<raw_body>" with your key secret. Reject if the timestamp is older than 300 seconds or the HMAC does not match (compare in constant time). Full detail and a Node example on Webhooks.
Python

From the terminal or an assistant

No code at all: the CLI covers every endpoint from a shell, and the MCP server lets Claude Desktop, Cursor or VS Code drive your account.