Fortnox Topics WebSocket API
Version 1.0.0
AsyncAPI 2.6 description of Fortnox's **real duplex WebSocket API** at `wss://ws.fortnox.se/topics-v1` (the "Topics" service). Unlike the REST API at https://api.fortnox.se/3/, this is a genuine WebSocket (wss://) transport - not SSE, long-polling, or webhooks. The service is Kafka-backed. A single WebSocket connection can carry many Fortnox tenants (customer integration keys): after connecting, the client sends an `add-tenants-v1` command carrying its Client-Secret and the per-tenant Access-Tokens (optionally including child tenants). Fortnox then pushes **minimal change-notification events** per domain topic (invoices, supplier-invoices, customers, articles, orders, offers, vouchers, projects, and more). Events say *what changed* (topic, type, tenantId, entityId, offset, timestamp) but not the full record - the integration then calls the REST API to fetch details, eliminating the need to poll. Delivery is at-least-once (duplicates possible) with a per-topic monotonic `offset` guaranteeing order. Clients may supply per-topic offsets when adding tenants to replay missed events up to 14 days back; offsets older than 14 days reset to the earliest available. GROUNDING NOTE: The endpoint, the `add-tenants-v1` command, the topic list, and the event field set are grounded in Fortnox's WebSocket documentation (https://www.fortnox.se/developer/guides-and-good-to-know/websockets). Some optional per-event payload fields (e.g. invoiceId, fullyPaid) vary by event type and are modeled as an open additionalProperties map.
Channels
Messages
Servers
ws.fortnox.se/topics-v1
AsyncAPI Specification
Work with this as data
Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
curl "https://apis.io/api/v1/asyncapis/fortnox-asyncapi"
curl "https://apis.io/api/v1/asyncapis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.