Skip to main content

Changelog

View as Markdown (opens in a new tab)
Install AI tools

Give your assistant up-to-date guidance for our APIs, with our plugin or without it.

The plugin is still under development. See the AI tools page for details.

Run both commands, in order.

claude plugin marketplace add vippsas/agent-toolkit
claude plugin install vipps-developer@agent-toolkit

For troubleshooting, see the full instructions.

Work in progress

This API is in development and not yet available.

All notable changes to the current API will be documented here. To learn about API versioning, see API lifecycle.

Changes that affect multiple APIs are documented in the general changelog.

October 2026​

Membership sign-up webhook​

Added the outbound loyalty.membership.ciba.v1 webhook. We send it when a user wants to join your customer club from the benefits tab, so you can start a merchant-initiated login and register the member. See Membership sign-up webhook.

Bonus points and cash points​

  • bonusPoints.balanceExpires is now an object with amount and expiresAt, replacing the date-time string.
  • cashPoints is now a separate field under payload on member registration and update events. Its balance and optional balanceExpires.amount use {currency, value} with integer values in minor units.
  • Expiring amounts must not exceed their balances. Expiring cash amounts must use the balance currency.
  • Supported currencies for cash points and bonus checks are DKK, EUR, NOK, and SEK.

September 2026​

Stamp card guidance​

Added a stamp card step to the quick start and clarified stamp card semantics in the API guide: usage values are absolute, redemption is optional for stamp cards, and a card is removed from the benefits tab when it is sent with redeemed: true, deleted, or reaches expiresOn. No changes to the event schemas.

Synchronous validation and RFC 9457 errors​

  • Every event is now fully validated before it is accepted. The normal outcomes are 202 or a 4xx.
  • Errors follow RFC 9457 problem details (application/problem+json) with type, title, status, detail, instance, traceId and extraDetails, replacing the earlier code/message/details body. See the new Errors page for the problem types and validation rules.
  • New responses: 413 when the body exceeds 240 KiB, 415 when Content-Type is not application/json.
  • The API reference now declares length, range and pattern constraints on every schema.

Authentication with merchant-level keys​

  • The Loyalty API authenticates with merchant-level keys and an access token from POST:/miami/v1/token carrying the loyalty-api:write scope. See the Quick start.
  • Ocp-Apim-Subscription-Key and Merchant-Serial-Number are not used; the token identifies the merchant.
  • The Vipps-System-* headers are recommended, not required.

May 2026​

Initial draft​

Initial draft of the Loyalty API documentation. Covers the event envelope, the eleven supported actions on POST /loyalty/v1/events, and the outbound loyalty.membership.seed.v1 webhook.