Changes for page account-onboarding
Last modified by Pablo Vivar-Gonzalez on 2026/06/03 15:40
From empty
To version 87.1
edited by Pablo Vivar-Gonzalez
on 2026/06/03 15:37
on 2026/06/03 15:37
Change comment: There is no comment for this version
Summary
-
Page properties (6 modified, 0 added, 0 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,0 +1,1 @@ 1 +account-onboarding - Parent
-
... ... @@ -1,0 +1,1 @@ 1 +Main.WebHome - Author
-
... ... @@ -1,1 +1,1 @@ 1 - XWiki.XWikiGuest1 +xwiki:XWiki.PabloVivarGonzalez - Default language
-
... ... @@ -1,0 +1,1 @@ 1 +en - Tags
-
... ... @@ -1,0 +1,1 @@ 1 +px-custom-page-content - Content
-
... ... @@ -1,0 +1,2121 @@ 1 +== 1. Offers == 2 + 3 + 4 +List all offers 5 + 6 +==== 1.1 Get list of Offers ==== 7 + 8 +{{code language="http" title="**Request**"}} 9 +GET /ledger/account-onboarding/v1/{ownerNo}/offers HTTP/1.1 10 +Host: - 11 +Authorization: Bearer<Token> 12 +Content-Type: application/json 13 + 14 +{{/code}} 15 + 16 +Example of response on successfully retrieved offers 17 + 18 +{{code language="http" title="**Response**"}} 19 +HTTP/1.1 200 OK 20 +Content-Type: application/json 21 + 22 +{ 23 + "items": [ 24 + { 25 + "accountProfile": "kontotyp-1", 26 + "title": "kontotyp 1", 27 + "currency": "SEK", 28 + "maxCreditLimit": 50000.00, 29 + "reminderFee": 35.00, 30 + "penaltyInterestRate": 18.00, 31 + "termsAndConditions": { 32 + "standardEuropeanAgreements": "https://www.payex.com/term-and-conditions/no/-----.pdf", 33 + "accountTerms": "https://www.payex.com/term-and-conditions/no/-----.pdf" 34 + }, 35 + "operations": [] 36 + }, 37 + { 38 + "accountProfile": "kontotyp-2", 39 + "title": "kontotyp 2", 40 + "currency": "SEK", 41 + "maxCreditLimit": 50000.00, 42 + "reminderFee": 35.00, 43 + "penaltyInterestRate": 20.00, 44 + "termsAndConditions": { 45 + "standardEuropeanAgreements": "https://www.payex.com/term-and-conditions/no/-----.pdf", 46 + "accountTerms": "https://www.payex.com/term-and-conditions/no/-----.pdf" 47 + }, 48 + "operations": [] 49 + } 50 + ], 51 + "navigation": { 52 + "@id": "/ledger/account-onboarding/v1/xxx/offers" 53 + } 54 +} 55 +{{/code}} 56 + 57 + 58 + 59 +**Possible problems** 60 + 61 +(% class="table-bordered table-striped" %) 62 +|=Http status |=Problem type |=Description 63 +|404 |validation |occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 64 +|404 |resource-unavailable |Occurs if the requested profile is not available. 65 +|409 |validation |Occurs if the validation of the resource's state fails. 66 +|500 |fatal |Unexpected error, logs may give details about the problem 67 + 68 + 69 +View a specific offer 70 + 71 +==== 1.2 Get specific Offer ==== 72 + 73 +{{code language="http" title="**Request**"}} 74 +GET /ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile} HTTP/1.1 75 +Host: - 76 +Authorization: Bearer<Token> 77 +Content-Type: application/json 78 + 79 +{{/code}} 80 + 81 +Example of response on successfully retrieved offer 82 + 83 +{{code language="http" title="**Response**"}} 84 +HTTP/1.1 200 OK 85 +Content-Type: application/json 86 + 87 +{ 88 + "accountProfile": "kontotyp-1", 89 + "title": "kontotyp 1", 90 + "currency": "SEK", 91 + "maxCreditLimit": 50000.00, 92 + "reminderFee": 35.00, 93 + "penaltyInterestRate": 18.00, 94 + "termsAndConditions": { 95 + "standardEuropeanAgreements": "https://www.payex.com/term-and-conditions/no/-----.pdf", 96 + "accountTerms": "https://www.payex.com/term-and-conditions/no/-----.pdf" 97 + }, 98 + "operations": [] 99 +} 100 +{{/code}} 101 + 102 + 103 + 104 +**Possible problems** 105 + 106 +(% class="table-bordered table-striped" %) 107 +|=Http status |=Problem type |=Description 108 +|404 |validation |occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 109 +|404 |resource-unavailable |Occurs if the requested profile is not available. 110 +|409 |validation |Occurs if the validation of the resource's state fails. 111 +|500 |fatal |Unexpected error, logs may give details about the problem 112 + 113 + 114 + 115 +**Response object specification** 116 + 117 +(% class="table-bordered table-striped" %) 118 +|=Property |=Data type|=Format|=Description 119 +|@id |string | |Uri identifier of the current resource 120 +|accountProfile |string | | 121 +|title |string | |Name of the offer 122 +|currency |string |((( 123 +* SEK 124 +* NOK 125 +* DKK 126 +* EUR 127 +))) | 128 +|maxCreditLimit |number |Type: double 129 +Max: 100000000 130 +Min: 0 |Max credit limit for account profile, can't have more than 2 decimal places 131 +|reminderFee |number |Type: double 132 +Max: 100000000 133 +Min: 0 |Reminder fee 134 +|penaltyInterestRate |number |Type: double 135 +Max: 100000000 136 +Min: 0 |Penalty interest rate 137 +|=termsAndConditions |object | | 138 +| standardEuropeanAgreements |string | |Standard european agreements 139 +| accountTerms |string | |Account terms 140 +|applications |dynamic | | 141 +|operations |array | |List of operations that is possible to perform on the current resource, read more about the ~[~[hypermedia part of the response>>https://developer.payex.com/xwiki/wiki/developer/view/Main/Invoicing/ledger-api-general-docs/restful-pattern-guideline/#HHyper-mediaresponse]] 142 +== 2. Applications == 143 + 144 + 145 +Get existing application 146 + 147 +==== 2.1 Get specific Application ==== 148 + 149 +{{code language="http" title="**Request**"}} 150 +GET /ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId} HTTP/1.1 151 +Host: - 152 +Authorization: Bearer<Token> 153 +Content-Type: application/json 154 + 155 +{{/code}} 156 + 157 +Example of response on successfully retrieved application 158 + 159 +{{code language="http" title="**Response**"}} 160 +HTTP/1.1 200 OK 161 +Content-Type: application/json 162 + 163 +{ 164 + "applicationId": "123e4567-e89b-12d3-a456-426614174000", 165 + "status": "AwaitingSign", 166 + "createdAccount": { 167 + "accountNo": "1234567" 168 + }, 169 + "creditLimit": 5000.00, 170 + "nationalConsumerIdentifier": { 171 + "value": "19101010-1010", 172 + "countryCode": "SE" 173 + }, 174 + "customerNo": "951753456", 175 + "emailAddress": "test@testshop.se", 176 + "msisdn": "46701234456", 177 + "ipAddress": "1.1.1.X", 178 + "languageCode": "Sv", 179 + "specialIntent": "new-account-for-invoice-conversion", 180 + "applicationOptions": { 181 + "customerPreAuthenticated": false, 182 + "preAuthorizationAmount": 5000.00 183 + }, 184 + "sellerNo": "123456", 185 + "pointOfSale": "Example Point of Sale", 186 + "kycQuestions": [ 187 + { 188 + "questionText": "What is your current employment?", 189 + "answer": { 190 + "type": "single", 191 + "required": true, 192 + "possibleAnswers": [ 193 + { 194 + "answerCode": "selfemployed", 195 + "answerText": "Own business" 196 + }, 197 + { 198 + "answerCode": "private_employee", 199 + "answerText": "Private employee" 200 + }, 201 + { 202 + "answerCode": "goverment_employee", 203 + "answerText": "Government employee" 204 + } 205 + ] 206 + }, 207 + "questionCode": "employment" 208 + }, 209 + { 210 + "questionText": "What is your yearly income", 211 + "answer": { 212 + "type": "single", 213 + "required": true, 214 + "possibleAnswers": [ 215 + { 216 + "answerCode": "incomeinterval1", 217 + "answerText": "0-100 000 SEK" 218 + }, 219 + { 220 + "answerCode": "incomeinterval2", 221 + "answerText": "100 001-200 000 SEK" 222 + }, 223 + { 224 + "answerCode": "incomeinterval3", 225 + "answerText": "200 001-300 000 SEK" 226 + }, 227 + { 228 + "answerCode": "incomeinterval4", 229 + "answerText": "Over 300 001 SEK" 230 + } 231 + ] 232 + }, 233 + "questionCode": "income" 234 + } 235 + ], 236 + "operations": [] 237 +} 238 +{{/code}} 239 + 240 + 241 + 242 +**Possible problems** 243 + 244 +(% class="table-bordered table-striped" %) 245 +|=Http status |=Problem type |=Description 246 +|404 |not-found |Occurs if the requested application isn't found. 247 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 248 +|500 |fatal |Unexpected error, logs may give details about the problem 249 + 250 + 251 +==== 2.2 Create Application ==== 252 + 253 +Add application to offer 254 + 255 +{{code language="http" title="**Request**"}} 256 +POST /ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications HTTP/1.1 257 +Host: - 258 +Authorization: Bearer<Token> 259 +Content-Type: application/json 260 + 261 +{ 262 + "creditLimit": 5000.00, 263 + "nationalConsumerIdentifier": { 264 + "value": "19101010-1010", 265 + "countryCode": "SE" 266 + }, 267 + "customerNo": "951753456", 268 + "emailAddress": "test@testshop.se", 269 + "msisdn": "46701234456", 270 + "ipAddress": "1.1.1.X", 271 + "languageCode": "Sv", 272 + "specialIntent": "new-account-for-invoice-conversion", 273 + "applicationOptions": { 274 + "customerPreAuthenticated": false, 275 + "preAuthorizationAmount": 5000.00 276 + }, 277 + "sellerNo": "123456", 278 + "pointOfSale": "Example Point of Sale" 279 +} 280 +{{/code}} 281 + 282 + 283 +**Request object specification** 284 + 285 +(% class="table-bordered table-striped" %) 286 +|=Property |=Data type|=Format|=Required|=Description 287 +|creditLimit |number |Type: double 288 +Pattern: ^\d+.?(\d{1,2})?$ 289 +Max: 100000000 290 +Min: 0 |Yes |Credit limit on account applied for, can't have more than 2 decimal places 291 +|=nationalConsumerIdentifier |object | |Yes | 292 +| value |string | |Yes | 293 +| countryCode |string |Pattern: SE~|NO~|DK~|FI |Yes | 294 +|customerNo |string | |No |The identifier of the customer 295 +|emailAddress |string |Pattern: ^~[^;\xA0\xD0\─@<>\p{Cc}]+@(?!\.)(?!.*\.\.)(?:~[^;\xA0\xD0\─@<>\p{Cc}]+\.~[^;\xA0\xD0\─@<>\p{Cc}]+~|\~[~[A-Fa-f\d\:]+\])(?<!\.)$ |No |The customers Email 296 +|msisdn |string |Pattern: ^~[+]{1}\d{4,14}$ |No |Mobile communications number starting with '+' followed with up to 14 numbers from 0-9. Length between 5 and 15 including the starting '+' 297 +|ipAddress |string |Pattern: ~[a-z0-9.:/]* |No |Senders ip address 298 +|languageCode |string |((( 299 +* Sv 300 +* En 301 +* No 302 +* Da 303 +))) |Yes | 304 +|specialIntent |string | |No |Optional instruction used in special cases. Possible values: new-account-for-invoice-conversion, standalone-account-onboarding, standalone-account-onboarding-manual 305 +|=applicationOptions |object | |No | 306 +| customerPreAuthenticated |boolean | |Yes |Optional flag used when the customer is pre-authenticated. Defaults to false 307 +| preAuthorizationAmount |number |Type: double |No |Optional field to support including information about the expected authorization amount in junction with the onboarding. The inclusion of this value may differ based fom company configurations. 308 +|sellerNo |string | |No |Only necessary if the account profile is configured to create an account alias using an alias template that requires sellerNo 309 +|pointOfSale |string |Pattern: ^~[\u0020-\u003A \u003C-\u007E \u00A0-\u00FF \u2019]*$ |No |Only necessary if the account profile is configured to create an account alias using an alias template that requires pointOfSale 310 + 311 + 312 +Example of response on successfully created application 313 + 314 +{{code language="http" title="**Response**"}} 315 +HTTP/1.1 201 Created 316 +Content-Type: application/json 317 + 318 +{ 319 + "applicationId": "123e4567-e89b-12d3-a456-426614174000", 320 + "status": "AwaitingSign", 321 + "creditLimit": 5000.00, 322 + "nationalConsumerIdentifier": { 323 + "value": "19101010-1010", 324 + "countryCode": "SE" 325 + }, 326 + "customerNo": "951753456", 327 + "emailAddress": "test@testshop.se", 328 + "msisdn": "46701234456", 329 + "ipAddress": "1.1.1.X", 330 + "languageCode": "Sv", 331 + "specialIntent": "new-account-for-invoice-conversion", 332 + "applicationOptions": { 333 + "customerPreAuthenticated": false, 334 + "preAuthorizationAmount": 5000.00 335 + }, 336 + "sellerNo": "123456", 337 + "pointOfSale": "Example Point of Sale", 338 + "kycQuestions": [ 339 + { 340 + "questionText": "What is your current employment?", 341 + "answer": { 342 + "type": "single", 343 + "required": true, 344 + "possibleAnswers": [ 345 + { 346 + "answerCode": "selfemployed", 347 + "answerText": "Own business" 348 + }, 349 + { 350 + "answerCode": "private_employee", 351 + "answerText": "Private employee" 352 + }, 353 + { 354 + "answerCode": "goverment_employee", 355 + "answerText": "Government employee" 356 + } 357 + ] 358 + }, 359 + "questionCode": "employment" 360 + }, 361 + { 362 + "questionText": "What is your yearly income", 363 + "answer": { 364 + "type": "single", 365 + "required": true, 366 + "possibleAnswers": [ 367 + { 368 + "answerCode": "incomeinterval1", 369 + "answerText": "0-100 000 SEK" 370 + }, 371 + { 372 + "answerCode": "incomeinterval2", 373 + "answerText": "100 001-200 000 SEK" 374 + }, 375 + { 376 + "answerCode": "incomeinterval3", 377 + "answerText": "200 001-300 000 SEK" 378 + }, 379 + { 380 + "answerCode": "incomeinterval4", 381 + "answerText": "Over 300 001 SEK" 382 + } 383 + ] 384 + }, 385 + "questionCode": "income" 386 + } 387 + ], 388 + "operations": [] 389 +} 390 +{{/code}} 391 + 392 + 393 +**Possible problems** 394 + 395 +(% class="table-bordered table-striped" %) 396 +|=Http status |=Problem type |=Description 397 +|400 |validation |Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 398 +|404 |not-found |Occurs if the requested application isn't found. 399 +|409 |customer-mismatch |Occurs if the customer NationalIdentifier value doesn't match with the provided CustomerNo value. 400 +|409 |customer-missing |Occurs if the customer with the provided customerNo isn't found and the company doesn't support creating a customer on requested CustomerNo. 401 +|409 |account-profile-exists |Occurs if an account with the provided accountProfile already exists. 402 +|409 |account-already-exists-for-standalone-intent |Occurs if an active account for the requested account profile already exists for the customer when using a standalone account onboarding intent. 403 +|409 |not-valid-for-intent |Occurs if the account profile is not valid for the provided SpecialIntent. 404 +|422 |invalid-special-intent |Occurs if the provided special intent is invalid. 405 +|500 |fatal |Unexpected error, logs may give details about the problem 406 + 407 + 408 + 409 +**Response object specification** 410 + 411 +(% class="table-bordered table-striped" %) 412 +|=Property |=Data type|=Format|=Description 413 +|@id |string | |Uri identifier of the current resource 414 +|creditLimit |number |Type: double 415 +Pattern: ^\d+.?(\d{1,2})?$ 416 +Max: 100000000 417 +Min: 0 |Credit limit on account applied for, can't have more than 2 decimal places 418 +|=nationalConsumerIdentifier |object | | 419 +| value |string | | 420 +| countryCode |string |Pattern: SE~|NO~|DK~|FI | 421 +|customerNo |string | |The identifier of the customer 422 +|emailAddress |string |Pattern: ^~[^;\xA0\xD0\─@<>\p{Cc}]+@(?!\.)(?!.*\.\.)(?:~[^;\xA0\xD0\─@<>\p{Cc}]+\.~[^;\xA0\xD0\─@<>\p{Cc}]+~|\~[~[A-Fa-f\d\:]+\])(?<!\.)$ |The customers Email 423 +|msisdn |string |Pattern: ^~[+]{1}\d{4,14}$ |Mobile communications number starting with '+' followed with up to 14 numbers from 0-9. Length between 5 and 15 including the starting '+' 424 +|ipAddress |string |Pattern: ~[a-z0-9.:/]* |Senders ip address 425 +|languageCode |string |((( 426 +* Sv 427 +* En 428 +* No 429 +* Da 430 +))) | 431 +|specialIntent |string | |Optional instruction used in special cases. Possible values: new-account-for-invoice-conversion, standalone-account-onboarding, standalone-account-onboarding-manual 432 +|=applicationOptions |object | | 433 +| customerPreAuthenticated |boolean | |Optional flag used when the customer is pre-authenticated. Defaults to false 434 +| preAuthorizationAmount |number |Type: double |Optional field to support including information about the expected authorization amount in junction with the onboarding. The inclusion of this value may differ based fom company configurations. 435 +|sellerNo |string | |Only necessary if the account profile is configured to create an account alias using an alias template that requires sellerNo 436 +|pointOfSale |string |Pattern: ^~[\u0020-\u003A \u003C-\u007E \u00A0-\u00FF \u2019]*$ |Only necessary if the account profile is configured to create an account alias using an alias template that requires pointOfSale 437 +|applicationId |string | |ApplicationId 438 +|status |string |((( 439 +* AwaitingComplementaryInfo 440 +* AwaitingVerification 441 +* AwaitingSign 442 +* Rejected 443 +* InitializedDigitalSign 444 +* SignRejectedOrFailed 445 +* SignMismatch 446 +* Approved 447 +* InitializedKalp 448 +))) | 449 +|=createdAccount |object | | 450 +| accountNo |string | |Account number 451 +|=kycQuestions |array | | 452 +| questionCode |string | |The code definition of the question 453 +| questionText |string | |The translated text of the question 454 +|= answer |object | | 455 +| type |string | |The type of the expected answer: single ~| multi ~| text 456 +| required |boolean | |If the answer is required 457 +| textValidationRegEx |string | |The regex the answer should match 458 +|= possibleAnswers |array | | 459 +| answerCode |string | |The code definition of the answer 460 +| answerText |string | |The translated text of the answer 461 +|= subQuestions |array | | 462 +|kycAnswers |dynamic | |The kyc resource 463 +|signBankidSe |dynamic | |The sign bankid se resource 464 +|operations |array | |List of operations that is possible to perform on the current resource, read more about the ~[~[hypermedia part of the response>>https://developer.payex.com/xwiki/wiki/developer/view/Main/Invoicing/ledger-api-general-docs/restful-pattern-guideline/#HHyper-mediaresponse]] 465 +== 3. Kyc-answers == 466 + 467 + 468 +Get the submited answers to kyc questions 469 + 470 +==== 3.1 Get list of Kyc-answers ==== 471 + 472 +{{code language="http" title="**Request**"}} 473 +GET /ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/kyc-answers HTTP/1.1 474 +Host: - 475 +Authorization: Bearer<Token> 476 +Content-Type: application/json 477 + 478 +{{/code}} 479 + 480 +Example of response on successfully retrieved kyc answers 481 + 482 +{{code language="http" title="**Response**"}} 483 +HTTP/1.1 200 OK 484 +Content-Type: application/json 485 + 486 +{ 487 + "answers": [ 488 + { 489 + "questionCode": "employment", 490 + "answerCode": "selfemployed" 491 + }, 492 + { 493 + "questionCode": "monthlyincome", 494 + "answerCode": "monthlyincomeinterval2" 495 + }, 496 + { 497 + "questionCode": "ispep", 498 + "answerCode": "false" 499 + } 500 + ] 501 +} 502 +{{/code}} 503 + 504 + 505 + 506 +**Possible problems** 507 + 508 +(% class="table-bordered table-striped" %) 509 +|=Http status |=Problem type |=Description 510 +|404 |not-found |Occurs if the requested resource isn't found. 511 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 512 +|409 |kyc-not-configured |Occurs if the application does not support KYC answers due to the account profile not being configured with any. 513 +|500 |fatal |Unexpected error, logs may give details about the problem 514 + 515 + 516 +==== 3.2 Create Kyc-answer ==== 517 + 518 +Submit answers to kyc questions 519 + 520 +{{code language="http" title="**Request**"}} 521 +POST /ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/kyc-answers HTTP/1.1 522 +Host: - 523 +Authorization: Bearer<Token> 524 +Content-Type: application/json 525 + 526 +{ 527 + "answers": [ 528 + { 529 + "questionCode": "employment", 530 + "answerCode": "selfemployed" 531 + }, 532 + { 533 + "questionCode": "monthlyincome", 534 + "answerCode": "monthlyincomeinterval2" 535 + }, 536 + { 537 + "questionCode": "ispep", 538 + "answerCode": "false" 539 + } 540 + ] 541 +} 542 +{{/code}} 543 + 544 + 545 +**Request object specification** 546 + 547 +(% class="table-bordered table-striped" %) 548 +|=Property |=Data type|=Format|=Required|=Description 549 +|=answers |array | |Yes | 550 +| questionCode |string | |Yes |The code definition of the question 551 +| answerCode |string | |Yes |The code definition of the answer 552 + 553 + 554 +Example of response on successfully created kyc answers 555 + 556 +{{code language="http" title="**Response**"}} 557 +HTTP/1.1 201 Created 558 +Content-Type: application/json 559 + 560 +{ 561 + "answers": [ 562 + { 563 + "questionCode": "employment", 564 + "answerCode": "selfemployed" 565 + }, 566 + { 567 + "questionCode": "monthlyincome", 568 + "answerCode": "monthlyincomeinterval2" 569 + }, 570 + { 571 + "questionCode": "ispep", 572 + "answerCode": "false" 573 + } 574 + ] 575 +} 576 +{{/code}} 577 + 578 + 579 +**Possible problems** 580 + 581 +(% class="table-bordered table-striped" %) 582 +|=Http status |=Problem type |=Description 583 +|400 |validation |Occurs if the validation of the request fails, it is described in the problem why the input is invalid. 584 +|404 |not-found |Occurs if the requested resource isn't found. 585 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 586 +|409 |validation |Occurs if the validation of the resource's state fails. 587 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 588 +|409 |kyc-not-configured |Occurs if the application does not support KYC answers due to the account profile not being configured with any. 589 +|500 |fatal |Unexpected error, logs may give details about the problem 590 + 591 + 592 + 593 +**Response object specification** 594 + 595 +(% class="table-bordered table-striped" %) 596 +|=Property |=Data type|=Format|=Description 597 +|@id |string | |Uri identifier of the current resource 598 +|=answers |array | | 599 +| questionCode |string | |The code definition of the question 600 +| answerCode |string | |The code definition of the answer 601 +== 4. Verify-application == 602 + 603 + 604 +==== 4.1 Create Verify-application ==== 605 + 606 +Verify the application and does a credit check if needed 607 + 608 +{{code language="http" title="**Request**"}} 609 +POST /ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/verify-application HTTP/1.1 610 +Host: - 611 +Authorization: Bearer<Token> 612 +Content-Type: application/json 613 + 614 +{} 615 +{{/code}} 616 + 617 + 618 + 619 +{{code language="http" title="**Response**"}} 620 +HTTP/1.1 201 CREATED 621 +Content-Type: application/json 622 + 623 +{ 624 +} 625 +{{/code}} 626 + 627 + 628 +**Possible problems** 629 + 630 +(% class="table-bordered table-striped" %) 631 +|=Http status |=Problem type |=Description 632 +|404 |not-found |Occurs if the requested application isn't found. 633 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 634 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 635 +|422 |credit-check-declined |Occurs if the credit check is denied. 636 +|500 |fatal |Unexpected error, logs may give details about the problem 637 + 638 + 639 +== 5. Approve-paper-application == 640 + 641 + 642 +==== 5.1 Create Approve-paper-application ==== 643 + 644 +Approves a paper onboarding application by performing a credit check, creating the customer and account, and archiving the scanned application document. Used exclusively for the standalone-account-onboarding-manual intent via Effecte. 645 + 646 +{{code language="http" title="**Request**"}} 647 +POST /ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/approve-paper-application HTTP/1.1 648 +Host: - 649 +Authorization: Bearer<Token> 650 +Content-Type: application/json 651 + 652 +{ 653 + "applicationDocument": { 654 + "content": "JVBERi0xLjQKJ...", 655 + "fileType": "pdf" 656 + }, 657 + "trusteeCertificateIncluded": false 658 +} 659 +{{/code}} 660 + 661 + 662 +**Request object specification** 663 + 664 +(% class="table-bordered table-striped" %) 665 +|=Property |=Data type|=Format|=Required|=Description 666 +|=applicationDocument |object | |Yes | 667 +| content |string | |Yes |Base64-encoded content of the application document. 668 +| fileType |string |Pattern: ^pdf$ |Yes |File type of the document. Currently only 'pdf' is supported. 669 +|trusteeCertificateIncluded |boolean | |Yes |Whether a trustee certificate is included in the application. Sent to credit check as applicantParameters.trusteeCertificateIncluded. Defaults to false. 670 + 671 + 672 +Example of response on successfully approved paper application 673 + 674 +{{code language="http" title="**Response**"}} 675 +HTTP/1.1 200 OK 676 +Content-Type: application/json 677 + 678 +{ 679 + "accountNo": "1234567", 680 + "customerNo": "951753456" 681 +} 682 +{{/code}} 683 + 684 + 685 +**Possible problems** 686 + 687 +(% class="table-bordered table-striped" %) 688 +|=Http status |=Problem type |=Description 689 +|400 |validation |Occurs if any of the input validation fails. 690 +|409 |not-valid-for-intent |Occurs if the application was not created with the standalone-account-onboarding-manual intent. 691 +|409 |invalid-application-state |Occurs if the application is not in AwaitingSign state. 692 +|422 |credit-check-declined |Occurs if the credit check was denied. Application status is set to Rejected. 693 +|404 |not-found |Occurs if the requested application isn't found. 694 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 695 +|500 |fatal |Unexpected error, logs may give details about the problem 696 + 697 + 698 + 699 +**Response object specification** 700 + 701 +(% class="table-bordered table-striped" %) 702 +|=Property |=Data type|=Format|=Description 703 +|accountNo |string | |The account number of the created account. 704 +|customerNo |string | |The customer number used for this account. 705 +== 6. Sign-bankid-se == 706 + 707 + 708 +Retrieve bankid signing process data 709 + 710 +==== 6.1 Get list of Sign-bankid-se ==== 711 + 712 +{{code language="http" title="**Request**"}} 713 +GET /ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/sign-bankid-se HTTP/1.1 714 +Host: - 715 +Authorization: Bearer<Token> 716 +Content-Type: application/json 717 + 718 +{{/code}} 719 + 720 +Example of response on successfully retrieved sign bankid se. This should be polled. The resource is updated in the signing process running in the background. 721 + 722 +{{code language="http" title="**Response**"}} 723 +HTTP/1.1 200 OK 724 +Content-Type: application/json 725 + 726 +{ 727 + "autostartToken": "7c40b5c9-fa74-49cf-b98c-bfe651f9a7c6", 728 + "qrCodeImageDataUrl": "data:image/png;base64,VeryLongBase64String", 729 + "status": "Pending", 730 + "hintCode": "OutstandingTransaction", 731 + "maxExtends": 0, 732 + "currentExtend": 0, 733 + "secondsLeftThirtySecondsInterval": 0, 734 + "endUserIp": "194.168.2.25", 735 + "callbackUrl": "https://myCallbackUrl", 736 + "operations": [] 737 +} 738 +{{/code}} 739 + 740 + 741 + 742 +**Possible problems** 743 + 744 +(% class="table-bordered table-striped" %) 745 +|=Http status |=Problem type |=Description 746 +|404 |not-found |Occurs if the requested resource isn't found. 747 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 748 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 749 +|500 |fatal |Unexpected error, logs may give details about the problem 750 + 751 + 752 +==== 6.2 Create Sign-bankid-se ==== 753 + 754 +Initiate bankid signing process 755 + 756 +{{code language="http" title="**Request**"}} 757 +POST /ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/sign-bankid-se HTTP/1.1 758 +Host: - 759 +Authorization: Bearer<Token> 760 +Content-Type: application/json 761 + 762 +{ 763 + "endUserIp": "194.168.2.25", 764 + "callbackUrl": "https://myCallbackUrl" 765 +} 766 +{{/code}} 767 + 768 + 769 +**Request object specification** 770 + 771 +(% class="table-bordered table-striped" %) 772 +|=Property |=Data type|=Format|=Required|=Description 773 +|endUserIp |string | |Yes |IP address of the end user. 774 +|callbackUrl |string | |No |If callback should be done on status change, it is done to the callback url. If empty no callback is done. 775 + 776 + 777 +Example of response on successfully created sign bankid se. The signing process is carried out in a background process even after the response is returned. 778 + 779 +{{code language="http" title="**Response**"}} 780 +HTTP/1.1 201 Created 781 +Content-Type: application/json 782 + 783 +{ 784 + "autostartToken": "7c40b5c9-fa74-49cf-b98c-bfe651f9a7c6", 785 + "qrCodeImageDataUrl": "data:image/png;base64,VeryLongBase64String", 786 + "status": "Pending", 787 + "hintCode": "OutstandingTransaction", 788 + "maxExtends": 0, 789 + "currentExtend": 0, 790 + "secondsLeftThirtySecondsInterval": 0, 791 + "endUserIp": "194.168.2.25", 792 + "callbackUrl": "https://myCallbackUrl", 793 + "operations": [] 794 +} 795 +{{/code}} 796 + 797 + 798 +**Possible problems** 799 + 800 +(% class="table-bordered table-striped" %) 801 +|=Http status |=Problem type |=Description 802 +|400 |validation |occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 803 +|404 |not-found |Occurs if the requested application isn't found. 804 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 805 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 806 +|409 |company-not-configured |Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable. 807 +|500 |fatal |Unexpected error, logs may give details about the problem 808 + 809 + 810 + 811 +**Response object specification** 812 + 813 +(% class="table-bordered table-striped" %) 814 +|=Property |=Data type|=Format|=Description 815 +|@id |string | |Uri identifier of the current resource 816 +|endUserIp |string | |IP address of the end user. 817 +|callbackUrl |string | |If callback should be done on status change, it is done to the callback url. If empty no callback is done. 818 +|autostartToken |string |Type: uuid |Autostart token to start BankId on the device client's current device. 819 +|qrCodeImageDataUrl |string | |QR code in Base64 that the end user needs to scan on another device than the one used to initiate. 820 +|status |string |((( 821 +* Pending 822 +* Complete 823 +* Failed 824 +))) | 825 +|hintCode |string |((( 826 +* OutstandingTransaction 827 +* NoClient 828 +* Started 829 +* UserMrtd 830 +* UserCallConfirm 831 +* UserSign 832 +* ExpiredTransaction 833 +* CertificateErr 834 +* UserCancel 835 +* Cancelled 836 +* StartFailed 837 +* UserDeclinedCall 838 +))) | 839 +|operations |array | |List of operations that is possible to perform on the current resource, read more about the ~[~[hypermedia part of the response>>https://developer.payex.com/xwiki/wiki/developer/view/Main/Invoicing/ledger-api-general-docs/restful-pattern-guideline/#HHyper-mediaresponse]] 840 +|maxExtends |number |Type: int32 |Maximum Extend operation calls that are allowed. 841 +|currentExtend |number |Type: int32 |The amount of extend operations that have been made on this resource. 842 +|secondsLeftThirtySecondsInterval |number |Type: int32 |Time left in seconds for end user to complete signing. Only updated every 30 seconds. 843 +== 7. Cancel == 844 + 845 + 846 +==== 7.1 Create Cancel ==== 847 + 848 +Cancel bankid signing process 849 + 850 +{{code language="http" title="**Request**"}} 851 +POST /ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/sign-bankid-se/cancel HTTP/1.1 852 +Host: - 853 +Authorization: Bearer<Token> 854 +Content-Type: application/json 855 + 856 +{} 857 +{{/code}} 858 + 859 + 860 + 861 +{{code language="http" title="**Response**"}} 862 +HTTP/1.1 201 CREATED 863 +Content-Type: application/json 864 + 865 +{ 866 +} 867 +{{/code}} 868 + 869 + 870 +**Possible problems** 871 + 872 +(% class="table-bordered table-striped" %) 873 +|=Http status |=Problem type |=Description 874 +|404 |not-found |Occurs if the requested application isn't found. 875 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 876 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 877 +|409 |invalid-bank-id-state |Occurs if the bankId state is invalid for the request to be made. 878 +|500 |fatal |Unexpected error, logs may give details about the problem 879 + 880 + 881 +== 8. Extend == 882 + 883 + 884 +==== 8.1 Create Extend ==== 885 + 886 +Extend the time period for an ongoing bankid signing process 887 + 888 +{{code language="http" title="**Request**"}} 889 +POST /ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/sign-bankid-se/extend HTTP/1.1 890 +Host: - 891 +Authorization: Bearer<Token> 892 +Content-Type: application/json 893 + 894 +{ 895 +} 896 +{{/code}} 897 + 898 + 899 + 900 +Example of a response where Extend has been called once before (currentExtend 1), and some time has elapsed (90 seconds left). 901 + 902 +{{code language="http" title="**Response**"}} 903 +HTTP/1.1 200 OK 904 +Content-Type: application/json 905 + 906 +{ 907 + "maxExtends": 10, 908 + "currentExtend": 1, 909 + "secondsLeftThirtySecondsInterval": 90 910 +} 911 +{{/code}} 912 + 913 + 914 +**Possible problems** 915 + 916 +(% class="table-bordered table-striped" %) 917 +|=Http status |=Problem type |=Description 918 +|404 |not-found |Occurs if the requested application isn't found. 919 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 920 +|409 |conflict |Occurs if the application state is invalid, see message for details. 921 +|500 |fatal |Unexpected error, logs may give details about the problem. 922 + 923 + 924 + 925 +**Response object specification** 926 + 927 +(% class="table-bordered table-striped" %) 928 +|=Property |=Data type|=Format|=Description 929 +|maxExtends |number |Type: int32 | 930 +|currentExtend |number |Type: int32 | 931 +|secondsLeftThirtySecondsInterval |number |Type: int32 | 932 +== 9. Limit-upgrade-applications == 933 + 934 + 935 +Get existing limit upgrade application 936 + 937 +==== 9.1 Get specific Limit-upgrade-application ==== 938 + 939 +{{code language="http" title="**Request**"}} 940 +GET /ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId} HTTP/1.1 941 +Host: - 942 +Authorization: Bearer<Token> 943 +Content-Type: application/json 944 + 945 +{{/code}} 946 + 947 +Example of response on successfully created limit upgrade application 948 + 949 +{{code language="http" title="**Response**"}} 950 +HTTP/1.1 200 OK 951 +Content-Type: application/json 952 + 953 +{ 954 + "limitUpgradeApplicationId": "123e4567-e89b-12d3-a456-426614174000", 955 + "status": "AwaitingSign", 956 + "creditLimit": 5000.00, 957 + "accountNo": "123456", 958 + "languageCode": "Sv", 959 + "specialIntent": "limit-upgrade-for-invoice-conversion", 960 + "applicationOptions": { 961 + "customerPreAuthenticated": false, 962 + "preAuthorizationAmount": 5000.00 963 + }, 964 + "kycQuestions": [ 965 + { 966 + "questionText": "What is your current employment?", 967 + "answer": { 968 + "type": "single", 969 + "required": true, 970 + "possibleAnswers": [ 971 + { 972 + "answerCode": "selfemployed", 973 + "answerText": "Own business" 974 + }, 975 + { 976 + "answerCode": "private_employee", 977 + "answerText": "Private employee" 978 + }, 979 + { 980 + "answerCode": "goverment_employee", 981 + "answerText": "Government employee" 982 + } 983 + ] 984 + }, 985 + "questionCode": "employment" 986 + }, 987 + { 988 + "questionText": "What is your yearly income", 989 + "answer": { 990 + "type": "single", 991 + "required": true, 992 + "possibleAnswers": [ 993 + { 994 + "answerCode": "incomeinterval1", 995 + "answerText": "0-100 000 SEK" 996 + }, 997 + { 998 + "answerCode": "incomeinterval2", 999 + "answerText": "100 001-200 000 SEK" 1000 + }, 1001 + { 1002 + "answerCode": "incomeinterval3", 1003 + "answerText": "200 001-300 000 SEK" 1004 + }, 1005 + { 1006 + "answerCode": "incomeinterval4", 1007 + "answerText": "Over 300 001 SEK" 1008 + } 1009 + ] 1010 + }, 1011 + "questionCode": "income" 1012 + } 1013 + ], 1014 + "operations": [] 1015 +} 1016 +{{/code}} 1017 + 1018 + 1019 + 1020 +**Possible problems** 1021 + 1022 +(% class="table-bordered table-striped" %) 1023 +|=Http status |=Problem type |=Description 1024 +|404 |not-found |Occurs if the requested resource isn't found. 1025 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1026 +|500 |fatal |Unexpected error, logs may give details about the problem 1027 + 1028 + 1029 +==== 9.2 Create Limit-upgrade-application ==== 1030 + 1031 +Add limit upgrade application 1032 + 1033 +{{code language="http" title="**Request**"}} 1034 +POST /ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications HTTP/1.1 1035 +Host: - 1036 +Authorization: Bearer<Token> 1037 +Content-Type: application/json 1038 + 1039 +{ 1040 + "creditLimit": 5000.00, 1041 + "accountNo": "123456", 1042 + "languageCode": "Sv", 1043 + "specialIntent": "limit-upgrade-for-invoice-conversion", 1044 + "applicationOptions": { 1045 + "customerPreAuthenticated": false, 1046 + "preAuthorizationAmount": 5000.00 1047 + } 1048 +} 1049 +{{/code}} 1050 + 1051 + 1052 +**Request object specification** 1053 + 1054 +(% class="table-bordered table-striped" %) 1055 +|=Property |=Data type|=Format|=Required|=Description 1056 +|creditLimit |number |Type: double 1057 +Pattern: ^\d+.?(\d{1,2})?$ 1058 +Max: 100000000 1059 +Min: 0 |Yes |Credit limit on account applied for, can't have more than 2 decimal places 1060 +|accountNo |string | |Yes |The identifier of the account 1061 +|ipAddress |string |Pattern: ~[a-z0-9.:/]* |No |Senders ip address 1062 +|languageCode |string |((( 1063 +* Sv 1064 +* En 1065 +* No 1066 +* Da 1067 +))) |Yes | 1068 +|specialIntent |string | |No |Optional instruction used in special cases. Possible values (IncreaseLimitForInvoiceConversion) 1069 +|=applicationOptions |object | |No | 1070 +| customerPreAuthenticated |boolean | |Yes |Optional flag used when the customer is pre-authenticated. Defaults to false 1071 +| preAuthorizationAmount |number |Type: double |No |Optional field to support including information about the expected authorization amount in junction with the onboarding. The inclusion of this value may differ based fom company configurations. 1072 + 1073 + 1074 +Example of response on successfully created limit upgrade application 1075 + 1076 +{{code language="http" title="**Response**"}} 1077 +HTTP/1.1 201 Created 1078 +Content-Type: application/json 1079 + 1080 +{ 1081 + "limitUpgradeApplicationId": "123e4567-e89b-12d3-a456-426614174000", 1082 + "status": "AwaitingSign", 1083 + "creditLimit": 5000.00, 1084 + "accountNo": "123456", 1085 + "languageCode": "Sv", 1086 + "specialIntent": "limit-upgrade-for-invoice-conversion", 1087 + "applicationOptions": { 1088 + "customerPreAuthenticated": false, 1089 + "preAuthorizationAmount": 5000.00 1090 + }, 1091 + "kycQuestions": [ 1092 + { 1093 + "questionText": "What is your current employment?", 1094 + "answer": { 1095 + "type": "single", 1096 + "required": true, 1097 + "possibleAnswers": [ 1098 + { 1099 + "answerCode": "selfemployed", 1100 + "answerText": "Own business" 1101 + }, 1102 + { 1103 + "answerCode": "private_employee", 1104 + "answerText": "Private employee" 1105 + }, 1106 + { 1107 + "answerCode": "goverment_employee", 1108 + "answerText": "Government employee" 1109 + } 1110 + ] 1111 + }, 1112 + "questionCode": "employment" 1113 + }, 1114 + { 1115 + "questionText": "What is your yearly income", 1116 + "answer": { 1117 + "type": "single", 1118 + "required": true, 1119 + "possibleAnswers": [ 1120 + { 1121 + "answerCode": "incomeinterval1", 1122 + "answerText": "0-100 000 SEK" 1123 + }, 1124 + { 1125 + "answerCode": "incomeinterval2", 1126 + "answerText": "100 001-200 000 SEK" 1127 + }, 1128 + { 1129 + "answerCode": "incomeinterval3", 1130 + "answerText": "200 001-300 000 SEK" 1131 + }, 1132 + { 1133 + "answerCode": "incomeinterval4", 1134 + "answerText": "Over 300 001 SEK" 1135 + } 1136 + ] 1137 + }, 1138 + "questionCode": "income" 1139 + } 1140 + ], 1141 + "operations": [] 1142 +} 1143 +{{/code}} 1144 + 1145 + 1146 +**Possible problems** 1147 + 1148 +(% class="table-bordered table-striped" %) 1149 +|=Http status |=Problem type |=Description 1150 +|400 |validation |Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 1151 +|404 |not-found |Occurs if the requested resource isn't found. 1152 +|404 |resource-unavailable |Occurs if a valid account is not available. 1153 +|409 |account-status |Occurs if the account status is invalid for the request to be made. 1154 +|409 |credit-limit-already-sufficient |Occurs if the requested credit limit is invalid because it is already sufficient. 1155 +|422 |invalid-special-intent |Occurs if the provided special intent is invalid. 1156 +|500 |fatal |Unexpected error, logs may give details about the problem 1157 + 1158 + 1159 + 1160 +**Response object specification** 1161 + 1162 +(% class="table-bordered table-striped" %) 1163 +|=Property |=Data type|=Format|=Description 1164 +|@id |string | |Uri identifier of the current resource 1165 +|creditLimit |number |Type: double 1166 +Pattern: ^\d+.?(\d{1,2})?$ 1167 +Max: 100000000 1168 +Min: 0 |Credit limit on account applied for, can't have more than 2 decimal places 1169 +|accountNo |string | |The identifier of the account 1170 +|ipAddress |string |Pattern: ~[a-z0-9.:/]* |Senders ip address 1171 +|languageCode |string |((( 1172 +* Sv 1173 +* En 1174 +* No 1175 +* Da 1176 +))) | 1177 +|specialIntent |string | |Optional instruction used in special cases. Possible values (IncreaseLimitForInvoiceConversion) 1178 +|=applicationOptions |object | | 1179 +| customerPreAuthenticated |boolean | |Optional flag used when the customer is pre-authenticated. Defaults to false 1180 +| preAuthorizationAmount |number |Type: double |Optional field to support including information about the expected authorization amount in junction with the onboarding. The inclusion of this value may differ based fom company configurations. 1181 +|limitUpgradeApplicationId |string | |LimitUpgradeApplicationId 1182 +|status |string |((( 1183 +* AwaitingComplementaryInfo 1184 +* AwaitingVerification 1185 +* AwaitingSign 1186 +* Rejected 1187 +* InitializedDigitalSign 1188 +* SignRejectedOrFailed 1189 +* SignMismatch 1190 +* Approved 1191 +* InitializedKalp 1192 +))) | 1193 +|kycAnswers |dynamic | |The kyc resource 1194 +|signBankidSe |dynamic | |The sign bankid se resource 1195 +|=kycQuestions |array | | 1196 +| questionCode |string | |The code definition of the question 1197 +| questionText |string | |The translated text of the question 1198 +|= answer |object | | 1199 +| type |string | |The type of the expected answer: single ~| multi ~| text 1200 +| required |boolean | |If the answer is required 1201 +| textValidationRegEx |string | |The regex the answer should match 1202 +|= possibleAnswers |array | | 1203 +| answerCode |string | |The code definition of the answer 1204 +| answerText |string | |The translated text of the answer 1205 +|= subQuestions |array | | 1206 +|operations |array | |List of operations that is possible to perform on the current resource, read more about the ~[~[hypermedia part of the response>>https://developer.payex.com/xwiki/wiki/developer/view/Main/Invoicing/ledger-api-general-docs/restful-pattern-guideline/#HHyper-mediaresponse]] 1207 +== 10. Monthio == 1208 + 1209 + 1210 +==== 10.1 Create Monthio ==== 1211 + 1212 +Post Monthio Callback 1213 + 1214 +{{code language="http" title="**Request**"}} 1215 +POST /ledger/public-account-onboarding-callback/v1/{ownerNo}/monthio HTTP/1.1 1216 +Host: - 1217 +Authorization: Bearer<Token> 1218 +Content-Type: application/json 1219 + 1220 + 1221 +{{/code}} 1222 + 1223 + 1224 +**Request object specification** 1225 + 1226 +(% class="table-bordered table-striped" %) 1227 +|=Property |=Data type|=Format|=Required|=Description 1228 +|id |string | |No | 1229 +|href |string | |No | 1230 +|eventType |string | |No | 1231 +|name |string | |No | 1232 +|type |string | |No | 1233 +|=additionalData |object | |No | 1234 +| applicantId |string | |No | 1235 +| caseId |string | |No | 1236 + 1237 + 1238 +{{code language="http" title="**Response**"}} 1239 +HTTP/1.1 201 Created 1240 +Content-Type: application/json 1241 + 1242 + 1243 +{{/code}} 1244 + 1245 + 1246 +**Response object specification** 1247 + 1248 +(% class="table-bordered table-striped" %) 1249 +|=Property |=Data type|=Format|=Description 1250 +|@id |string | |Uri identifier of the current resource 1251 +|id |string | | 1252 +|href |string | | 1253 +|eventType |string | | 1254 +|name |string | | 1255 +|type |string | | 1256 +|=additionalData |object | | 1257 +| applicantId |string | | 1258 +| caseId |string | | 1259 +== 11. Kyc-answers == 1260 + 1261 + 1262 +Get the submited answers to kyc questions 1263 + 1264 +==== 11.1 Get list of Kyc-answers ==== 1265 + 1266 +{{code language="http" title="**Request**"}} 1267 +GET /ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/kyc-answers HTTP/1.1 1268 +Host: - 1269 +Authorization: Bearer<Token> 1270 +Content-Type: application/json 1271 + 1272 +{{/code}} 1273 + 1274 +Example of response on successfully retrieved kyc answers 1275 + 1276 +{{code language="http" title="**Response**"}} 1277 +HTTP/1.1 200 OK 1278 +Content-Type: application/json 1279 + 1280 +{ 1281 + "answers": [ 1282 + { 1283 + "questionCode": "employment", 1284 + "answerCode": "selfemployed" 1285 + }, 1286 + { 1287 + "questionCode": "monthlyincome", 1288 + "answerCode": "monthlyincomeinterval2" 1289 + }, 1290 + { 1291 + "questionCode": "ispep", 1292 + "answerCode": "false" 1293 + } 1294 + ] 1295 +} 1296 +{{/code}} 1297 + 1298 + 1299 + 1300 +**Possible problems** 1301 + 1302 +(% class="table-bordered table-striped" %) 1303 +|=Http status |=Problem type |=Description 1304 +|404 |not-found |Occurs if the requested resource isn't found. 1305 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1306 +|409 |kyc-not-configured |Occurs if the application does not support KYC answers due to the account profile not being configured with any. 1307 +|500 |fatal |Unexpected error, logs may give details about the problem 1308 + 1309 + 1310 +==== 11.2 Create Kyc-answer ==== 1311 + 1312 +Submit answers to kyc questions 1313 + 1314 +{{code language="http" title="**Request**"}} 1315 +POST /ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/kyc-answers HTTP/1.1 1316 +Host: - 1317 +Authorization: Bearer<Token> 1318 +Content-Type: application/json 1319 + 1320 +{ 1321 + "answers": [ 1322 + { 1323 + "questionCode": "employment", 1324 + "answerCode": "selfemployed" 1325 + }, 1326 + { 1327 + "questionCode": "monthlyincome", 1328 + "answerCode": "monthlyincomeinterval2" 1329 + }, 1330 + { 1331 + "questionCode": "ispep", 1332 + "answerCode": "false" 1333 + } 1334 + ] 1335 +} 1336 +{{/code}} 1337 + 1338 + 1339 +**Request object specification** 1340 + 1341 +(% class="table-bordered table-striped" %) 1342 +|=Property |=Data type|=Format|=Required|=Description 1343 +|=answers |array | |Yes | 1344 +| questionCode |string | |Yes |The code definition of the question 1345 +| answerCode |string | |Yes |The code definition of the answer 1346 + 1347 + 1348 +Example of response on successfully created kyc answers 1349 + 1350 +{{code language="http" title="**Response**"}} 1351 +HTTP/1.1 201 Created 1352 +Content-Type: application/json 1353 + 1354 +{ 1355 + "answers": [ 1356 + { 1357 + "questionCode": "employment", 1358 + "answerCode": "selfemployed" 1359 + }, 1360 + { 1361 + "questionCode": "monthlyincome", 1362 + "answerCode": "monthlyincomeinterval2" 1363 + }, 1364 + { 1365 + "questionCode": "ispep", 1366 + "answerCode": "false" 1367 + } 1368 + ] 1369 +} 1370 +{{/code}} 1371 + 1372 + 1373 +**Possible problems** 1374 + 1375 +(% class="table-bordered table-striped" %) 1376 +|=Http status |=Problem type |=Description 1377 +|400 |validation |Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 1378 +|404 |not-found |Occurs if the requested resource isn't found. 1379 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1380 +|409 |validation |Occurs if the validation of the resource's state fails. 1381 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1382 +|409 |kyc-not-configured |Occurs if the application does not support KYC answers due to the account profile not being configured with any. 1383 +|500 |fatal |Unexpected error, logs may give details about the problem 1384 + 1385 + 1386 + 1387 +**Response object specification** 1388 + 1389 +(% class="table-bordered table-striped" %) 1390 +|=Property |=Data type|=Format|=Description 1391 +|@id |string | |Uri identifier of the current resource 1392 +|=answers |array | | 1393 +| questionCode |string | |The code definition of the question 1394 +| answerCode |string | |The code definition of the answer 1395 +== 12. Verify-application == 1396 + 1397 + 1398 +==== 12.1 Create Verify-application ==== 1399 + 1400 +Verify the application and does a credit check if needed 1401 + 1402 +{{code language="http" title="**Request**"}} 1403 +POST /ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/verify-application HTTP/1.1 1404 +Host: - 1405 +Authorization: Bearer<Token> 1406 +Content-Type: application/json 1407 + 1408 +{} 1409 +{{/code}} 1410 + 1411 + 1412 + 1413 +{{code language="http" title="**Response**"}} 1414 +HTTP/1.1 201 CREATED 1415 +Content-Type: application/json 1416 + 1417 +{ 1418 +} 1419 +{{/code}} 1420 + 1421 + 1422 +**Possible problems** 1423 + 1424 +(% class="table-bordered table-striped" %) 1425 +|=Http status |=Problem type |=Description 1426 +|404 |not-found |Occurs if the requested application isn't found. 1427 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1428 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1429 +|422 |credit-check-declined |Occurs if the credit check is denied. 1430 +|500 |fatal |Unexpected error, logs may give details about the problem 1431 + 1432 + 1433 +== 13. Begin-sign-bankid-no == 1434 + 1435 + 1436 +==== 13.1 Create Begin-sign-bankid-no ==== 1437 + 1438 +Initiate Norwegain bankid signing process 1439 + 1440 +{{code language="http" title="**Request**"}} 1441 +POST /ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/begin-sign-bankid-no HTTP/1.1 1442 +Host: - 1443 +Authorization: Bearer<Token> 1444 +Content-Type: application/json 1445 + 1446 +{ 1447 + "completeUrl": "https://sucessful-page?id=123", 1448 + "cancelUrl": "https://unsucessful-page?id=123", 1449 + "callbackUrl": "https://my-callback-url?id=123" 1450 +} 1451 +{{/code}} 1452 + 1453 + 1454 +**Request object specification** 1455 + 1456 +(% class="table-bordered table-striped" %) 1457 +|=Property |=Data type|=Format|=Required|=Description 1458 +|completeUrl |string | |No |Url to redirect the user from Signicat Signing when signing has been completed 1459 +|cancelUrl |string | |No |Url to redirect the user from Signicat Signing when user choose to cancel the ongoing signing 1460 +|callbackUrl |string | |No |Specify a callback url that will be called to notify about status change. If empty no callback is done. Supported HTTP request methods ~[GET] 1461 + 1462 + 1463 +Example of successful response. This response has started a background process that begin polling for update about the signing for a limited time. 1464 + 1465 +{{code language="http" title="**Response**"}} 1466 +HTTP/1.1 200 OK 1467 +Content-Type: application/json 1468 + 1469 +{ 1470 + "signingUrl": "https://example-signicat.com/std/docaction/profile-identify?request_id=123456abcdefg" 1471 +} 1472 +{{/code}} 1473 + 1474 + 1475 +**Possible problems** 1476 + 1477 +(% class="table-bordered table-striped" %) 1478 +|=Http status |=Problem type |=Description 1479 +|400 |validation |Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 1480 +|404 |not-found |Occurs if the requested application isn't found. 1481 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1482 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1483 +|409 |company-not-configured |Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable. 1484 +|500 |fatal |Unexpected error, logs may give details about the problem 1485 + 1486 + 1487 + 1488 +**Response object specification** 1489 + 1490 +(% class="table-bordered table-striped" %) 1491 +|=Property |=Data type|=Format|=Description 1492 +|signingUrl |string | |Url to Signicat Signing. The url to the signing order can be signed by who ever has Norwegian BankId so be sure it's the customer of the account that signs else the onboarding will fail later on 1493 +== 14. Begin-sign-bankid-no == 1494 + 1495 + 1496 +==== 14.1 Create Begin-sign-bankid-no ==== 1497 + 1498 +Initiate Norwegain bankid signing process 1499 + 1500 +{{code language="http" title="**Request**"}} 1501 +POST /ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/begin-sign-bankid-no HTTP/1.1 1502 +Host: - 1503 +Authorization: Bearer<Token> 1504 +Content-Type: application/json 1505 + 1506 +{ 1507 + "completeUrl": "https://sucessful-page?id=123", 1508 + "cancelUrl": "https://unsucessful-page?id=123", 1509 + "callbackUrl": "https://my-callback-url?id=123" 1510 +} 1511 +{{/code}} 1512 + 1513 + 1514 +**Request object specification** 1515 + 1516 +(% class="table-bordered table-striped" %) 1517 +|=Property |=Data type|=Format|=Required|=Description 1518 +|completeUrl |string | |No |Url to redirect the user from Signicat Signing when signing has been completed 1519 +|cancelUrl |string | |No |Url to redirect the user from Signicat Signing when user choose to cancel the ongoing signing 1520 +|callbackUrl |string | |No |Specify a callback url that will be called to notify about status change. If empty no callback is done. Supported HTTP request methods ~[GET] 1521 + 1522 + 1523 +Example of successful response. This response has started a background process that begin polling for update about the signing for a limited time. 1524 + 1525 +{{code language="http" title="**Response**"}} 1526 +HTTP/1.1 200 OK 1527 +Content-Type: application/json 1528 + 1529 +{ 1530 + "signingUrl": "https://example-signicat.com/std/docaction/profile-identify?request_id=123456abcdefg" 1531 +} 1532 +{{/code}} 1533 + 1534 + 1535 +**Possible problems** 1536 + 1537 +(% class="table-bordered table-striped" %) 1538 +|=Http status |=Problem type |=Description 1539 +|400 |validation |Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 1540 +|404 |not-found |Occurs if the requested application isn't found. 1541 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1542 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1543 +|409 |company-not-configured |Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable. 1544 +|500 |fatal |Unexpected error, logs may give details about the problem 1545 + 1546 + 1547 + 1548 +**Response object specification** 1549 + 1550 +(% class="table-bordered table-striped" %) 1551 +|=Property |=Data type|=Format|=Description 1552 +|signingUrl |string | |Url to Signicat Signing. The url to the signing order can be signed by who ever has Norwegian BankId so be sure it's the customer of the account that signs else the onboarding will fail later on 1553 +== 15. Sign-bankid-se == 1554 + 1555 + 1556 +Retrieve bankid signing process data 1557 + 1558 +==== 15.1 Get list of Sign-bankid-se ==== 1559 + 1560 +{{code language="http" title="**Request**"}} 1561 +GET /ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/sign-bankid-se HTTP/1.1 1562 +Host: - 1563 +Authorization: Bearer<Token> 1564 +Content-Type: application/json 1565 + 1566 +{{/code}} 1567 + 1568 +Example of response on successfully retrieved sign bankid se. This should be polled. The resource is updated in the signing process running in the background. 1569 + 1570 +{{code language="http" title="**Response**"}} 1571 +HTTP/1.1 200 OK 1572 +Content-Type: application/json 1573 + 1574 +{ 1575 + "autostartToken": "7c40b5c9-fa74-49cf-b98c-bfe651f9a7c6", 1576 + "qrCodeImageDataUrl": "data:image/png;base64,VeryLongBase64String", 1577 + "status": "Pending", 1578 + "hintCode": "OutstandingTransaction", 1579 + "maxExtends": 0, 1580 + "currentExtend": 0, 1581 + "secondsLeftThirtySecondsInterval": 0, 1582 + "endUserIp": "194.168.2.25", 1583 + "callbackUrl": "https://myCallbackUrl", 1584 + "operations": [] 1585 +} 1586 +{{/code}} 1587 + 1588 + 1589 + 1590 +**Possible problems** 1591 + 1592 +(% class="table-bordered table-striped" %) 1593 +|=Http status |=Problem type |=Description 1594 +|404 |not-found |Occurs if the requested resource isn't found. 1595 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1596 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1597 +|500 |fatal |Unexpected error, logs may give details about the problem 1598 + 1599 + 1600 +==== 15.2 Create Sign-bankid-se ==== 1601 + 1602 +Initiate bankid signing process 1603 + 1604 +{{code language="http" title="**Request**"}} 1605 +POST /ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/sign-bankid-se HTTP/1.1 1606 +Host: - 1607 +Authorization: Bearer<Token> 1608 +Content-Type: application/json 1609 + 1610 +{ 1611 + "endUserIp": "194.168.2.25", 1612 + "callbackUrl": "https://myCallbackUrl" 1613 +} 1614 +{{/code}} 1615 + 1616 + 1617 +**Request object specification** 1618 + 1619 +(% class="table-bordered table-striped" %) 1620 +|=Property |=Data type|=Format|=Required|=Description 1621 +|endUserIp |string | |Yes |IP address of the end user. 1622 +|callbackUrl |string | |No |If callback should be done on status change, it is done to the callback url. If empty no callback is done. 1623 + 1624 + 1625 +Example of response on successfully created sign bankid se. The signing process is carried out in a background process even after the response is returned. 1626 + 1627 +{{code language="http" title="**Response**"}} 1628 +HTTP/1.1 201 Created 1629 +Content-Type: application/json 1630 + 1631 +{ 1632 + "autostartToken": "7c40b5c9-fa74-49cf-b98c-bfe651f9a7c6", 1633 + "qrCodeImageDataUrl": "data:image/png;base64,VeryLongBase64String", 1634 + "status": "Pending", 1635 + "hintCode": "OutstandingTransaction", 1636 + "maxExtends": 0, 1637 + "currentExtend": 0, 1638 + "secondsLeftThirtySecondsInterval": 0, 1639 + "endUserIp": "194.168.2.25", 1640 + "callbackUrl": "https://myCallbackUrl", 1641 + "operations": [] 1642 +} 1643 +{{/code}} 1644 + 1645 + 1646 +**Possible problems** 1647 + 1648 +(% class="table-bordered table-striped" %) 1649 +|=Http status |=Problem type |=Description 1650 +|400 |validation |occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 1651 +|404 |not-found |Occurs if the requested application isn't found. 1652 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1653 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1654 +|409 |company-not-configured |Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable. 1655 +|500 |fatal |Unexpected error, logs may give details about the problem 1656 + 1657 + 1658 + 1659 +**Response object specification** 1660 + 1661 +(% class="table-bordered table-striped" %) 1662 +|=Property |=Data type|=Format|=Description 1663 +|@id |string | |Uri identifier of the current resource 1664 +|endUserIp |string | |IP address of the end user. 1665 +|callbackUrl |string | |If callback should be done on status change, it is done to the callback url. If empty no callback is done. 1666 +|autostartToken |string |Type: uuid |Autostart token to start BankId on the device client's current device. 1667 +|qrCodeImageDataUrl |string | |QR code in Base64 that the end user needs to scan on another device than the one used to initiate. 1668 +|status |string |((( 1669 +* Pending 1670 +* Complete 1671 +* Failed 1672 +))) | 1673 +|hintCode |string |((( 1674 +* OutstandingTransaction 1675 +* NoClient 1676 +* Started 1677 +* UserMrtd 1678 +* UserCallConfirm 1679 +* UserSign 1680 +* ExpiredTransaction 1681 +* CertificateErr 1682 +* UserCancel 1683 +* Cancelled 1684 +* StartFailed 1685 +* UserDeclinedCall 1686 +))) | 1687 +|operations |array | |List of operations that is possible to perform on the current resource, read more about the ~[~[hypermedia part of the response>>https://developer.payex.com/xwiki/wiki/developer/view/Main/Invoicing/ledger-api-general-docs/restful-pattern-guideline/#HHyper-mediaresponse]] 1688 +|maxExtends |number |Type: int32 |Maximum Extend operation calls that are allowed. 1689 +|currentExtend |number |Type: int32 |The amount of extend operations that have been made on this resource. 1690 +|secondsLeftThirtySecondsInterval |number |Type: int32 |Time left in seconds for end user to complete signing. Only updated every 30 seconds. 1691 +== 16. Begin-sign-mitid-dk == 1692 + 1693 + 1694 +==== 16.1 Create Begin-sign-mitid-dk ==== 1695 + 1696 +Initiate Danish mitid signing process 1697 + 1698 +{{code language="http" title="**Request**"}} 1699 +POST /ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/begin-sign-mitid-dk HTTP/1.1 1700 +Host: - 1701 +Authorization: Bearer<Token> 1702 +Content-Type: application/json 1703 + 1704 +{} 1705 +{{/code}} 1706 + 1707 + 1708 +**Request object specification** 1709 + 1710 +(% class="table-bordered table-striped" %) 1711 +|=Property |=Data type|=Format|=Required|=Description 1712 +|completeUrl |string | |No |Url to redirect the user from Signicat Signing when signing has been completed 1713 +|cancelUrl |string | |No |Url to redirect the user from Signicat Signing when user choose to cancel the ongoing signing 1714 +|callbackUrl |string | |No |Specify a callback url that will be called to notify about status change. If empty no callback is done. Supported HTTP request methods ~[GET] 1715 + 1716 + 1717 +Example of successful response. This response has started a background process that begins polling for update about the signing for a limited time. 1718 + 1719 +{{code language="http" title="**Response**"}} 1720 +HTTP/1.1 200 OK 1721 +Content-Type: application/json 1722 + 1723 +{} 1724 +{{/code}} 1725 + 1726 + 1727 +**Possible problems** 1728 + 1729 +(% class="table-bordered table-striped" %) 1730 +|=Http status |=Problem type |=Description 1731 +|400 |validation |Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 1732 +|404 |not-found |Occurs if the requested application isn't found. 1733 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1734 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1735 +|409 |company-not-configured |Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable. 1736 +|500 |fatal |Unexpected error, logs may give details about the problem 1737 + 1738 + 1739 + 1740 +**Response object specification** 1741 + 1742 +(% class="table-bordered table-striped" %) 1743 +|=Property |=Data type|=Format|=Description 1744 +|signingUrl |string | |Url to Signicat Signing. The url to the signing order can be signed by who ever has Danish BankId so be sure it's the customer of the account that signs else the onboarding will fail later on 1745 +== 17. Begin-sign-mitid-dk == 1746 + 1747 + 1748 +==== 17.1 Create Begin-sign-mitid-dk ==== 1749 + 1750 +Initiate Danish mitid signing process 1751 + 1752 +{{code language="http" title="**Request**"}} 1753 +POST /ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/begin-sign-mitid-dk HTTP/1.1 1754 +Host: - 1755 +Authorization: Bearer<Token> 1756 +Content-Type: application/json 1757 + 1758 +{} 1759 +{{/code}} 1760 + 1761 + 1762 +**Request object specification** 1763 + 1764 +(% class="table-bordered table-striped" %) 1765 +|=Property |=Data type|=Format|=Required|=Description 1766 +|completeUrl |string | |No |Url to redirect the user from Signicat Signing when signing has been completed 1767 +|cancelUrl |string | |No |Url to redirect the user from Signicat Signing when user choose to cancel the ongoing signing 1768 +|callbackUrl |string | |No |Specify a callback url that will be called to notify about status change. If empty no callback is done. Supported HTTP request methods ~[GET] 1769 + 1770 + 1771 +Example of successful response. This response has started a background process that begins polling for update about the signing for a limited time. 1772 + 1773 +{{code language="http" title="**Response**"}} 1774 +HTTP/1.1 200 OK 1775 +Content-Type: application/json 1776 + 1777 +{} 1778 +{{/code}} 1779 + 1780 + 1781 +**Possible problems** 1782 + 1783 +(% class="table-bordered table-striped" %) 1784 +|=Http status |=Problem type |=Description 1785 +|400 |validation |Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 1786 +|404 |not-found |Occurs if the requested application isn't found. 1787 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1788 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1789 +|409 |company-not-configured |Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable. 1790 +|500 |fatal |Unexpected error, logs may give details about the problem 1791 + 1792 + 1793 + 1794 +**Response object specification** 1795 + 1796 +(% class="table-bordered table-striped" %) 1797 +|=Property |=Data type|=Format|=Description 1798 +|signingUrl |string | |Url to Signicat Signing. The url to the signing order can be signed by who ever has Danish BankId so be sure it's the customer of the account that signs else the onboarding will fail later on 1799 +== 18. Redirect-kalp-dk == 1800 + 1801 + 1802 +==== 18.1 Create Redirect-kalp-dk ==== 1803 + 1804 +Creates or gets a url for the Kalp page that the customer need to fill out to continue the application process 1805 + 1806 +{{code language="http" title="**Request**"}} 1807 +POST /ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/redirect-kalp-dk HTTP/1.1 1808 +Host: - 1809 +Authorization: Bearer<Token> 1810 +Content-Type: application/json 1811 + 1812 +{} 1813 +{{/code}} 1814 + 1815 + 1816 + 1817 +===== Example of a response from the Application RedirectKalpDk operation ===== 1818 + 1819 +NO DESCRIPTION SET 1820 + 1821 +{{code language="http" title="**Response**"}} 1822 +HTTP/1.1 200 OK 1823 +Content-Type: application/json 1824 + 1825 +{ 1826 + "redirectUrl": "https://flow.monthio.com/?sessionId=kalpid" 1827 +} 1828 +{{/code}} 1829 + 1830 + 1831 +**Possible problems** 1832 + 1833 +(% class="table-bordered table-striped" %) 1834 +|=Http status |=Problem type |=Description 1835 +|404 |not-found |Occurs if the requested application isn't found. 1836 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1837 +|409 |conflict |Occurs if the application state is invalid for the request to be made. 1838 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1839 +|409 |company-not-configured |Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable. 1840 +|409 |kalp-not-configured |Occurs when account profile is not configured for Kalp. 1841 +|500 |fatal |Unexpected error, logs may give details about the problem 1842 + 1843 + 1844 + 1845 +**Response object specification** 1846 + 1847 +(% class="table-bordered table-striped" %) 1848 +|=Property |=Data type|=Format|=Description 1849 +|redirectUrl |string | | 1850 +== 19. Redirect-kalp-dk == 1851 + 1852 + 1853 +==== 19.1 Create Redirect-kalp-dk ==== 1854 + 1855 +Creates or gets a url for the Kalp page that the customer need to fill out to continue the limit upgrade application process 1856 + 1857 +{{code language="http" title="**Request**"}} 1858 +POST /ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/redirect-kalp-dk HTTP/1.1 1859 +Host: - 1860 +Authorization: Bearer<Token> 1861 +Content-Type: application/json 1862 + 1863 +{} 1864 +{{/code}} 1865 + 1866 + 1867 + 1868 +Example of a response from the Limit Upgrade Application RedirectKalpDk operation 1869 + 1870 +{{code language="http" title="**Response**"}} 1871 +HTTP/1.1 200 OK 1872 +Content-Type: application/json 1873 + 1874 +{ 1875 + "redirectUrl": "https://flow.monthio.com/?sessionId=kalpid" 1876 +} 1877 +{{/code}} 1878 + 1879 + 1880 +**Possible problems** 1881 + 1882 +(% class="table-bordered table-striped" %) 1883 +|=Http status |=Problem type |=Description 1884 +|404 |not-found |Occurs if the requested application isn't found. 1885 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1886 +|409 |conflict |Occurs if the application state is invalid for the request to be made. 1887 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1888 +|409 |company-not-configured |Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable. 1889 +|409 |kalp-not-configured |Occurs when account profile is not configured for Kalp. 1890 +|500 |fatal |Unexpected error, logs may give details about the problem 1891 + 1892 + 1893 + 1894 +**Response object specification** 1895 + 1896 +(% class="table-bordered table-striped" %) 1897 +|=Property |=Data type|=Format|=Description 1898 +|redirectUrl |string | | 1899 +== 20. Cancel == 1900 + 1901 + 1902 +==== 20.1 Create Cancel ==== 1903 + 1904 +Cancel bankid signing process 1905 + 1906 +{{code language="http" title="**Request**"}} 1907 +POST /ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/sign-bankid-se/cancel HTTP/1.1 1908 +Host: - 1909 +Authorization: Bearer<Token> 1910 +Content-Type: application/json 1911 + 1912 +{} 1913 +{{/code}} 1914 + 1915 + 1916 + 1917 +{{code language="http" title="**Response**"}} 1918 +HTTP/1.1 201 CREATED 1919 +Content-Type: application/json 1920 + 1921 +{ 1922 +} 1923 +{{/code}} 1924 + 1925 + 1926 +**Possible problems** 1927 + 1928 +(% class="table-bordered table-striped" %) 1929 +|=Http status |=Problem type |=Description 1930 +|404 |not-found |Occurs if the requested application isn't found. 1931 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1932 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1933 +|409 |invalid-bank-id-state |Occurs if the bankId state is invalid for the request to be made. 1934 +|500 |fatal |Unexpected error, logs may give details about the problem 1935 + 1936 + 1937 +== 21. Extend == 1938 + 1939 + 1940 +==== 21.1 Create Extend ==== 1941 + 1942 +Extend the time period for an ongoing bankid signing process 1943 + 1944 +{{code language="http" title="**Request**"}} 1945 +POST /ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/sign-bankid-se/extend HTTP/1.1 1946 +Host: - 1947 +Authorization: Bearer<Token> 1948 +Content-Type: application/json 1949 + 1950 +{ 1951 +} 1952 +{{/code}} 1953 + 1954 + 1955 + 1956 +Example of a response where Extend has been called once before (currentExtend 1), and some time has elapsed (90 seconds left). 1957 + 1958 +{{code language="http" title="**Response**"}} 1959 +HTTP/1.1 200 OK 1960 +Content-Type: application/json 1961 + 1962 +{ 1963 + "maxExtends": 10, 1964 + "currentExtend": 1, 1965 + "secondsLeftThirtySecondsInterval": 90 1966 +} 1967 +{{/code}} 1968 + 1969 + 1970 +**Possible problems** 1971 + 1972 +(% class="table-bordered table-striped" %) 1973 +|=Http status |=Problem type |=Description 1974 +|404 |not-found |Occurs if the requested application isn't found. 1975 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1976 +|409 |conflict |Occurs if the application state is invalid, see message for details. 1977 +|500 |fatal |Unexpected error, logs may give details about the problem. 1978 + 1979 + 1980 + 1981 +**Response object specification** 1982 + 1983 +(% class="table-bordered table-striped" %) 1984 +|=Property |=Data type|=Format|=Description 1985 +|maxExtends |number |Type: int32 | 1986 +|currentExtend |number |Type: int32 | 1987 +|secondsLeftThirtySecondsInterval |number |Type: int32 | 1988 +== 22. Create-account-without-application == 1989 + 1990 + 1991 +==== 22.1 Create Create-account-without-application ==== 1992 + 1993 +Create a new account for a consumer, with the selected offer. Only one account i permitted for a combination of consumer and offer 1994 + 1995 +{{code language="http" title="**Request**"}} 1996 +POST /ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/create-account-without-application HTTP/1.1 1997 +Host: - 1998 +Authorization: Bearer<Token> 1999 +Content-Type: application/json 2000 + 2001 +{ 2002 + "customerNo": "951753456", 2003 + "creditLimit": 5000.00 2004 +} 2005 +{{/code}} 2006 + 2007 + 2008 +**Request object specification** 2009 + 2010 +(% class="table-bordered table-striped" %) 2011 +|=Property |=Data type|=Format|=Required|=Description 2012 +|customerNo |string | |Yes |The identifier of the customer 2013 +|creditLimit |number |Type: double 2014 +Pattern: ^\d+.?(\d{1,2})?$ 2015 +Max: 100000000 2016 +Min: 0 |Yes |Credit limit on account applied for, can't have more than 2 decimal places 2017 + 2018 + 2019 +Example of response on successfully created account. 2020 + 2021 +{{code language="http" title="**Response**"}} 2022 +HTTP/1.1 200 OK 2023 +Content-Type: application/json 2024 + 2025 +{ 2026 + "accountNo": "123456", 2027 + "customerNo": "951753456", 2028 + "creditLimit": 5000.00 2029 +} 2030 +{{/code}} 2031 + 2032 + 2033 +**Possible problems** 2034 + 2035 +(% class="table-bordered table-striped" %) 2036 +|=Http status |=Problem type |=Description 2037 +|400 |validation |occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 2038 +|400 |not-found |occurs if the customer supplied does not exist 2039 +|500 |fatal |Unexpected error, logs may give details about the problem 2040 + 2041 + 2042 + 2043 +**Response object specification** 2044 + 2045 +(% class="table-bordered table-striped" %) 2046 +|=Property |=Data type|=Format|=Description 2047 +|@id |string | |Uri identifier of the current resource 2048 +|customerNo |string | |The identifier of the customer 2049 +|creditLimit |number |Type: double 2050 +Pattern: ^\d+.?(\d{1,2})?$ 2051 +Max: 100000000 2052 +Min: 0 |Credit limit on account applied for, can't have more than 2 decimal places 2053 +|accountNo |string | |Account number 2054 +== 23. Limit-upgrade-without-application == 2055 + 2056 + 2057 +==== 23.1 Create Limit-upgrade-without-application ==== 2058 + 2059 +Update limit for a account, it's possible to both lower and increase the amount. 2060 + 2061 +{{code language="http" title="**Request**"}} 2062 +POST /ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-without-application HTTP/1.1 2063 +Host: - 2064 +Authorization: Bearer<Token> 2065 +Content-Type: application/json 2066 + 2067 +{ 2068 + "accountNo": "123456", 2069 + "creditLimit": 5000.00 2070 +} 2071 +{{/code}} 2072 + 2073 + 2074 +**Request object specification** 2075 + 2076 +(% class="table-bordered table-striped" %) 2077 +|=Property |=Data type|=Format|=Required|=Description 2078 +|accountNo |string | |Yes |The identifier of the account 2079 +|creditLimit |number |Type: double 2080 +Pattern: ^\d+.?(\d{1,2})?$ 2081 +Max: 100000000 2082 +Min: 0 |Yes |Credit limit on account applied for, can't have more than 2 decimal places 2083 + 2084 + 2085 +Example of response on successfully updated account limit. 2086 + 2087 +{{code language="http" title="**Response**"}} 2088 +HTTP/1.1 200 OK 2089 +Content-Type: application/json 2090 + 2091 +{ 2092 + "accountNo": "123456", 2093 + "creditLimit": 5000.00 2094 +} 2095 +{{/code}} 2096 + 2097 + 2098 +**Possible problems** 2099 + 2100 +(% class="table-bordered table-striped" %) 2101 +|=Http status |=Problem type |=Description 2102 +|400 |validation |occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 2103 +|400 |account-name-not-found |occurs if account isn't found. 2104 +|409 |company-not-configured |occurs if company supplied isn't configured 2105 +|500 |fatal |Unexpected error, logs may give details about the problem 2106 + 2107 + 2108 + 2109 +**Response object specification** 2110 + 2111 +(% class="table-bordered table-striped" %) 2112 +|=Property |=Data type|=Format|=Description 2113 +|@id |string | |Uri identifier of the current resource 2114 +|accountNo |string | |The identifier of the account 2115 +|creditLimit |number |Type: double 2116 +Pattern: ^\d+.?(\d{1,2})?$ 2117 +Max: 100000000 2118 +Min: 0 |Credit limit on account applied for, can't have more than 2 decimal places 2119 + 2120 + 2121 +{{display reference="developer:Main.Invoicing.ledger-api-general-docs.api-section-problems.WebHome"/}}