API-dokumentation
Verifiera svenska BankID-delegationer programmatiskt. Sandbox direkt, produktion via BankID-signerad onboarding.
Snabbstart
Registrera dig, hämta en sandbox-nyckel från dashboarden och verifiera din första delegation på under fem minuter.
Sandbox-nycklar (prefix mk_test_) fungerar direkt och belastar aldrig kvoten. Live-nycklar (mk_live_) utfärdas efter BankID-signerad onboarding.
Hämta sandbox-nyckelAutentisering
Skicka nyckel-ID och hemlighet som request-headers. Middlewaren skiljer sandbox från produktion via prefixet och nekar nycklar utanför org-IP-listan (om satt).
GET /api/external/delegations HTTP/1.1 Host: api.minionapp.se X-Api-Key: mk_live_a1b2c3d4e5 X-Api-Secret: <your secret>
Endpoints
Två läs-endpoints i V1. Skriv-endpoints (skapa / acceptera / återkalla) är slutanvändarytor och kräver BankID, inte API-nycklar.
/api/external/delegationsList delegations granted to your organization. Filter by status (Active, Accepted, Revoked, Expired).
| status | string? | Filter (default: Active) |
| page | int | Default 1 |
| pageSize | int | Default 50, max 200 |
/api/external/delegations/{verificationCode}Look up a single delegation by its 8-character verification code. Useful for verifying that a delegation a user shared is genuinely active in your org.
| verificationCode | string | Path param, e.g. AB3K7XYZ |
Webhooks
Sätt en callback-URL i Inställningar; vi POSTar signerad JSON vid delegations-händelser. Varje förfrågan har en HMAC-SHA256-signatur i X-Minion-Signature-headern. Verifiera den med per-org-hemligheten du fick vid första sparningen.
POST /webhooks/minion HTTP/1.1
Host: your-server.com
Content-Type: application/json
X-Minion-Signature: sha256=4f3c...e2a1
X-Minion-Event: delegation.accepted
X-Minion-Delivery: 8d2c-...
{
"event": "delegation.accepted",
"delegationId": "9f8a7b6c-...",
"verificationCode": "AB3K7XYZ",
"occurredAt": "2026-05-02T11:30:00Z"
}expectedSig = HMAC_SHA256(secret, rawBody) — jämför med konstant-tid likhet.
Misslyckade leveranser (non-2xx, timeout eller oåtkomlig värd) försöks igen upp till 5 gånger med exponentiell backoff: 1s, 5s, 30s, 5m, 30m.
Rate limits & kvot
Per-nyckel rate limit kommer från din plan. Varje lyckat produktionsanrop drar ett från org-ägarens månadskvot. Sandbox-anrop belastar inte kvoten och är begränsade till 1 000 req/dag.
- Free — 100 req/min, 1 000 req/mo
- Starter — 600 req/min, 10 000 req/mo
- Business — 1 800 req/min, 50 000 req/mo
- Enterprise — custom
Exempel
Samma flöde i tre språk.
curl -H "X-Api-Key: mk_test_a1b2c3" \
-H "X-Api-Secret: ${MINION_SECRET}" \
https://api.minionapp.se/api/external/delegations?status=Activeconst res = await fetch('https://api.minionapp.se/api/external/delegations?status=Active', {
headers: {
'X-Api-Key': 'mk_test_a1b2c3',
'X-Api-Secret': process.env.MINION_SECRET,
},
});
const { items } = await res.json();import os, requests
r = requests.get(
'https://api.minionapp.se/api/external/delegations',
params={'status': 'Active'},
headers={
'X-Api-Key': 'mk_test_a1b2c3',
'X-Api-Secret': os.environ['MINION_SECRET'],
},
)
items = r.json()['items']