> [!NOTE]
> This product will be updated and replaced soon
# BankID Norway Sign
The **signdoc/PAdES API** facilitates electronic signing in compliance with the PAdES standard.
This API extends the functionality of the **BankID -no authentication** product, enabling secure and reliable document signing.
Using this API, you can sign either a PDF document or a **[Base64-encoded document](https://base64.guru/)** seamlessly.
## API documentation
## Create a new session for the PAdES electronic signing:
`POST` to
**Test environment:** https://test-gateway.zignsec.com/core/api/sessions/digital_signatures/bank_id_norge_pades
**Production environment:** https://gateway.zignsec.com/core/api/sessions/digital_signatures/bank_id_norge_pades
### Request example
``` http
POST https://test-gateway.zignsec.com/core/api/sessions/digital_signatures/bank_id_norge_pades
Content-Type: application/json
Authorization: 12345678-YOUR-ACCESS-TOKEN-5352305c9fb0
Content-Length: 725
```
``` json
{
"locale": "En",
"metadata": {
"documents": [
{
"description": "My File",
"end_user_only": true,
"end_user_seal_position": {
"page": 0,
"x": 0,
"y": 0
},
"file": "JVBERi0xLjcKCjEgMCBvYmogICUgZW50cnkgcG9pbnQKPDwKICAvVHlwZSAvQ2F0YWxvZwogIC9QYWdlcyAyIDAgUgo+PgplbmRvYmoKCjIgMCBvYmoKPDwKICAvVHlwZSAvUGFnZXMKICAvTWVkaWFCb3ggWyAwIDAgMjAwIDIwMCBdCiAgL0NvdW50IDEKICAvS2lkcyBbIDMgMCBSIF0KPj4KZW5kb2JqCgozIDAgb2JqCjw8CiAgL1R5cGUgL1BhZ2UKICAvUGFyZW50IDIgMCBSCiAgL1Jlc291cmNlcyA8PAogICAgL0ZvbnQgPDwKICAgICAgL0YxIDQgMCBSIAogICAgPj4KICA+PgogIC9Db250ZW50cyA1IDAgUgo+PgplbmRvYmoKCjQgMCBvYmoKPDwKICAvVHlwZSAvRm9udAogIC9TdWJ0eXBlIC9UeXBlMQogIC9CYXNlRm9udCAvVGltZXMtUm9tYW4KPj4KZW5kb2JqCgo1IDAgb2JqICAlIHBhZ2UgY29udGVudAo8PAogIC9MZW5ndGggNDQKPj4Kc3RyZWFtCkJUCjcwIDUwIFRECi9GMSAxMiBUZgooSGVsbG8sIHdvcmxkISkgVGoKRVQKZW5kc3RyZWFtCmVuZG9iagoKeHJlZgowIDYKMDAwMDAwMDAwMCA2NTUzNSBmIAowMDAwMDAwMDEwIDAwMDAwIG4gCjAwMDAwMDAwNzkgMDAwMDAgbiAKMDAwMDAwMDE3MyAwMDAwMCBuIAowMDAwMDAwMzAxIDAwMDAwIG4gCjAwMDAwMDAzODAgMDAwMDAgbiAKdHJhaWxlcgo8PAogIC9TaXplIDYKICAvUm9vdCAxIDAgUgo+PgpzdGFydHhyZWYKNDkyCiUlRU9G",
"merchant_seal_position": {
"page": 0,
"x": 0,
"y": 0
}
}
],
"pades_sign_properties": {
"add_visual_seals": true
},
"result_content": [
"PadesSignedPdf"
],
"sign_properties": {
"document_display_mode": "Interior",
"order_name": "My Order Name",
"show_confirmation": true,
"show_understanding": true,
"timeout_seconds": 0
}
},
"redirect_failure": "https://my_failure_url.com",
"redirect_success": "https://my_success_url.com",
"relay_state": "my-unique-customer-id",
"webhook": "https://my_webhook_url.com"
}
```
### Request Parameters
|Parameter|Description|Required|
|---|---|---|
|`Locale`|country example : En, SE etc||
|`End user seal position`|Page number, X and Y axis position|**No**|
|`file`|PDF document or base-64 encoded document.|**Yes**|
|`Document display mode`|Interior, Overlay, Window|No|
|`Order name`|File reference name||
|`Merchant seal position`|Page number, X and Y axis position|No|
|`Result content`|PadesSignedPdf, DocumentHash and PadesAppendix|No|
|`Add visual seals`|seal visible after sign in completed if it’s true||
|`Show confirmation`|Show confirmation visible after sign in if it’s true||
|`End user only`|End user seal only visible if it’s true else end user and Bankid seal visible||
|`relay_state`|Optional Custom Parameter to be included in webhook calls|No|
|`Redirect failure`|targetError works as `target` except it is navigated on user cancel or error situations.|No|
|`Redirect success`|If this parameter is supplied the browser session will finally be redirected to this URL-value.|No|
|`webhook`|A webhook in web development is a method of augmenting or altering the behavior of a web page or web application with custom callbacks|No|
### Response example
```json
{
"data": {
"errors": [],
"id": "03b3401d-76c7-4dbf-8099-b0d24d93d952",
"redirect_url": "https://auth.current.bankid.no/auth/realms/current/precheck/auth?scope=openid+sign&sign_id=78113a7e-a21e-4c97-8775-94923bc33a3b&client_id=zignsec-current&redirect_uri=https://test-gateway.zignsec.com/integrations/redirects/v1/eid/signing/no/bankid/pades&response_type=code&state=03b3401d-76c7-4dbf-8099-b0d24d93d952&nonce=2796eecf-7a91-42e5-a54b-fce144fccdb7",
"status": "SigningInProcess"
}
}
```
### Response Parameters
| | |
|---|---|
|`errors`|A JSON object that contains information on error conditions that might have resulted from the request, in an array of property-value pairs. If multiple errors occur, a pair of parameters is returned for each error. code Code for the error. List of codes is in table below. description A string that describes the type of error that occurred. If no errors occur, then this object is empty. errors : []|
|`id`|A unique session identifier generated for each workflow instance.|
|`redirect url`|redirect url with unique session id|
|`status`|SigningInProcess,<br><br>Sign Completed, Failed|
## GET session results by Session Id
https://test-gateway.zignsec.com/core/api/sessions/{{sessionId}}
https://gateway.zignsec.com/core/api/sessions/{{sessionId}}
### Response example
```json
{
"data": {
"errors": [],
"id": "ffbae93c-34d7-43ad-8b1a-f5f71441ad3a",
"result": {},
"status": "SignCompleted",
"uploadedDocuments": [
{
"contentType": "application/octet-stream",
"documentId": "eeea1988-f240-4a77-8d8e-32fa5f42f018",
"documentOptions": {
"description": "My File",
"endUserOnly": true,
"endUserSealPos": {
"page": 0,
"x": 0,
"y": 0
},
"merchantSealPos": {
"page": 0,
"x": 0,
"y": 0
}
}
}
]
}
}
```