Hämta MRR inklusive rabatter via API:et
Kund-API:et visar nu aktuell och väntande MRR inklusive tidsbegränsade rabatter. De nya fälten effectivemrrbycurrency och effectivependingmrrbycurrency motsvarar kolumnerna ”MRR incl. discounts” och ”Pending MRR incl. discounts” i CSV-exporten.
Kund-API:et visar nu aktuell och väntande MRR inklusive tidsbegränsade rabatter. De nya fälten effective_mrr_by_currency och effective_pending_mrr_by_currency motsvarar kolumnerna ”MRR incl. discounts” och ”Pending MRR incl. discounts” i CSV-exporten.
Aktuell och väntande MRR är fortsatt separata: väntande MRR omfattar abonnemang med framtida startdatum, aktiv provperiod eller aktiv paus. Alla fyra API-fält grupperas per valuta och använder valutans minsta enhet, till exempel öre eller cent.
Historisk bakgrund – augusti 2024 till september 2026
MRR-API:et började med aktuella mätvärden och utökades senare med väntande värden, rabatter, intervall och schemalagda ändringar. Ett svar för ett specifikt abonnemang är mer relevant än ett katalogpris för planen, eftersom abonnemanget kan ha eget pris, valuta, provperiod eller rabatt.
När en integratör ändrar en provperiod, rabatt eller ett förnyelseintervall ska den uppdaterade abonnemangsuppgiften hämtas igen. Skilj mellan ändringar som gäller nu och schemalagda ändringar. Använd UUID:er, paginering och beloppsenheten som dokumenteras i OpenAPI. Se guiden om det publika API:et och webhooks (Markdown-fil, AI-agentvenlig).
Läs, ändra och läs av igen
Börja med GET /api/v1/subscriptions/{uuid} och använd det fiktiva UUID:et som inte finns 00000000-0000-4000-8000-000000000003 i ett testexempel. Spara aktuellt pris, prismodell, intervall, provperiod och available_price_change_dates innan du skickar en ändring. Skicka endast den åtgärd du avser att utföra och läs sedan abonnemangssvaret igen. API:et returnerar det uppdaterade abonnemanget och kan ange det faktiska startdatumet i meta.effective_date.
Provperiod
Använd PUT /api/v1/subscriptions/{uuid}/trial med { "end_date": "2026-10-15" } för en befintlig, olåst provperiod. Slutdatumet måste ligga efter provperiodens start. Ett abonnemang utan provperiod, eller en provperiod vars transaktion redan har fakturerats eller debiterats, ger svaret 422; anropet skapar ingen provperiod.
Rabatt
Använd POST /api/v1/subscriptions/{uuid}/discounts med en dokumenterad rabattyp. En procentsats som 14.29 betyder 14,29 procent, medan en fast rabatt anges i valutans minsta enhet, till exempel 5000 = 50,00. Rabattperioden måste börja i en olåst period och får inte överlappa med en annan väntande rabatt. Användningsbaserade abonnemang stöder procentuella rabatter, medan en fast rabatt avvisas.
Intervall och pris
PUT /api/v1/subscriptions/{uuid}/interval med exempelvis { "interval": 3 } använder intervall som har konfigurerats på planen och börjar gälla från nästa kommande period. PUT /api/v1/subscriptions/{uuid}/price tar emot price för abonnemang med fast pris eller unit_price för abonnemang med licensbaserad prissättning; blanda inte ihop fälten. Prisändringar gäller som standard från nästa period eller från ett giltigt effective_date. Användningsbaserade priser och nivåbaserade priser följer sina egna prismodeller.
En schemalagd ändring har inte börjat gälla än. Om en period har fakturerats eller låsts flyttas ändringen till ett tillåtet framtida datum och framtida transaktioner byggs om. Använd abonnemangssvaret och slutpunkten för schemalagda ändringar för att visa vad som är planerat. Använd DELETE /api/v1/subscriptions/{uuid}/scheduled-changes/{scheduledChangeUuid} för att ta bort en specifik väntande ändring när avtalet tillåter det.
Vanliga frågor
Varför skiljer sig MRR via API:et från planpriset? MRR baseras på det specifika abonnemanget med dess rabatt, provperiod, valuta och status; planens katalogpris är endast standardvärdet.
Varför började mitt nya pris inte gälla direkt? En låst eller redan fakturerad period flyttar ändringen till ett tillåtet framtida datum.
Varför avvisades rabatten? Kontrollera typen, procent- eller valutaenheten, att startdatumet är olåst och att rabatten inte överlappar med andra rabatter.
Kan jag ändra intervallet på ett nivåbaserat abonnemang? Följ det nivåmedvetna avtalet och priset för den valda abonnemangsnivån. Ersätt dem inte med en rå rad från förnyelseintervallstabellen.


Människorna och AI-hjälparna bakom uppdateringarna
Bo Møller och Emil Højbjerg är Aluntas främsta utvecklare. De ägnar den mesta tiden åt kodning och har därför delegerat formuleringen av de här förklaringarna till våra AI-hjälpare.
AI-hjälparna skriver utifrån uppdateringarna som vi har publicerat. Bo och Emil står bakom ändringarna och ansvarar för att informationen bygger på det som faktiskt har släppts.
