Vad leveransform A (endast API) erbjuder
Leveransform A ger programmatisk åtkomst till samma grenar som handläggar-panelen, exponerade som endpoints. Tre kärnområden:
Casey-matchning
Skicka in ett CV (fritext) eller en befintlig klient och få rangordnade jobbförslag med motivering – samma motor som Casey i panelen.
Automatisk jobbsökning
Starta automatiska ansökningskörningar för en sponsrad klient och följ status och skickade ansökningar.
Tillväxtradar-data
Bygg er egen vy ovanpå Employex marknadsdata: vilka arbetsgivare som växer och anställer i ett område. Levereras som en del av Tillväxt-/Enterprise-avtalet.
Webhooks
Få händelser pushade till ert system i realtid – matchning klar, ansökan skickad, körning klar – signerade med HMAC-SHA256.
Vem är det för?
IT-team hos Rusta och matcha-leverantörer (KROM) och kommunala arbetsmarknadsenheter som vill koppla Employex till sina egna klient- och uppföljningssystem, samt systemleverantörer (ATS, jobbportaler) som vill integrera matchning som en tjänst i sin produkt.
Kom igång
- 1
Skapa ett konto med betalmedel
Registrera er organisation som partner och koppla ett betalmedel (faktura tills vidare). API-åtkomst kräver ett aktivt avtal eftersom anropen är användningsbaserade.
- 2
Få en API-nyckel
En admin i er organisation skapar nycklar i panelen under Inställningar → API-nycklar. Börja med en test-nyckel (emx_test_) och gå sedan över till live (emx_live_). Klartexten visas EN gång – spara den säkert.
- 3
Autentisera
Skicka nyckeln i X-API-Key-headern på varje anrop. Nyckeln är låst till en region (SE eller FI) och har de scopes ni tilldelats.
- 4
Gör ditt första anrop
Verifiera nyckeln mot /auth/whoami innan ni bygger vidare. Får ni 200 med er partnerinfo är ni redo.
curl https://api.employex.ai/api/v1/external/auth/whoami \
-H "X-API-Key: emx_live_xxxxxxxxxxxxxxxxxxxx"{
"partner": {
"id": "8f1c...",
"name": "Exempel Rusta och matcha AB",
"org_number": "556677-8899",
"partner_type": "krom_provider",
"region_code": "SE",
"status": "active"
},
"api_key": {
"label": "Produktion",
"prefix": "emx_live_a1b2c3d4",
"scopes": ["clients:read", "analysis:match"],
"rate_limit_per_hour": 1000,
"expires_at": null
},
"request_id": "req_3f9a..."
}Den fullständiga maskinläsbara specifikationen finns som OpenAPI: GET /api/v1/external/openapi.json och interaktiv dokumentation på /api/v1/external/docs.
Autentisering
All åtkomst sker med en API-nyckel i headern X-API-Key. Nycklar genereras av en admin i panelen och bcrypt-hashas i databasen – klartexten lagras aldrig och kan inte återhämtas. Spara den i ert hemliga arkiv.
Live vs test
Live-nycklar har prefixet emx_live_ och test-nycklar emx_test_.
Regionslås
Varje nyckel är bunden till en region (SE eller FI). Data från andra regioner är inte åtkomlig med samma nyckel.
Rotation & återkallning
Nycklar kan roteras (gammal återkallas, ny utfärdas med samma inställningar) och återkallas direkt i panelen.
IP-whitelist & utgång
Valfritt kan en nyckel låsas till specifika IP/CIDR och ges ett utgångsdatum.
Scopes & rate limit
Varje nyckel beviljas en uppsättning scopes som styr vilka endpoints den får anropa. Saknas rätt scope returneras 403. Standardkvoten är 1 000 anrop/timme per nyckel; överskriden kvot ger 429 Too Many Requests.
| Scope | Beskrivning |
|---|---|
clients:read | Läs era sponsrade klienter, profiler och ansökningar. |
clients:write | Skapa och uppdatera klientkopplingar (kräver admin-överenskommelse). |
analysis:match | Kör AI-matchning på CV-text eller hämta cachad klientmatchning. |
automations:start | Starta automatiska ansökningskörningar för en klient. |
automations:read | Läs status och resultat för automation-körningar. |
webhooks:read | Lista webhook-endpoints och leveranshistorik. |
webhooks:write | Skapa, testa och ta bort webhook-endpoints. |
* | Full åtkomst (alla scopes). Tilldelas restriktivt. |
Endpoint-referens
Bas-URL: https://api.employex.ai. Alla externa endpoints ligger under /api/v1/external/.
Autentisering & status
Verifiera er nyckel och se vilka behörigheter den har. Bra för health-checks i er integration.
- GET
/api/v1/external/auth/whoamiReturnerar vilken partner och region nyckeln tillhör samt nyckelns scopes och kvot.
- GET
/api/v1/external/auth/scopesListar alla giltiga scopes och de scopes som just er nyckel har beviljats.
Klienter (sponsrade jobbsökande)
Hämta de jobbsökande som er organisation sponsrar via Employex (B2B-platser). Alla anrop är låsta till er partner – ni ser aldrig en annan parts klienter.
- GET
/api/v1/external/clientsclients:readListar era klienter. Filtrera på status (active, pending_release, released, expired) och paginera med limit/offset.
- GET
/api/v1/external/clients/{client_user_id}clients:readHämtar en klients platsinfo + profil (CV-status, preferenser, ort, yrkesnyckelord).
- GET
/api/v1/external/clients/{client_user_id}/applicationsclients:readListar ansökningar som skickats för klienten via automation, med status och tidsstämplar.
- GET
/api/v1/external/clients/{client_user_id}/analysisclients:readReturnerar de senast cachade jobbmatchningarna för klienten.
AI-matchning (Casey)
Kör samma AI-matchningsmotor som Casey använder. Skicka ett CV som fritext för en anonym förhandsmatchning, eller hämta en cachad matchning för en befintlig klient.
- POST
/api/v1/external/analysis/matchanalysis:matchStartar en AI-matchning. cv_text → 202 + match_id (poll/webhook). client_user_id → 200 direkt från cache.
- GET
/api/v1/external/analysis/match/{match_id}analysis:matchHämtar status och resultat för en asynkron CV-matchning (queued, succeeded, failed).
Automatisk jobbsökning
Starta automatiska ansökningskörningar för en klient och följ status. Stöder dry-run och idempotens via Idempotency-Key.
- POST
/api/v1/external/automations/startautomations:startSkapar och startar en automation-körning för en klient. Stöder dry_run, job_ids och webhook_url.
- GET
/api/v1/external/automations/{run_id}automations:readHämtar status och detaljer (inkl. ansökningar) för en automation-körning.
Webhooks
Registrera, lista, testa och ta bort webhook-endpoints. Se webhook-avsnittet längre ned för signering och event-typer.
- POST
/api/v1/external/webhookswebhooks:writeRegistrerar en endpoint. Signeringssecret returneras EN gång i svaret.
- GET
/api/v1/external/webhookswebhooks:readListar era registrerade webhook-endpoints.
- POST
/api/v1/external/webhooks/{endpoint_id}/testwebhooks:writeSkickar ett webhook.test-event till en endpoint för att verifiera er mottagare.
- GET
/api/v1/external/webhooks/{endpoint_id}/deliverieswebhooks:readVisar de senaste leveransförsöken för en endpoint (för felsökning).
- DELETE
/api/v1/external/webhooks/{endpoint_id}webhooks:writeTar bort en webhook-endpoint.
Exempel: starta en AI-matchning på CV-text
curl https://api.employex.ai/api/v1/external/analysis/match \
-X POST \
-H "X-API-Key: emx_live_xxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: match-2026-06-02-0001" \
-d '{
"cv_text": "Lagerarbetare med truckkort B1-B4, 5 års erfarenhet ...",
"limit": 25
}'{
"id": "b2b_match_77c1...",
"status": "queued",
"input_mode": "cv_text",
"requested_limit": 25,
"created_at": "2026-06-02T09:14:00Z"
}
// Poll GET /analysis/match/{id} eller lyssna på webhook
// "analysis.completed" tills status = "succeeded".Exempel: starta en automation-körning (dry-run)
curl https://api.employex.ai/api/v1/external/automations/start \
-X POST \
-H "X-API-Key: emx_live_xxxxxxxxxxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"client_user_id": "c0ffee00-1234-5678-90ab-cdef12345678",
"dry_run": true
}'Webhooks
Registrera en endpoint via POST /api/v1/external/webhooks och välj vilka event-typer ni vill ta emot (eller * för alla). Vid registrering får ni ett signeringssecret – det visas EN gång.
| Event-typ | När den utlöses |
|---|---|
automation.started | En automation-körning har startat för en klient. |
automation.completed | En automation-körning är klar. |
automation.failed | En automation-körning misslyckades. |
application.sent | En ansökan skickades för en klient. |
analysis.completed | En asynkron CV-matchning är klar. |
webhook.test | Test-event utlöst manuellt via test-endpointen. |
Signering & verifiering
Varje leverans signeras med HMAC-SHA256. Beräkna en HMAC över strängen <timestamp>.<rå-body> med er endpoint-secret och jämför mot X-Employex-Signature. Avvisa anrop där tidsstämpeln avviker mer än 5 minuter.
POST https://ert-system.se/employex/webhook
X-Employex-Event: application.sent
X-Employex-Delivery: dlv_91ab...
X-Employex-Timestamp: 1769943240
X-Employex-Signature: sha256=9f86d081884c7d659a2feaa0...
# Verifiera: HMAC-SHA256 över "<timestamp>.<rå-body>"
# med er endpoint-secret. Tolerans: 5 min skew.Priser
Under pilotperioden är alla grenar och anrop 0 kr. Vi sätter användningsbaserade priser tillsammans med er efter piloten – kontakta oss så går vi igenom er volym.
Start
0 kr · under pilot
För utvärdering och proof of concept.
- Test-nycklar (emx_test_) utan kostnad
- 1 000 anrop/timme per nyckel
- Casey-matchning & jobbsökning i sandbox
- E-postsupport
Tillväxt
0 kr · under pilot
För KROM-leverantörer och kommuner i drift.
- Live-nycklar (emx_live_) per region (SE/FI)
- Höjd kvot enligt avtal
- AI-matchning, automation & webhooks
- Tillväxtradar-data som tjänst
- Prioriterad support
Enterprise
0 kr · under pilot
För systemleverantörer och stora upphandlingar.
- Volymrabatt & dedikerad kvot
- IP-whitelisting per nyckel
- DPA, SCC & compliance-portal
- SLA och teknisk kontaktperson
| Användning | Debiteras |
|---|---|
| AI-matchning (analysis:match) | 0 kr · under pilot |
| Automation-körning (automations:start) | 0 kr · under pilot |
| Läsanrop (clients/automations GET) | 0 kr · under pilot |
| Webhook-leverans | 0 kr · under pilot |
Under pilotperioden sommaren 2026 är alla priser 0 kr. Slutgiltig debitering och kvot fastställs i avtalet efter piloten.
Redo att bygga med Employex API?
Skapa ett konto med betalmedel för att få era API-nycklar, eller boka en teknisk demo så går vi igenom integrationen tillsammans.