Skip to main content
The Swish REST API gives you direct access to profiles, wishlists, saved items, notifications, subscriptions, and more. All endpoints return JSON and require authentication via a Bearer token.
For most integrations, use the Swish SDK or React SDK instead of calling the REST API directly. The SDKs handle authentication, caching, state management, and UI rendering out of the box. The REST API is intended for server-side integrations, custom backends, or environments where the SDKs are not available.

Base URL

Every request must target a versioned base URL.

Versioning

Each version is a stable snapshot of the API surface - once published, it does not receive breaking changes. These versions have a typed client in @swishapp/api-client: Earlier versions (2025-04, 2025-07, 2025-10) are still accepted by the API but have no shipped client - call them over HTTP directly. Contact support@swish.app before relying on one. The version is part of the URL path. All requests to /api/2026-07/... use that version.
The endpoint reference in this section is generated from the 2026-07 OpenAPI spec. To target an older version, swap the version segment in the base URL and import the matching api-client entry point (for example @swishapp/api-client/2026-04).

Response format

Successful responses wrap the result in a data property:
Endpoints that return collections include a pageInfo object alongside data:
See Pagination for details on iterating through pages. Error responses use a consistent envelope described in Errors.

Client libraries

The @swishapp/api-client package provides a typed TypeScript client for the Swish API. Install it and import the version you need:
The client handles authentication headers, response unwrapping, and pagination types automatically.

Next steps

Authentication

Set up API keys and client tokens to authenticate requests.

Pagination

Iterate through paginated collections using cursors.

Rate limits

Understand request limits and how to handle throttling.

Errors

Handle error responses and status codes.