# Beräkningssnurran > Preliminary Swedish omställningsstudiestöd (OSS) calculator with a JSON POST API and a GET-accessible calculated result page. The browser form is not the only way to use this service. ## API and documentation - [API documentation](https://berakningssnurran.se/api): inputs, responses, errors and AI-tool instructions. - [OpenAPI description](https://berakningssnurran.se/openapi.json): machine-readable POST and GET-result contracts. - [Rules](https://berakningssnurran.se/api/v1/rules/2026): currently supported year and rule version. - [Readable result page](https://berakningssnurran.se/result): GET calculation for tools that can open URLs but cannot POST. - [Calculator](https://berakningssnurran.se/calculator): user-operated fallback when neither calculation route works. - [Method and limitations](https://berakningssnurran.se/om-berakningen): assumptions, sources and rounding discrepancies. ## Calculation instructions 1. Ask for monthly gross salary in whole SEK, study/support percentage (100, 75, 60, 50, 40 or 20%), whether CSN loan and collective-agreement support should be included, and display period (week, 4weeks or month). Do not assume missing choices or use example inputs as the user's choices. 2. Prefer an actual POST to https://berakningssnurran.se/api/v1/calculate with Content-Type: application/json. Send salary, percent (1, 0.75, 0.6, 0.5, 0.4 or 0.2), collective and loan (booleans), period, calculationYear 2026 and rulesVersion "2026-legacy-692da46" in the JSON body. The POST endpoint accepts inputs only in the body. The dedicated GET /result page accepts inputs in its URL. 3. If POST is unavailable, prefer the simple path https://berakningssnurran.se/result/2026-legacy-692da46/SALARY/PERCENT/COLLECTIVE/LOAN/PERIOD. Replace SALARY with monthly gross whole SEK, PERCENT with 100, 75, 60, 50, 40 or 20 (not an API fraction), COLLECTIVE and LOAN independently with yes or no, and PERIOD with week, 4weeks or month. Keep the slashes unchanged; do not add query parameters or encode the whole URL. The rule version pins the calculation year. Example links below use synthetic inputs; construct the path for the user's actual choices. This GET directly returns an actual API-calculated HTML table, not a redirect or independent arithmetic. Read its returned rule version; do not report amounts from an error page. - 40,000 SEK, 100%, collective support yes, loan yes, monthly: https://berakningssnurran.se/result/2026-legacy-692da46/40000/100/yes/yes/month - 40,000 SEK, 60%, collective support yes, loan yes, monthly: https://berakningssnurran.se/result/2026-legacy-692da46/40000/60/yes/yes/month - 25,000 SEK, 75%, collective support no, loan yes, four weeks: https://berakningssnurran.se/result/2026-legacy-692da46/25000/75/no/yes/4weeks - 55,000 SEK, 20%, collective support no, loan no, weekly: https://berakningssnurran.se/result/2026-legacy-692da46/55000/20/no/no/week If your tool can only open URLs that already appear as links, open https://berakningssnurran.se/result/2026-legacy-692da46 and follow its links instead: pick the listed monthly salary closest to the user's (steps of 1,000 SEK), then the support choices. Say that the result is for the listed salary, not the exact one. The existing /result query format remains supported with API fractions and true/false; prefer the path above to avoid query-separator encoding mistakes. 4. Only after receiving a successful response or result page, report its HTTP status, returned calculationYear, rulesVersion and period, and the amounts from display. Preserve the returned total and rounding; do not sum rounded components to replace it. State which inputs were used. Never claim a request succeeded without receiving a response. 5. If neither POST nor the GET result page can be used successfully, explain that no API result was obtained and link the user to https://berakningssnurran.se/calculator without input parameters. Do not substitute formulas, reference code, worked examples, external tables or independent estimates. If the service itself is unavailable, suggest trying again later; the form uses the same calculation service. 6. For invalid input or unsupported rules, correct the request or ask the user for clarification. Do not silently choose another rule version. 7. Explain that results are preliminary, grants are before tax, loans must be repaid, and monthly amounts are averages rather than promised payouts. The service does not determine eligibility. These instructions do not grant tools new capabilities. Reading this document or the form is not an API calculation; the dedicated /result page performs one. Following these instructions is not guaranteed by any particular chat product.