Using Local Signing API for BankID

Overview

To use the API, two methods must be called. The first API method call is to trigger the signing. This will return a transaction ID value. The second API method call will poll the status of the signing. The API client must poll until a status=OK or an error is returned.

Prerequisites

- PhenixID Signing Service Local Signing API configured

- BankID client

- BankID enrolled

- If PhenixID Signing Service Local Signing API is protected with client certificate authentication: Client certificate (p12)

- If PhenixID Signing Service Local Signing API is protected with basic authentication: Username and password

Trigger signing - data to be fetched before api call

To trigger signing, the api client must fetch these values:

- Personal identification number (personnummer)

- Data to be signed that should be displayed to the user

- Data to be signed that should not be displayed to the user

For recommendations about data to be signed (displayed/not displayed), please view BankID best practices.

Trigger signing - api call

Request

Method: HTTP PUT

Endpoint: /api/sign

Headers:

Name Value
Mandatory Comment
Content-Type application/json Yes
tenant t1 Yes .Value must be given to you by PhenixID Signing Service admin, it might differ depending on the environment.
pipeID bankidsign Yes
Authorization <basic_auth_value> No If applicable, username and password must be given to you by PhenixID Signing Service admin.

Body:

The body must contains a json structure.

{
"pnr":"..",
"userVisibleData":"..",
"userNonVisibleData":".."
} 

Json structure properties:

Name Value Mandatory Comment
pnr <user personal identification number> Yes Personal identification number. 12 digits. Numbers only.
userVisibleData
<Data to be signed that will be displayed to the user in the bankid client> Yes Please view BankID documentation for recommendations.
userNonVisibleData
<Data to be signed that will not be displayed to the user in the bankid client>
No Please view BankID documentation for recommendations.

Example request (Please note that authorization data is not included in this example).

 

PUT /api/sign HTTP/1.1
Host: example.org
Content-Type: application/json
tenant: t1
pipeID: bankidsign

Cache-Control: no-cache
{
  "userid":"191212121212", 
  "userVisibleData": "This will be displayed in the bankid client",
  "userNonVisibleData": "Hidden data such as a file hash, not displayed in the bankid client" 
}

Response

Example response

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 3900
{
  "transactionID":"829b3b56-5a0a-449f-8dc8-50e6772c076f"
}

Collect signature - use transactionID

The API client must fetch the transactionID returned by the Trigger sign call.

The API client must call the Collect Signature API method periodically until it returns a status OK or an error message.

Collect signature - api call

Request

Method: HTTP PUT

Endpoint: /api/sign

Headers:

Name Value Mandatory Comment
Content-Type application/json Yes
tenant t1 Yes This value must be given to you by the PhenixID Signing Service admin.
pipeID bankidcollect Yes
Authorization <basic_auth_value> No Basic authentication username and password must be given to you by PhenixID Signing Service admin.

Body:

The body must contains a json structure.

{"transactionID":"..."} 

Json structure properties:

Name Value Mandatory Comment
transactionID <Value_returned_from_trigger_sign> Yes

Example request (Please note that authorization data is not included in this example).

PUT /api/sign HTTP/1.1
Host: example.org
Content-Type: application/json
tenant: t1
pipeID: bankidcollect
Cache-Control: no-cache
{"transactionID":"829b3b56-5a0a-449f-8dc8-50e6772c076f"}

Response

Response

The response body JSON structure properties:

 

Name Possible values Comment
status OK
PENDING
ERROR
CANCELLED
PENDING -> Continue to poll
Other status -> Stop polling
signature
The signature data. Only available if status=OK.
ocspResponse
The OCSP Response. Only available if status=OK.
name
Full name of BankID holder. Only available if status=OK.
givenName
Given name (first name) of BankID holder. Only available if status=OK.
surName
Last name of BankID holder. Only available if status=OK.
message
Error message. Only available if status=ERROR.
details
Detailed error message. Only available if status=ERROR.

Example response:

HTTP/1.1 200 OK
Content-Type: application/json
Content-Length: 390010
{
"surName" : "Landgren",
  "signature" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PFNpZ25hdHVyZSB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC8wOS94bWxkc2lnIyI+PFNpZ25lZEluZm8geG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiPjxDYW5vbmljYWxpemF0aW9uTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvVFIvMjAwMS9SRUMteG1sLWMxNG4tMjAwMTAzMTUiPjwvQ2Fub25pY2FsaXphdGlvbk1ldGhvZD48U2lnbmF0dXJlTWV0aG9kIEFsZ29yaXRobT0iaHR0cDovL3d3dy53My5vcmcvMjAwMS8wNC94bWxkc2lnLW1vcmUjcnNhLXNoYTI1NiI+PC9TaWduYXR1cmVNZXRob2Q+PFJlZmVyZW5jZSBUeXBlPSJodHRwOi8vd3d3LmJhbmtpZC5jb20vc2lnbmF0dXJlL3YxLjAuMC90eXBlcyIgVVJJPSIjYmlkU2lnbmVkRGF0YSI+PFRyYW5zZm9ybXM+PFRyYW5zZm9ybSBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDEvUkVDLXhtbC1jMTRuLTIwMDEwMzE1Ij48L1RyYW5zZm9ybT48L1RyYW5zZm9ybXM+PERpZ2VzdE1ldGhvZCBBbGdvcml0aG09Imh0dHA6Ly93d3cudzMub3JnLzIwMDEvMDQveG1sZW5jI3NoYTI1NiI+PC9EaWdlc3RNZXRob2Q+PERpZ2VzdFZhbHVlPmZQSVQ1TzVSZDJHMmM0cTF3a25uZDJMTHVkOE1mR3pXK1d3b3FlS3FyVkU9PC9EaWdlc3RWYWx1ZT48L1JlZmVyZW5jZT48UmVmZXJlbmNlIFVSST0iI2JpZEtleUluZm8iPjxUcmFuc2Zvcm1zPjxUcmFuc2Zvcm0gQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy9UUi8yMDAxL1JFQy14bWwtYzE0bi0yMDAxMDMxNSI+PC9UcmFuc2Zvcm0+PC9UcmFuc2Zvcm1zPjxEaWdlc3RNZXRob2QgQWxnb3JpdGhtPSJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGVuYyNzaGEyNTYiPjwvRGlnZXN0TWV0aG9kPjxEaWdlc3RWYWx1ZT5xbWthSi9UQzAyY3lyakdBdk5hSyt3YW8yRXpOSnVZaUZmK09VWnAwRzhJPTwvRGlnZXN0VmFsdWU+PC9SZWZlcmVuY2U+PC9TaWduZWRJbmZvPjxTaWduYXR1cmVWYWx1ZT5sUlZXZFJRZC9GUzVrbjhhcGExcE9weUlmWThyS1ZtRGxCb1hEWnRxZDlTMHlVSXhVYnlZbUFtNmdkQmN1UFh4YlRMSDk2UFExTWwrbVRNU0swLzlzTmUvcFI4V1VlVWhjS21GdFhUT21OcStmSDdmUHhxb01mbXhob3B6ak1DeFlaSXFoM1lDMVhDZGhqOTQ5RVBIMER3K29UcldwY3Q2am9zRmx4VlVFeklOa0ZnRTVxd1c0V3pvSmhWdk1PaUd4MmJxSHZEa0lNbTNWNUp4TjNNT3VrMTBhR0NyYzJYM3hnWVBoMnBjUWs1b1J2bVA4RTlyT083MlNrZ2lZcVVCbi9nMDJSbWlmMTJIbkwyOE9qeGVMb0ZBNm9jMDVocVNQSnh3a2o1bk5vUGRQaGhZTXRiWnBoSEZERHRMKzB6VGxtS0pzTy9SNEFueC9hemVBK29saGc9PTwvU2lnbmF0dXJlVmFsdWU+PEtleUluZm8geG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvMDkveG1sZHNpZyMiIElkPSJiaWRLZXlJbmZvIj48WDUwOURhdGE+PFg1MDlDZXJ0aWZpY2F0ZT5NSUlGV2pDQ0EwS2dBd0lCQWdJSU5uaVoxcCs3b3ZFd0RRWUpLb1pJaHZjTkFRRUxCUUF3ZURFTE1Ba0dBMVVFQmhNQ1UwVXhIVEFiQmdOVkJBb01GRlJsYzNSaVlXNXJJRUVnUVVJZ0tIQjFZbXdwTVJVd0V3WURWUVFGRXd3eE1URXhNVEV4TVRFeE1URXhNekF4QmdOVkJBTU1LbFJsYzNSaVlXNXJJRUVnUTNWemRHOXRaWElnUTBFeElIWXhJR1p2Y2lCQ1lXNXJTVVFnVkdWemREQWVGdzB4TnpBeU1qTXlNekF3TURCYUZ3MHhPVEF5TWpReU1qVTVOVGxhTUlHNE1Rc3dDUVlEVlFRR0V3SlRSVEVkTUJzR0ExVUVDZ3dVVkdWemRHSmhibXNnUVNCQlFpQW9jSFZpYkNreEVUQVBCZ05WQkFRTUNFeGhibVJuY21WdU1RNHdEQVlEVlFRcURBVlNaV2x1WlRFVk1CTUdBMVVFQlJNTU1Ua3hNakV5TVRJM056Y3hNVGN3TlFZRFZRUXBEQzRvTVRjd01qSTBJREV4TGpVeEtTQlNaV2x1WlNCTVlXNWtaM0psYmlBdElFSmhibXRKUkNCd3c2VWdabWxzTVJjd0ZRWURWUVFEREE1U1pXbHVaU0JNWVc1a1ozSmxiakNDQVNJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dFUEFEQ0NBUW9DZ2dFQkFLNm1yZXBCZnZ0V2d2ZEZVY0dBVDR1S3kzSUNlVkI4eGZzcjZ3cW9KR0RCRk1xTlRUWmJWZXpDL01kK0o4dCs0NTN1cFpYVjZHc2ZFSzdFZFZkSlRuT0VYS1dlakppTVNsQmh6MGtXaEQvNnhmeVpDR0gzUysydkIxVFErUWhUQlhiZXJpRGp4YUxzcko5RUtnQ0d4b0ExSHNvNStnNUk1bDE2UXA1NW1CWlA2MVMxWll4QnhuWFB2WFByQVZmQkJuZCt0Qmt5MWpGRG1OUytqSXhNeVA2MGwxQUFVZnNEWGFlU2xxdk9kN2lEZEhLYWp4YWgxMkY1VXEwZVQvUVU2MlBQMmoyUFdCQkV0OHBVL3krSWVRTjEwekphdTZ3cUtzSzROdUV2amxyL3JacmZNejVSNDVwQ3M1a1VEa1JJMHZCMUdlY0pkdUVOMlNva1NYeU5rWGNDQXdFQUFhT0JwakNCb3pBK0JnZ3JCZ0VGQlFjQkFRUXlNREF3TGdZSUt3WUJCUVVITUFHR0ltaDBkSEE2THk5amNHRmpkQzUwWlhOMExuQnJhWE5sY25acFkyVnpMbU52YlM4d0VRWURWUjBnQkFvd0NEQUdCZ1FxQXdRRk1BNEdBMVVkRHdFQi93UUVBd0lHUURBZEJnTlZIUTRFRmdRVVR3NFlVTEdvck15QzlKdG5rek9wbWx1ZjFzSXdId1lEVlIwakJCZ3dGb0FVWUhwOXAxbURqSitrc1JmcURVTkRsVVBtbWYwd0RRWUpLb1pJaHZjTkFRRUxCUUFEZ2dJQkFHSXA3M2FvRFBlQ0x2VTR5d0hUK3U5d2o2OFBwTWdMcGZVeUdId2NFMFdRZTVHTE44MUlWZUIyRXhuNS9SUVErY1RERXhPSWNaOG8xdzZDTCtRUktNeDIzcDIwczVHV0FaTXdzNUt2emZDK0dBWHo0SlBlY0RwTDJoZ3FPOFB4b0szeVdoelByZ3JWYnp5VDJlSmk5MWJpNXdLcEZ4MjRFdDZ3MlJJR1pqbVFSUEQyVFdVRUhKS0tPOUdScWRjOERsa2RCdDdiOXhEQ3JCRmRaeUlDK0h3c0hPTWhETHJjSkpXdVU5ZVljWm14STRIQm0xTituUktrVy9UKzB4QkwxbG1NRlhZbGZqdWVpS29JU3ZLZkRKNjFGVmw4eElhTi9IajJDYVBnSEpBK01SN2U3UThkcDJmdCtaOHVYbXFlZ0JHSmw0SWQ2RWZLTndybG1QTkQ0UmtKYWg5OElOZXVJbExqVVFMSHJkNHE4cTkycnZ1NXBiMlhOazFTVGJncjFlVkQ4S2xGak4rVmZFRndJMXN5b1ZXdWtGVjYyY2hQeTl0ck0rZk8rMEVqc2JjS1lEYlV3MlFlVnl3VU4zZkN0Qm01MjZLa1VWWXFibnc3R2RkNlRxRElhV0JNTUxtZzFIRG9Bb2pWdjhjN20wMnJYZzIyenBzYUJJNnhkUjNobW9XbWdBVk84N0VGMDB5d2hvbk41WlBPbG10clpWdFh1M1FXOFV5c1NkS3paWE5TNkxZL3Vaai9JOWNiZlkxMmJ1cllhME82c2ZKYllRNldaUFBsaW9OK2JGV0x0TVREMW9rQ1BFQkFRUXNHcEFESnJKMEpJZ3ozczhvN2VsUHkrTFlEMEpDSTBJTHZhMm1VSXA2Y2VmNDQ1UG53elJPb2E2MWdaS0VPM2R6RzwvWDUwOUNlcnRpZmljYXRlPjxYNTA5Q2VydGlmaWNhdGU+TUlJRjNqQ0NBOGFnQXdJQkFnSUlGblpWeWVobVhZd3dEUVlKS29aSWh2Y05BUUVOQlFBd2JqRUxNQWtHQTFVRUJoTUNVMFV4SFRBYkJnTlZCQW9NRkZSbGMzUmlZVzVySUVFZ1FVSWdLSEIxWW13cE1SVXdFd1lEVlFRRkV3d3hNVEV4TVRFeE1URXhNVEV4S1RBbkJnTlZCQU1NSUZSbGMzUmlZVzVySUVFZ1EwRWdkakVnWm05eUlFSmhibXRKUkNCVVpYTjBNQjRYRFRFeE1Ea3lNakUwTWpFeE5Gb1hEVE0wTVRJd01URTBNakV4TkZvd2VERUxNQWtHQTFVRUJoTUNVMFV4SFRBYkJnTlZCQW9NRkZSbGMzUmlZVzVySUVFZ1FVSWdLSEIxWW13cE1SVXdFd1lEVlFRRkV3d3hNVEV4TVRFeE1URXhNVEV4TXpBeEJnTlZCQU1NS2xSbGMzUmlZVzVySUVFZ1EzVnpkRzl0WlhJZ1EwRXhJSFl4SUdadmNpQkNZVzVyU1VRZ1ZHVnpkRENDQWlJd0RRWUpLb1pJaHZjTkFRRUJCUUFEZ2dJUEFEQ0NBZ29DZ2dJQkFJVzBEUG9wTEVodGF3VlJ3TnJFNDMxR1ZzaC9IbldWc1hkZ09qelVzRDdRRDMwL3RmT0hST1FpOW5MdURXa1kxZkVVeFowNllxNUx0Uk9vRnBrVFE2U1JpMlJnaVVrdUNOcU1Fd3NqMmVpYTdLaFlSSWsvWEpra0ZwMUJ2RTYySTYzdnRVelp6UzY5SEFzTU5QbGZkTFUycElaMkFuZDJRSjJkQzB4aW1tRmpZNWs1L3o3L05rM0pHQmJheExIL1g2emhjTnFPcHIyU3J2OUcrbGsrR3Z5N2hRTEltTkxSVis0RzNtYWxIajZRTSt3RGNSS3ZUNFYraVJkdnpQOW84MDMvZytHTDVxaXVmVzZSZFQrMmx3R2lmUDJkM3N1TDc5dUdXMUhPOHFiaWkvaTRIVHhEZnRLZFhGc2xGclhmUisrUVVVNEIrdjZReWI0ckYzcWhEZmVha2dmTDh1emZ0TXRUTVJsb3d4SWIwOGp4Q2VoQ1NhWTBDTUJIUVRTMEx0WDFDL1ZqTTZVYmJwU2EyODB6U0wreFhsUzdTNzI3c0pCNzIyZnpXUjMvTlNwM01aVGJFMFFBcU1URU5ZNHBmd2MvbFh3Vm44VHZBTncxRkl4RTdpa3dJQk1GU282ZVgyVUREejlhaTZkelJyWWZ0STQ0RXRMVHYzS1Y1VURXY0lic1JCdmxnQlFxcXVwaGN1UlZ2MWE2WG85eGVIMitvK0Jzcitzb3VtaUM2eklGdVV1QnhCNHVxc1NxZVZRRmtJYWVwaW53aFg1Q0pCWkxjT1JhTVpGNkkxa0d2RURaT1ZZWE9FdDlQV2cvU3NTY0dNK3NmMjUxMEd6MGYyb21Rak9MNUJlemRZWUtOQXd6aXo5VTFJcjFWcHZ6a0pGNFNBM1cwNWNtampLWkFnTUJBQUdqZGpCME1CMEdBMVVkRGdRV0JCUmdlbjJuV1lPTW42U3hGK29OUTBPVlErYVovVEFQQmdOVkhSTUJBZjhFQlRBREFRSC9NQjhHQTFVZEl3UVlNQmFBRktQeWVIa2RLMFdLeWVIS2xRbmxubS9PeTA3Rk1CRUdBMVVkSUFRS01BZ3dCZ1lFS2dNRUJUQU9CZ05WSFE4QkFmOEVCQU1DQVFZd0RRWUpLb1pJaHZjTkFRRU5CUUFEZ2dJQkFEeGh5eldTem9reUcraFVDcDNVZzdRWnhiTUxLKzZJWXArOGFjUnVUU0ZmcjVtYUgzTXJ5ZDg3L0IyeTlLM2ZXK0ZYUUxwZGhWSG92S0pPQVF5di90M0NBNjJaR3J6aEFYR3FDY1I5U240NGVjS1JKUEU5WkpiemFsbzR3dEtSVXYwNFcyWmdGdW5ZVE41NVRzTm4zYkd6Y0lpQWRkTXE5VE1Ld0lqbDZwNWk2b0lqQW10OS83NVFmN3FRLzF4MjBFVWRzdis4UVBJcDF2bEI4dkF6QXRvKzhiWkZDUnNkTVZMUlJrOTZDb1M1M3Y0YURZWUFNeG1zVGJndkxxVlU1L0NOZlZFZ1ZlU3BGVlN6NmZsYkZNQlpkNUxPUGdsaS9sUko3Rldld1F2clphS2dmSmdkbVVVdkNwaTBlRCsvS0Juc0VKTGJoZG5LL0IraVRvNEE2QndvUis5WGhPUXlOTVRCL1NEdFNZY3pKMzV2RmhaZktKNS8wcHNxWFNKSC8yNXdBNHBlLzM0RVJ6UTFtZ2xhZHQ2Sk9obldmOTJKdzVqZHc3QkZwdGc3bG1Ja0R5WURVKzZSeUVzQXJDaWJJKzI4eUY1L2ZDWkN1VWR3RHc5aUhwb29kZjFoOHQxZ2ZQbm5ta2N3R1RmUGcvZHVVZ2tGd0tZOTdTemZaZ1IwMmhkN3h4bzVwSzc5Y3ppbU1GMkdURnc5U1dTbmxaSzcxZm9ZMjVGelNVSE5tdUdIaEZ6Rzk4QUZJdDBWTHdpVGo4dEplU2pUaTQxaWYyMzd2RE52c2VwdCs4L3R0ODAvZjQ1S3pQTmZXVUIwNi9GR3Iwd2ZvWWdacDRQaTlSUlRYekRhZndqN3FMZHVhZXBSckxjRVVwWFdDR3J1U1V5bHh4Q2hkQlR3VnpabjwvWDUwOUNlcnRpZmljYXRlPjxYNTA5Q2VydGlmaWNhdGU+TUlJRjB6Q0NBN3VnQXdJQkFnSUlVWW1mZHRxdHk4MHdEUVlKS29aSWh2Y05BUUVOQlFBd2JURWtNQ0lHQTFVRUNnd2JSbWx1WVc1emFXVnNiQ0JKUkMxVVpXdHVhV3NnUWtsRUlFRkNNUjh3SFFZRFZRUUxEQlpDWVc1clNVUWdUV1Z0WW1WeUlFSmhibXR6SUVOQk1TUXdJZ1lEVlFRRERCdFVaWE4wSUVKaGJtdEpSQ0JTYjI5MElFTkJJSFl4SUZSbGMzUXdIaGNOTVRFd09USXlNVFF4TlRBeldoY05NelF4TWpNeE1UUXdNVE16V2pCdU1Rc3dDUVlEVlFRR0V3SlRSVEVkTUJzR0ExVUVDZ3dVVkdWemRHSmhibXNnUVNCQlFpQW9jSFZpYkNreEZUQVRCZ05WQkFVVERERXhNVEV4TVRFeE1URXhNVEVwTUNjR0ExVUVBd3dnVkdWemRHSmhibXNnUVNCRFFTQjJNU0JtYjNJZ1FtRnVhMGxFSUZSbGMzUXdnZ0lpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElDRHdBd2dnSUtBb0lDQVFDVHFVN3V4azVRemJYUzZBclhJR1RXTmVaWHo2NWJ6ZGdveGI3OUx2WWgvcDdrY0syNW1BMnR6R3BPM1FTMWVLSkp1ODRHOVVOem00bU1sNmNuZ25YY2p4RVRZaUVxdGlqckE1bWZ6ODY1L1g2VWdPcFg3RGtvdVE4ZDVlRHloSjQ5VXJEcWxyZ29WTXgzMjJrTTBTWjRoZVZlWDgzZTFJU0ZpeXhxWkJLeGgyNXlLWUVaQTRFeklyRGoydGk4Q1JyV1BIQ1RXYUlGcGNkNVR5TWhwVVRQbjREendQaFBHV01STnhnT0FlUDRCU0RCN1I2YXo0cm94N1RQa2Qyc1dHMU9Eai8wSVJQaEpTMWRRMUI3UWlOSFk1OFJqbk5UaEVRS3dkV1dNUE1LUHRoU2QrR0VqTDlHRGFmWXhPc0lyS0ZZd2xZTkJXM0M1bWJlM1QrM2orQXhqNlcySGJnbUpYUEdJdEx1Y3hZMWtQd1Q5TDd1NW5JeGFST21oMXVUd1lxcjlwdUdxNnNvSm5nZ0VTM0s0UEloTTZrYW12bkNDUFhvcVdDQ3J1U0VQVmd5RVpFaTBzaHkrODFRc2ViMWdjOXJZZ1ZyRW5MQk9JeU1xYVR0RXhhRnByWWJ2MWYvQXdXdGpGVWkyWGlTZE44YU1wK2txYmkrMXRLSlVVUExDK0NyZHU5ZkZvLzhsc2xTZGV3K1NuUFZGZVZ6NUNPS2J0NkdURTR4Y0plUnpXNXdRMHc3YityR0xXaEp2d1JKc1M1R1h2cWEzTGc4RXlXaUxKc3d1VEZhRXdQVUR2WkJ2eUZaRVplcnRLZ1piUll2ZXpvOS9ncnd5Qittb3JWckxyeXU5Y2hZRVl3RTU1MHV6eUt0elhVenlnVjhGcFhlOURwbXBPU2ZHTUFVUlFJREFRQUJvM1l3ZERBZEJnTlZIUTRFRmdRVW8vSjRlUjByUllySjRjcVZDZVdlYjg3TFRzVXdEd1lEVlIwVEFRSC9CQVV3QXdFQi96QWZCZ05WSFNNRUdEQVdnQlJLOTZOcUNOb0lPQmNaVXlqSTJxYldOTmhhdWpBUkJnTlZIU0FFQ2pBSU1BWUdCQ29EQkFVd0RnWURWUjBQQVFIL0JBUURBZ0VHTUEwR0NTcUdTSWIzRFFFQkRRVUFBNElDQVFEUDFEb3hqRWpleUcyN3hlYWkrbXB4eEpvcUIxUkRWVEVZODZSZE55bHVVS1FPSWJmS0pNbVgrRFg0dlR1VVFTMzUzOXh6SEt3cGo2Z2sraVpWakYxVW9KdEdwK3F1cmpqYXJPaDQ0cysrczB5V0tpS3JKQkVsb0puOG8rWVhGVDhDN2UxV3RxSlZvYUZkREJDdm9oSnlLMjBQS1M3L25VRzViN0o2aXEzNTE3WXZqYjREOTRMdDBkSE5TZ0QyQklJSG1Oa3BTWVdneWkxc2VhdmhONUFqdGZKcjRwMTAxdTJTc05jTEFyNDJBNWZyYW45dkwyOUhqYU0yTVRVOEwwT3hvSVg4bGdjcFV5OXdjaTdsSFFLT2l3YU9jSUtmQ0MxcU03bE81ejBjNFArbzB6VDYxODN4SlYzcm13MjJHR1lkNDBFQnFXOTdvcUJLMElqK0tsNXN1eWNaNEoycUsxYVZjaVlCWnNCTmxidG16L2s4SHVCeHk5V2JFZVBzWS82MUk1MGZCTFNBa1ZrL1RlYTRqK05OSEoxaW1wN0JvMThhTG84cGxiOWUyaVplSUR6SDF1NjZvMFJGWWJIZG5KRDhDblBlQkxWZ1N2RXFtQlMxMWZnSHI4MS90azVsSnhjS2VqZHNFZnR6R1F4d3VIdy9wamtqb2JJa3hycm9YcGE2aVhva1Z5SDRiZTE2K2YvZERhRWtoOVJmOExoMVVFUVB4eHBDeUlTTWlmSDVwTDc4REtoR25oOFZmaTdFZXNVVjFrNlkzZVZDRncyQ0NLV2N2WHNKYjlRcUxGc0RxSWxXUGg2YkJnTTRhWGZwZTBhckRyZ1lSYmJ4OEw2b3VoeXhBSHdqdHo5aTBsWGV6V01YNWY3UVlSRU1UQzV5QlBOVFRQMmZDTnNvelE9PTwvWDUwOUNlcnRpZmljYXRlPjwvWDUwOURhdGE+PC9LZXlJbmZvPjxPYmplY3Q+PGJhbmtJZFNpZ25lZERhdGEgeG1sbnM9Imh0dHA6Ly93d3cuYmFua2lkLmNvbS9zaWduYXR1cmUvdjEuMC4wL3R5cGVzIiBJZD0iYmlkU2lnbmVkRGF0YSI+PHVzclZpc2libGVEYXRhIGNoYXJzZXQ9IlVURi04IiB2aXNpYmxlPSJ3eXNpd3lzIj5WR2hwY3lCcGN5QjBhR1VnWkdGMFlTQjBieUJpWlNCemFXZHVaV1FoSVE9PTwvdXNyVmlzaWJsZURhdGE+PHVzck5vblZpc2libGVEYXRhPlZHaHBjeUJwY3lCMGFHVWdhR2xrWkdWdUlHUmhkR0VoSVE9PTwvdXNyTm9uVmlzaWJsZURhdGE+PHNydkluZm8+PG5hbWU+WTI0OVJsQWdWR1Z6ZEdObGNuUWdNaXh1WVcxbFBWUmxjM1FnWVhZZ1FtRnVhMGxFTEhObGNtbGhiRTUxYldKbGNqMHhNak0wTlRZM09DeHZQVlJsYzNSaVlXNXJJRUVnUVVJZ0tIQjFZbXdwTEdNOVUwVT08L25hbWU+PG5vbmNlPjhPeVRsQXVVT0tUUzNZcDNrVjg0OFZNT1VCVT08L25vbmNlPjxkaXNwbGF5TmFtZT5WR1Z6ZENCaGRpQkNZVzVyU1VRPTwvZGlzcGxheU5hbWU+PC9zcnZJbmZvPjxjbGllbnRJbmZvPjxmdW5jSWQ+U2lnbmluZzwvZnVuY0lkPjx2ZXJzaW9uPlVHVnljMjl1WVd3OU55NHhMakF1TWpBbVFtRnVhMGxFWDJWNFpUMDNMakV1TUM0eU1DWkNTVk5RUFRjdU1TNHdMakl3Sm5Cc1lYUm1iM0p0UFcxaFkyOXplQ1p2YzE5MlpYSnphVzl1UFRFd0xqRXdKblZvYVQxbmNqZEtTR0oyVldkT1kycDFOamxHZEVOa0x6RjNlVlYwYlhCUUpteGxaMkZqZVhWb2FUMW5jamRLU0dKMlZXZE9ZMnAxTmpsR2RFTmtMekYzZVZWMGJYQlFKbUpsYzNSZlltVm1iM0psUFRFME9UYzJPVEUyTkRNbTwvdmVyc2lvbj48ZW52PjxhaT48dHlwZT5UMU5mV0E9PTwvdHlwZT48ZGV2aWNlSW5mbz5NVEF1TVRBPTwvZGV2aWNlSW5mbz48dWhpPmdyN0pIYnZVZ05janU2OUZ0Q2QvMXd5VXRtcFA8L3VoaT48ZnNpYj4wPC9mc2liPjx1dGI+Y3MxPC91dGI+PHJlcXVpcmVtZW50Pjxjb25kaXRpb24+PHR5cGU+Q2VydGlmaWNhdGVQb2xpY2llczwvdHlwZT48dmFsdWU+MS4yLjMuNC41PC92YWx1ZT48L2NvbmRpdGlvbj48L3JlcXVpcmVtZW50PjwvYWk+PC9lbnY+PC9jbGllbnRJbmZvPjwvYmFua0lkU2lnbmVkRGF0YT48L09iamVjdD48L1NpZ25hdHVyZT4=",
  "ocspResponse" : "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",
  "givenName" : "Reine",
  "name" : "Reine Landgren",
  "status" : "OK"
}

Common errors

Common errors will result in a HTTP Status 500 with a body containing the error message:

{”message”:”<error explained>”}