Delegere rolle på vegne av innbygger

Denne siden beskriver bruk av Altinn’s tjenesteeier API, hvor tjenesteeier kan opptre som autorisasjonskilde for spesifikke forhold hvor brukeren selv kanskje ikke har tilgang til Altinn for å utføre delegering av en rolle.

APIet krever en API nøkkel i Altinn med tilgang til ServiceOwner API ressursen samt at tjenesteier autentiserer seg gjennom maskinporten og der har tilgang til scopet: altinn:serviceowner/delegations.write

Det er for nå begrenset til delegering av rollen; A0282 - Skatteforhold for privatpersoner, men dette kan utvides etter hvert som nye behov skulle dukke opp.
For å finne RoleDefinitionId for rollen man skal delegere må det gjøres oppslag til RoleDefinitions APIet: GET serviceowner/roledefinitions

Delegere rolle

Delegering av en rolle på vegne av en person {onBehalfOf} til en annen person eller organisasjon i Altinn.

POST https://www.altinn.no/api/serviceowner/delegations/roles/?onBehalfOf={SSN/Dnumber}
Content-Type: application/hal+json
ApiKey: myKey
Authorization: Bearer eyJhbGci...

Eksempel på body for delegering hvor mottaker er en annen bruker i Altinn:

{
    "Type": "Email",
    "Email": "username@domain.com", // Optional if the SocialSecurityNumber has a registered email address in the common contact register, otherwise required. Used for notifying the recipient of the delegation.
    "SocialSecurityNumber": "SocialSecurityNumber",
    "LastName": "SSN_LastName", // Must match last name of SocialSecurityNumber in the National Registry
    "_embedded" : {
        "Roles" : [{
            "RoleDefinitionId": 12345 // RoleDefinitionId can be found using api/serviceowner/roledefinitions
        }]
    }
}

Eksempel på body for delegering hvor mottaker er en organisasjon i Altinn:

{
    "Type": "Email",
    "Email": "post@domain.com", // Required. Used for notifying the recipient of the delegation.
    "OrganizationNumber": "OrganizationNumber",
    "Name": "OrgName", // Must match the organization name from the Register of Legal Entities
    "_embedded" : {
        "Roles" : [{
            "RoleDefinitionId": 12345 // RoleDefinitionId can be found using api/serviceowner/roledefinitions
        }]
    }
}

Eksempel på mulige responser

201 Created: Rollen ble delegert 401 Authorization failed: There is no authenticated organization number set on this request: Manglende token fra maskinporten på request 401 IDX10223: Lifetime validation failed. The token is expired. ValidTo: {timestamp}, Current time: {timestamp}: Token oppgitt er utløpt 401 Claims Authorization failed: Missing required scope: Gyldig token men tjenesteeier mangler tilgang til nødvendig scope i maskinporten 403 {Feilmelding}: Valideringsfeil for request modellen. Se ReasonPhrase på http responsen for feilmelding

Trekke rolle

Roller en tjenesteeier selv har delegert på vegne av en bruker, vil de også kunne trekke tilbake. For å finne rolle id for tjenesteeierens egne delegeringer kan man benytte Roles APIet: Hente liste over roller, og filtrere resultatet på Delegator property i rolle modellen.

DELETE https://www.altinn.no/api/serviceowner/delegations/roles/{id}
ApiKey: myKey
Authorization: Bearer eyJhbGci...

Tekniske detaljer

De utfyllende tekniske detaljene finnes under API-dokumentasjonen på altinn.no

API dokumentasjon

POST serviceowner/delegations/roles/?onBehalfOf={SSN/Dnumber}

DELETE serviceowner/delegations/roles/{id}