Changes for page account-onboarding
Last modified by thomas hedstrom on 2026/08/11 14:31
From empty
To version 94.1
edited by thomas hedstrom
on 2026/08/11 14:31
on 2026/08/11 14:31
Change comment: There is no comment for this version
Summary
-
Page properties (6 modified, 0 added, 0 removed)
-
Attachments (0 modified, 5 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.thomashedstrom - Default language
-
... ... @@ -1,0 +1,1 @@ 1 +en - Tags
-
... ... @@ -1,0 +1,1 @@ 1 +px-custom-page-content - Content
-
... ... @@ -1,0 +1,2095 @@ 1 +(% class="jumbotron" %) 2 +((( 3 + 4 + 5 +(% class="container" %) 6 +((( 7 + Integrate to **PayEx Account Onboarding API ** 8 +))) 9 +))) 10 + 11 + 12 += Changelog = 13 + 14 +202Y-MM-DD 15 + 16 + 17 + 18 +[[Swagger 2026-07-09>>attach:Swagger_Releases-500659.txt]] 19 + 20 + 21 +== 1. Offers == 22 + 23 + 24 +List all offers 25 + 26 +==== 1.1 Get list of Offers ==== 27 + 28 +{{code language="http" title="**Request**"}} 29 +GET /ledger/account-onboarding/v2/{ownerNo}/offers HTTP/1.1 30 +Host: - 31 +Authorization: Bearer<Token> 32 +Content-Type: application/json 33 + 34 +{{/code}} 35 + 36 +Example of response on successfully retrieved offers 37 + 38 +{{code language="http" title="**Response**"}} 39 +HTTP/1.1 200 OK 40 +Content-Type: application/json 41 + 42 +{ 43 + "items": [ 44 + { 45 + "accountProfile": "kontotyp-1", 46 + "title": "kontotyp 1", 47 + "currency": "SEK", 48 + "maxCreditLimit": 50000.00, 49 + "reminderFee": 35.00, 50 + "penaltyInterestRate": 18.00, 51 + "termsAndConditions": { 52 + "standardEuropeanAgreements": "https://www.payex.com/term-and-conditions/no/-----.pdf", 53 + "accountTerms": "https://www.payex.com/term-and-conditions/no/-----.pdf" 54 + }, 55 + "operations": [] 56 + }, 57 + { 58 + "accountProfile": "kontotyp-2", 59 + "title": "kontotyp 2", 60 + "currency": "SEK", 61 + "maxCreditLimit": 50000.00, 62 + "reminderFee": 35.00, 63 + "penaltyInterestRate": 20.00, 64 + "termsAndConditions": { 65 + "standardEuropeanAgreements": "https://www.payex.com/term-and-conditions/no/-----.pdf", 66 + "accountTerms": "https://www.payex.com/term-and-conditions/no/-----.pdf" 67 + }, 68 + "operations": [] 69 + } 70 + ], 71 + "navigation": { 72 + "@id": "/ledger/account-onboarding/v2/xxx/offers" 73 + } 74 +} 75 +{{/code}} 76 + 77 + 78 + 79 +**Possible problems** 80 + 81 +(% class="table-bordered table-striped" %) 82 +|=Http status |=Problem type |=Description 83 +|404 |validation |occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 84 +|404 |resource-unavailable |Occurs if the requested profile is not available. 85 +|409 |validation |Occurs if the validation of the resource's state fails. 86 +|500 |fatal |Unexpected error, logs may give details about the problem 87 + 88 +View a specific offer 89 + 90 +==== 1.2 Get specific Offer ==== 91 + 92 +{{code language="http" title="**Request**"}} 93 +GET /ledger/account-onboarding/v2/{ownerNo}/offers/{accountProfile} HTTP/1.1 94 +Host: - 95 +Authorization: Bearer<Token> 96 +Content-Type: application/json 97 + 98 +{{/code}} 99 + 100 +Example of response on successfully retrieved offer 101 + 102 +{{code language="http" title="**Response**"}} 103 +HTTP/1.1 200 OK 104 +Content-Type: application/json 105 + 106 +{ 107 + "accountProfile": "kontotyp-1", 108 + "title": "kontotyp 1", 109 + "currency": "SEK", 110 + "maxCreditLimit": 50000.00, 111 + "reminderFee": 35.00, 112 + "penaltyInterestRate": 18.00, 113 + "termsAndConditions": { 114 + "standardEuropeanAgreements": "https://www.payex.com/term-and-conditions/no/-----.pdf", 115 + "accountTerms": "https://www.payex.com/term-and-conditions/no/-----.pdf" 116 + }, 117 + "operations": [] 118 +} 119 +{{/code}} 120 + 121 + 122 + 123 +**Possible problems** 124 + 125 +(% class="table-bordered table-striped" %) 126 +|=Http status |=Problem type |=Description 127 +|404 |validation |occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 128 +|404 |resource-unavailable |Occurs if the requested profile is not available. 129 +|409 |validation |Occurs if the validation of the resource's state fails. 130 +|500 |fatal |Unexpected error, logs may give details about the problem 131 + 132 +**Response object specification** 133 + 134 +(% class="table-bordered table-striped" %) 135 +|=Property |=Data type|=Format|=Description 136 +|@id |string | |Uri identifier of the current resource 137 +|accountProfile |string | | 138 +|title |string | |Name of the offer 139 +|currency |string |((( 140 +* SEK 141 +* NOK 142 +* DKK 143 +* EUR 144 +)))| 145 +|maxCreditLimit |number |Type: double 146 +Max: 100000000 147 +Min: 0 |Max credit limit for account profile, can't have more than 2 decimal places 148 +|reminderFee |number |Type: double 149 +Max: 100000000 150 +Min: 0 |Reminder fee 151 +|penaltyInterestRate |number |Type: double 152 +Max: 100000000 153 +Min: 0 |Penalty interest rate 154 +|=termsAndConditions |object | | 155 +| standardEuropeanAgreements |string | |Standard european agreements 156 +| accountTerms |string | |Account terms 157 +|applications |dynamic | | 158 +|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]] 159 + 160 +== 2. Applications == 161 + 162 + 163 +Get existing application 164 + 165 +==== 2.1 Get specific Application ==== 166 + 167 +{{code language="http" title="**Request**"}} 168 +GET /ledger/account-onboarding/v2/{ownerNo}/offers/{accountProfile}/applications/{applicationId} HTTP/1.1 169 +Host: - 170 +Authorization: Bearer<Token> 171 +Content-Type: application/json 172 + 173 +{{/code}} 174 + 175 +Example of response on successfully retrieved application 176 + 177 +{{code language="http" title="**Response**"}} 178 +HTTP/1.1 200 OK 179 +Content-Type: application/json 180 + 181 +{ 182 + "applicationId": "123e4567-e89b-12d3-a456-426614174000", 183 + "status": "AwaitingSign", 184 + "createdAccount": { 185 + "accountNo": "1234567" 186 + }, 187 + "creditLimit": 5000.00, 188 + "nationalConsumerIdentifier": { 189 + "value": "19101010-1010", 190 + "countryCode": "SE" 191 + }, 192 + "customerNo": "951753456", 193 + "emailAddress": "test@testshop.se", 194 + "msisdn": "46701234456", 195 + "ipAddress": "1.1.1.X", 196 + "languageCode": "Sv", 197 + "specialIntent": "new-account-for-invoice-conversion", 198 + "applicationOptions": { 199 + "customerPreAuthenticated": false, 200 + "preAuthorizationAmount": 5000.00 201 + }, 202 + "sellerNo": "123456", 203 + "pointOfSale": "Example Point of Sale", 204 + "kycQuestions": [ 205 + { 206 + "questionText": "What is your current employment?", 207 + "answer": { 208 + "type": "single", 209 + "required": true, 210 + "possibleAnswers": [ 211 + { 212 + "answerCode": "selfemployed", 213 + "answerText": "Own business" 214 + }, 215 + { 216 + "answerCode": "private_employee", 217 + "answerText": "Private employee" 218 + }, 219 + { 220 + "answerCode": "goverment_employee", 221 + "answerText": "Government employee" 222 + } 223 + ] 224 + }, 225 + "questionCode": "employment" 226 + }, 227 + { 228 + "questionText": "What is your yearly income", 229 + "answer": { 230 + "type": "single", 231 + "required": true, 232 + "possibleAnswers": [ 233 + { 234 + "answerCode": "incomeinterval1", 235 + "answerText": "0-100 000 SEK" 236 + }, 237 + { 238 + "answerCode": "incomeinterval2", 239 + "answerText": "100 001-200 000 SEK" 240 + }, 241 + { 242 + "answerCode": "incomeinterval3", 243 + "answerText": "200 001-300 000 SEK" 244 + }, 245 + { 246 + "answerCode": "incomeinterval4", 247 + "answerText": "Over 300 001 SEK" 248 + } 249 + ] 250 + }, 251 + "questionCode": "income" 252 + } 253 + ], 254 + "operations": [] 255 +} 256 +{{/code}} 257 + 258 + 259 + 260 +**Possible problems** 261 + 262 +(% class="table-bordered table-striped" %) 263 +|=Http status |=Problem type |=Description 264 +|404 |not-found |Occurs if the requested application isn't found. 265 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 266 +|500 |fatal |Unexpected error, logs may give details about the problem 267 + 268 +==== 2.2 Create Application ==== 269 + 270 +Add application to offer 271 + 272 +{{code language="http" title="**Request**"}} 273 +POST /ledger/account-onboarding/v2/{ownerNo}/offers/{accountProfile}/applications HTTP/1.1 274 +Host: - 275 +Authorization: Bearer<Token> 276 +Content-Type: application/json 277 + 278 +{ 279 + "creditLimit": 5000.00, 280 + "nationalConsumerIdentifier": { 281 + "value": "19101010-1010", 282 + "countryCode": "SE" 283 + }, 284 + "customerNo": "951753456", 285 + "emailAddress": "test@testshop.se", 286 + "msisdn": "46701234456", 287 + "ipAddress": "1.1.1.X", 288 + "languageCode": "Sv", 289 + "specialIntent": "new-account-for-invoice-conversion", 290 + "applicationOptions": { 291 + "customerPreAuthenticated": false, 292 + "preAuthorizationAmount": 5000.00 293 + }, 294 + "sellerNo": "123456", 295 + "pointOfSale": "Example Point of Sale" 296 +} 297 +{{/code}} 298 + 299 + 300 +**Request object specification** 301 + 302 +(% class="table-bordered table-striped" %) 303 +|=Property |=Data type|=Format|=Required|=Description 304 +|creditLimit |number |Type: double 305 +Pattern: ^\d+.?(\d{1,2})?$ 306 +Max: 100000000 307 +Min: 0 |Yes |Credit limit on account applied for, can't have more than 2 decimal places 308 +|=nationalConsumerIdentifier |object | |Yes | 309 +| value |string | |Yes | 310 +| countryCode |string |Pattern: SE~|NO~|DK~|FI |Yes | 311 +|customerNo |string | |No |The identifier of the customer 312 +|emailAddress |string |Pattern: ^[^;\xA0\xD0\─@<>\p{Cc}]+@(?!\.)(?!.*\.\.)(?:[^;\xA0\xD0\─@<>\p{Cc}]+\.[^;\xA0\xD0\─@<>\p{Cc}]+~|\~[~[A-Fa-f\d\:]+\])(?<!\.)$ |No |The customers Email 313 +|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 '+' 314 +|ipAddress |string |Pattern: [a-z0-9.:/]* |No |Senders ip address 315 +|languageCode |string |((( 316 +* Sv 317 +* En 318 +* No 319 +* Da 320 +)))|Yes | 321 +|specialIntent |string | |No |Optional instruction used in special cases. Possible values: new-account-for-invoice-conversion, standalone-account-onboarding, standalone-account-onboarding-manual 322 +|=applicationOptions |object | |No | 323 +| customerPreAuthenticated |boolean | |Yes |Optional flag used when the customer is pre-authenticated. Defaults to false 324 +| 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. 325 +|sellerNo |string | |No |Only necessary if the account profile is configured to create an account alias using an alias template that requires sellerNo 326 +|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 327 + 328 +Example of response on successfully created application 329 + 330 +{{code language="http" title="**Response**"}} 331 +HTTP/1.1 201 Created 332 +Content-Type: application/json 333 + 334 +{ 335 + "applicationId": "123e4567-e89b-12d3-a456-426614174000", 336 + "status": "AwaitingSign", 337 + "creditLimit": 5000.00, 338 + "nationalConsumerIdentifier": { 339 + "value": "19101010-1010", 340 + "countryCode": "SE" 341 + }, 342 + "customerNo": "951753456", 343 + "emailAddress": "test@testshop.se", 344 + "msisdn": "46701234456", 345 + "ipAddress": "1.1.1.X", 346 + "languageCode": "Sv", 347 + "specialIntent": "new-account-for-invoice-conversion", 348 + "applicationOptions": { 349 + "customerPreAuthenticated": false, 350 + "preAuthorizationAmount": 5000.00 351 + }, 352 + "sellerNo": "123456", 353 + "pointOfSale": "Example Point of Sale", 354 + "kycQuestions": [ 355 + { 356 + "questionText": "What is your current employment?", 357 + "answer": { 358 + "type": "single", 359 + "required": true, 360 + "possibleAnswers": [ 361 + { 362 + "answerCode": "selfemployed", 363 + "answerText": "Own business" 364 + }, 365 + { 366 + "answerCode": "private_employee", 367 + "answerText": "Private employee" 368 + }, 369 + { 370 + "answerCode": "goverment_employee", 371 + "answerText": "Government employee" 372 + } 373 + ] 374 + }, 375 + "questionCode": "employment" 376 + }, 377 + { 378 + "questionText": "What is your yearly income", 379 + "answer": { 380 + "type": "single", 381 + "required": true, 382 + "possibleAnswers": [ 383 + { 384 + "answerCode": "incomeinterval1", 385 + "answerText": "0-100 000 SEK" 386 + }, 387 + { 388 + "answerCode": "incomeinterval2", 389 + "answerText": "100 001-200 000 SEK" 390 + }, 391 + { 392 + "answerCode": "incomeinterval3", 393 + "answerText": "200 001-300 000 SEK" 394 + }, 395 + { 396 + "answerCode": "incomeinterval4", 397 + "answerText": "Over 300 001 SEK" 398 + } 399 + ] 400 + }, 401 + "questionCode": "income" 402 + } 403 + ], 404 + "operations": [] 405 +} 406 +{{/code}} 407 + 408 + 409 +**Possible problems** 410 + 411 +(% class="table-bordered table-striped" %) 412 +|=Http status |=Problem type |=Description 413 +|400 |validation |Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 414 +|404 |not-found |Occurs if the requested application isn't found. 415 +|409 |customer-mismatch |Occurs if the customer NationalIdentifier value doesn't match with the provided CustomerNo value. 416 +|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. 417 +|409 |account-profile-exists |Occurs if an account with the provided accountProfile already exists. 418 +|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. 419 +|409 |not-valid-for-intent |Occurs if the account profile is not valid for the provided SpecialIntent. 420 +|422 |invalid-special-intent |Occurs if the provided special intent is invalid. 421 +|500 |fatal |Unexpected error, logs may give details about the problem 422 + 423 +**Response object specification** 424 + 425 +(% class="table-bordered table-striped" %) 426 +|=Property |=Data type|=Format|=Description 427 +|@id |string | |Uri identifier of the current resource 428 +|creditLimit |number |Type: double 429 +Pattern: ^\d+.?(\d{1,2})?$ 430 +Max: 100000000 431 +Min: 0 |Credit limit on account applied for, can't have more than 2 decimal places 432 +|=nationalConsumerIdentifier |object | | 433 +| value |string | | 434 +| countryCode |string |Pattern: SE~|NO~|DK~|FI | 435 +|customerNo |string | |The identifier of the customer 436 +|emailAddress |string |Pattern: ^[^;\xA0\xD0\─@<>\p{Cc}]+@(?!\.)(?!.*\.\.)(?:[^;\xA0\xD0\─@<>\p{Cc}]+\.[^;\xA0\xD0\─@<>\p{Cc}]+~|\~[~[A-Fa-f\d\:]+\])(?<!\.)$ |The customers Email 437 +|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 '+' 438 +|ipAddress |string |Pattern: [a-z0-9.:/]* |Senders ip address 439 +|languageCode |string |((( 440 +* Sv 441 +* En 442 +* No 443 +* Da 444 +)))| 445 +|specialIntent |string | |Optional instruction used in special cases. Possible values: new-account-for-invoice-conversion, standalone-account-onboarding, standalone-account-onboarding-manual 446 +|=applicationOptions |object | | 447 +| customerPreAuthenticated |boolean | |Optional flag used when the customer is pre-authenticated. Defaults to false 448 +| 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. 449 +|sellerNo |string | |Only necessary if the account profile is configured to create an account alias using an alias template that requires sellerNo 450 +|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 451 +|applicationId |string | |ApplicationId 452 +|status |string |((( 453 +* AwaitingComplementaryInfo 454 +* AwaitingVerification 455 +* AwaitingSign 456 +* Rejected 457 +* InitializedDigitalSign 458 +* SignRejectedOrFailed 459 +* SignMismatch 460 +* Approved 461 +* InitializedKalp 462 +)))| 463 +|=createdAccount |object | | 464 +| accountNo |string | |Account number 465 +|=kycQuestions |array | | 466 +| questionCode |string | |The code definition of the question 467 +| questionText |string | |The translated text of the question 468 +|= answer |object | | 469 +| type |string | |The type of the expected answer: single ~| multi ~| text 470 +| required |boolean | |If the answer is required 471 +| textValidationRegEx |string | |The regex the answer should match 472 +|= possibleAnswers |array | | 473 +| answerCode |string | |The code definition of the answer 474 +| answerText |string | |The translated text of the answer 475 +|= subQuestions |array | | 476 +|kycAnswers |dynamic | |The kyc resource 477 +|signBankidSe |dynamic | |The sign bankid se resource 478 +|=availableTrustedSellerGroupConsents |array | | 479 +| |string | |Available trusted seller group consents 480 +|=trustedSellerGroupConsents |array | | 481 +| |string | |Trusted seller group consents 482 +|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]] 483 + 484 +== 3. Kyc-answers == 485 + 486 + 487 +Get the submited answers to kyc questions 488 + 489 +==== 3.1 Get list of Kyc-answers ==== 490 + 491 +{{code language="http" title="**Request**"}} 492 +GET /ledger/account-onboarding/v2/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/kyc-answers HTTP/1.1 493 +Host: - 494 +Authorization: Bearer<Token> 495 +Content-Type: application/json 496 + 497 +{{/code}} 498 + 499 +Example of response on successfully retrieved kyc answers 500 + 501 +{{code language="http" title="**Response**"}} 502 +HTTP/1.1 200 OK 503 +Content-Type: application/json 504 + 505 +{ 506 + "answers": [ 507 + { 508 + "questionCode": "employment", 509 + "answerCode": "selfemployed" 510 + }, 511 + { 512 + "questionCode": "monthlyincome", 513 + "answerCode": "monthlyincomeinterval2" 514 + }, 515 + { 516 + "questionCode": "ispep", 517 + "answerCode": "false" 518 + } 519 + ] 520 +} 521 +{{/code}} 522 + 523 + 524 + 525 +**Possible problems** 526 + 527 +(% class="table-bordered table-striped" %) 528 +|=Http status |=Problem type |=Description 529 +|404 |not-found |Occurs if the requested resource isn't found. 530 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 531 +|409 |kyc-not-configured |Occurs if the application does not support KYC answers due to the account profile not being configured with any. 532 +|500 |fatal |Unexpected error, logs may give details about the problem 533 + 534 +==== 3.2 Create Kyc-answer ==== 535 + 536 +Submit answers to kyc questions 537 + 538 +{{code language="http" title="**Request**"}} 539 +POST /ledger/account-onboarding/v2/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/kyc-answers HTTP/1.1 540 +Host: - 541 +Authorization: Bearer<Token> 542 +Content-Type: application/json 543 + 544 +{ 545 + "answers": [ 546 + { 547 + "questionCode": "employment", 548 + "answerCode": "selfemployed" 549 + }, 550 + { 551 + "questionCode": "monthlyincome", 552 + "answerCode": "monthlyincomeinterval2" 553 + }, 554 + { 555 + "questionCode": "ispep", 556 + "answerCode": "false" 557 + } 558 + ] 559 +} 560 +{{/code}} 561 + 562 + 563 +**Request object specification** 564 + 565 +(% class="table-bordered table-striped" %) 566 +|=Property |=Data type|=Format|=Required|=Description 567 +|=answers |array | |Yes | 568 +| questionCode |string | |Yes |The code definition of the question 569 +| answerCode |string | |Yes |The code definition of the answer 570 + 571 +Example of response on successfully created kyc answers 572 + 573 +{{code language="http" title="**Response**"}} 574 +HTTP/1.1 201 Created 575 +Content-Type: application/json 576 + 577 +{ 578 + "answers": [ 579 + { 580 + "questionCode": "employment", 581 + "answerCode": "selfemployed" 582 + }, 583 + { 584 + "questionCode": "monthlyincome", 585 + "answerCode": "monthlyincomeinterval2" 586 + }, 587 + { 588 + "questionCode": "ispep", 589 + "answerCode": "false" 590 + } 591 + ] 592 +} 593 +{{/code}} 594 + 595 + 596 +**Possible problems** 597 + 598 +(% class="table-bordered table-striped" %) 599 +|=Http status |=Problem type |=Description 600 +|400 |validation |Occurs if the validation of the request fails, it is described in the problem why the input is invalid. 601 +|404 |not-found |Occurs if the requested resource isn't found. 602 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 603 +|409 |validation |Occurs if the validation of the resource's state fails. 604 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 605 +|409 |kyc-not-configured |Occurs if the application does not support KYC answers due to the account profile not being configured with any. 606 +|500 |fatal |Unexpected error, logs may give details about the problem 607 + 608 +**Response object specification** 609 + 610 +(% class="table-bordered table-striped" %) 611 +|=Property |=Data type|=Format|=Description 612 +|@id |string | |Uri identifier of the current resource 613 +|=answers |array | | 614 +| questionCode |string | |The code definition of the question 615 +| answerCode |string | |The code definition of the answer 616 + 617 +== 4. Verify-application == 618 + 619 + 620 +==== 4.1 Create Verify-application ==== 621 + 622 +Verify the application and does a credit check if needed 623 + 624 +{{code language="http" title="**Request**"}} 625 +POST /ledger/account-onboarding/v2/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/verify-application HTTP/1.1 626 +Host: - 627 +Authorization: Bearer<Token> 628 +Content-Type: application/json 629 + 630 +{} 631 +{{/code}} 632 + 633 + 634 + 635 +{{code language="http" title="**Response**"}} 636 +HTTP/1.1 201 CREATED 637 +Content-Type: application/json 638 + 639 +{ 640 +} 641 +{{/code}} 642 + 643 + 644 +**Possible problems** 645 + 646 +(% class="table-bordered table-striped" %) 647 +|=Http status |=Problem type |=Description 648 +|404 |not-found |Occurs if the requested application isn't found. 649 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 650 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 651 +|422 |credit-check-declined |Occurs if the credit check is denied. 652 +|500 |fatal |Unexpected error, logs may give details about the problem 653 + 654 +== 5. Approve-paper-application == 655 + 656 + 657 +==== 5.1 Create Approve-paper-application ==== 658 + 659 +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. 660 + 661 +{{code language="http" title="**Request**"}} 662 +POST /ledger/account-onboarding/v2/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/approve-paper-application HTTP/1.1 663 +Host: - 664 +Authorization: Bearer<Token> 665 +Content-Type: application/json 666 + 667 +{ 668 + "applicationDocument": { 669 + "content": "JVBERi0xLjQKJ...", 670 + "fileType": "pdf" 671 + }, 672 + "trusteeCertificateIncluded": false 673 +} 674 +{{/code}} 675 + 676 + 677 +**Request object specification** 678 + 679 +(% class="table-bordered table-striped" %) 680 +|=Property |=Data type|=Format|=Required|=Description 681 +|=applicationDocument |object | |Yes | 682 +| content |string | |Yes |Base64-encoded content of the application document. 683 +| fileType |string |Pattern: ^pdf$ |Yes |File type of the document. Currently only 'pdf' is supported. 684 +|trusteeCertificateIncluded |boolean | |Yes |Whether a trustee certificate is included in the application. Sent to credit check as applicantParameters.trusteeCertificateIncluded. Defaults to false. 685 + 686 +Example of response on successfully approved paper application 687 + 688 +{{code language="http" title="**Response**"}} 689 +HTTP/1.1 200 OK 690 +Content-Type: application/json 691 + 692 +{ 693 + "accountNo": "1234567", 694 + "customerNo": "951753456" 695 +} 696 +{{/code}} 697 + 698 + 699 +**Possible problems** 700 + 701 +(% class="table-bordered table-striped" %) 702 +|=Http status |=Problem type |=Description 703 +|400 |validation |Occurs if any of the input validation fails. 704 +|409 |not-valid-for-intent |Occurs if the application was not created with the standalone-account-onboarding-manual intent. 705 +|409 |invalid-application-state |Occurs if the application is not in AwaitingSign state. 706 +|422 |credit-check-declined |Occurs if the credit check was denied. Application status is set to Rejected. 707 +|404 |not-found |Occurs if the requested application isn't found. 708 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 709 +|500 |fatal |Unexpected error, logs may give details about the problem 710 + 711 +**Response object specification** 712 + 713 +(% class="table-bordered table-striped" %) 714 +|=Property |=Data type|=Format|=Description 715 +|accountNo |string | |The account number of the created account. 716 +|customerNo |string | |The customer number used for this account. 717 + 718 +== 6. Sign-bankid-se == 719 + 720 + 721 +Retrieve bankid signing process data 722 + 723 +==== 6.1 Get list of Sign-bankid-se ==== 724 + 725 +{{code language="http" title="**Request**"}} 726 +GET /ledger/account-onboarding/v2/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/sign-bankid-se HTTP/1.1 727 +Host: - 728 +Authorization: Bearer<Token> 729 +Content-Type: application/json 730 + 731 +{{/code}} 732 + 733 +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. 734 + 735 +{{code language="http" title="**Response**"}} 736 +HTTP/1.1 200 OK 737 +Content-Type: application/json 738 + 739 +{ 740 + "autostartToken": "7c40b5c9-fa74-49cf-b98c-bfe651f9a7c6", 741 + "qrCodeImageDataUrl": "data:image/png;base64,VeryLongBase64String", 742 + "status": "Pending", 743 + "hintCode": "OutstandingTransaction", 744 + "maxExtends": 0, 745 + "currentExtend": 0, 746 + "secondsLeftThirtySecondsInterval": 0, 747 + "endUserIp": "194.168.2.25", 748 + "callbackUrl": "https://myCallbackUrl", 749 + "operations": [] 750 +} 751 +{{/code}} 752 + 753 + 754 + 755 +**Possible problems** 756 + 757 +(% class="table-bordered table-striped" %) 758 +|=Http status |=Problem type |=Description 759 +|404 |not-found |Occurs if the requested resource isn't found. 760 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 761 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 762 +|500 |fatal |Unexpected error, logs may give details about the problem 763 + 764 +==== 6.2 Create Sign-bankid-se ==== 765 + 766 +Initiate bankid signing process 767 + 768 +{{code language="http" title="**Request**"}} 769 +POST /ledger/account-onboarding/v2/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/sign-bankid-se HTTP/1.1 770 +Host: - 771 +Authorization: Bearer<Token> 772 +Content-Type: application/json 773 + 774 +{ 775 + "endUserIp": "194.168.2.25", 776 + "callbackUrl": "https://myCallbackUrl" 777 +} 778 +{{/code}} 779 + 780 + 781 +**Request object specification** 782 + 783 +(% class="table-bordered table-striped" %) 784 +|=Property |=Data type|=Format|=Required|=Description 785 +|endUserIp |string | |Yes |IP address of the end user. 786 +|callbackUrl |string | |No |If callback should be done on status change, it is done to the callback url. If empty no callback is done. 787 + 788 +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. 789 + 790 +{{code language="http" title="**Response**"}} 791 +HTTP/1.1 201 Created 792 +Content-Type: application/json 793 + 794 +{ 795 + "autostartToken": "7c40b5c9-fa74-49cf-b98c-bfe651f9a7c6", 796 + "qrCodeImageDataUrl": "data:image/png;base64,VeryLongBase64String", 797 + "status": "Pending", 798 + "hintCode": "OutstandingTransaction", 799 + "maxExtends": 0, 800 + "currentExtend": 0, 801 + "secondsLeftThirtySecondsInterval": 0, 802 + "endUserIp": "194.168.2.25", 803 + "callbackUrl": "https://myCallbackUrl", 804 + "operations": [] 805 +} 806 +{{/code}} 807 + 808 + 809 +**Possible problems** 810 + 811 +(% class="table-bordered table-striped" %) 812 +|=Http status |=Problem type |=Description 813 +|400 |validation |occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 814 +|404 |not-found |Occurs if the requested application isn't found. 815 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 816 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 817 +|409 |company-not-configured |Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable. 818 +|500 |fatal |Unexpected error, logs may give details about the problem 819 + 820 +**Response object specification** 821 + 822 +(% class="table-bordered table-striped" %) 823 +|=Property |=Data type|=Format|=Description 824 +|@id |string | |Uri identifier of the current resource 825 +|endUserIp |string | |IP address of the end user. 826 +|callbackUrl |string | |If callback should be done on status change, it is done to the callback url. If empty no callback is done. 827 +|autostartToken |string |Type: uuid |Autostart token to start BankId on the device client's current device. 828 +|qrCodeImageDataUrl |string | |QR code in Base64 that the end user needs to scan on another device than the one used to initiate. 829 +|status |string |((( 830 +* Pending 831 +* Complete 832 +* Failed 833 +)))| 834 +|hintCode |string |((( 835 +* OutstandingTransaction 836 +* NoClient 837 +* Started 838 +* UserMrtd 839 +* UserCallConfirm 840 +* UserSign 841 +* ExpiredTransaction 842 +* CertificateErr 843 +* UserCancel 844 +* Cancelled 845 +* StartFailed 846 +* UserDeclinedCall 847 +)))| 848 +|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]] 849 +|maxExtends |number |Type: int32 |Maximum Extend operation calls that are allowed. 850 +|currentExtend |number |Type: int32 |The amount of extend operations that have been made on this resource. 851 +|secondsLeftThirtySecondsInterval |number |Type: int32 |Time left in seconds for end user to complete signing. Only updated every 30 seconds. 852 + 853 +== 7. Cancel == 854 + 855 + 856 +==== 7.1 Create Cancel ==== 857 + 858 +Cancel bankid signing process 859 + 860 +{{code language="http" title="**Request**"}} 861 +POST /ledger/account-onboarding/v2/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/sign-bankid-se/cancel HTTP/1.1 862 +Host: - 863 +Authorization: Bearer<Token> 864 +Content-Type: application/json 865 + 866 +{} 867 +{{/code}} 868 + 869 + 870 + 871 +{{code language="http" title="**Response**"}} 872 +HTTP/1.1 201 CREATED 873 +Content-Type: application/json 874 + 875 +{ 876 +} 877 +{{/code}} 878 + 879 + 880 +**Possible problems** 881 + 882 +(% class="table-bordered table-striped" %) 883 +|=Http status |=Problem type |=Description 884 +|404 |not-found |Occurs if the requested application isn't found. 885 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 886 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 887 +|409 |invalid-bank-id-state |Occurs if the bankId state is invalid for the request to be made. 888 +|500 |fatal |Unexpected error, logs may give details about the problem 889 + 890 +== 8. Extend == 891 + 892 + 893 +==== 8.1 Create Extend ==== 894 + 895 +Extend the time period for an ongoing bankid signing process 896 + 897 +{{code language="http" title="**Request**"}} 898 +POST /ledger/account-onboarding/v2/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/sign-bankid-se/extend HTTP/1.1 899 +Host: - 900 +Authorization: Bearer<Token> 901 +Content-Type: application/json 902 + 903 +{ 904 +} 905 +{{/code}} 906 + 907 + 908 + 909 +Example of a response where Extend has been called once before (currentExtend 1), and some time has elapsed (90 seconds left). 910 + 911 +{{code language="http" title="**Response**"}} 912 +HTTP/1.1 200 OK 913 +Content-Type: application/json 914 + 915 +{ 916 + "maxExtends": 10, 917 + "currentExtend": 1, 918 + "secondsLeftThirtySecondsInterval": 90 919 +} 920 +{{/code}} 921 + 922 +==== 8.2 Create Extend ==== 923 + 924 +Extend the time period for an ongoing bankid signing process 925 + 926 +{{code language="http" title="**Request**"}} 927 +POST /ledger/account-onboarding/v2/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/sign-bankid-se/extend HTTP/1.1 928 +Host: - 929 +Authorization: Bearer<Token> 930 +Content-Type: application/json 931 + 932 +{ 933 +} 934 +{{/code}} 935 + 936 + 937 + 938 +{{code language="http" title="**Response**"}} 939 +HTTP/1.1 204 NO CONTENT 940 +Content-Type: application/json 941 + 942 +{} 943 +{{/code}} 944 + 945 + 946 +**Possible problems** 947 + 948 +(% class="table-bordered table-striped" %) 949 +|=Http status |=Problem type |=Description 950 +|404 |not-found |Occurs if the requested application isn't found. 951 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 952 +|409 |conflict |Occurs if the application state is invalid, see message for details. 953 +|500 |fatal |Unexpected error, logs may give details about the problem. 954 + 955 +**Response object specification** 956 + 957 +(% class="table-bordered table-striped" %) 958 +|=Property |=Data type|=Format|=Description 959 +|maxExtends |number |Type: int32 | 960 +|currentExtend |number |Type: int32 | 961 +|secondsLeftThirtySecondsInterval |number |Type: int32 | 962 + 963 +== 9. Limit-upgrade-applications == 964 + 965 + 966 +Get existing limit upgrade application 967 + 968 +==== 9.1 Get specific Limit-upgrade-application ==== 969 + 970 +{{code language="http" title="**Request**"}} 971 +GET /ledger/account-onboarding/v2/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId} HTTP/1.1 972 +Host: - 973 +Authorization: Bearer<Token> 974 +Content-Type: application/json 975 + 976 +{{/code}} 977 + 978 +Example of response on successfully created limit upgrade application 979 + 980 +{{code language="http" title="**Response**"}} 981 +HTTP/1.1 200 OK 982 +Content-Type: application/json 983 + 984 +{ 985 + "limitUpgradeApplicationId": "123e4567-e89b-12d3-a456-426614174000", 986 + "status": "AwaitingSign", 987 + "creditLimit": 5000.00, 988 + "accountNo": "123456", 989 + "languageCode": "Sv", 990 + "specialIntent": "limit-upgrade-for-invoice-conversion", 991 + "applicationOptions": { 992 + "customerPreAuthenticated": false, 993 + "preAuthorizationAmount": 5000.00 994 + }, 995 + "kycQuestions": [ 996 + { 997 + "questionText": "What is your current employment?", 998 + "answer": { 999 + "type": "single", 1000 + "required": true, 1001 + "possibleAnswers": [ 1002 + { 1003 + "answerCode": "selfemployed", 1004 + "answerText": "Own business" 1005 + }, 1006 + { 1007 + "answerCode": "private_employee", 1008 + "answerText": "Private employee" 1009 + }, 1010 + { 1011 + "answerCode": "goverment_employee", 1012 + "answerText": "Government employee" 1013 + } 1014 + ] 1015 + }, 1016 + "questionCode": "employment" 1017 + }, 1018 + { 1019 + "questionText": "What is your yearly income", 1020 + "answer": { 1021 + "type": "single", 1022 + "required": true, 1023 + "possibleAnswers": [ 1024 + { 1025 + "answerCode": "incomeinterval1", 1026 + "answerText": "0-100 000 SEK" 1027 + }, 1028 + { 1029 + "answerCode": "incomeinterval2", 1030 + "answerText": "100 001-200 000 SEK" 1031 + }, 1032 + { 1033 + "answerCode": "incomeinterval3", 1034 + "answerText": "200 001-300 000 SEK" 1035 + }, 1036 + { 1037 + "answerCode": "incomeinterval4", 1038 + "answerText": "Over 300 001 SEK" 1039 + } 1040 + ] 1041 + }, 1042 + "questionCode": "income" 1043 + } 1044 + ], 1045 + "operations": [] 1046 +} 1047 +{{/code}} 1048 + 1049 + 1050 + 1051 +**Possible problems** 1052 + 1053 +(% class="table-bordered table-striped" %) 1054 +|=Http status |=Problem type |=Description 1055 +|404 |not-found |Occurs if the requested resource isn't found. 1056 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1057 +|500 |fatal |Unexpected error, logs may give details about the problem 1058 + 1059 +==== 9.2 Create Limit-upgrade-application ==== 1060 + 1061 +Add limit upgrade application 1062 + 1063 +{{code language="http" title="**Request**"}} 1064 +POST /ledger/account-onboarding/v2/{ownerNo}/limit-upgrade-applications HTTP/1.1 1065 +Host: - 1066 +Authorization: Bearer<Token> 1067 +Content-Type: application/json 1068 + 1069 +{ 1070 + "creditLimit": 5000.00, 1071 + "accountNo": "123456", 1072 + "languageCode": "Sv", 1073 + "specialIntent": "limit-upgrade-for-invoice-conversion", 1074 + "applicationOptions": { 1075 + "customerPreAuthenticated": false, 1076 + "preAuthorizationAmount": 5000.00 1077 + } 1078 +} 1079 +{{/code}} 1080 + 1081 + 1082 +**Request object specification** 1083 + 1084 +(% class="table-bordered table-striped" %) 1085 +|=Property |=Data type|=Format|=Required|=Description 1086 +|creditLimit |number |Type: double 1087 +Pattern: ^\d+.?(\d{1,2})?$ 1088 +Max: 100000000 1089 +Min: 0 |Yes |Credit limit on account applied for, can't have more than 2 decimal places 1090 +|accountNo |string | |Yes |The identifier of the account 1091 +|ipAddress |string |Pattern: [a-z0-9.:/]* |No |Senders ip address 1092 +|languageCode |string |((( 1093 +* Sv 1094 +* En 1095 +* No 1096 +* Da 1097 +)))|Yes | 1098 +|specialIntent |string | |No |Optional instruction used in special cases. Possible values (IncreaseLimitForInvoiceConversion) 1099 +|=applicationOptions |object | |No | 1100 +| customerPreAuthenticated |boolean | |Yes |Optional flag used when the customer is pre-authenticated. Defaults to false 1101 +| 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. 1102 + 1103 +Example of response on successfully created limit upgrade application 1104 + 1105 +{{code language="http" title="**Response**"}} 1106 +HTTP/1.1 201 Created 1107 +Content-Type: application/json 1108 + 1109 +{ 1110 + "limitUpgradeApplicationId": "123e4567-e89b-12d3-a456-426614174000", 1111 + "status": "AwaitingSign", 1112 + "creditLimit": 5000.00, 1113 + "accountNo": "123456", 1114 + "languageCode": "Sv", 1115 + "specialIntent": "limit-upgrade-for-invoice-conversion", 1116 + "applicationOptions": { 1117 + "customerPreAuthenticated": false, 1118 + "preAuthorizationAmount": 5000.00 1119 + }, 1120 + "kycQuestions": [ 1121 + { 1122 + "questionText": "What is your current employment?", 1123 + "answer": { 1124 + "type": "single", 1125 + "required": true, 1126 + "possibleAnswers": [ 1127 + { 1128 + "answerCode": "selfemployed", 1129 + "answerText": "Own business" 1130 + }, 1131 + { 1132 + "answerCode": "private_employee", 1133 + "answerText": "Private employee" 1134 + }, 1135 + { 1136 + "answerCode": "goverment_employee", 1137 + "answerText": "Government employee" 1138 + } 1139 + ] 1140 + }, 1141 + "questionCode": "employment" 1142 + }, 1143 + { 1144 + "questionText": "What is your yearly income", 1145 + "answer": { 1146 + "type": "single", 1147 + "required": true, 1148 + "possibleAnswers": [ 1149 + { 1150 + "answerCode": "incomeinterval1", 1151 + "answerText": "0-100 000 SEK" 1152 + }, 1153 + { 1154 + "answerCode": "incomeinterval2", 1155 + "answerText": "100 001-200 000 SEK" 1156 + }, 1157 + { 1158 + "answerCode": "incomeinterval3", 1159 + "answerText": "200 001-300 000 SEK" 1160 + }, 1161 + { 1162 + "answerCode": "incomeinterval4", 1163 + "answerText": "Over 300 001 SEK" 1164 + } 1165 + ] 1166 + }, 1167 + "questionCode": "income" 1168 + } 1169 + ], 1170 + "operations": [] 1171 +} 1172 +{{/code}} 1173 + 1174 + 1175 +**Possible problems** 1176 + 1177 +(% class="table-bordered table-striped" %) 1178 +|=Http status |=Problem type |=Description 1179 +|400 |validation |Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 1180 +|404 |not-found |Occurs if the requested resource isn't found. 1181 +|404 |resource-unavailable |Occurs if a valid account is not available. 1182 +|409 |account-status |Occurs if the account status is invalid for the request to be made. 1183 +|409 |credit-limit-already-sufficient |Occurs if the requested credit limit is invalid because it is already sufficient. 1184 +|422 |invalid-special-intent |Occurs if the provided special intent is invalid. 1185 +|500 |fatal |Unexpected error, logs may give details about the problem 1186 + 1187 +**Response object specification** 1188 + 1189 +(% class="table-bordered table-striped" %) 1190 +|=Property |=Data type|=Format|=Description 1191 +|@id |string | |Uri identifier of the current resource 1192 +|creditLimit |number |Type: double 1193 +Pattern: ^\d+.?(\d{1,2})?$ 1194 +Max: 100000000 1195 +Min: 0 |Credit limit on account applied for, can't have more than 2 decimal places 1196 +|accountNo |string | |The identifier of the account 1197 +|ipAddress |string |Pattern: [a-z0-9.:/]* |Senders ip address 1198 +|languageCode |string |((( 1199 +* Sv 1200 +* En 1201 +* No 1202 +* Da 1203 +)))| 1204 +|specialIntent |string | |Optional instruction used in special cases. Possible values (IncreaseLimitForInvoiceConversion) 1205 +|=applicationOptions |object | | 1206 +| customerPreAuthenticated |boolean | |Optional flag used when the customer is pre-authenticated. Defaults to false 1207 +| 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. 1208 +|limitUpgradeApplicationId |string | |LimitUpgradeApplicationId 1209 +|status |string |((( 1210 +* AwaitingComplementaryInfo 1211 +* AwaitingVerification 1212 +* AwaitingSign 1213 +* Rejected 1214 +* InitializedDigitalSign 1215 +* SignRejectedOrFailed 1216 +* SignMismatch 1217 +* Approved 1218 +* InitializedKalp 1219 +)))| 1220 +|kycAnswers |dynamic | |The kyc resource 1221 +|signBankidSe |dynamic | |The sign bankid se resource 1222 +|=kycQuestions |array | | 1223 +| questionCode |string | |The code definition of the question 1224 +| questionText |string | |The translated text of the question 1225 +|= answer |object | | 1226 +| type |string | |The type of the expected answer: single ~| multi ~| text 1227 +| required |boolean | |If the answer is required 1228 +| textValidationRegEx |string | |The regex the answer should match 1229 +|= possibleAnswers |array | | 1230 +| answerCode |string | |The code definition of the answer 1231 +| answerText |string | |The translated text of the answer 1232 +|= subQuestions |array | | 1233 +|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]] 1234 + 1235 +== 10. Kyc-answers == 1236 + 1237 + 1238 +Get the submited answers to kyc questions 1239 + 1240 +==== 10.1 Get list of Kyc-answers ==== 1241 + 1242 +{{code language="http" title="**Request**"}} 1243 +GET /ledger/account-onboarding/v2/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/kyc-answers HTTP/1.1 1244 +Host: - 1245 +Authorization: Bearer<Token> 1246 +Content-Type: application/json 1247 + 1248 +{{/code}} 1249 + 1250 +Example of response on successfully retrieved kyc answers 1251 + 1252 +{{code language="http" title="**Response**"}} 1253 +HTTP/1.1 200 OK 1254 +Content-Type: application/json 1255 + 1256 +{ 1257 + "answers": [ 1258 + { 1259 + "questionCode": "employment", 1260 + "answerCode": "selfemployed" 1261 + }, 1262 + { 1263 + "questionCode": "monthlyincome", 1264 + "answerCode": "monthlyincomeinterval2" 1265 + }, 1266 + { 1267 + "questionCode": "ispep", 1268 + "answerCode": "false" 1269 + } 1270 + ] 1271 +} 1272 +{{/code}} 1273 + 1274 + 1275 + 1276 +**Possible problems** 1277 + 1278 +(% class="table-bordered table-striped" %) 1279 +|=Http status |=Problem type |=Description 1280 +|404 |not-found |Occurs if the requested resource isn't found. 1281 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1282 +|409 |kyc-not-configured |Occurs if the application does not support KYC answers due to the account profile not being configured with any. 1283 +|500 |fatal |Unexpected error, logs may give details about the problem 1284 + 1285 +==== 10.2 Create Kyc-answer ==== 1286 + 1287 +Submit answers to kyc questions 1288 + 1289 +{{code language="http" title="**Request**"}} 1290 +POST /ledger/account-onboarding/v2/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/kyc-answers HTTP/1.1 1291 +Host: - 1292 +Authorization: Bearer<Token> 1293 +Content-Type: application/json 1294 + 1295 +{ 1296 + "answers": [ 1297 + { 1298 + "questionCode": "employment", 1299 + "answerCode": "selfemployed" 1300 + }, 1301 + { 1302 + "questionCode": "monthlyincome", 1303 + "answerCode": "monthlyincomeinterval2" 1304 + }, 1305 + { 1306 + "questionCode": "ispep", 1307 + "answerCode": "false" 1308 + } 1309 + ] 1310 +} 1311 +{{/code}} 1312 + 1313 + 1314 +**Request object specification** 1315 + 1316 +(% class="table-bordered table-striped" %) 1317 +|=Property |=Data type|=Format|=Required|=Description 1318 +|=answers |array | |Yes | 1319 +| questionCode |string | |Yes |The code definition of the question 1320 +| answerCode |string | |Yes |The code definition of the answer 1321 + 1322 +Example of response on successfully created kyc answers 1323 + 1324 +{{code language="http" title="**Response**"}} 1325 +HTTP/1.1 201 Created 1326 +Content-Type: application/json 1327 + 1328 +{ 1329 + "answers": [ 1330 + { 1331 + "questionCode": "employment", 1332 + "answerCode": "selfemployed" 1333 + }, 1334 + { 1335 + "questionCode": "monthlyincome", 1336 + "answerCode": "monthlyincomeinterval2" 1337 + }, 1338 + { 1339 + "questionCode": "ispep", 1340 + "answerCode": "false" 1341 + } 1342 + ] 1343 +} 1344 +{{/code}} 1345 + 1346 + 1347 +**Possible problems** 1348 + 1349 +(% class="table-bordered table-striped" %) 1350 +|=Http status |=Problem type |=Description 1351 +|400 |validation |Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 1352 +|404 |not-found |Occurs if the requested resource isn't found. 1353 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1354 +|409 |validation |Occurs if the validation of the resource's state fails. 1355 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1356 +|409 |kyc-not-configured |Occurs if the application does not support KYC answers due to the account profile not being configured with any. 1357 +|500 |fatal |Unexpected error, logs may give details about the problem 1358 + 1359 +**Response object specification** 1360 + 1361 +(% class="table-bordered table-striped" %) 1362 +|=Property |=Data type|=Format|=Description 1363 +|@id |string | |Uri identifier of the current resource 1364 +|=answers |array | | 1365 +| questionCode |string | |The code definition of the question 1366 +| answerCode |string | |The code definition of the answer 1367 + 1368 +== 11. Verify-application == 1369 + 1370 + 1371 +==== 11.1 Create Verify-application ==== 1372 + 1373 +Verify the application and does a credit check if needed 1374 + 1375 +{{code language="http" title="**Request**"}} 1376 +POST /ledger/account-onboarding/v2/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/verify-application HTTP/1.1 1377 +Host: - 1378 +Authorization: Bearer<Token> 1379 +Content-Type: application/json 1380 + 1381 +{} 1382 +{{/code}} 1383 + 1384 + 1385 + 1386 +{{code language="http" title="**Response**"}} 1387 +HTTP/1.1 201 CREATED 1388 +Content-Type: application/json 1389 + 1390 +{ 1391 +} 1392 +{{/code}} 1393 + 1394 + 1395 +**Possible problems** 1396 + 1397 +(% class="table-bordered table-striped" %) 1398 +|=Http status |=Problem type |=Description 1399 +|404 |not-found |Occurs if the requested application isn't found. 1400 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1401 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1402 +|422 |credit-check-declined |Occurs if the credit check is denied. 1403 +|500 |fatal |Unexpected error, logs may give details about the problem 1404 + 1405 +== 12. Begin-sign-bankid-no == 1406 + 1407 + 1408 +==== 12.1 Create Begin-sign-bankid-no ==== 1409 + 1410 +Initiate Norwegain bankid signing process 1411 + 1412 +{{code language="http" title="**Request**"}} 1413 +POST /ledger/account-onboarding/v2/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/begin-sign-bankid-no HTTP/1.1 1414 +Host: - 1415 +Authorization: Bearer<Token> 1416 +Content-Type: application/json 1417 + 1418 +{ 1419 + "completeUrl": "https://sucessful-page?id=123", 1420 + "cancelUrl": "https://unsucessful-page?id=123", 1421 + "callbackUrl": "https://my-callback-url?id=123" 1422 +} 1423 +{{/code}} 1424 + 1425 + 1426 +**Request object specification** 1427 + 1428 +(% class="table-bordered table-striped" %) 1429 +|=Property |=Data type|=Format|=Required|=Description 1430 +|completeUrl |string | |No |Url to redirect the user from Signicat Signing when signing has been completed 1431 +|cancelUrl |string | |No |Url to redirect the user from Signicat Signing when user choose to cancel the ongoing signing 1432 +|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] 1433 + 1434 +Example of successful response. This response has started a background process that begin polling for update about the signing for a limited time. 1435 + 1436 +{{code language="http" title="**Response**"}} 1437 +HTTP/1.1 200 OK 1438 +Content-Type: application/json 1439 + 1440 +{ 1441 + "signingUrl": "https://example-signicat.com/std/docaction/profile-identify?request_id=123456abcdefg" 1442 +} 1443 +{{/code}} 1444 + 1445 + 1446 +**Possible problems** 1447 + 1448 +(% class="table-bordered table-striped" %) 1449 +|=Http status |=Problem type |=Description 1450 +|400 |validation |Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 1451 +|404 |not-found |Occurs if the requested application isn't found. 1452 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1453 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1454 +|409 |company-not-configured |Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable. 1455 +|500 |fatal |Unexpected error, logs may give details about the problem 1456 + 1457 +**Response object specification** 1458 + 1459 +(% class="table-bordered table-striped" %) 1460 +|=Property |=Data type|=Format|=Description 1461 +|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 1462 + 1463 +== 13. Begin-sign-bankid-no == 1464 + 1465 + 1466 +==== 13.1 Create Begin-sign-bankid-no ==== 1467 + 1468 +Initiate Norwegain bankid signing process 1469 + 1470 +{{code language="http" title="**Request**"}} 1471 +POST /ledger/account-onboarding/v2/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/begin-sign-bankid-no HTTP/1.1 1472 +Host: - 1473 +Authorization: Bearer<Token> 1474 +Content-Type: application/json 1475 + 1476 +{ 1477 + "completeUrl": "https://sucessful-page?id=123", 1478 + "cancelUrl": "https://unsucessful-page?id=123", 1479 + "callbackUrl": "https://my-callback-url?id=123" 1480 +} 1481 +{{/code}} 1482 + 1483 + 1484 +**Request object specification** 1485 + 1486 +(% class="table-bordered table-striped" %) 1487 +|=Property |=Data type|=Format|=Required|=Description 1488 +|completeUrl |string | |No |Url to redirect the user from Signicat Signing when signing has been completed 1489 +|cancelUrl |string | |No |Url to redirect the user from Signicat Signing when user choose to cancel the ongoing signing 1490 +|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] 1491 + 1492 +Example of successful response. This response has started a background process that begin polling for update about the signing for a limited time. 1493 + 1494 +{{code language="http" title="**Response**"}} 1495 +HTTP/1.1 200 OK 1496 +Content-Type: application/json 1497 + 1498 +{ 1499 + "signingUrl": "https://example-signicat.com/std/docaction/profile-identify?request_id=123456abcdefg" 1500 +} 1501 +{{/code}} 1502 + 1503 + 1504 +**Possible problems** 1505 + 1506 +(% class="table-bordered table-striped" %) 1507 +|=Http status |=Problem type |=Description 1508 +|400 |validation |Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 1509 +|404 |not-found |Occurs if the requested application isn't found. 1510 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1511 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1512 +|409 |company-not-configured |Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable. 1513 +|500 |fatal |Unexpected error, logs may give details about the problem 1514 + 1515 +**Response object specification** 1516 + 1517 +(% class="table-bordered table-striped" %) 1518 +|=Property |=Data type|=Format|=Description 1519 +|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 1520 + 1521 +== 14. Sign-bankid-se == 1522 + 1523 + 1524 +Retrieve bankid signing process data 1525 + 1526 +==== 14.1 Get list of Sign-bankid-se ==== 1527 + 1528 +{{code language="http" title="**Request**"}} 1529 +GET /ledger/account-onboarding/v2/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/sign-bankid-se HTTP/1.1 1530 +Host: - 1531 +Authorization: Bearer<Token> 1532 +Content-Type: application/json 1533 + 1534 +{{/code}} 1535 + 1536 +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. 1537 + 1538 +{{code language="http" title="**Response**"}} 1539 +HTTP/1.1 200 OK 1540 +Content-Type: application/json 1541 + 1542 +{ 1543 + "autostartToken": "7c40b5c9-fa74-49cf-b98c-bfe651f9a7c6", 1544 + "qrCodeImageDataUrl": "data:image/png;base64,VeryLongBase64String", 1545 + "status": "Pending", 1546 + "hintCode": "OutstandingTransaction", 1547 + "maxExtends": 0, 1548 + "currentExtend": 0, 1549 + "secondsLeftThirtySecondsInterval": 0, 1550 + "endUserIp": "194.168.2.25", 1551 + "callbackUrl": "https://myCallbackUrl", 1552 + "operations": [] 1553 +} 1554 +{{/code}} 1555 + 1556 + 1557 + 1558 +**Possible problems** 1559 + 1560 +(% class="table-bordered table-striped" %) 1561 +|=Http status |=Problem type |=Description 1562 +|404 |not-found |Occurs if the requested resource isn't found. 1563 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1564 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1565 +|500 |fatal |Unexpected error, logs may give details about the problem 1566 + 1567 +==== 14.2 Create Sign-bankid-se ==== 1568 + 1569 +Initiate bankid signing process 1570 + 1571 +{{code language="http" title="**Request**"}} 1572 +POST /ledger/account-onboarding/v2/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/sign-bankid-se HTTP/1.1 1573 +Host: - 1574 +Authorization: Bearer<Token> 1575 +Content-Type: application/json 1576 + 1577 +{ 1578 + "endUserIp": "194.168.2.25", 1579 + "callbackUrl": "https://myCallbackUrl" 1580 +} 1581 +{{/code}} 1582 + 1583 + 1584 +**Request object specification** 1585 + 1586 +(% class="table-bordered table-striped" %) 1587 +|=Property |=Data type|=Format|=Required|=Description 1588 +|endUserIp |string | |Yes |IP address of the end user. 1589 +|callbackUrl |string | |No |If callback should be done on status change, it is done to the callback url. If empty no callback is done. 1590 + 1591 +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. 1592 + 1593 +{{code language="http" title="**Response**"}} 1594 +HTTP/1.1 201 Created 1595 +Content-Type: application/json 1596 + 1597 +{ 1598 + "autostartToken": "7c40b5c9-fa74-49cf-b98c-bfe651f9a7c6", 1599 + "qrCodeImageDataUrl": "data:image/png;base64,VeryLongBase64String", 1600 + "status": "Pending", 1601 + "hintCode": "OutstandingTransaction", 1602 + "maxExtends": 0, 1603 + "currentExtend": 0, 1604 + "secondsLeftThirtySecondsInterval": 0, 1605 + "endUserIp": "194.168.2.25", 1606 + "callbackUrl": "https://myCallbackUrl", 1607 + "operations": [] 1608 +} 1609 +{{/code}} 1610 + 1611 + 1612 +**Possible problems** 1613 + 1614 +(% class="table-bordered table-striped" %) 1615 +|=Http status |=Problem type |=Description 1616 +|400 |validation |occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 1617 +|404 |not-found |Occurs if the requested application isn't found. 1618 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1619 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1620 +|409 |company-not-configured |Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable. 1621 +|500 |fatal |Unexpected error, logs may give details about the problem 1622 + 1623 +**Response object specification** 1624 + 1625 +(% class="table-bordered table-striped" %) 1626 +|=Property |=Data type|=Format|=Description 1627 +|@id |string | |Uri identifier of the current resource 1628 +|endUserIp |string | |IP address of the end user. 1629 +|callbackUrl |string | |If callback should be done on status change, it is done to the callback url. If empty no callback is done. 1630 +|autostartToken |string |Type: uuid |Autostart token to start BankId on the device client's current device. 1631 +|qrCodeImageDataUrl |string | |QR code in Base64 that the end user needs to scan on another device than the one used to initiate. 1632 +|status |string |((( 1633 +* Pending 1634 +* Complete 1635 +* Failed 1636 +)))| 1637 +|hintCode |string |((( 1638 +* OutstandingTransaction 1639 +* NoClient 1640 +* Started 1641 +* UserMrtd 1642 +* UserCallConfirm 1643 +* UserSign 1644 +* ExpiredTransaction 1645 +* CertificateErr 1646 +* UserCancel 1647 +* Cancelled 1648 +* StartFailed 1649 +* UserDeclinedCall 1650 +)))| 1651 +|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]] 1652 +|maxExtends |number |Type: int32 |Maximum Extend operation calls that are allowed. 1653 +|currentExtend |number |Type: int32 |The amount of extend operations that have been made on this resource. 1654 +|secondsLeftThirtySecondsInterval |number |Type: int32 |Time left in seconds for end user to complete signing. Only updated every 30 seconds. 1655 + 1656 +== 15. Begin-sign-mitid-dk == 1657 + 1658 + 1659 +==== 15.1 Create Begin-sign-mitid-dk ==== 1660 + 1661 +Initiate Danish mitid signing process 1662 + 1663 +{{code language="http" title="**Request**"}} 1664 +POST /ledger/account-onboarding/v2/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/begin-sign-mitid-dk HTTP/1.1 1665 +Host: - 1666 +Authorization: Bearer<Token> 1667 +Content-Type: application/json 1668 + 1669 +{} 1670 +{{/code}} 1671 + 1672 + 1673 +**Request object specification** 1674 + 1675 +(% class="table-bordered table-striped" %) 1676 +|=Property |=Data type|=Format|=Required|=Description 1677 +|completeUrl |string | |No |Url to redirect the user from Signicat Signing when signing has been completed 1678 +|cancelUrl |string | |No |Url to redirect the user from Signicat Signing when user choose to cancel the ongoing signing 1679 +|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] 1680 + 1681 +Example of successful response. This response has started a background process that begins polling for update about the signing for a limited time. 1682 + 1683 +{{code language="http" title="**Response**"}} 1684 +HTTP/1.1 200 OK 1685 +Content-Type: application/json 1686 + 1687 +{} 1688 +{{/code}} 1689 + 1690 + 1691 +**Possible problems** 1692 + 1693 +(% class="table-bordered table-striped" %) 1694 +|=Http status |=Problem type |=Description 1695 +|400 |validation |Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 1696 +|404 |not-found |Occurs if the requested application isn't found. 1697 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1698 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1699 +|409 |company-not-configured |Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable. 1700 +|500 |fatal |Unexpected error, logs may give details about the problem 1701 + 1702 +**Response object specification** 1703 + 1704 +(% class="table-bordered table-striped" %) 1705 +|=Property |=Data type|=Format|=Description 1706 +|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 1707 + 1708 +== 16. Begin-sign-mitid-dk == 1709 + 1710 + 1711 +==== 16.1 Create Begin-sign-mitid-dk ==== 1712 + 1713 +Initiate Danish mitid signing process 1714 + 1715 +{{code language="http" title="**Request**"}} 1716 +POST /ledger/account-onboarding/v2/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/begin-sign-mitid-dk HTTP/1.1 1717 +Host: - 1718 +Authorization: Bearer<Token> 1719 +Content-Type: application/json 1720 + 1721 +{} 1722 +{{/code}} 1723 + 1724 + 1725 +**Request object specification** 1726 + 1727 +(% class="table-bordered table-striped" %) 1728 +|=Property |=Data type|=Format|=Required|=Description 1729 +|completeUrl |string | |No |Url to redirect the user from Signicat Signing when signing has been completed 1730 +|cancelUrl |string | |No |Url to redirect the user from Signicat Signing when user choose to cancel the ongoing signing 1731 +|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] 1732 + 1733 +Example of successful response. This response has started a background process that begins polling for update about the signing for a limited time. 1734 + 1735 +{{code language="http" title="**Response**"}} 1736 +HTTP/1.1 200 OK 1737 +Content-Type: application/json 1738 + 1739 +{} 1740 +{{/code}} 1741 + 1742 + 1743 +**Possible problems** 1744 + 1745 +(% class="table-bordered table-striped" %) 1746 +|=Http status |=Problem type |=Description 1747 +|400 |validation |Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 1748 +|404 |not-found |Occurs if the requested application isn't found. 1749 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1750 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1751 +|409 |company-not-configured |Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable. 1752 +|500 |fatal |Unexpected error, logs may give details about the problem 1753 + 1754 +**Response object specification** 1755 + 1756 +(% class="table-bordered table-striped" %) 1757 +|=Property |=Data type|=Format|=Description 1758 +|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 1759 + 1760 +== 17. Redirect-kalp-dk == 1761 + 1762 + 1763 +==== 17.1 Create Redirect-kalp-dk ==== 1764 + 1765 +Creates or gets a url for the Kalp page that the customer need to fill out to continue the application process 1766 + 1767 +{{code language="http" title="**Request**"}} 1768 +POST /ledger/account-onboarding/v2/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/redirect-kalp-dk HTTP/1.1 1769 +Host: - 1770 +Authorization: Bearer<Token> 1771 +Content-Type: application/json 1772 + 1773 +{} 1774 +{{/code}} 1775 + 1776 + 1777 + 1778 +===== Example of a response from the Application RedirectKalpDk operation ===== 1779 + 1780 +NO DESCRIPTION SET 1781 + 1782 +{{code language="http" title="**Response**"}} 1783 +HTTP/1.1 200 OK 1784 +Content-Type: application/json 1785 + 1786 +{ 1787 + "redirectUrl": "https://flow.monthio.com/?sessionId=kalpid" 1788 +} 1789 +{{/code}} 1790 + 1791 + 1792 +**Possible problems** 1793 + 1794 +(% class="table-bordered table-striped" %) 1795 +|=Http status |=Problem type |=Description 1796 +|404 |not-found |Occurs if the requested application isn't found. 1797 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1798 +|409 |conflict |Occurs if the application state is invalid for the request to be made. 1799 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1800 +|409 |company-not-configured |Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable. 1801 +|409 |kalp-not-configured |Occurs when account profile is not configured for Kalp. 1802 +|500 |fatal |Unexpected error, logs may give details about the problem 1803 + 1804 +**Response object specification** 1805 + 1806 +(% class="table-bordered table-striped" %) 1807 +|=Property |=Data type|=Format|=Description 1808 +|redirectUrl |string | | 1809 + 1810 +== 18. Redirect-kalp-dk == 1811 + 1812 + 1813 +==== 18.1 Create Redirect-kalp-dk ==== 1814 + 1815 +Creates or gets a url for the Kalp page that the customer need to fill out to continue the limit upgrade application process 1816 + 1817 +{{code language="http" title="**Request**"}} 1818 +POST /ledger/account-onboarding/v2/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/redirect-kalp-dk HTTP/1.1 1819 +Host: - 1820 +Authorization: Bearer<Token> 1821 +Content-Type: application/json 1822 + 1823 +{} 1824 +{{/code}} 1825 + 1826 + 1827 + 1828 +Example of a response from the Limit Upgrade Application RedirectKalpDk operation 1829 + 1830 +{{code language="http" title="**Response**"}} 1831 +HTTP/1.1 200 OK 1832 +Content-Type: application/json 1833 + 1834 +{ 1835 + "redirectUrl": "https://flow.monthio.com/?sessionId=kalpid" 1836 +} 1837 +{{/code}} 1838 + 1839 + 1840 +**Possible problems** 1841 + 1842 +(% class="table-bordered table-striped" %) 1843 +|=Http status |=Problem type |=Description 1844 +|404 |not-found |Occurs if the requested application isn't found. 1845 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1846 +|409 |conflict |Occurs if the application state is invalid for the request to be made. 1847 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1848 +|409 |company-not-configured |Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable. 1849 +|409 |kalp-not-configured |Occurs when account profile is not configured for Kalp. 1850 +|500 |fatal |Unexpected error, logs may give details about the problem 1851 + 1852 +**Response object specification** 1853 + 1854 +(% class="table-bordered table-striped" %) 1855 +|=Property |=Data type|=Format|=Description 1856 +|redirectUrl |string | | 1857 + 1858 +== 19. Cancel == 1859 + 1860 + 1861 +==== 19.1 Create Cancel ==== 1862 + 1863 +Cancel bankid signing process 1864 + 1865 +{{code language="http" title="**Request**"}} 1866 +POST /ledger/account-onboarding/v2/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/sign-bankid-se/cancel HTTP/1.1 1867 +Host: - 1868 +Authorization: Bearer<Token> 1869 +Content-Type: application/json 1870 + 1871 +{} 1872 +{{/code}} 1873 + 1874 + 1875 + 1876 +{{code language="http" title="**Response**"}} 1877 +HTTP/1.1 201 CREATED 1878 +Content-Type: application/json 1879 + 1880 +{ 1881 +} 1882 +{{/code}} 1883 + 1884 + 1885 +**Possible problems** 1886 + 1887 +(% class="table-bordered table-striped" %) 1888 +|=Http status |=Problem type |=Description 1889 +|404 |not-found |Occurs if the requested application isn't found. 1890 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1891 +|409 |invalid-application-state |Occurs if the application state is invalid for the request to be made. 1892 +|409 |invalid-bank-id-state |Occurs if the bankId state is invalid for the request to be made. 1893 +|500 |fatal |Unexpected error, logs may give details about the problem 1894 + 1895 +== 20. Extend == 1896 + 1897 + 1898 +==== 20.1 Create Extend ==== 1899 + 1900 +Extend the time period for an ongoing bankid signing process 1901 + 1902 +{{code language="http" title="**Request**"}} 1903 +POST /ledger/account-onboarding/v2/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/sign-bankid-se/extend HTTP/1.1 1904 +Host: - 1905 +Authorization: Bearer<Token> 1906 +Content-Type: application/json 1907 + 1908 +{ 1909 +} 1910 +{{/code}} 1911 + 1912 + 1913 + 1914 +Example of a response where Extend has been called once before (currentExtend 1), and some time has elapsed (90 seconds left). 1915 + 1916 +{{code language="http" title="**Response**"}} 1917 +HTTP/1.1 200 OK 1918 +Content-Type: application/json 1919 + 1920 +{ 1921 + "maxExtends": 10, 1922 + "currentExtend": 1, 1923 + "secondsLeftThirtySecondsInterval": 90 1924 +} 1925 +{{/code}} 1926 + 1927 +==== 20.2 Create Extend ==== 1928 + 1929 +Extend the time period for an ongoing bankid signing process 1930 + 1931 +{{code language="http" title="**Request**"}} 1932 +POST /ledger/account-onboarding/v2/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/sign-bankid-se/extend HTTP/1.1 1933 +Host: - 1934 +Authorization: Bearer<Token> 1935 +Content-Type: application/json 1936 + 1937 +{ 1938 +} 1939 +{{/code}} 1940 + 1941 + 1942 + 1943 +{{code language="http" title="**Response**"}} 1944 +HTTP/1.1 204 NO CONTENT 1945 +Content-Type: application/json 1946 + 1947 +{} 1948 +{{/code}} 1949 + 1950 + 1951 +**Possible problems** 1952 + 1953 +(% class="table-bordered table-striped" %) 1954 +|=Http status |=Problem type |=Description 1955 +|404 |not-found |Occurs if the requested application isn't found. 1956 +|404 |resource-unavailable |Occurs if the requested resource is unavailable when retrieving it from the cache. 1957 +|409 |conflict |Occurs if the application state is invalid, see message for details. 1958 +|500 |fatal |Unexpected error, logs may give details about the problem. 1959 + 1960 +**Response object specification** 1961 + 1962 +(% class="table-bordered table-striped" %) 1963 +|=Property |=Data type|=Format|=Description 1964 +|maxExtends |number |Type: int32 | 1965 +|currentExtend |number |Type: int32 | 1966 +|secondsLeftThirtySecondsInterval |number |Type: int32 | 1967 + 1968 +== 21. Create-account-without-application == 1969 + 1970 + 1971 +==== 21.1 Create Create-account-without-application ==== 1972 + 1973 +Create a new account for a consumer, with the selected offer. Only one account i permitted for a combination of consumer and offer 1974 + 1975 +{{code language="http" title="**Request**"}} 1976 +POST /ledger/account-onboarding/v2/{ownerNo}/offers/{accountProfile}/create-account-without-application HTTP/1.1 1977 +Host: - 1978 +Authorization: Bearer<Token> 1979 +Content-Type: application/json 1980 + 1981 +{ 1982 + "customerNo": "951753456", 1983 + "creditLimit": 5000.00 1984 +} 1985 +{{/code}} 1986 + 1987 + 1988 +**Request object specification** 1989 + 1990 +(% class="table-bordered table-striped" %) 1991 +|=Property |=Data type|=Format|=Required|=Description 1992 +|customerNo |string | |Yes |The identifier of the customer 1993 +|creditLimit |number |Type: double 1994 +Pattern: ^\d+.?(\d{1,2})?$ 1995 +Max: 100000000 1996 +Min: 0 |Yes |Credit limit on account applied for, can't have more than 2 decimal places 1997 + 1998 +Example of response on successfully created account. 1999 + 2000 +{{code language="http" title="**Response**"}} 2001 +HTTP/1.1 200 OK 2002 +Content-Type: application/json 2003 + 2004 +{ 2005 + "accountNo": "123456", 2006 + "customerNo": "951753456", 2007 + "creditLimit": 5000.00 2008 +} 2009 +{{/code}} 2010 + 2011 + 2012 +**Possible problems** 2013 + 2014 +(% class="table-bordered table-striped" %) 2015 +|=Http status |=Problem type |=Description 2016 +|400 |validation |occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 2017 +|400 |not-found |occurs if the customer supplied does not exist 2018 +|500 |fatal |Unexpected error, logs may give details about the problem 2019 + 2020 +**Response object specification** 2021 + 2022 +(% class="table-bordered table-striped" %) 2023 +|=Property |=Data type|=Format|=Description 2024 +|@id |string | |Uri identifier of the current resource 2025 +|customerNo |string | |The identifier of the customer 2026 +|creditLimit |number |Type: double 2027 +Pattern: ^\d+.?(\d{1,2})?$ 2028 +Max: 100000000 2029 +Min: 0 |Credit limit on account applied for, can't have more than 2 decimal places 2030 +|accountNo |string | |Account number 2031 + 2032 +== 22. Limit-upgrade-without-application == 2033 + 2034 + 2035 +==== 22.1 Create Limit-upgrade-without-application ==== 2036 + 2037 +Update limit for a account, it's possible to both lower and increase the amount. 2038 + 2039 +{{code language="http" title="**Request**"}} 2040 +POST /ledger/account-onboarding/v2/{ownerNo}/limit-upgrade-without-application HTTP/1.1 2041 +Host: - 2042 +Authorization: Bearer<Token> 2043 +Content-Type: application/json 2044 + 2045 +{ 2046 + "accountNo": "123456", 2047 + "creditLimit": 5000.00 2048 +} 2049 +{{/code}} 2050 + 2051 + 2052 +**Request object specification** 2053 + 2054 +(% class="table-bordered table-striped" %) 2055 +|=Property |=Data type|=Format|=Required|=Description 2056 +|accountNo |string | |Yes |The identifier of the account 2057 +|creditLimit |number |Type: double 2058 +Pattern: ^\d+.?(\d{1,2})?$ 2059 +Max: 100000000 2060 +Min: 0 |Yes |Credit limit on account applied for, can't have more than 2 decimal places 2061 + 2062 +Example of response on successfully updated account limit. 2063 + 2064 +{{code language="http" title="**Response**"}} 2065 +HTTP/1.1 200 OK 2066 +Content-Type: application/json 2067 + 2068 +{ 2069 + "accountNo": "123456", 2070 + "creditLimit": 5000.00 2071 +} 2072 +{{/code}} 2073 + 2074 + 2075 +**Possible problems** 2076 + 2077 +(% class="table-bordered table-striped" %) 2078 +|=Http status |=Problem type |=Description 2079 +|400 |validation |occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation 2080 +|400 |account-name-not-found |occurs if account isn't found. 2081 +|409 |company-not-configured |occurs if company supplied isn't configured 2082 +|500 |fatal |Unexpected error, logs may give details about the problem 2083 + 2084 +**Response object specification** 2085 + 2086 +(% class="table-bordered table-striped" %) 2087 +|=Property |=Data type|=Format|=Description 2088 +|@id |string | |Uri identifier of the current resource 2089 +|accountNo |string | |The identifier of the account 2090 +|creditLimit |number |Type: double 2091 +Pattern: ^\d+.?(\d{1,2})?$ 2092 +Max: 100000000 2093 +Min: 0 |Credit limit on account applied for, can't have more than 2 decimal places 2094 + 2095 +{{display reference="developer:Main.Invoicing.ledger-api-general-docs.api-section-problems.WebHome"/}}
- 1645795304707-487.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.dap - Size
-
... ... @@ -1,0 +1,1 @@ 1 +0 bytes - Content
- 1780494004107-521.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.PabloVivarGonzalez - Size
-
... ... @@ -1,0 +1,1 @@ 1 +0 bytes - Content
- AccountOnboarding.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.mly - Size
-
... ... @@ -1,0 +1,1 @@ 1 +0 bytes - Content
- PayEx - Ledger API's - Wiki.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.mak - Size
-
... ... @@ -1,0 +1,1 @@ 1 +0 bytes - Content
- Swagger_Releases-500659.txt
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +xwiki:XWiki.thomashedstrom - Size
-
... ... @@ -1,0 +1,1 @@ 1 +0 bytes - Content
-
... ... @@ -1,0 +1,4693 @@ 1 +{ 2 + "openapi": "3.0.1", 3 + "info": { 4 + "title": "AccountOnBoarding API 1.0", 5 + "description": "", 6 + "contact": { 7 + "name": "PayEx" 8 + }, 9 + "version": "1.0" 10 + }, 11 + "paths": { 12 + "/ledger/account-onboarding/v1/{ownerNo}/offers": { 13 + "get": { 14 + "tags": [ 15 + "AccountOnboarding V2" 16 + ], 17 + "summary": "List all offers", 18 + "description": "List all offers", 19 + "parameters": [ 20 + { 21 + "name": "ownerNo", 22 + "in": "path", 23 + "required": true, 24 + "schema": { 25 + "type": "string" 26 + } 27 + } 28 + ], 29 + "responses": { 30 + "200": { 31 + "description": "OK", 32 + "content": { 33 + "application/json": { 34 + "schema": { 35 + "$ref": "#/components/schemas/V2.Offers.OffersResourceListResult" 36 + }, 37 + "examples": { 38 + "OK": { 39 + "description": "Example of response on successfully retrieved offers", 40 + "value": "{\r\n \"items\": [\r\n {\r\n \"accountProfile\": \"kontotyp-1\",\r\n \"title\": \"kontotyp 1\",\r\n \"currency\": \"SEK\",\r\n \"maxCreditLimit\": 50000.00,\r\n \"reminderFee\": 35.00,\r\n \"penaltyInterestRate\": 18.00,\r\n \"termsAndConditions\": {\r\n \"standardEuropeanAgreements\": \"https://www.payex.com/term-and-conditions/no/-----.pdf\",\r\n \"accountTerms\": \"https://www.payex.com/term-and-conditions/no/-----.pdf\"\r\n },\r\n \"operations\": []\r\n },\r\n {\r\n \"accountProfile\": \"kontotyp-2\",\r\n \"title\": \"kontotyp 2\",\r\n \"currency\": \"SEK\",\r\n \"maxCreditLimit\": 50000.00,\r\n \"reminderFee\": 35.00,\r\n \"penaltyInterestRate\": 20.00,\r\n \"termsAndConditions\": {\r\n \"standardEuropeanAgreements\": \"https://www.payex.com/term-and-conditions/no/-----.pdf\",\r\n \"accountTerms\": \"https://www.payex.com/term-and-conditions/no/-----.pdf\"\r\n },\r\n \"operations\": []\r\n }\r\n ],\r\n \"navigation\": {\r\n \"@id\": \"/ledger/account-onboarding/v1/xxx/offers\"\r\n }\r\n}" 41 + } 42 + } 43 + } 44 + } 45 + }, 46 + "404": { 47 + "description": "NotFound", 48 + "content": { 49 + "application/json": { 50 + "examples": { 51 + "validation": { 52 + "description": "occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation", 53 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 54 + }, 55 + "resource-unavailable": { 56 + "description": "Occurs if the requested profile is not available.", 57 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 58 + } 59 + } 60 + } 61 + } 62 + }, 63 + "409": { 64 + "description": "Conflict", 65 + "content": { 66 + "application/json": { 67 + "examples": { 68 + "validation": { 69 + "description": "Occurs if the validation of the resource's state fails.", 70 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 71 + } 72 + } 73 + } 74 + } 75 + }, 76 + "500": { 77 + "description": "InternalServerError", 78 + "content": { 79 + "application/json": { 80 + "examples": { 81 + "fatal": { 82 + "description": "Unexpected error, logs may give details about the problem", 83 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 84 + } 85 + } 86 + } 87 + } 88 + } 89 + } 90 + } 91 + }, 92 + "/ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}": { 93 + "get": { 94 + "tags": [ 95 + "AccountOnboarding V2" 96 + ], 97 + "summary": "View a specific offer", 98 + "description": "View a specific offer", 99 + "operationId": "PayEx.AR.Api.Resources.AccountOnboarding.V2.Offers.OffersController_Id_GetSingle", 100 + "parameters": [ 101 + { 102 + "name": "ownerNo", 103 + "in": "path", 104 + "required": true, 105 + "schema": { 106 + "type": "string" 107 + } 108 + }, 109 + { 110 + "name": "accountProfile", 111 + "in": "path", 112 + "required": true, 113 + "schema": { 114 + "type": "string" 115 + } 116 + } 117 + ], 118 + "responses": { 119 + "200": { 120 + "description": "OK", 121 + "content": { 122 + "application/json": { 123 + "schema": { 124 + "$ref": "#/components/schemas/V2.Offers.OffersResource" 125 + }, 126 + "examples": { 127 + "OK": { 128 + "description": "Example of response on successfully retrieved offer", 129 + "value": "{\r\n \"accountProfile\": \"kontotyp-1\",\r\n \"title\": \"kontotyp 1\",\r\n \"currency\": \"SEK\",\r\n \"maxCreditLimit\": 50000.00,\r\n \"reminderFee\": 35.00,\r\n \"penaltyInterestRate\": 18.00,\r\n \"termsAndConditions\": {\r\n \"standardEuropeanAgreements\": \"https://www.payex.com/term-and-conditions/no/-----.pdf\",\r\n \"accountTerms\": \"https://www.payex.com/term-and-conditions/no/-----.pdf\"\r\n },\r\n \"operations\": []\r\n}" 130 + } 131 + } 132 + } 133 + } 134 + }, 135 + "404": { 136 + "description": "NotFound", 137 + "content": { 138 + "application/json": { 139 + "examples": { 140 + "validation": { 141 + "description": "occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation", 142 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 143 + }, 144 + "resource-unavailable": { 145 + "description": "Occurs if the requested profile is not available.", 146 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 147 + } 148 + } 149 + } 150 + } 151 + }, 152 + "409": { 153 + "description": "Conflict", 154 + "content": { 155 + "application/json": { 156 + "examples": { 157 + "validation": { 158 + "description": "Occurs if the validation of the resource's state fails.", 159 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 160 + } 161 + } 162 + } 163 + } 164 + }, 165 + "500": { 166 + "description": "InternalServerError", 167 + "content": { 168 + "application/json": { 169 + "examples": { 170 + "fatal": { 171 + "description": "Unexpected error, logs may give details about the problem", 172 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 173 + } 174 + } 175 + } 176 + } 177 + } 178 + } 179 + } 180 + }, 181 + "/ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications": { 182 + "post": { 183 + "tags": [ 184 + "AccountOnboarding V2" 185 + ], 186 + "summary": "Add application to offer", 187 + "description": "Add application to offer", 188 + "parameters": [ 189 + { 190 + "name": "ownerNo", 191 + "in": "path", 192 + "required": true, 193 + "schema": { 194 + "type": "string" 195 + } 196 + }, 197 + { 198 + "name": "accountProfile", 199 + "in": "path", 200 + "required": true, 201 + "schema": { 202 + "type": "string" 203 + } 204 + } 205 + ], 206 + "requestBody": { 207 + "content": { 208 + "application/json": { 209 + "schema": { 210 + "$ref": "#/components/schemas/V2.Offers.Applications.ApplicationsResourceBase" 211 + }, 212 + "example": "{\r\n \"creditLimit\": 5000.00,\r\n \"nationalConsumerIdentifier\": {\r\n \"value\": \"19101010-1010\",\r\n \"countryCode\": \"SE\"\r\n },\r\n \"customerNo\": \"951753456\",\r\n \"emailAddress\": \"test@testshop.se\",\r\n \"msisdn\": \"46701234456\",\r\n \"ipAddress\": \"1.1.1.X\",\r\n \"languageCode\": \"Sv\",\r\n \"specialIntent\": \"new-account-for-invoice-conversion\",\r\n \"applicationOptions\": {\r\n \"customerPreAuthenticated\": false,\r\n \"preAuthorizationAmount\": 5000.00\r\n },\r\n \"sellerNo\": \"123456\",\r\n \"pointOfSale\": \"Example Point of Sale\"\r\n}" 213 + }, 214 + "text/json": { 215 + "schema": { 216 + "$ref": "#/components/schemas/V2.Offers.Applications.ApplicationsResourceBase" 217 + } 218 + }, 219 + "application/*+json": { 220 + "schema": { 221 + "$ref": "#/components/schemas/V2.Offers.Applications.ApplicationsResourceBase" 222 + } 223 + } 224 + } 225 + }, 226 + "responses": { 227 + "201": { 228 + "description": "Created", 229 + "content": { 230 + "application/json": { 231 + "schema": { 232 + "$ref": "#/components/schemas/V2.Offers.Applications.ApplicationsResourceResponse" 233 + }, 234 + "examples": { 235 + "Created": { 236 + "description": "Example of response on successfully created application", 237 + "value": "{\r\n \"applicationId\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"status\": \"AwaitingSign\",\r\n \"creditLimit\": 5000.00,\r\n \"nationalConsumerIdentifier\": {\r\n \"value\": \"19101010-1010\",\r\n \"countryCode\": \"SE\"\r\n },\r\n \"customerNo\": \"951753456\",\r\n \"emailAddress\": \"test@testshop.se\",\r\n \"msisdn\": \"46701234456\",\r\n \"ipAddress\": \"1.1.1.X\",\r\n \"languageCode\": \"Sv\",\r\n \"specialIntent\": \"new-account-for-invoice-conversion\",\r\n \"applicationOptions\": {\r\n \"customerPreAuthenticated\": false,\r\n \"preAuthorizationAmount\": 5000.00\r\n },\r\n \"sellerNo\": \"123456\",\r\n \"pointOfSale\": \"Example Point of Sale\",\r\n \"kycQuestions\": [\r\n {\r\n \"questionText\": \"What is your current employment?\",\r\n \"answer\": {\r\n \"type\": \"single\",\r\n \"required\": true,\r\n \"possibleAnswers\": [\r\n {\r\n \"answerCode\": \"selfemployed\",\r\n \"answerText\": \"Own business\"\r\n },\r\n {\r\n \"answerCode\": \"private_employee\",\r\n \"answerText\": \"Private employee\"\r\n },\r\n {\r\n \"answerCode\": \"goverment_employee\",\r\n \"answerText\": \"Government employee\"\r\n }\r\n ]\r\n },\r\n \"questionCode\": \"employment\"\r\n },\r\n {\r\n \"questionText\": \"What is your yearly income\",\r\n \"answer\": {\r\n \"type\": \"single\",\r\n \"required\": true,\r\n \"possibleAnswers\": [\r\n {\r\n \"answerCode\": \"incomeinterval1\",\r\n \"answerText\": \"0-100 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval2\",\r\n \"answerText\": \"100 001-200 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval3\",\r\n \"answerText\": \"200 001-300 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval4\",\r\n \"answerText\": \"Over 300 001 SEK\"\r\n }\r\n ]\r\n },\r\n \"questionCode\": \"income\"\r\n }\r\n ],\r\n \"operations\": []\r\n}" 238 + } 239 + } 240 + } 241 + } 242 + }, 243 + "400": { 244 + "description": "BadRequest", 245 + "content": { 246 + "application/json": { 247 + "examples": { 248 + "validation": { 249 + "description": "Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation", 250 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 251 + } 252 + } 253 + } 254 + } 255 + }, 256 + "404": { 257 + "description": "NotFound", 258 + "content": { 259 + "application/json": { 260 + "examples": { 261 + "not-found": { 262 + "description": "Occurs if the requested application isn't found.", 263 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 264 + } 265 + } 266 + } 267 + } 268 + }, 269 + "409": { 270 + "description": "Conflict", 271 + "content": { 272 + "application/json": { 273 + "examples": { 274 + "customer-mismatch": { 275 + "description": "Occurs if the customer NationalIdentifier value doesn't match with the provided CustomerNo value.", 276 + "value": "{\r\n \"type\": \"customer-mismatch\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 277 + }, 278 + "customer-missing": { 279 + "description": "Occurs if the customer with the provided customerNo isn't found and the company doesn't support creating a customer on requested CustomerNo.", 280 + "value": "{\r\n \"type\": \"customer-missing\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 281 + }, 282 + "account-profile-exists": { 283 + "description": "Occurs if an account with the provided accountProfile already exists.", 284 + "value": "{\r\n \"type\": \"account-profile-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 285 + }, 286 + "account-already-exists-for-standalone-intent": { 287 + "description": "Occurs if an active account for the requested account profile already exists for the customer when using a standalone account onboarding intent.", 288 + "value": "{\r\n \"type\": \"account-already-exists-for-standalone-intent\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 289 + }, 290 + "not-valid-for-intent": { 291 + "description": "Occurs if the account profile is not valid for the provided SpecialIntent.", 292 + "value": "{\r\n \"type\": \"not-valid-for-intent\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 293 + } 294 + } 295 + } 296 + } 297 + }, 298 + "422": { 299 + "description": "UnprocessableEntity", 300 + "content": { 301 + "application/json": { 302 + "examples": { 303 + "invalid-special-intent": { 304 + "description": "Occurs if the provided special intent is invalid.", 305 + "value": "{\r\n \"type\": \"invalid-special-intent\",\r\n \"title\": \"Problem title\",\r\n \"status\": 422,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 306 + } 307 + } 308 + } 309 + } 310 + }, 311 + "500": { 312 + "description": "InternalServerError", 313 + "content": { 314 + "application/json": { 315 + "examples": { 316 + "fatal": { 317 + "description": "Unexpected error, logs may give details about the problem", 318 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 319 + } 320 + } 321 + } 322 + } 323 + } 324 + } 325 + } 326 + }, 327 + "/ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}": { 328 + "get": { 329 + "tags": [ 330 + "AccountOnboarding V2" 331 + ], 332 + "summary": "Get existing application", 333 + "description": "Get existing application", 334 + "operationId": "PayEx.AR.Api.Resources.AccountOnboarding.V2.Offers.Applications.ApplicationsController_Id_GetSingle", 335 + "parameters": [ 336 + { 337 + "name": "ownerNo", 338 + "in": "path", 339 + "required": true, 340 + "schema": { 341 + "type": "string" 342 + } 343 + }, 344 + { 345 + "name": "accountProfile", 346 + "in": "path", 347 + "required": true, 348 + "schema": { 349 + "type": "string" 350 + } 351 + }, 352 + { 353 + "name": "applicationId", 354 + "in": "path", 355 + "required": true, 356 + "schema": { 357 + "type": "string" 358 + } 359 + } 360 + ], 361 + "responses": { 362 + "200": { 363 + "description": "OK", 364 + "content": { 365 + "application/json": { 366 + "schema": { 367 + "$ref": "#/components/schemas/V2.Offers.Applications.ApplicationsResourceResponse" 368 + }, 369 + "examples": { 370 + "OK": { 371 + "description": "Example of response on successfully retrieved application", 372 + "value": "{\r\n \"applicationId\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"status\": \"AwaitingSign\",\r\n \"createdAccount\": {\r\n \"accountNo\": \"1234567\"\r\n },\r\n \"creditLimit\": 5000.00,\r\n \"nationalConsumerIdentifier\": {\r\n \"value\": \"19101010-1010\",\r\n \"countryCode\": \"SE\"\r\n },\r\n \"customerNo\": \"951753456\",\r\n \"emailAddress\": \"test@testshop.se\",\r\n \"msisdn\": \"46701234456\",\r\n \"ipAddress\": \"1.1.1.X\",\r\n \"languageCode\": \"Sv\",\r\n \"specialIntent\": \"new-account-for-invoice-conversion\",\r\n \"applicationOptions\": {\r\n \"customerPreAuthenticated\": false,\r\n \"preAuthorizationAmount\": 5000.00\r\n },\r\n \"sellerNo\": \"123456\",\r\n \"pointOfSale\": \"Example Point of Sale\",\r\n \"kycQuestions\": [\r\n {\r\n \"questionText\": \"What is your current employment?\",\r\n \"answer\": {\r\n \"type\": \"single\",\r\n \"required\": true,\r\n \"possibleAnswers\": [\r\n {\r\n \"answerCode\": \"selfemployed\",\r\n \"answerText\": \"Own business\"\r\n },\r\n {\r\n \"answerCode\": \"private_employee\",\r\n \"answerText\": \"Private employee\"\r\n },\r\n {\r\n \"answerCode\": \"goverment_employee\",\r\n \"answerText\": \"Government employee\"\r\n }\r\n ]\r\n },\r\n \"questionCode\": \"employment\"\r\n },\r\n {\r\n \"questionText\": \"What is your yearly income\",\r\n \"answer\": {\r\n \"type\": \"single\",\r\n \"required\": true,\r\n \"possibleAnswers\": [\r\n {\r\n \"answerCode\": \"incomeinterval1\",\r\n \"answerText\": \"0-100 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval2\",\r\n \"answerText\": \"100 001-200 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval3\",\r\n \"answerText\": \"200 001-300 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval4\",\r\n \"answerText\": \"Over 300 001 SEK\"\r\n }\r\n ]\r\n },\r\n \"questionCode\": \"income\"\r\n }\r\n ],\r\n \"operations\": []\r\n}" 373 + } 374 + } 375 + } 376 + } 377 + }, 378 + "404": { 379 + "description": "NotFound", 380 + "content": { 381 + "application/json": { 382 + "examples": { 383 + "not-found": { 384 + "description": "Occurs if the requested application isn't found.", 385 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 386 + }, 387 + "resource-unavailable": { 388 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 389 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 390 + } 391 + } 392 + } 393 + } 394 + }, 395 + "500": { 396 + "description": "InternalServerError", 397 + "content": { 398 + "application/json": { 399 + "examples": { 400 + "fatal": { 401 + "description": "Unexpected error, logs may give details about the problem", 402 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 403 + } 404 + } 405 + } 406 + } 407 + } 408 + } 409 + }, 410 + "patch": { 411 + "tags": [ 412 + "AccountOnboarding V2" 413 + ], 414 + "summary": "Update application", 415 + "description": "Update application", 416 + "operationId": "PayEx.AR.Api.Resources.AccountOnboarding.V2.Offers.Applications.ApplicationsController_Id_Patch", 417 + "parameters": [ 418 + { 419 + "name": "ownerNo", 420 + "in": "path", 421 + "required": true, 422 + "schema": { 423 + "type": "string" 424 + } 425 + }, 426 + { 427 + "name": "accountProfile", 428 + "in": "path", 429 + "required": true, 430 + "schema": { 431 + "type": "string" 432 + } 433 + }, 434 + { 435 + "name": "applicationId", 436 + "in": "path", 437 + "required": true, 438 + "schema": { 439 + "type": "string" 440 + } 441 + } 442 + ], 443 + "requestBody": { 444 + "content": { 445 + "application/json": { 446 + "schema": { 447 + "$ref": "#/components/schemas/V2.Offers.Applications.ApplicationsResourcePatch" 448 + }, 449 + "example": "{\r\n \"emailAddress\": \"uppdaterad@test.se\",\r\n \"msisdn\": \"\\u002B456456\",\r\n \"trustedSellerGroupConsents\": [\r\n \"PharmaciesSE\"\r\n ]\r\n}" 450 + }, 451 + "text/json": { 452 + "schema": { 453 + "$ref": "#/components/schemas/V2.Offers.Applications.ApplicationsResourcePatch" 454 + } 455 + }, 456 + "application/*+json": { 457 + "schema": { 458 + "$ref": "#/components/schemas/V2.Offers.Applications.ApplicationsResourcePatch" 459 + } 460 + } 461 + } 462 + }, 463 + "responses": { 464 + "204": { 465 + "description": "No Content", 466 + "content": { 467 + "application/json": { 468 + "schema": { 469 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult" 470 + } 471 + } 472 + } 473 + }, 474 + "400": { 475 + "description": "BadRequest", 476 + "content": { 477 + "application/json": { 478 + "examples": { 479 + "validation": { 480 + "description": "Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation", 481 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 482 + } 483 + } 484 + } 485 + } 486 + }, 487 + "405": { 488 + "description": "MethodNotAllowed", 489 + "content": { 490 + "application/json": { 491 + "examples": { 492 + "http-method-not-allowed": { 493 + "description": "Used HTTP Method was not accepted. Could be because of state or resource or method not implemented", 494 + "value": "{\r\n \"type\": \"http-method-not-allowed\",\r\n \"title\": \"Problem title\",\r\n \"status\": 405,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 495 + } 496 + } 497 + } 498 + } 499 + }, 500 + "404": { 501 + "description": "NotFound", 502 + "content": { 503 + "application/json": { 504 + "examples": { 505 + "not-found": { 506 + "description": "Occurs if the requested application isn't found.", 507 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 508 + }, 509 + "resource-unavailable": { 510 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 511 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 512 + } 513 + } 514 + } 515 + } 516 + }, 517 + "409": { 518 + "description": "Conflict", 519 + "content": { 520 + "application/json": { 521 + "examples": { 522 + "unexpected-consent": { 523 + "description": "Consent was provided when not expected", 524 + "value": "{\r\n \"type\": \"unexpected-consent\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 525 + } 526 + } 527 + } 528 + } 529 + }, 530 + "500": { 531 + "description": "InternalServerError", 532 + "content": { 533 + "application/json": { 534 + "examples": { 535 + "fatal": { 536 + "description": "Unexpected error, logs may give details about the problem", 537 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 538 + } 539 + } 540 + } 541 + } 542 + } 543 + } 544 + } 545 + }, 546 + "/ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/kyc-answers": { 547 + "post": { 548 + "tags": [ 549 + "AccountOnboarding V2" 550 + ], 551 + "summary": "Submit answers to kyc questions", 552 + "description": "Submit answers to kyc questions", 553 + "parameters": [ 554 + { 555 + "name": "ownerNo", 556 + "in": "path", 557 + "required": true, 558 + "schema": { 559 + "type": "string" 560 + } 561 + }, 562 + { 563 + "name": "accountProfile", 564 + "in": "path", 565 + "required": true, 566 + "schema": { 567 + "type": "string" 568 + } 569 + }, 570 + { 571 + "name": "applicationId", 572 + "in": "path", 573 + "required": true, 574 + "schema": { 575 + "type": "string" 576 + } 577 + } 578 + ], 579 + "requestBody": { 580 + "content": { 581 + "application/json": { 582 + "schema": { 583 + "$ref": "#/components/schemas/V2.Offers.Applications.SingleResources.KycAnswers.KycAnswersResource" 584 + }, 585 + "example": "{\r\n \"answers\": [\r\n {\r\n \"questionCode\": \"employment\",\r\n \"answerCode\": \"selfemployed\"\r\n },\r\n {\r\n \"questionCode\": \"monthlyincome\",\r\n \"answerCode\": \"monthlyincomeinterval2\"\r\n },\r\n {\r\n \"questionCode\": \"ispep\",\r\n \"answerCode\": \"false\"\r\n }\r\n ]\r\n}" 586 + }, 587 + "text/json": { 588 + "schema": { 589 + "$ref": "#/components/schemas/V2.Offers.Applications.SingleResources.KycAnswers.KycAnswersResource" 590 + } 591 + }, 592 + "application/*+json": { 593 + "schema": { 594 + "$ref": "#/components/schemas/V2.Offers.Applications.SingleResources.KycAnswers.KycAnswersResource" 595 + } 596 + } 597 + } 598 + }, 599 + "responses": { 600 + "201": { 601 + "description": "Created", 602 + "content": { 603 + "application/json": { 604 + "schema": { 605 + "$ref": "#/components/schemas/V2.Offers.Applications.SingleResources.KycAnswers.KycAnswersResource" 606 + }, 607 + "examples": { 608 + "Created": { 609 + "description": "Example of response on successfully created kyc answers", 610 + "value": "{\r\n \"answers\": [\r\n {\r\n \"questionCode\": \"employment\",\r\n \"answerCode\": \"selfemployed\"\r\n },\r\n {\r\n \"questionCode\": \"monthlyincome\",\r\n \"answerCode\": \"monthlyincomeinterval2\"\r\n },\r\n {\r\n \"questionCode\": \"ispep\",\r\n \"answerCode\": \"false\"\r\n }\r\n ]\r\n}" 611 + } 612 + } 613 + } 614 + } 615 + }, 616 + "400": { 617 + "description": "BadRequest", 618 + "content": { 619 + "application/json": { 620 + "examples": { 621 + "validation": { 622 + "description": "Occurs if the validation of the request fails, it is described in the problem why the input is invalid.", 623 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 624 + } 625 + } 626 + } 627 + } 628 + }, 629 + "404": { 630 + "description": "NotFound", 631 + "content": { 632 + "application/json": { 633 + "examples": { 634 + "not-found": { 635 + "description": "Occurs if the requested resource isn't found.", 636 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 637 + }, 638 + "resource-unavailable": { 639 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 640 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 641 + } 642 + } 643 + } 644 + } 645 + }, 646 + "409": { 647 + "description": "Conflict", 648 + "content": { 649 + "application/json": { 650 + "examples": { 651 + "validation": { 652 + "description": "Occurs if the validation of the resource's state fails.", 653 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 654 + }, 655 + "invalid-application-state": { 656 + "description": "Occurs if the application state is invalid for the request to be made.", 657 + "value": "{\r\n \"type\": \"invalid-application-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 658 + }, 659 + "kyc-not-configured": { 660 + "description": "Occurs if the application does not support KYC answers due to the account profile not being configured with any.", 661 + "value": "{\r\n \"type\": \"kyc-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 662 + } 663 + } 664 + } 665 + } 666 + }, 667 + "500": { 668 + "description": "InternalServerError", 669 + "content": { 670 + "application/json": { 671 + "examples": { 672 + "fatal": { 673 + "description": "Unexpected error, logs may give details about the problem", 674 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 675 + } 676 + } 677 + } 678 + } 679 + } 680 + } 681 + }, 682 + "get": { 683 + "tags": [ 684 + "AccountOnboarding V2" 685 + ], 686 + "summary": "Get the submited answers to kyc questions", 687 + "description": "Get the submited answers to kyc questions", 688 + "parameters": [ 689 + { 690 + "name": "ownerNo", 691 + "in": "path", 692 + "required": true, 693 + "schema": { 694 + "type": "string" 695 + } 696 + }, 697 + { 698 + "name": "accountProfile", 699 + "in": "path", 700 + "required": true, 701 + "schema": { 702 + "type": "string" 703 + } 704 + }, 705 + { 706 + "name": "applicationId", 707 + "in": "path", 708 + "required": true, 709 + "schema": { 710 + "type": "string" 711 + } 712 + } 713 + ], 714 + "responses": { 715 + "200": { 716 + "description": "OK", 717 + "content": { 718 + "application/json": { 719 + "schema": { 720 + "$ref": "#/components/schemas/V2.Offers.Applications.SingleResources.KycAnswers.KycAnswersResource" 721 + }, 722 + "examples": { 723 + "OK": { 724 + "description": "Example of response on successfully retrieved kyc answers", 725 + "value": "{\r\n \"answers\": [\r\n {\r\n \"questionCode\": \"employment\",\r\n \"answerCode\": \"selfemployed\"\r\n },\r\n {\r\n \"questionCode\": \"monthlyincome\",\r\n \"answerCode\": \"monthlyincomeinterval2\"\r\n },\r\n {\r\n \"questionCode\": \"ispep\",\r\n \"answerCode\": \"false\"\r\n }\r\n ]\r\n}" 726 + } 727 + } 728 + } 729 + } 730 + }, 731 + "404": { 732 + "description": "NotFound", 733 + "content": { 734 + "application/json": { 735 + "examples": { 736 + "not-found": { 737 + "description": "Occurs if the requested resource isn't found.", 738 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 739 + }, 740 + "resource-unavailable": { 741 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 742 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 743 + } 744 + } 745 + } 746 + } 747 + }, 748 + "409": { 749 + "description": "Conflict", 750 + "content": { 751 + "application/json": { 752 + "examples": { 753 + "kyc-not-configured": { 754 + "description": "Occurs if the application does not support KYC answers due to the account profile not being configured with any.", 755 + "value": "{\r\n \"type\": \"kyc-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 756 + } 757 + } 758 + } 759 + } 760 + }, 761 + "500": { 762 + "description": "InternalServerError", 763 + "content": { 764 + "application/json": { 765 + "examples": { 766 + "fatal": { 767 + "description": "Unexpected error, logs may give details about the problem", 768 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 769 + } 770 + } 771 + } 772 + } 773 + } 774 + } 775 + } 776 + }, 777 + "/ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/verify-application": { 778 + "post": { 779 + "tags": [ 780 + "AccountOnboarding V2" 781 + ], 782 + "summary": "Verify the application", 783 + "description": "Verify the application and does a credit check if needed", 784 + "parameters": [ 785 + { 786 + "name": "ownerNo", 787 + "in": "path", 788 + "required": true, 789 + "schema": { 790 + "type": "string" 791 + } 792 + }, 793 + { 794 + "name": "accountProfile", 795 + "in": "path", 796 + "required": true, 797 + "schema": { 798 + "type": "string" 799 + } 800 + }, 801 + { 802 + "name": "applicationId", 803 + "in": "path", 804 + "required": true, 805 + "schema": { 806 + "type": "string" 807 + } 808 + } 809 + ], 810 + "requestBody": { 811 + "content": { 812 + "application/json": { 813 + "schema": { 814 + "$ref": "#/components/schemas/V2.Offers.Applications.Operations.VerifyApplication.VerifyApplicationResourceBase" 815 + }, 816 + "example": "{}" 817 + }, 818 + "text/json": { 819 + "schema": { 820 + "$ref": "#/components/schemas/V2.Offers.Applications.Operations.VerifyApplication.VerifyApplicationResourceBase" 821 + } 822 + }, 823 + "application/*+json": { 824 + "schema": { 825 + "$ref": "#/components/schemas/V2.Offers.Applications.Operations.VerifyApplication.VerifyApplicationResourceBase" 826 + } 827 + } 828 + } 829 + }, 830 + "responses": { 831 + "204": { 832 + "description": "No Content", 833 + "content": { 834 + "application/json": { 835 + "schema": { 836 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult" 837 + } 838 + } 839 + } 840 + }, 841 + "404": { 842 + "description": "NotFound", 843 + "content": { 844 + "application/json": { 845 + "examples": { 846 + "not-found": { 847 + "description": "Occurs if the requested application isn't found.", 848 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 849 + }, 850 + "resource-unavailable": { 851 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 852 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 853 + } 854 + } 855 + } 856 + } 857 + }, 858 + "409": { 859 + "description": "Conflict", 860 + "content": { 861 + "application/json": { 862 + "examples": { 863 + "invalid-application-state": { 864 + "description": "Occurs if the application state is invalid for the request to be made.", 865 + "value": "{\r\n \"type\": \"invalid-application-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 866 + } 867 + } 868 + } 869 + } 870 + }, 871 + "422": { 872 + "description": "UnprocessableEntity", 873 + "content": { 874 + "application/json": { 875 + "examples": { 876 + "credit-check-declined": { 877 + "description": "Occurs if the credit check is denied.", 878 + "value": "{\r\n \"type\": \"credit-check-declined\",\r\n \"title\": \"Problem title\",\r\n \"status\": 422,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 879 + } 880 + } 881 + } 882 + } 883 + }, 884 + "500": { 885 + "description": "InternalServerError", 886 + "content": { 887 + "application/json": { 888 + "examples": { 889 + "fatal": { 890 + "description": "Unexpected error, logs may give details about the problem", 891 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 892 + } 893 + } 894 + } 895 + } 896 + } 897 + } 898 + } 899 + }, 900 + "/ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/approve-paper-application": { 901 + "post": { 902 + "tags": [ 903 + "AccountOnboarding V2" 904 + ], 905 + "summary": "Approve a paper application", 906 + "description": "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.", 907 + "parameters": [ 908 + { 909 + "name": "ownerNo", 910 + "in": "path", 911 + "required": true, 912 + "schema": { 913 + "type": "string" 914 + } 915 + }, 916 + { 917 + "name": "accountProfile", 918 + "in": "path", 919 + "required": true, 920 + "schema": { 921 + "type": "string" 922 + } 923 + }, 924 + { 925 + "name": "applicationId", 926 + "in": "path", 927 + "required": true, 928 + "schema": { 929 + "type": "string" 930 + } 931 + } 932 + ], 933 + "requestBody": { 934 + "content": { 935 + "application/json": { 936 + "schema": { 937 + "$ref": "#/components/schemas/V2.Offers.Applications.Operations.ApprovePaperApplication.ApprovePaperApplicationRequest" 938 + }, 939 + "example": "{\r\n \"applicationDocument\": {\r\n \"content\": \"JVBERi0xLjQKJ...\",\r\n \"fileType\": \"pdf\"\r\n },\r\n \"trusteeCertificateIncluded\": false\r\n}" 940 + }, 941 + "text/json": { 942 + "schema": { 943 + "$ref": "#/components/schemas/V2.Offers.Applications.Operations.ApprovePaperApplication.ApprovePaperApplicationRequest" 944 + } 945 + }, 946 + "application/*+json": { 947 + "schema": { 948 + "$ref": "#/components/schemas/V2.Offers.Applications.Operations.ApprovePaperApplication.ApprovePaperApplicationRequest" 949 + } 950 + } 951 + } 952 + }, 953 + "responses": { 954 + "200": { 955 + "description": "OK", 956 + "content": { 957 + "application/json": { 958 + "schema": { 959 + "$ref": "#/components/schemas/V2.Offers.Applications.Operations.ApprovePaperApplication.ApprovePaperApplicationResponse" 960 + }, 961 + "examples": { 962 + "OK": { 963 + "description": "Example of response on successfully approved paper application", 964 + "value": "{\r\n \"accountNo\": \"1234567\",\r\n \"customerNo\": \"951753456\"\r\n}" 965 + } 966 + } 967 + } 968 + } 969 + }, 970 + "400": { 971 + "description": "BadRequest", 972 + "content": { 973 + "application/json": { 974 + "examples": { 975 + "validation": { 976 + "description": "Occurs if any of the input validation fails.", 977 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 978 + } 979 + } 980 + } 981 + } 982 + }, 983 + "409": { 984 + "description": "Conflict", 985 + "content": { 986 + "application/json": { 987 + "examples": { 988 + "not-valid-for-intent": { 989 + "description": "Occurs if the application was not created with the standalone-account-onboarding-manual intent.", 990 + "value": "{\r\n \"type\": \"not-valid-for-intent\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 991 + }, 992 + "invalid-application-state": { 993 + "description": "Occurs if the application is not in AwaitingSign state.", 994 + "value": "{\r\n \"type\": \"invalid-application-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 995 + } 996 + } 997 + } 998 + } 999 + }, 1000 + "422": { 1001 + "description": "UnprocessableEntity", 1002 + "content": { 1003 + "application/json": { 1004 + "examples": { 1005 + "credit-check-declined": { 1006 + "description": "Occurs if the credit check was denied. Application status is set to Rejected.", 1007 + "value": "{\r\n \"type\": \"credit-check-declined\",\r\n \"title\": \"Problem title\",\r\n \"status\": 422,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1008 + } 1009 + } 1010 + } 1011 + } 1012 + }, 1013 + "404": { 1014 + "description": "NotFound", 1015 + "content": { 1016 + "application/json": { 1017 + "examples": { 1018 + "not-found": { 1019 + "description": "Occurs if the requested application isn't found.", 1020 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1021 + }, 1022 + "resource-unavailable": { 1023 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 1024 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1025 + } 1026 + } 1027 + } 1028 + } 1029 + }, 1030 + "500": { 1031 + "description": "InternalServerError", 1032 + "content": { 1033 + "application/json": { 1034 + "examples": { 1035 + "fatal": { 1036 + "description": "Unexpected error, logs may give details about the problem", 1037 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1038 + } 1039 + } 1040 + } 1041 + } 1042 + } 1043 + } 1044 + } 1045 + }, 1046 + "/ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/sign-bankid-se": { 1047 + "post": { 1048 + "tags": [ 1049 + "AccountOnboarding V2" 1050 + ], 1051 + "summary": "Initiate bankid signing process", 1052 + "description": "Initiate bankid signing process", 1053 + "parameters": [ 1054 + { 1055 + "name": "ownerNo", 1056 + "in": "path", 1057 + "required": true, 1058 + "schema": { 1059 + "type": "string" 1060 + } 1061 + }, 1062 + { 1063 + "name": "accountProfile", 1064 + "in": "path", 1065 + "required": true, 1066 + "schema": { 1067 + "type": "string" 1068 + } 1069 + }, 1070 + { 1071 + "name": "applicationId", 1072 + "in": "path", 1073 + "required": true, 1074 + "schema": { 1075 + "type": "string" 1076 + } 1077 + } 1078 + ], 1079 + "requestBody": { 1080 + "content": { 1081 + "application/json": { 1082 + "schema": { 1083 + "$ref": "#/components/schemas/V2.Offers.Applications.SingleResources.SignBankidSe.SignBankidSeResourceRequest" 1084 + }, 1085 + "example": "{\r\n \"endUserIp\": \"194.168.2.25\",\r\n \"callbackUrl\": \"https://myCallbackUrl\"\r\n}" 1086 + }, 1087 + "text/json": { 1088 + "schema": { 1089 + "$ref": "#/components/schemas/V2.Offers.Applications.SingleResources.SignBankidSe.SignBankidSeResourceRequest" 1090 + } 1091 + }, 1092 + "application/*+json": { 1093 + "schema": { 1094 + "$ref": "#/components/schemas/V2.Offers.Applications.SingleResources.SignBankidSe.SignBankidSeResourceRequest" 1095 + } 1096 + } 1097 + } 1098 + }, 1099 + "responses": { 1100 + "201": { 1101 + "description": "Created", 1102 + "content": { 1103 + "application/json": { 1104 + "schema": { 1105 + "$ref": "#/components/schemas/V2.Offers.Applications.SingleResources.SignBankidSe.SignBankidSeResource" 1106 + }, 1107 + "examples": { 1108 + "Created": { 1109 + "description": "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.", 1110 + "value": "{\r\n \"autostartToken\": \"7c40b5c9-fa74-49cf-b98c-bfe651f9a7c6\",\r\n \"qrCodeImageDataUrl\": \"data:image/png;base64,VeryLongBase64String\",\r\n \"status\": \"Pending\",\r\n \"hintCode\": \"OutstandingTransaction\",\r\n \"maxExtends\": 0,\r\n \"currentExtend\": 0,\r\n \"secondsLeftThirtySecondsInterval\": 0,\r\n \"endUserIp\": \"194.168.2.25\",\r\n \"callbackUrl\": \"https://myCallbackUrl\",\r\n \"operations\": []\r\n}" 1111 + } 1112 + } 1113 + } 1114 + } 1115 + }, 1116 + "400": { 1117 + "description": "BadRequest", 1118 + "content": { 1119 + "application/json": { 1120 + "examples": { 1121 + "validation": { 1122 + "description": "occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation", 1123 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1124 + } 1125 + } 1126 + } 1127 + } 1128 + }, 1129 + "404": { 1130 + "description": "NotFound", 1131 + "content": { 1132 + "application/json": { 1133 + "examples": { 1134 + "not-found": { 1135 + "description": "Occurs if the requested application isn't found.", 1136 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1137 + }, 1138 + "resource-unavailable": { 1139 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 1140 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1141 + } 1142 + } 1143 + } 1144 + } 1145 + }, 1146 + "409": { 1147 + "description": "Conflict", 1148 + "content": { 1149 + "application/json": { 1150 + "examples": { 1151 + "invalid-application-state": { 1152 + "description": "Occurs if the application state is invalid for the request to be made.", 1153 + "value": "{\r\n \"type\": \"invalid-application-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1154 + }, 1155 + "company-not-configured": { 1156 + "description": "Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable.", 1157 + "value": "{\r\n \"type\": \"company-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1158 + } 1159 + } 1160 + } 1161 + } 1162 + }, 1163 + "500": { 1164 + "description": "InternalServerError", 1165 + "content": { 1166 + "application/json": { 1167 + "examples": { 1168 + "fatal": { 1169 + "description": "Unexpected error, logs may give details about the problem", 1170 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1171 + } 1172 + } 1173 + } 1174 + } 1175 + } 1176 + } 1177 + }, 1178 + "get": { 1179 + "tags": [ 1180 + "AccountOnboarding V2" 1181 + ], 1182 + "summary": "Retrieve bankid signing process data", 1183 + "description": "Retrieve bankid signing process data", 1184 + "parameters": [ 1185 + { 1186 + "name": "ownerNo", 1187 + "in": "path", 1188 + "required": true, 1189 + "schema": { 1190 + "type": "string" 1191 + } 1192 + }, 1193 + { 1194 + "name": "accountProfile", 1195 + "in": "path", 1196 + "required": true, 1197 + "schema": { 1198 + "type": "string" 1199 + } 1200 + }, 1201 + { 1202 + "name": "applicationId", 1203 + "in": "path", 1204 + "required": true, 1205 + "schema": { 1206 + "type": "string" 1207 + } 1208 + } 1209 + ], 1210 + "responses": { 1211 + "200": { 1212 + "description": "OK", 1213 + "content": { 1214 + "application/json": { 1215 + "schema": { 1216 + "$ref": "#/components/schemas/V2.Offers.Applications.SingleResources.SignBankidSe.SignBankidSeResource" 1217 + }, 1218 + "examples": { 1219 + "OK": { 1220 + "description": "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.", 1221 + "value": "{\r\n \"autostartToken\": \"7c40b5c9-fa74-49cf-b98c-bfe651f9a7c6\",\r\n \"qrCodeImageDataUrl\": \"data:image/png;base64,VeryLongBase64String\",\r\n \"status\": \"Pending\",\r\n \"hintCode\": \"OutstandingTransaction\",\r\n \"maxExtends\": 0,\r\n \"currentExtend\": 0,\r\n \"secondsLeftThirtySecondsInterval\": 0,\r\n \"endUserIp\": \"194.168.2.25\",\r\n \"callbackUrl\": \"https://myCallbackUrl\",\r\n \"operations\": []\r\n}" 1222 + } 1223 + } 1224 + } 1225 + } 1226 + }, 1227 + "404": { 1228 + "description": "NotFound", 1229 + "content": { 1230 + "application/json": { 1231 + "examples": { 1232 + "not-found": { 1233 + "description": "Occurs if the requested resource isn't found.", 1234 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1235 + }, 1236 + "resource-unavailable": { 1237 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 1238 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1239 + } 1240 + } 1241 + } 1242 + } 1243 + }, 1244 + "409": { 1245 + "description": "Conflict", 1246 + "content": { 1247 + "application/json": { 1248 + "examples": { 1249 + "invalid-application-state": { 1250 + "description": "Occurs if the application state is invalid for the request to be made.", 1251 + "value": "{\r\n \"type\": \"invalid-application-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1252 + } 1253 + } 1254 + } 1255 + } 1256 + }, 1257 + "500": { 1258 + "description": "InternalServerError", 1259 + "content": { 1260 + "application/json": { 1261 + "examples": { 1262 + "fatal": { 1263 + "description": "Unexpected error, logs may give details about the problem", 1264 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1265 + } 1266 + } 1267 + } 1268 + } 1269 + } 1270 + } 1271 + } 1272 + }, 1273 + "/ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/sign-bankid-se/cancel": { 1274 + "post": { 1275 + "tags": [ 1276 + "AccountOnboarding V2" 1277 + ], 1278 + "summary": "Cancel bankid signing process", 1279 + "description": "Cancel bankid signing process", 1280 + "parameters": [ 1281 + { 1282 + "name": "ownerNo", 1283 + "in": "path", 1284 + "required": true, 1285 + "schema": { 1286 + "type": "string" 1287 + } 1288 + }, 1289 + { 1290 + "name": "accountProfile", 1291 + "in": "path", 1292 + "required": true, 1293 + "schema": { 1294 + "type": "string" 1295 + } 1296 + }, 1297 + { 1298 + "name": "applicationId", 1299 + "in": "path", 1300 + "required": true, 1301 + "schema": { 1302 + "type": "string" 1303 + } 1304 + } 1305 + ], 1306 + "requestBody": { 1307 + "content": { 1308 + "application/json": { 1309 + "schema": { 1310 + "$ref": "#/components/schemas/V2.Offers.Applications.SingleResources.SignBankidSe.Operations.CancelResourceRequest" 1311 + }, 1312 + "example": "{}" 1313 + }, 1314 + "text/json": { 1315 + "schema": { 1316 + "$ref": "#/components/schemas/V2.Offers.Applications.SingleResources.SignBankidSe.Operations.CancelResourceRequest" 1317 + } 1318 + }, 1319 + "application/*+json": { 1320 + "schema": { 1321 + "$ref": "#/components/schemas/V2.Offers.Applications.SingleResources.SignBankidSe.Operations.CancelResourceRequest" 1322 + } 1323 + } 1324 + } 1325 + }, 1326 + "responses": { 1327 + "204": { 1328 + "description": "No Content", 1329 + "content": { 1330 + "application/json": { 1331 + "schema": { 1332 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult" 1333 + } 1334 + } 1335 + } 1336 + }, 1337 + "404": { 1338 + "description": "NotFound", 1339 + "content": { 1340 + "application/json": { 1341 + "examples": { 1342 + "not-found": { 1343 + "description": "Occurs if the requested application isn't found.", 1344 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1345 + }, 1346 + "resource-unavailable": { 1347 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 1348 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1349 + } 1350 + } 1351 + } 1352 + } 1353 + }, 1354 + "409": { 1355 + "description": "Conflict", 1356 + "content": { 1357 + "application/json": { 1358 + "examples": { 1359 + "invalid-application-state": { 1360 + "description": "Occurs if the application state is invalid for the request to be made.", 1361 + "value": "{\r\n \"type\": \"invalid-application-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1362 + }, 1363 + "invalid-bank-id-state": { 1364 + "description": "Occurs if the bankId state is invalid for the request to be made.", 1365 + "value": "{\r\n \"type\": \"invalid-bank-id-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1366 + } 1367 + } 1368 + } 1369 + } 1370 + }, 1371 + "500": { 1372 + "description": "InternalServerError", 1373 + "content": { 1374 + "application/json": { 1375 + "examples": { 1376 + "fatal": { 1377 + "description": "Unexpected error, logs may give details about the problem", 1378 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1379 + } 1380 + } 1381 + } 1382 + } 1383 + } 1384 + } 1385 + } 1386 + }, 1387 + "/ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/sign-bankid-se/extend": { 1388 + "post": { 1389 + "tags": [ 1390 + "AccountOnboarding V2" 1391 + ], 1392 + "summary": "Extend bankid signing process", 1393 + "description": "Extend the time period for an ongoing bankid signing process", 1394 + "parameters": [ 1395 + { 1396 + "name": "ownerNo", 1397 + "in": "path", 1398 + "required": true, 1399 + "schema": { 1400 + "type": "string" 1401 + } 1402 + }, 1403 + { 1404 + "name": "accountProfile", 1405 + "in": "path", 1406 + "required": true, 1407 + "schema": { 1408 + "type": "string" 1409 + } 1410 + }, 1411 + { 1412 + "name": "applicationId", 1413 + "in": "path", 1414 + "required": true, 1415 + "schema": { 1416 + "type": "string" 1417 + } 1418 + } 1419 + ], 1420 + "responses": { 1421 + "200": { 1422 + "description": "OK", 1423 + "content": { 1424 + "application/json": { 1425 + "schema": { 1426 + "$ref": "#/components/schemas/V2.Offers.Applications.SingleResources.SignBankidSe.Operations.ExtendResource" 1427 + }, 1428 + "examples": { 1429 + "OK": { 1430 + "description": "Example of a response where Extend has been called once before (currentExtend 1), and some time has elapsed (90 seconds left).", 1431 + "value": "{\r\n \"maxExtends\": 10,\r\n \"currentExtend\": 1,\r\n \"secondsLeftThirtySecondsInterval\": 90\r\n}" 1432 + } 1433 + } 1434 + } 1435 + } 1436 + }, 1437 + "404": { 1438 + "description": "NotFound", 1439 + "content": { 1440 + "application/json": { 1441 + "examples": { 1442 + "not-found": { 1443 + "description": "Occurs if the requested application isn't found.", 1444 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1445 + }, 1446 + "resource-unavailable": { 1447 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 1448 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1449 + } 1450 + } 1451 + } 1452 + } 1453 + }, 1454 + "409": { 1455 + "description": "Conflict", 1456 + "content": { 1457 + "application/json": { 1458 + "examples": { 1459 + "conflict": { 1460 + "description": "Occurs if the application state is invalid, see message for details.", 1461 + "value": "{\r\n \"type\": \"conflict\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1462 + } 1463 + } 1464 + } 1465 + } 1466 + }, 1467 + "500": { 1468 + "description": "InternalServerError", 1469 + "content": { 1470 + "application/json": { 1471 + "examples": { 1472 + "fatal": { 1473 + "description": "Unexpected error, logs may give details about the problem.", 1474 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1475 + } 1476 + } 1477 + } 1478 + } 1479 + } 1480 + } 1481 + } 1482 + }, 1483 + "/ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications": { 1484 + "post": { 1485 + "tags": [ 1486 + "AccountOnboarding V2" 1487 + ], 1488 + "summary": "Add limit upgrade application", 1489 + "description": "Add limit upgrade application", 1490 + "parameters": [ 1491 + { 1492 + "name": "ownerNo", 1493 + "in": "path", 1494 + "required": true, 1495 + "schema": { 1496 + "type": "string" 1497 + } 1498 + } 1499 + ], 1500 + "requestBody": { 1501 + "content": { 1502 + "application/json": { 1503 + "schema": { 1504 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.LimitUpgradeApplicationsResourceBase" 1505 + }, 1506 + "example": "{\r\n \"creditLimit\": 5000.00,\r\n \"accountNo\": \"123456\",\r\n \"languageCode\": \"Sv\",\r\n \"specialIntent\": \"limit-upgrade-for-invoice-conversion\",\r\n \"applicationOptions\": {\r\n \"customerPreAuthenticated\": false,\r\n \"preAuthorizationAmount\": 5000.00\r\n }\r\n}" 1507 + }, 1508 + "text/json": { 1509 + "schema": { 1510 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.LimitUpgradeApplicationsResourceBase" 1511 + } 1512 + }, 1513 + "application/*+json": { 1514 + "schema": { 1515 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.LimitUpgradeApplicationsResourceBase" 1516 + } 1517 + } 1518 + } 1519 + }, 1520 + "responses": { 1521 + "201": { 1522 + "description": "Created", 1523 + "content": { 1524 + "application/json": { 1525 + "schema": { 1526 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.LimitUpgradeApplicationsResourceResponse" 1527 + }, 1528 + "examples": { 1529 + "Created": { 1530 + "description": "Example of response on successfully created limit upgrade application", 1531 + "value": "{\r\n \"limitUpgradeApplicationId\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"status\": \"AwaitingSign\",\r\n \"creditLimit\": 5000.00,\r\n \"accountNo\": \"123456\",\r\n \"languageCode\": \"Sv\",\r\n \"specialIntent\": \"limit-upgrade-for-invoice-conversion\",\r\n \"applicationOptions\": {\r\n \"customerPreAuthenticated\": false,\r\n \"preAuthorizationAmount\": 5000.00\r\n },\r\n \"kycQuestions\": [\r\n {\r\n \"questionText\": \"What is your current employment?\",\r\n \"answer\": {\r\n \"type\": \"single\",\r\n \"required\": true,\r\n \"possibleAnswers\": [\r\n {\r\n \"answerCode\": \"selfemployed\",\r\n \"answerText\": \"Own business\"\r\n },\r\n {\r\n \"answerCode\": \"private_employee\",\r\n \"answerText\": \"Private employee\"\r\n },\r\n {\r\n \"answerCode\": \"goverment_employee\",\r\n \"answerText\": \"Government employee\"\r\n }\r\n ]\r\n },\r\n \"questionCode\": \"employment\"\r\n },\r\n {\r\n \"questionText\": \"What is your yearly income\",\r\n \"answer\": {\r\n \"type\": \"single\",\r\n \"required\": true,\r\n \"possibleAnswers\": [\r\n {\r\n \"answerCode\": \"incomeinterval1\",\r\n \"answerText\": \"0-100 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval2\",\r\n \"answerText\": \"100 001-200 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval3\",\r\n \"answerText\": \"200 001-300 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval4\",\r\n \"answerText\": \"Over 300 001 SEK\"\r\n }\r\n ]\r\n },\r\n \"questionCode\": \"income\"\r\n }\r\n ],\r\n \"operations\": []\r\n}" 1532 + } 1533 + } 1534 + } 1535 + } 1536 + }, 1537 + "400": { 1538 + "description": "BadRequest", 1539 + "content": { 1540 + "application/json": { 1541 + "examples": { 1542 + "validation": { 1543 + "description": "Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation", 1544 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1545 + } 1546 + } 1547 + } 1548 + } 1549 + }, 1550 + "404": { 1551 + "description": "NotFound", 1552 + "content": { 1553 + "application/json": { 1554 + "examples": { 1555 + "not-found": { 1556 + "description": "Occurs if the requested resource isn't found.", 1557 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1558 + }, 1559 + "resource-unavailable": { 1560 + "description": "Occurs if a valid account is not available.", 1561 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1562 + } 1563 + } 1564 + } 1565 + } 1566 + }, 1567 + "409": { 1568 + "description": "Conflict", 1569 + "content": { 1570 + "application/json": { 1571 + "examples": { 1572 + "account-status": { 1573 + "description": "Occurs if the account status is invalid for the request to be made.", 1574 + "value": "{\r\n \"type\": \"account-status\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1575 + }, 1576 + "credit-limit-already-sufficient": { 1577 + "description": "Occurs if the requested credit limit is invalid because it is already sufficient.", 1578 + "value": "{\r\n \"type\": \"credit-limit-already-sufficient\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1579 + } 1580 + } 1581 + } 1582 + } 1583 + }, 1584 + "422": { 1585 + "description": "UnprocessableEntity", 1586 + "content": { 1587 + "application/json": { 1588 + "examples": { 1589 + "invalid-special-intent": { 1590 + "description": "Occurs if the provided special intent is invalid.", 1591 + "value": "{\r\n \"type\": \"invalid-special-intent\",\r\n \"title\": \"Problem title\",\r\n \"status\": 422,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1592 + } 1593 + } 1594 + } 1595 + } 1596 + }, 1597 + "500": { 1598 + "description": "InternalServerError", 1599 + "content": { 1600 + "application/json": { 1601 + "examples": { 1602 + "fatal": { 1603 + "description": "Unexpected error, logs may give details about the problem", 1604 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1605 + } 1606 + } 1607 + } 1608 + } 1609 + } 1610 + } 1611 + } 1612 + }, 1613 + "/ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}": { 1614 + "get": { 1615 + "tags": [ 1616 + "AccountOnboarding V2" 1617 + ], 1618 + "summary": "Get existing limit upgrade application", 1619 + "description": "Get existing limit upgrade application", 1620 + "operationId": "PayEx.AR.Api.Resources.AccountOnboarding.V2.LimitUpgradeApplications.LimitUpgradeApplicationsController_Id_GetSingle", 1621 + "parameters": [ 1622 + { 1623 + "name": "ownerNo", 1624 + "in": "path", 1625 + "required": true, 1626 + "schema": { 1627 + "type": "string" 1628 + } 1629 + }, 1630 + { 1631 + "name": "limitUpgradeApplicationId", 1632 + "in": "path", 1633 + "required": true, 1634 + "schema": { 1635 + "type": "string" 1636 + } 1637 + } 1638 + ], 1639 + "responses": { 1640 + "200": { 1641 + "description": "OK", 1642 + "content": { 1643 + "application/json": { 1644 + "schema": { 1645 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.LimitUpgradeApplicationsResourceResponse" 1646 + }, 1647 + "examples": { 1648 + "OK": { 1649 + "description": "Example of response on successfully created limit upgrade application", 1650 + "value": "{\r\n \"limitUpgradeApplicationId\": \"123e4567-e89b-12d3-a456-426614174000\",\r\n \"status\": \"AwaitingSign\",\r\n \"creditLimit\": 5000.00,\r\n \"accountNo\": \"123456\",\r\n \"languageCode\": \"Sv\",\r\n \"specialIntent\": \"limit-upgrade-for-invoice-conversion\",\r\n \"applicationOptions\": {\r\n \"customerPreAuthenticated\": false,\r\n \"preAuthorizationAmount\": 5000.00\r\n },\r\n \"kycQuestions\": [\r\n {\r\n \"questionText\": \"What is your current employment?\",\r\n \"answer\": {\r\n \"type\": \"single\",\r\n \"required\": true,\r\n \"possibleAnswers\": [\r\n {\r\n \"answerCode\": \"selfemployed\",\r\n \"answerText\": \"Own business\"\r\n },\r\n {\r\n \"answerCode\": \"private_employee\",\r\n \"answerText\": \"Private employee\"\r\n },\r\n {\r\n \"answerCode\": \"goverment_employee\",\r\n \"answerText\": \"Government employee\"\r\n }\r\n ]\r\n },\r\n \"questionCode\": \"employment\"\r\n },\r\n {\r\n \"questionText\": \"What is your yearly income\",\r\n \"answer\": {\r\n \"type\": \"single\",\r\n \"required\": true,\r\n \"possibleAnswers\": [\r\n {\r\n \"answerCode\": \"incomeinterval1\",\r\n \"answerText\": \"0-100 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval2\",\r\n \"answerText\": \"100 001-200 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval3\",\r\n \"answerText\": \"200 001-300 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval4\",\r\n \"answerText\": \"Over 300 001 SEK\"\r\n }\r\n ]\r\n },\r\n \"questionCode\": \"income\"\r\n }\r\n ],\r\n \"operations\": []\r\n}" 1651 + } 1652 + } 1653 + } 1654 + } 1655 + }, 1656 + "404": { 1657 + "description": "NotFound", 1658 + "content": { 1659 + "application/json": { 1660 + "examples": { 1661 + "not-found": { 1662 + "description": "Occurs if the requested resource isn't found.", 1663 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1664 + }, 1665 + "resource-unavailable": { 1666 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 1667 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1668 + } 1669 + } 1670 + } 1671 + } 1672 + }, 1673 + "500": { 1674 + "description": "InternalServerError", 1675 + "content": { 1676 + "application/json": { 1677 + "examples": { 1678 + "fatal": { 1679 + "description": "Unexpected error, logs may give details about the problem", 1680 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1681 + } 1682 + } 1683 + } 1684 + } 1685 + } 1686 + } 1687 + } 1688 + }, 1689 + "/ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/kyc-answers": { 1690 + "post": { 1691 + "tags": [ 1692 + "AccountOnboarding V2" 1693 + ], 1694 + "summary": "Submit answers to kyc questions", 1695 + "description": "Submit answers to kyc questions", 1696 + "parameters": [ 1697 + { 1698 + "name": "ownerNo", 1699 + "in": "path", 1700 + "required": true, 1701 + "schema": { 1702 + "type": "string" 1703 + } 1704 + }, 1705 + { 1706 + "name": "limitUpgradeApplicationId", 1707 + "in": "path", 1708 + "required": true, 1709 + "schema": { 1710 + "type": "string" 1711 + } 1712 + } 1713 + ], 1714 + "requestBody": { 1715 + "content": { 1716 + "application/json": { 1717 + "schema": { 1718 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.SingleResources.KycAnswers.KycAnswersResource" 1719 + }, 1720 + "example": "{\r\n \"answers\": [\r\n {\r\n \"questionCode\": \"employment\",\r\n \"answerCode\": \"selfemployed\"\r\n },\r\n {\r\n \"questionCode\": \"monthlyincome\",\r\n \"answerCode\": \"monthlyincomeinterval2\"\r\n },\r\n {\r\n \"questionCode\": \"ispep\",\r\n \"answerCode\": \"false\"\r\n }\r\n ]\r\n}" 1721 + }, 1722 + "text/json": { 1723 + "schema": { 1724 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.SingleResources.KycAnswers.KycAnswersResource" 1725 + } 1726 + }, 1727 + "application/*+json": { 1728 + "schema": { 1729 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.SingleResources.KycAnswers.KycAnswersResource" 1730 + } 1731 + } 1732 + } 1733 + }, 1734 + "responses": { 1735 + "201": { 1736 + "description": "Created", 1737 + "content": { 1738 + "application/json": { 1739 + "schema": { 1740 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.SingleResources.KycAnswers.KycAnswersResource" 1741 + }, 1742 + "examples": { 1743 + "Created": { 1744 + "description": "Example of response on successfully created kyc answers", 1745 + "value": "{\r\n \"answers\": [\r\n {\r\n \"questionCode\": \"employment\",\r\n \"answerCode\": \"selfemployed\"\r\n },\r\n {\r\n \"questionCode\": \"monthlyincome\",\r\n \"answerCode\": \"monthlyincomeinterval2\"\r\n },\r\n {\r\n \"questionCode\": \"ispep\",\r\n \"answerCode\": \"false\"\r\n }\r\n ]\r\n}" 1746 + } 1747 + } 1748 + } 1749 + } 1750 + }, 1751 + "400": { 1752 + "description": "BadRequest", 1753 + "content": { 1754 + "application/json": { 1755 + "examples": { 1756 + "validation": { 1757 + "description": "Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation", 1758 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1759 + } 1760 + } 1761 + } 1762 + } 1763 + }, 1764 + "404": { 1765 + "description": "NotFound", 1766 + "content": { 1767 + "application/json": { 1768 + "examples": { 1769 + "not-found": { 1770 + "description": "Occurs if the requested resource isn't found.", 1771 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1772 + }, 1773 + "resource-unavailable": { 1774 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 1775 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1776 + } 1777 + } 1778 + } 1779 + } 1780 + }, 1781 + "409": { 1782 + "description": "Conflict", 1783 + "content": { 1784 + "application/json": { 1785 + "examples": { 1786 + "validation": { 1787 + "description": "Occurs if the validation of the resource's state fails.", 1788 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1789 + }, 1790 + "invalid-application-state": { 1791 + "description": "Occurs if the application state is invalid for the request to be made.", 1792 + "value": "{\r\n \"type\": \"invalid-application-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1793 + }, 1794 + "kyc-not-configured": { 1795 + "description": "Occurs if the application does not support KYC answers due to the account profile not being configured with any.", 1796 + "value": "{\r\n \"type\": \"kyc-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1797 + } 1798 + } 1799 + } 1800 + } 1801 + }, 1802 + "500": { 1803 + "description": "InternalServerError", 1804 + "content": { 1805 + "application/json": { 1806 + "examples": { 1807 + "fatal": { 1808 + "description": "Unexpected error, logs may give details about the problem", 1809 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1810 + } 1811 + } 1812 + } 1813 + } 1814 + } 1815 + } 1816 + }, 1817 + "get": { 1818 + "tags": [ 1819 + "AccountOnboarding V2" 1820 + ], 1821 + "summary": "Get the submited answers to kyc questions", 1822 + "description": "Get the submited answers to kyc questions", 1823 + "parameters": [ 1824 + { 1825 + "name": "ownerNo", 1826 + "in": "path", 1827 + "required": true, 1828 + "schema": { 1829 + "type": "string" 1830 + } 1831 + }, 1832 + { 1833 + "name": "limitUpgradeApplicationId", 1834 + "in": "path", 1835 + "required": true, 1836 + "schema": { 1837 + "type": "string" 1838 + } 1839 + } 1840 + ], 1841 + "responses": { 1842 + "200": { 1843 + "description": "OK", 1844 + "content": { 1845 + "application/json": { 1846 + "schema": { 1847 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.SingleResources.KycAnswers.KycAnswersResource" 1848 + }, 1849 + "examples": { 1850 + "OK": { 1851 + "description": "Example of response on successfully retrieved kyc answers", 1852 + "value": "{\r\n \"answers\": [\r\n {\r\n \"questionCode\": \"employment\",\r\n \"answerCode\": \"selfemployed\"\r\n },\r\n {\r\n \"questionCode\": \"monthlyincome\",\r\n \"answerCode\": \"monthlyincomeinterval2\"\r\n },\r\n {\r\n \"questionCode\": \"ispep\",\r\n \"answerCode\": \"false\"\r\n }\r\n ]\r\n}" 1853 + } 1854 + } 1855 + } 1856 + } 1857 + }, 1858 + "404": { 1859 + "description": "NotFound", 1860 + "content": { 1861 + "application/json": { 1862 + "examples": { 1863 + "not-found": { 1864 + "description": "Occurs if the requested resource isn't found.", 1865 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1866 + }, 1867 + "resource-unavailable": { 1868 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 1869 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1870 + } 1871 + } 1872 + } 1873 + } 1874 + }, 1875 + "409": { 1876 + "description": "Conflict", 1877 + "content": { 1878 + "application/json": { 1879 + "examples": { 1880 + "kyc-not-configured": { 1881 + "description": "Occurs if the application does not support KYC answers due to the account profile not being configured with any.", 1882 + "value": "{\r\n \"type\": \"kyc-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1883 + } 1884 + } 1885 + } 1886 + } 1887 + }, 1888 + "500": { 1889 + "description": "InternalServerError", 1890 + "content": { 1891 + "application/json": { 1892 + "examples": { 1893 + "fatal": { 1894 + "description": "Unexpected error, logs may give details about the problem", 1895 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1896 + } 1897 + } 1898 + } 1899 + } 1900 + } 1901 + } 1902 + } 1903 + }, 1904 + "/ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/verify-application": { 1905 + "post": { 1906 + "tags": [ 1907 + "AccountOnboarding V2" 1908 + ], 1909 + "summary": "Verify the application", 1910 + "description": "Verify the application and does a credit check if needed", 1911 + "parameters": [ 1912 + { 1913 + "name": "ownerNo", 1914 + "in": "path", 1915 + "required": true, 1916 + "schema": { 1917 + "type": "string" 1918 + } 1919 + }, 1920 + { 1921 + "name": "limitUpgradeApplicationId", 1922 + "in": "path", 1923 + "required": true, 1924 + "schema": { 1925 + "type": "string" 1926 + } 1927 + } 1928 + ], 1929 + "requestBody": { 1930 + "content": { 1931 + "application/json": { 1932 + "schema": { 1933 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.Operations.VerifyApplication.VerifyApplicationResourceBase" 1934 + }, 1935 + "example": "{}" 1936 + }, 1937 + "text/json": { 1938 + "schema": { 1939 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.Operations.VerifyApplication.VerifyApplicationResourceBase" 1940 + } 1941 + }, 1942 + "application/*+json": { 1943 + "schema": { 1944 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.Operations.VerifyApplication.VerifyApplicationResourceBase" 1945 + } 1946 + } 1947 + } 1948 + }, 1949 + "responses": { 1950 + "204": { 1951 + "description": "No Content", 1952 + "content": { 1953 + "application/json": { 1954 + "schema": { 1955 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult" 1956 + } 1957 + } 1958 + } 1959 + }, 1960 + "404": { 1961 + "description": "NotFound", 1962 + "content": { 1963 + "application/json": { 1964 + "examples": { 1965 + "not-found": { 1966 + "description": "Occurs if the requested application isn't found.", 1967 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1968 + }, 1969 + "resource-unavailable": { 1970 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 1971 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1972 + } 1973 + } 1974 + } 1975 + } 1976 + }, 1977 + "409": { 1978 + "description": "Conflict", 1979 + "content": { 1980 + "application/json": { 1981 + "examples": { 1982 + "invalid-application-state": { 1983 + "description": "Occurs if the application state is invalid for the request to be made.", 1984 + "value": "{\r\n \"type\": \"invalid-application-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1985 + } 1986 + } 1987 + } 1988 + } 1989 + }, 1990 + "422": { 1991 + "description": "UnprocessableEntity", 1992 + "content": { 1993 + "application/json": { 1994 + "examples": { 1995 + "credit-check-declined": { 1996 + "description": "Occurs if the credit check is denied.", 1997 + "value": "{\r\n \"type\": \"credit-check-declined\",\r\n \"title\": \"Problem title\",\r\n \"status\": 422,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 1998 + } 1999 + } 2000 + } 2001 + } 2002 + }, 2003 + "500": { 2004 + "description": "InternalServerError", 2005 + "content": { 2006 + "application/json": { 2007 + "examples": { 2008 + "fatal": { 2009 + "description": "Unexpected error, logs may give details about the problem", 2010 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2011 + } 2012 + } 2013 + } 2014 + } 2015 + } 2016 + } 2017 + } 2018 + }, 2019 + "/ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/begin-sign-bankid-no": { 2020 + "post": { 2021 + "tags": [ 2022 + "AccountOnboarding V2" 2023 + ], 2024 + "summary": "Initiate Norwegain bankid signing process", 2025 + "description": "Initiate Norwegain bankid signing process", 2026 + "parameters": [ 2027 + { 2028 + "name": "ownerNo", 2029 + "in": "path", 2030 + "required": true, 2031 + "schema": { 2032 + "type": "string" 2033 + } 2034 + }, 2035 + { 2036 + "name": "accountProfile", 2037 + "in": "path", 2038 + "required": true, 2039 + "schema": { 2040 + "type": "string" 2041 + } 2042 + }, 2043 + { 2044 + "name": "applicationId", 2045 + "in": "path", 2046 + "required": true, 2047 + "schema": { 2048 + "type": "string" 2049 + } 2050 + } 2051 + ], 2052 + "requestBody": { 2053 + "content": { 2054 + "application/json": { 2055 + "schema": { 2056 + "$ref": "#/components/schemas/V2.Offers.Applications.Operations.BeginSignBankidNo.BeginSignBankidNoRequest" 2057 + }, 2058 + "example": "{\r\n \"completeUrl\": \"https://sucessful-page?id=123\",\r\n \"cancelUrl\": \"https://unsucessful-page?id=123\",\r\n \"callbackUrl\": \"https://my-callback-url?id=123\"\r\n}" 2059 + }, 2060 + "text/json": { 2061 + "schema": { 2062 + "$ref": "#/components/schemas/V2.Offers.Applications.Operations.BeginSignBankidNo.BeginSignBankidNoRequest" 2063 + } 2064 + }, 2065 + "application/*+json": { 2066 + "schema": { 2067 + "$ref": "#/components/schemas/V2.Offers.Applications.Operations.BeginSignBankidNo.BeginSignBankidNoRequest" 2068 + } 2069 + } 2070 + } 2071 + }, 2072 + "responses": { 2073 + "200": { 2074 + "description": "OK", 2075 + "content": { 2076 + "application/json": { 2077 + "schema": { 2078 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.Operations.BeginSignBankidNo.BeginSignBankidNoResponse" 2079 + }, 2080 + "examples": { 2081 + "OK": { 2082 + "description": "Example of successful response. This response has started a background process that begin polling for update about the signing for a limited time.", 2083 + "value": "{\r\n \"signingUrl\": \"https://example-signicat.com/std/docaction/profile-identify?request_id=123456abcdefg\"\r\n}" 2084 + } 2085 + } 2086 + } 2087 + } 2088 + }, 2089 + "400": { 2090 + "description": "BadRequest", 2091 + "content": { 2092 + "application/json": { 2093 + "examples": { 2094 + "validation": { 2095 + "description": "Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation", 2096 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2097 + } 2098 + } 2099 + } 2100 + } 2101 + }, 2102 + "404": { 2103 + "description": "NotFound", 2104 + "content": { 2105 + "application/json": { 2106 + "examples": { 2107 + "not-found": { 2108 + "description": "Occurs if the requested application isn't found.", 2109 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2110 + }, 2111 + "resource-unavailable": { 2112 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 2113 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2114 + } 2115 + } 2116 + } 2117 + } 2118 + }, 2119 + "409": { 2120 + "description": "Conflict", 2121 + "content": { 2122 + "application/json": { 2123 + "examples": { 2124 + "invalid-application-state": { 2125 + "description": "Occurs if the application state is invalid for the request to be made.", 2126 + "value": "{\r\n \"type\": \"invalid-application-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2127 + }, 2128 + "company-not-configured": { 2129 + "description": "Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable.", 2130 + "value": "{\r\n \"type\": \"company-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2131 + } 2132 + } 2133 + } 2134 + } 2135 + }, 2136 + "500": { 2137 + "description": "InternalServerError", 2138 + "content": { 2139 + "application/json": { 2140 + "examples": { 2141 + "fatal": { 2142 + "description": "Unexpected error, logs may give details about the problem", 2143 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2144 + } 2145 + } 2146 + } 2147 + } 2148 + } 2149 + } 2150 + } 2151 + }, 2152 + "/ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/begin-sign-bankid-no": { 2153 + "post": { 2154 + "tags": [ 2155 + "AccountOnboarding V2" 2156 + ], 2157 + "summary": "Initiate Norwegain bankid signing process", 2158 + "description": "Initiate Norwegain bankid signing process", 2159 + "parameters": [ 2160 + { 2161 + "name": "ownerNo", 2162 + "in": "path", 2163 + "required": true, 2164 + "schema": { 2165 + "type": "string" 2166 + } 2167 + }, 2168 + { 2169 + "name": "limitUpgradeApplicationId", 2170 + "in": "path", 2171 + "required": true, 2172 + "schema": { 2173 + "type": "string" 2174 + } 2175 + } 2176 + ], 2177 + "requestBody": { 2178 + "content": { 2179 + "application/json": { 2180 + "schema": { 2181 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.Operations.BeginSignBankidNo.BeginSignBankidNoRequest" 2182 + }, 2183 + "example": "{\r\n \"completeUrl\": \"https://sucessful-page?id=123\",\r\n \"cancelUrl\": \"https://unsucessful-page?id=123\",\r\n \"callbackUrl\": \"https://my-callback-url?id=123\"\r\n}" 2184 + }, 2185 + "text/json": { 2186 + "schema": { 2187 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.Operations.BeginSignBankidNo.BeginSignBankidNoRequest" 2188 + } 2189 + }, 2190 + "application/*+json": { 2191 + "schema": { 2192 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.Operations.BeginSignBankidNo.BeginSignBankidNoRequest" 2193 + } 2194 + } 2195 + } 2196 + }, 2197 + "responses": { 2198 + "200": { 2199 + "description": "OK", 2200 + "content": { 2201 + "application/json": { 2202 + "schema": { 2203 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.Operations.BeginSignBankidNo.BeginSignBankidNoResponse" 2204 + }, 2205 + "examples": { 2206 + "OK": { 2207 + "description": "Example of successful response. This response has started a background process that begin polling for update about the signing for a limited time.", 2208 + "value": "{\r\n \"signingUrl\": \"https://example-signicat.com/std/docaction/profile-identify?request_id=123456abcdefg\"\r\n}" 2209 + } 2210 + } 2211 + } 2212 + } 2213 + }, 2214 + "400": { 2215 + "description": "BadRequest", 2216 + "content": { 2217 + "application/json": { 2218 + "examples": { 2219 + "validation": { 2220 + "description": "Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation", 2221 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2222 + } 2223 + } 2224 + } 2225 + } 2226 + }, 2227 + "404": { 2228 + "description": "NotFound", 2229 + "content": { 2230 + "application/json": { 2231 + "examples": { 2232 + "not-found": { 2233 + "description": "Occurs if the requested application isn't found.", 2234 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2235 + }, 2236 + "resource-unavailable": { 2237 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 2238 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2239 + } 2240 + } 2241 + } 2242 + } 2243 + }, 2244 + "409": { 2245 + "description": "Conflict", 2246 + "content": { 2247 + "application/json": { 2248 + "examples": { 2249 + "invalid-application-state": { 2250 + "description": "Occurs if the application state is invalid for the request to be made.", 2251 + "value": "{\r\n \"type\": \"invalid-application-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2252 + }, 2253 + "company-not-configured": { 2254 + "description": "Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable.", 2255 + "value": "{\r\n \"type\": \"company-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2256 + } 2257 + } 2258 + } 2259 + } 2260 + }, 2261 + "500": { 2262 + "description": "InternalServerError", 2263 + "content": { 2264 + "application/json": { 2265 + "examples": { 2266 + "fatal": { 2267 + "description": "Unexpected error, logs may give details about the problem", 2268 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2269 + } 2270 + } 2271 + } 2272 + } 2273 + } 2274 + } 2275 + } 2276 + }, 2277 + "/ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/sign-bankid-se": { 2278 + "post": { 2279 + "tags": [ 2280 + "AccountOnboarding V2" 2281 + ], 2282 + "summary": "Initiate bankid signing process", 2283 + "description": "Initiate bankid signing process", 2284 + "parameters": [ 2285 + { 2286 + "name": "ownerNo", 2287 + "in": "path", 2288 + "required": true, 2289 + "schema": { 2290 + "type": "string" 2291 + } 2292 + }, 2293 + { 2294 + "name": "limitUpgradeApplicationId", 2295 + "in": "path", 2296 + "required": true, 2297 + "schema": { 2298 + "type": "string" 2299 + } 2300 + } 2301 + ], 2302 + "requestBody": { 2303 + "content": { 2304 + "application/json": { 2305 + "schema": { 2306 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.SingleResources.SignBankidSe.SignBankidSeResourceRequest" 2307 + }, 2308 + "example": "{\r\n \"endUserIp\": \"194.168.2.25\",\r\n \"callbackUrl\": \"https://myCallbackUrl\"\r\n}" 2309 + }, 2310 + "text/json": { 2311 + "schema": { 2312 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.SingleResources.SignBankidSe.SignBankidSeResourceRequest" 2313 + } 2314 + }, 2315 + "application/*+json": { 2316 + "schema": { 2317 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.SingleResources.SignBankidSe.SignBankidSeResourceRequest" 2318 + } 2319 + } 2320 + } 2321 + }, 2322 + "responses": { 2323 + "201": { 2324 + "description": "Created", 2325 + "content": { 2326 + "application/json": { 2327 + "schema": { 2328 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.SingleResources.SignBankidSe.SignBankidSeResource" 2329 + }, 2330 + "examples": { 2331 + "Created": { 2332 + "description": "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.", 2333 + "value": "{\r\n \"autostartToken\": \"7c40b5c9-fa74-49cf-b98c-bfe651f9a7c6\",\r\n \"qrCodeImageDataUrl\": \"data:image/png;base64,VeryLongBase64String\",\r\n \"status\": \"Pending\",\r\n \"hintCode\": \"OutstandingTransaction\",\r\n \"maxExtends\": 0,\r\n \"currentExtend\": 0,\r\n \"secondsLeftThirtySecondsInterval\": 0,\r\n \"endUserIp\": \"194.168.2.25\",\r\n \"callbackUrl\": \"https://myCallbackUrl\",\r\n \"operations\": []\r\n}" 2334 + } 2335 + } 2336 + } 2337 + } 2338 + }, 2339 + "400": { 2340 + "description": "BadRequest", 2341 + "content": { 2342 + "application/json": { 2343 + "examples": { 2344 + "validation": { 2345 + "description": "occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation", 2346 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2347 + } 2348 + } 2349 + } 2350 + } 2351 + }, 2352 + "404": { 2353 + "description": "NotFound", 2354 + "content": { 2355 + "application/json": { 2356 + "examples": { 2357 + "not-found": { 2358 + "description": "Occurs if the requested application isn't found.", 2359 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2360 + }, 2361 + "resource-unavailable": { 2362 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 2363 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2364 + } 2365 + } 2366 + } 2367 + } 2368 + }, 2369 + "409": { 2370 + "description": "Conflict", 2371 + "content": { 2372 + "application/json": { 2373 + "examples": { 2374 + "invalid-application-state": { 2375 + "description": "Occurs if the application state is invalid for the request to be made.", 2376 + "value": "{\r\n \"type\": \"invalid-application-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2377 + }, 2378 + "company-not-configured": { 2379 + "description": "Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable.", 2380 + "value": "{\r\n \"type\": \"company-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2381 + } 2382 + } 2383 + } 2384 + } 2385 + }, 2386 + "500": { 2387 + "description": "InternalServerError", 2388 + "content": { 2389 + "application/json": { 2390 + "examples": { 2391 + "fatal": { 2392 + "description": "Unexpected error, logs may give details about the problem", 2393 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2394 + } 2395 + } 2396 + } 2397 + } 2398 + } 2399 + } 2400 + }, 2401 + "get": { 2402 + "tags": [ 2403 + "AccountOnboarding V2" 2404 + ], 2405 + "summary": "Retrieve bankid signing process data", 2406 + "description": "Retrieve bankid signing process data", 2407 + "parameters": [ 2408 + { 2409 + "name": "ownerNo", 2410 + "in": "path", 2411 + "required": true, 2412 + "schema": { 2413 + "type": "string" 2414 + } 2415 + }, 2416 + { 2417 + "name": "limitUpgradeApplicationId", 2418 + "in": "path", 2419 + "required": true, 2420 + "schema": { 2421 + "type": "string" 2422 + } 2423 + } 2424 + ], 2425 + "responses": { 2426 + "200": { 2427 + "description": "OK", 2428 + "content": { 2429 + "application/json": { 2430 + "schema": { 2431 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.SingleResources.SignBankidSe.SignBankidSeResource" 2432 + }, 2433 + "examples": { 2434 + "OK": { 2435 + "description": "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.", 2436 + "value": "{\r\n \"autostartToken\": \"7c40b5c9-fa74-49cf-b98c-bfe651f9a7c6\",\r\n \"qrCodeImageDataUrl\": \"data:image/png;base64,VeryLongBase64String\",\r\n \"status\": \"Pending\",\r\n \"hintCode\": \"OutstandingTransaction\",\r\n \"maxExtends\": 0,\r\n \"currentExtend\": 0,\r\n \"secondsLeftThirtySecondsInterval\": 0,\r\n \"endUserIp\": \"194.168.2.25\",\r\n \"callbackUrl\": \"https://myCallbackUrl\",\r\n \"operations\": []\r\n}" 2437 + } 2438 + } 2439 + } 2440 + } 2441 + }, 2442 + "404": { 2443 + "description": "NotFound", 2444 + "content": { 2445 + "application/json": { 2446 + "examples": { 2447 + "not-found": { 2448 + "description": "Occurs if the requested resource isn't found.", 2449 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2450 + }, 2451 + "resource-unavailable": { 2452 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 2453 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2454 + } 2455 + } 2456 + } 2457 + } 2458 + }, 2459 + "409": { 2460 + "description": "Conflict", 2461 + "content": { 2462 + "application/json": { 2463 + "examples": { 2464 + "invalid-application-state": { 2465 + "description": "Occurs if the application state is invalid for the request to be made.", 2466 + "value": "{\r\n \"type\": \"invalid-application-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2467 + } 2468 + } 2469 + } 2470 + } 2471 + }, 2472 + "500": { 2473 + "description": "InternalServerError", 2474 + "content": { 2475 + "application/json": { 2476 + "examples": { 2477 + "fatal": { 2478 + "description": "Unexpected error, logs may give details about the problem", 2479 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2480 + } 2481 + } 2482 + } 2483 + } 2484 + } 2485 + } 2486 + } 2487 + }, 2488 + "/ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/begin-sign-mitid-dk": { 2489 + "post": { 2490 + "tags": [ 2491 + "AccountOnboarding V2" 2492 + ], 2493 + "summary": "Initiate Danish mitid signing process", 2494 + "description": "Initiate Danish mitid signing process", 2495 + "parameters": [ 2496 + { 2497 + "name": "ownerNo", 2498 + "in": "path", 2499 + "required": true, 2500 + "schema": { 2501 + "type": "string" 2502 + } 2503 + }, 2504 + { 2505 + "name": "accountProfile", 2506 + "in": "path", 2507 + "required": true, 2508 + "schema": { 2509 + "type": "string" 2510 + } 2511 + }, 2512 + { 2513 + "name": "applicationId", 2514 + "in": "path", 2515 + "required": true, 2516 + "schema": { 2517 + "type": "string" 2518 + } 2519 + } 2520 + ], 2521 + "requestBody": { 2522 + "content": { 2523 + "application/json": { 2524 + "schema": { 2525 + "$ref": "#/components/schemas/V2.Offers.Applications.Operations.BeginSignMitidDk.BeginSignMitidDkRequest" 2526 + }, 2527 + "example": "{}" 2528 + }, 2529 + "text/json": { 2530 + "schema": { 2531 + "$ref": "#/components/schemas/V2.Offers.Applications.Operations.BeginSignMitidDk.BeginSignMitidDkRequest" 2532 + } 2533 + }, 2534 + "application/*+json": { 2535 + "schema": { 2536 + "$ref": "#/components/schemas/V2.Offers.Applications.Operations.BeginSignMitidDk.BeginSignMitidDkRequest" 2537 + } 2538 + } 2539 + } 2540 + }, 2541 + "responses": { 2542 + "200": { 2543 + "description": "OK", 2544 + "content": { 2545 + "application/json": { 2546 + "schema": { 2547 + "$ref": "#/components/schemas/V2.Offers.Applications.Operations.BeginSignMitidDk.BeginSignMitidDkResponse" 2548 + }, 2549 + "examples": { 2550 + "OK": { 2551 + "description": "Example of successful response. This response has started a background process that begins polling for update about the signing for a limited time.", 2552 + "value": "{}" 2553 + } 2554 + } 2555 + } 2556 + } 2557 + }, 2558 + "400": { 2559 + "description": "BadRequest", 2560 + "content": { 2561 + "application/json": { 2562 + "examples": { 2563 + "validation": { 2564 + "description": "Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation", 2565 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2566 + } 2567 + } 2568 + } 2569 + } 2570 + }, 2571 + "404": { 2572 + "description": "NotFound", 2573 + "content": { 2574 + "application/json": { 2575 + "examples": { 2576 + "not-found": { 2577 + "description": "Occurs if the requested application isn't found.", 2578 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2579 + }, 2580 + "resource-unavailable": { 2581 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 2582 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2583 + } 2584 + } 2585 + } 2586 + } 2587 + }, 2588 + "409": { 2589 + "description": "Conflict", 2590 + "content": { 2591 + "application/json": { 2592 + "examples": { 2593 + "invalid-application-state": { 2594 + "description": "Occurs if the application state is invalid for the request to be made.", 2595 + "value": "{\r\n \"type\": \"invalid-application-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2596 + }, 2597 + "company-not-configured": { 2598 + "description": "Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable.", 2599 + "value": "{\r\n \"type\": \"company-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2600 + } 2601 + } 2602 + } 2603 + } 2604 + }, 2605 + "500": { 2606 + "description": "InternalServerError", 2607 + "content": { 2608 + "application/json": { 2609 + "examples": { 2610 + "fatal": { 2611 + "description": "Unexpected error, logs may give details about the problem", 2612 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2613 + } 2614 + } 2615 + } 2616 + } 2617 + } 2618 + } 2619 + } 2620 + }, 2621 + "/ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/begin-sign-mitid-dk": { 2622 + "post": { 2623 + "tags": [ 2624 + "AccountOnboarding V2" 2625 + ], 2626 + "summary": "Initiate Danish mitid signing process", 2627 + "description": "Initiate Danish mitid signing process", 2628 + "parameters": [ 2629 + { 2630 + "name": "ownerNo", 2631 + "in": "path", 2632 + "required": true, 2633 + "schema": { 2634 + "type": "string" 2635 + } 2636 + }, 2637 + { 2638 + "name": "limitUpgradeApplicationId", 2639 + "in": "path", 2640 + "required": true, 2641 + "schema": { 2642 + "type": "string" 2643 + } 2644 + } 2645 + ], 2646 + "requestBody": { 2647 + "content": { 2648 + "application/json": { 2649 + "schema": { 2650 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.Operations.BeginSignMitidDk.BeginSignMitidDkRequest" 2651 + }, 2652 + "example": "{}" 2653 + }, 2654 + "text/json": { 2655 + "schema": { 2656 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.Operations.BeginSignMitidDk.BeginSignMitidDkRequest" 2657 + } 2658 + }, 2659 + "application/*+json": { 2660 + "schema": { 2661 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.Operations.BeginSignMitidDk.BeginSignMitidDkRequest" 2662 + } 2663 + } 2664 + } 2665 + }, 2666 + "responses": { 2667 + "200": { 2668 + "description": "OK", 2669 + "content": { 2670 + "application/json": { 2671 + "schema": { 2672 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.Operations.BeginSignMitidDk.BeginSignMitidDkResponse" 2673 + }, 2674 + "examples": { 2675 + "OK": { 2676 + "description": "Example of successful response. This response has started a background process that begins polling for update about the signing for a limited time.", 2677 + "value": "{}" 2678 + } 2679 + } 2680 + } 2681 + } 2682 + }, 2683 + "400": { 2684 + "description": "BadRequest", 2685 + "content": { 2686 + "application/json": { 2687 + "examples": { 2688 + "validation": { 2689 + "description": "Occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation", 2690 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2691 + } 2692 + } 2693 + } 2694 + } 2695 + }, 2696 + "404": { 2697 + "description": "NotFound", 2698 + "content": { 2699 + "application/json": { 2700 + "examples": { 2701 + "not-found": { 2702 + "description": "Occurs if the requested application isn't found.", 2703 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2704 + }, 2705 + "resource-unavailable": { 2706 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 2707 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2708 + } 2709 + } 2710 + } 2711 + } 2712 + }, 2713 + "409": { 2714 + "description": "Conflict", 2715 + "content": { 2716 + "application/json": { 2717 + "examples": { 2718 + "invalid-application-state": { 2719 + "description": "Occurs if the application state is invalid for the request to be made.", 2720 + "value": "{\r\n \"type\": \"invalid-application-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2721 + }, 2722 + "company-not-configured": { 2723 + "description": "Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable.", 2724 + "value": "{\r\n \"type\": \"company-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2725 + } 2726 + } 2727 + } 2728 + } 2729 + }, 2730 + "500": { 2731 + "description": "InternalServerError", 2732 + "content": { 2733 + "application/json": { 2734 + "examples": { 2735 + "fatal": { 2736 + "description": "Unexpected error, logs may give details about the problem", 2737 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2738 + } 2739 + } 2740 + } 2741 + } 2742 + } 2743 + } 2744 + } 2745 + }, 2746 + "/ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/applications/{applicationId}/redirect-kalp-dk": { 2747 + "post": { 2748 + "tags": [ 2749 + "AccountOnboarding V2" 2750 + ], 2751 + "summary": "Initiate the Danish KALP process", 2752 + "description": "Creates or gets a url for the Kalp page that the customer need to fill out to continue the application process", 2753 + "parameters": [ 2754 + { 2755 + "name": "ownerNo", 2756 + "in": "path", 2757 + "required": true, 2758 + "schema": { 2759 + "type": "string" 2760 + } 2761 + }, 2762 + { 2763 + "name": "accountProfile", 2764 + "in": "path", 2765 + "required": true, 2766 + "schema": { 2767 + "type": "string" 2768 + } 2769 + }, 2770 + { 2771 + "name": "applicationId", 2772 + "in": "path", 2773 + "required": true, 2774 + "schema": { 2775 + "type": "string" 2776 + } 2777 + } 2778 + ], 2779 + "requestBody": { 2780 + "content": { 2781 + "application/json": { 2782 + "schema": { 2783 + "$ref": "#/components/schemas/V2.Offers.Applications.Operations.RedirectKalpDk.RedirectKalpDkRequest" 2784 + }, 2785 + "example": "{}" 2786 + }, 2787 + "text/json": { 2788 + "schema": { 2789 + "$ref": "#/components/schemas/V2.Offers.Applications.Operations.RedirectKalpDk.RedirectKalpDkRequest" 2790 + } 2791 + }, 2792 + "application/*+json": { 2793 + "schema": { 2794 + "$ref": "#/components/schemas/V2.Offers.Applications.Operations.RedirectKalpDk.RedirectKalpDkRequest" 2795 + } 2796 + } 2797 + } 2798 + }, 2799 + "responses": { 2800 + "200": { 2801 + "description": "OK", 2802 + "content": { 2803 + "application/json": { 2804 + "schema": { 2805 + "$ref": "#/components/schemas/V2.Offers.Applications.Operations.RedirectKalpDk.RedirectKalpDkResponse" 2806 + }, 2807 + "examples": { 2808 + "Example of a response from the Application RedirectKalpDk operation": { 2809 + "value": "{\r\n \"redirectUrl\": \"https://flow.monthio.com/?sessionId=kalpid\"\r\n}" 2810 + } 2811 + } 2812 + } 2813 + } 2814 + }, 2815 + "404": { 2816 + "description": "NotFound", 2817 + "content": { 2818 + "application/json": { 2819 + "examples": { 2820 + "not-found": { 2821 + "description": "Occurs if the requested application isn't found.", 2822 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2823 + }, 2824 + "resource-unavailable": { 2825 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 2826 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2827 + } 2828 + } 2829 + } 2830 + } 2831 + }, 2832 + "409": { 2833 + "description": "Conflict", 2834 + "content": { 2835 + "application/json": { 2836 + "examples": { 2837 + "conflict": { 2838 + "description": "Occurs if the application state is invalid for the request to be made.", 2839 + "value": "{\r\n \"type\": \"conflict\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2840 + }, 2841 + "invalid-application-state": { 2842 + "description": "Occurs if the application state is invalid for the request to be made.", 2843 + "value": "{\r\n \"type\": \"invalid-application-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2844 + }, 2845 + "company-not-configured": { 2846 + "description": "Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable.", 2847 + "value": "{\r\n \"type\": \"company-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2848 + }, 2849 + "kalp-not-configured": { 2850 + "description": "Occurs when account profile is not configured for Kalp.", 2851 + "value": "{\r\n \"type\": \"kalp-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2852 + } 2853 + } 2854 + } 2855 + } 2856 + }, 2857 + "500": { 2858 + "description": "InternalServerError", 2859 + "content": { 2860 + "application/json": { 2861 + "examples": { 2862 + "fatal": { 2863 + "description": "Unexpected error, logs may give details about the problem", 2864 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2865 + } 2866 + } 2867 + } 2868 + } 2869 + } 2870 + } 2871 + } 2872 + }, 2873 + "/ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/redirect-kalp-dk": { 2874 + "post": { 2875 + "tags": [ 2876 + "AccountOnboarding V2" 2877 + ], 2878 + "summary": "Initiate the Danish KALP process", 2879 + "description": "Creates or gets a url for the Kalp page that the customer need to fill out to continue the limit upgrade application process", 2880 + "parameters": [ 2881 + { 2882 + "name": "ownerNo", 2883 + "in": "path", 2884 + "required": true, 2885 + "schema": { 2886 + "type": "string" 2887 + } 2888 + }, 2889 + { 2890 + "name": "limitUpgradeApplicationId", 2891 + "in": "path", 2892 + "required": true, 2893 + "schema": { 2894 + "type": "string" 2895 + } 2896 + } 2897 + ], 2898 + "requestBody": { 2899 + "content": { 2900 + "application/json": { 2901 + "schema": { 2902 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.Operations.RedirectKalpDk.RedirectKalpDkRequest" 2903 + }, 2904 + "example": "{}" 2905 + }, 2906 + "text/json": { 2907 + "schema": { 2908 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.Operations.RedirectKalpDk.RedirectKalpDkRequest" 2909 + } 2910 + }, 2911 + "application/*+json": { 2912 + "schema": { 2913 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.Operations.RedirectKalpDk.RedirectKalpDkRequest" 2914 + } 2915 + } 2916 + } 2917 + }, 2918 + "responses": { 2919 + "200": { 2920 + "description": "OK", 2921 + "content": { 2922 + "application/json": { 2923 + "schema": { 2924 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.Operations.RedirectKalpDk.RedirectKalpDkResponse" 2925 + }, 2926 + "examples": { 2927 + "OK": { 2928 + "description": "Example of a response from the Limit Upgrade Application RedirectKalpDk operation", 2929 + "value": "{\r\n \"redirectUrl\": \"https://flow.monthio.com/?sessionId=kalpid\"\r\n}" 2930 + } 2931 + } 2932 + } 2933 + } 2934 + }, 2935 + "404": { 2936 + "description": "NotFound", 2937 + "content": { 2938 + "application/json": { 2939 + "examples": { 2940 + "not-found": { 2941 + "description": "Occurs if the requested application isn't found.", 2942 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2943 + }, 2944 + "resource-unavailable": { 2945 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 2946 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2947 + } 2948 + } 2949 + } 2950 + } 2951 + }, 2952 + "409": { 2953 + "description": "Conflict", 2954 + "content": { 2955 + "application/json": { 2956 + "examples": { 2957 + "conflict": { 2958 + "description": "Occurs if the application state is invalid for the request to be made.", 2959 + "value": "{\r\n \"type\": \"conflict\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2960 + }, 2961 + "invalid-application-state": { 2962 + "description": "Occurs if the application state is invalid for the request to be made.", 2963 + "value": "{\r\n \"type\": \"invalid-application-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2964 + }, 2965 + "company-not-configured": { 2966 + "description": "Occurs when operations is not supported with the ledger current configuration. This configuration may or may not be immutable.", 2967 + "value": "{\r\n \"type\": \"company-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2968 + }, 2969 + "kalp-not-configured": { 2970 + "description": "Occurs when account profile is not configured for Kalp.", 2971 + "value": "{\r\n \"type\": \"kalp-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2972 + } 2973 + } 2974 + } 2975 + } 2976 + }, 2977 + "500": { 2978 + "description": "InternalServerError", 2979 + "content": { 2980 + "application/json": { 2981 + "examples": { 2982 + "fatal": { 2983 + "description": "Unexpected error, logs may give details about the problem", 2984 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 2985 + } 2986 + } 2987 + } 2988 + } 2989 + } 2990 + } 2991 + } 2992 + }, 2993 + "/ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/sign-bankid-se/cancel": { 2994 + "post": { 2995 + "tags": [ 2996 + "AccountOnboarding V2" 2997 + ], 2998 + "summary": "Cancel bankid signing process", 2999 + "description": "Cancel bankid signing process", 3000 + "parameters": [ 3001 + { 3002 + "name": "ownerNo", 3003 + "in": "path", 3004 + "required": true, 3005 + "schema": { 3006 + "type": "string" 3007 + } 3008 + }, 3009 + { 3010 + "name": "limitUpgradeApplicationId", 3011 + "in": "path", 3012 + "required": true, 3013 + "schema": { 3014 + "type": "string" 3015 + } 3016 + } 3017 + ], 3018 + "requestBody": { 3019 + "content": { 3020 + "application/json": { 3021 + "schema": { 3022 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.SingleResources.SignBankidSe.Operations.Cancel.CancelResourceRequest" 3023 + }, 3024 + "example": "{}" 3025 + }, 3026 + "text/json": { 3027 + "schema": { 3028 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.SingleResources.SignBankidSe.Operations.Cancel.CancelResourceRequest" 3029 + } 3030 + }, 3031 + "application/*+json": { 3032 + "schema": { 3033 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.SingleResources.SignBankidSe.Operations.Cancel.CancelResourceRequest" 3034 + } 3035 + } 3036 + } 3037 + }, 3038 + "responses": { 3039 + "204": { 3040 + "description": "No Content", 3041 + "content": { 3042 + "application/json": { 3043 + "schema": { 3044 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult" 3045 + } 3046 + } 3047 + } 3048 + }, 3049 + "404": { 3050 + "description": "NotFound", 3051 + "content": { 3052 + "application/json": { 3053 + "examples": { 3054 + "not-found": { 3055 + "description": "Occurs if the requested application isn't found.", 3056 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 3057 + }, 3058 + "resource-unavailable": { 3059 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 3060 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 3061 + } 3062 + } 3063 + } 3064 + } 3065 + }, 3066 + "409": { 3067 + "description": "Conflict", 3068 + "content": { 3069 + "application/json": { 3070 + "examples": { 3071 + "invalid-application-state": { 3072 + "description": "Occurs if the application state is invalid for the request to be made.", 3073 + "value": "{\r\n \"type\": \"invalid-application-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 3074 + }, 3075 + "invalid-bank-id-state": { 3076 + "description": "Occurs if the bankId state is invalid for the request to be made.", 3077 + "value": "{\r\n \"type\": \"invalid-bank-id-state\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 3078 + } 3079 + } 3080 + } 3081 + } 3082 + }, 3083 + "500": { 3084 + "description": "InternalServerError", 3085 + "content": { 3086 + "application/json": { 3087 + "examples": { 3088 + "fatal": { 3089 + "description": "Unexpected error, logs may give details about the problem", 3090 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 3091 + } 3092 + } 3093 + } 3094 + } 3095 + } 3096 + } 3097 + } 3098 + }, 3099 + "/ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-applications/{limitUpgradeApplicationId}/sign-bankid-se/extend": { 3100 + "post": { 3101 + "tags": [ 3102 + "AccountOnboarding V2" 3103 + ], 3104 + "summary": "Extend bankid signing process", 3105 + "description": "Extend the time period for an ongoing bankid signing process", 3106 + "parameters": [ 3107 + { 3108 + "name": "ownerNo", 3109 + "in": "path", 3110 + "required": true, 3111 + "schema": { 3112 + "type": "string" 3113 + } 3114 + }, 3115 + { 3116 + "name": "limitUpgradeApplicationId", 3117 + "in": "path", 3118 + "required": true, 3119 + "schema": { 3120 + "type": "string" 3121 + } 3122 + } 3123 + ], 3124 + "responses": { 3125 + "200": { 3126 + "description": "OK", 3127 + "content": { 3128 + "application/json": { 3129 + "schema": { 3130 + "$ref": "#/components/schemas/V2.LimitUpgradeApplications.SingleResources.SignBankidSe.Operations.Extend.ExtendResource" 3131 + }, 3132 + "examples": { 3133 + "OK": { 3134 + "description": "Example of a response where Extend has been called once before (currentExtend 1), and some time has elapsed (90 seconds left).", 3135 + "value": "{\r\n \"maxExtends\": 10,\r\n \"currentExtend\": 1,\r\n \"secondsLeftThirtySecondsInterval\": 90\r\n}" 3136 + } 3137 + } 3138 + } 3139 + } 3140 + }, 3141 + "404": { 3142 + "description": "NotFound", 3143 + "content": { 3144 + "application/json": { 3145 + "examples": { 3146 + "not-found": { 3147 + "description": "Occurs if the requested application isn't found.", 3148 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 3149 + }, 3150 + "resource-unavailable": { 3151 + "description": "Occurs if the requested resource is unavailable when retrieving it from the cache.", 3152 + "value": "{\r\n \"type\": \"resource-unavailable\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 3153 + } 3154 + } 3155 + } 3156 + } 3157 + }, 3158 + "409": { 3159 + "description": "Conflict", 3160 + "content": { 3161 + "application/json": { 3162 + "examples": { 3163 + "conflict": { 3164 + "description": "Occurs if the application state is invalid, see message for details.", 3165 + "value": "{\r\n \"type\": \"conflict\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 3166 + } 3167 + } 3168 + } 3169 + } 3170 + }, 3171 + "500": { 3172 + "description": "InternalServerError", 3173 + "content": { 3174 + "application/json": { 3175 + "examples": { 3176 + "fatal": { 3177 + "description": "Unexpected error, logs may give details about the problem.", 3178 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 3179 + } 3180 + } 3181 + } 3182 + } 3183 + } 3184 + } 3185 + } 3186 + }, 3187 + "/ledger/account-onboarding/v1/{ownerNo}/offers/{accountProfile}/create-account-without-application": { 3188 + "post": { 3189 + "tags": [ 3190 + "AccountOnboarding V2" 3191 + ], 3192 + "summary": "create an account without application", 3193 + "description": "Create a new account for a consumer, with the selected offer. Only one account i permitted for a combination of consumer and offer", 3194 + "parameters": [ 3195 + { 3196 + "name": "ownerNo", 3197 + "in": "path", 3198 + "required": true, 3199 + "schema": { 3200 + "type": "string" 3201 + } 3202 + }, 3203 + { 3204 + "name": "accountProfile", 3205 + "in": "path", 3206 + "required": true, 3207 + "schema": { 3208 + "type": "string" 3209 + } 3210 + } 3211 + ], 3212 + "requestBody": { 3213 + "content": { 3214 + "application/json": { 3215 + "schema": { 3216 + "$ref": "#/components/schemas/V2.Offers.Operations.CreateAccountWithoutApplication.CreateAccountWithoutApplicationResourceBase" 3217 + }, 3218 + "example": "{\r\n \"customerNo\": \"951753456\",\r\n \"creditLimit\": 5000.00\r\n}" 3219 + }, 3220 + "text/json": { 3221 + "schema": { 3222 + "$ref": "#/components/schemas/V2.Offers.Operations.CreateAccountWithoutApplication.CreateAccountWithoutApplicationResourceBase" 3223 + } 3224 + }, 3225 + "application/*+json": { 3226 + "schema": { 3227 + "$ref": "#/components/schemas/V2.Offers.Operations.CreateAccountWithoutApplication.CreateAccountWithoutApplicationResourceBase" 3228 + } 3229 + } 3230 + } 3231 + }, 3232 + "responses": { 3233 + "200": { 3234 + "description": "OK", 3235 + "content": { 3236 + "application/json": { 3237 + "schema": { 3238 + "$ref": "#/components/schemas/V2.Offers.Operations.CreateAccountWithoutApplication.CreateAccountWithoutApplicationResourceResponse" 3239 + }, 3240 + "examples": { 3241 + "OK": { 3242 + "description": "Example of response on successfully created account.", 3243 + "value": "{\r\n \"accountNo\": \"123456\",\r\n \"customerNo\": \"951753456\",\r\n \"creditLimit\": 5000.00\r\n}" 3244 + } 3245 + } 3246 + } 3247 + } 3248 + }, 3249 + "400": { 3250 + "description": "BadRequest", 3251 + "content": { 3252 + "application/json": { 3253 + "examples": { 3254 + "validation": { 3255 + "description": "occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation", 3256 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 3257 + }, 3258 + "not-found": { 3259 + "description": "occurs if the customer supplied does not exist", 3260 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 3261 + } 3262 + } 3263 + } 3264 + } 3265 + }, 3266 + "500": { 3267 + "description": "InternalServerError", 3268 + "content": { 3269 + "application/json": { 3270 + "examples": { 3271 + "fatal": { 3272 + "description": "Unexpected error, logs may give details about the problem", 3273 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 3274 + } 3275 + } 3276 + } 3277 + } 3278 + } 3279 + } 3280 + } 3281 + }, 3282 + "/ledger/account-onboarding/v1/{ownerNo}/limit-upgrade-without-application": { 3283 + "post": { 3284 + "tags": [ 3285 + "AccountOnboarding V2" 3286 + ], 3287 + "summary": "Upgrade account limit without application", 3288 + "description": "Update limit for a account, it's possible to both lower and increase the amount.", 3289 + "parameters": [ 3290 + { 3291 + "name": "ownerNo", 3292 + "in": "path", 3293 + "required": true, 3294 + "schema": { 3295 + "type": "string" 3296 + } 3297 + } 3298 + ], 3299 + "requestBody": { 3300 + "content": { 3301 + "application/json": { 3302 + "schema": { 3303 + "$ref": "#/components/schemas/V2.LimitUpgradeWithoutApplication.LimitUpgradeWithoutApplicationResourceBase" 3304 + }, 3305 + "example": "{\r\n \"accountNo\": \"123456\",\r\n \"creditLimit\": 5000.00\r\n}" 3306 + }, 3307 + "text/json": { 3308 + "schema": { 3309 + "$ref": "#/components/schemas/V2.LimitUpgradeWithoutApplication.LimitUpgradeWithoutApplicationResourceBase" 3310 + } 3311 + }, 3312 + "application/*+json": { 3313 + "schema": { 3314 + "$ref": "#/components/schemas/V2.LimitUpgradeWithoutApplication.LimitUpgradeWithoutApplicationResourceBase" 3315 + } 3316 + } 3317 + } 3318 + }, 3319 + "responses": { 3320 + "200": { 3321 + "description": "OK", 3322 + "content": { 3323 + "application/json": { 3324 + "schema": { 3325 + "$ref": "#/components/schemas/V2.LimitUpgradeWithoutApplication.LimitUpgradeWithoutApplicationResourceResponse" 3326 + }, 3327 + "examples": { 3328 + "OK": { 3329 + "description": "Example of response on successfully updated account limit.", 3330 + "value": "{\r\n \"accountNo\": \"123456\",\r\n \"creditLimit\": 5000.00\r\n}" 3331 + } 3332 + } 3333 + } 3334 + } 3335 + }, 3336 + "400": { 3337 + "description": "BadRequest", 3338 + "content": { 3339 + "application/json": { 3340 + "examples": { 3341 + "validation": { 3342 + "description": "occurs if any of the input validation fails, it is described in the problem which parameter that failed the validation", 3343 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 3344 + }, 3345 + "account-name-not-found": { 3346 + "description": "occurs if account isn't found.", 3347 + "value": "{\r\n \"type\": \"account-name-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 3348 + } 3349 + } 3350 + } 3351 + } 3352 + }, 3353 + "409": { 3354 + "description": "Conflict", 3355 + "content": { 3356 + "application/json": { 3357 + "examples": { 3358 + "company-not-configured": { 3359 + "description": "occurs if company supplied isn't configured", 3360 + "value": "{\r\n \"type\": \"company-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 3361 + } 3362 + } 3363 + } 3364 + } 3365 + }, 3366 + "500": { 3367 + "description": "InternalServerError", 3368 + "content": { 3369 + "application/json": { 3370 + "examples": { 3371 + "fatal": { 3372 + "description": "Unexpected error, logs may give details about the problem", 3373 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}" 3374 + } 3375 + } 3376 + } 3377 + } 3378 + } 3379 + } 3380 + } 3381 + } 3382 + }, 3383 + "components": { 3384 + "schemas": { 3385 + "PayEx.AR.BankID.Client.Entities.HintCode": { 3386 + "enum": [ 3387 + "None", 3388 + "OutstandingTransaction", 3389 + "NoClient", 3390 + "Started", 3391 + "UserMrtd", 3392 + "UserCallConfirm", 3393 + "UserSign", 3394 + "ExpiredTransaction", 3395 + "CertificateErr", 3396 + "UserCancel", 3397 + "Cancelled", 3398 + "StartFailed", 3399 + "UserDeclinedCall" 3400 + ], 3401 + "type": "integer", 3402 + "format": "int32" 3403 + }, 3404 + "PayEx.AR.BankID.Client.Entities.Status": { 3405 + "enum": [ 3406 + "Pending", 3407 + "Complete", 3408 + "Failed" 3409 + ], 3410 + "type": "integer", 3411 + "format": "int32" 3412 + }, 3413 + "PayEx.LF.Api.Common.RepositoryResources.IOperation": { 3414 + "type": "object", 3415 + "properties": { 3416 + "rel": { 3417 + "type": "string", 3418 + "nullable": true, 3419 + "readOnly": true 3420 + }, 3421 + "method": { 3422 + "type": "string", 3423 + "nullable": true, 3424 + "readOnly": true 3425 + }, 3426 + "href": { 3427 + "type": "string", 3428 + "nullable": true 3429 + } 3430 + }, 3431 + "additionalProperties": false 3432 + }, 3433 + "PayEx.LF.Api.Common.RepositoryResources.NavigationView": { 3434 + "required": [ 3435 + "@id", 3436 + "first", 3437 + "next", 3438 + "previous" 3439 + ], 3440 + "type": "object", 3441 + "properties": { 3442 + "@id": { 3443 + "minLength": 1, 3444 + "type": "string", 3445 + "description": "The current result view.", 3446 + "format": "uri" 3447 + }, 3448 + "first": { 3449 + "minLength": 1, 3450 + "type": "string", 3451 + "description": "Link to the first results.", 3452 + "format": "uri" 3453 + }, 3454 + "previous": { 3455 + "minLength": 1, 3456 + "type": "string", 3457 + "description": "Link to the previous results.", 3458 + "format": "uri" 3459 + }, 3460 + "next": { 3461 + "minLength": 1, 3462 + "type": "string", 3463 + "description": "Link to the next results.", 3464 + "format": "uri" 3465 + } 3466 + }, 3467 + "additionalProperties": false 3468 + }, 3469 + "PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult": { 3470 + "type": "object", 3471 + "additionalProperties": false 3472 + }, 3473 + "V2.Answer": { 3474 + "required": [ 3475 + "answerCode", 3476 + "questionCode" 3477 + ], 3478 + "type": "object", 3479 + "properties": { 3480 + "questionCode": { 3481 + "minLength": 1, 3482 + "type": "string", 3483 + "description": "The code definition of the question" 3484 + }, 3485 + "answerCode": { 3486 + "minLength": 1, 3487 + "type": "string", 3488 + "description": "The code definition of the answer" 3489 + } 3490 + }, 3491 + "additionalProperties": false 3492 + }, 3493 + "V2.AnswerBase": { 3494 + "required": [ 3495 + "possibleAnswers", 3496 + "required", 3497 + "textValidationRegEx", 3498 + "type" 3499 + ], 3500 + "type": "object", 3501 + "properties": { 3502 + "type": { 3503 + "minLength": 1, 3504 + "type": "string", 3505 + "description": "The type of the expected answer: single | multi | text" 3506 + }, 3507 + "required": { 3508 + "type": "boolean", 3509 + "description": "If the answer is required" 3510 + }, 3511 + "textValidationRegEx": { 3512 + "minLength": 1, 3513 + "type": "string", 3514 + "description": "The regex the answer should match" 3515 + }, 3516 + "possibleAnswers": { 3517 + "type": "array", 3518 + "items": { 3519 + "$ref": "#/components/schemas/V2.PossibleAnswer" 3520 + }, 3521 + "description": "The definitions of possible answers" 3522 + } 3523 + }, 3524 + "additionalProperties": false 3525 + }, 3526 + "V2.ApplicationOptions": { 3527 + "type": "object", 3528 + "properties": { 3529 + "customerPreAuthenticated": { 3530 + "type": "boolean", 3531 + "description": "Optional flag used when the customer is pre-authenticated. Defaults to false" 3532 + }, 3533 + "preAuthorizationAmount": { 3534 + "type": "number", 3535 + "description": "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.", 3536 + "format": "double", 3537 + "nullable": true 3538 + } 3539 + }, 3540 + "additionalProperties": false 3541 + }, 3542 + "V2.Currency": { 3543 + "enum": [ 3544 + "None", 3545 + "SEK", 3546 + "NOK", 3547 + "DKK", 3548 + "EUR" 3549 + ], 3550 + "type": "string" 3551 + }, 3552 + "V2.LanguageCode": { 3553 + "enum": [ 3554 + "None", 3555 + "Sv", 3556 + "En", 3557 + "No", 3558 + "Da" 3559 + ], 3560 + "type": "string" 3561 + }, 3562 + "V2.LimitUpgradeApplications.LimitUpgradeApplicationsResourceBase": { 3563 + "required": [ 3564 + "accountNo", 3565 + "creditLimit", 3566 + "languageCode" 3567 + ], 3568 + "type": "object", 3569 + "properties": { 3570 + "@id": { 3571 + "type": "string", 3572 + "nullable": true 3573 + }, 3574 + "creditLimit": { 3575 + "maximum": 100000000, 3576 + "minimum": 0.01, 3577 + "pattern": "^\\d+.?(\\d{1,2})?$", 3578 + "type": "number", 3579 + "description": "Credit limit on account applied for, can't have more than 2 decimal places", 3580 + "format": "double" 3581 + }, 3582 + "accountNo": { 3583 + "maxLength": 50, 3584 + "minLength": 0, 3585 + "type": "string", 3586 + "description": "The identifier of the account" 3587 + }, 3588 + "ipAddress": { 3589 + "maxLength": 43, 3590 + "pattern": "[a-z0-9.:/]*", 3591 + "type": "string", 3592 + "description": "Senders ip address", 3593 + "nullable": true 3594 + }, 3595 + "languageCode": { 3596 + "$ref": "#/components/schemas/V2.LanguageCode" 3597 + }, 3598 + "specialIntent": { 3599 + "type": "string", 3600 + "description": "Optional instruction used in special cases. Possible values (IncreaseLimitForInvoiceConversion)", 3601 + "nullable": true 3602 + }, 3603 + "applicationOptions": { 3604 + "$ref": "#/components/schemas/V2.ApplicationOptions" 3605 + } 3606 + }, 3607 + "additionalProperties": false 3608 + }, 3609 + "V2.LimitUpgradeApplications.LimitUpgradeApplicationsResourceResponse": { 3610 + "required": [ 3611 + "accountNo", 3612 + "creditLimit", 3613 + "languageCode" 3614 + ], 3615 + "type": "object", 3616 + "properties": { 3617 + "@id": { 3618 + "type": "string", 3619 + "nullable": true 3620 + }, 3621 + "creditLimit": { 3622 + "maximum": 100000000, 3623 + "minimum": 0.01, 3624 + "pattern": "^\\d+.?(\\d{1,2})?$", 3625 + "type": "number", 3626 + "description": "Credit limit on account applied for, can't have more than 2 decimal places", 3627 + "format": "double" 3628 + }, 3629 + "accountNo": { 3630 + "maxLength": 50, 3631 + "minLength": 0, 3632 + "type": "string", 3633 + "description": "The identifier of the account" 3634 + }, 3635 + "ipAddress": { 3636 + "maxLength": 43, 3637 + "pattern": "[a-z0-9.:/]*", 3638 + "type": "string", 3639 + "description": "Senders ip address", 3640 + "nullable": true 3641 + }, 3642 + "languageCode": { 3643 + "$ref": "#/components/schemas/V2.LanguageCode" 3644 + }, 3645 + "specialIntent": { 3646 + "type": "string", 3647 + "description": "Optional instruction used in special cases. Possible values (IncreaseLimitForInvoiceConversion)", 3648 + "nullable": true 3649 + }, 3650 + "applicationOptions": { 3651 + "$ref": "#/components/schemas/V2.ApplicationOptions" 3652 + }, 3653 + "limitUpgradeApplicationId": { 3654 + "type": "string", 3655 + "description": "LimitUpgradeApplicationId", 3656 + "nullable": true 3657 + }, 3658 + "status": { 3659 + "$ref": "#/components/schemas/V2.Status" 3660 + }, 3661 + "kycAnswers": { 3662 + "description": "The kyc resource", 3663 + "nullable": true 3664 + }, 3665 + "signBankidSe": { 3666 + "description": "The sign bankid se resource", 3667 + "nullable": true 3668 + }, 3669 + "kycQuestions": { 3670 + "type": "array", 3671 + "items": { 3672 + "$ref": "#/components/schemas/V2.Question" 3673 + }, 3674 + "description": "kyc (know your customer). The questions and answers in the example are just examples of what it might look like. ", 3675 + "nullable": true 3676 + }, 3677 + "operations": { 3678 + "type": "array", 3679 + "items": { 3680 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation" 3681 + }, 3682 + "nullable": true 3683 + } 3684 + }, 3685 + "additionalProperties": false 3686 + }, 3687 + "V2.LimitUpgradeApplications.Operations.BeginSignBankidNo.BeginSignBankidNoRequest": { 3688 + "type": "object", 3689 + "properties": { 3690 + "completeUrl": { 3691 + "maxLength": 2048, 3692 + "type": "string", 3693 + "description": "Url to redirect the user from Signicat Signing when signing has been completed", 3694 + "nullable": true 3695 + }, 3696 + "cancelUrl": { 3697 + "maxLength": 2048, 3698 + "type": "string", 3699 + "description": "Url to redirect the user from Signicat Signing when user choose to cancel the ongoing signing", 3700 + "nullable": true 3701 + }, 3702 + "callbackUrl": { 3703 + "type": "string", 3704 + "description": "Specify a callback url that will be called to notify about status change. If empty no callback is done. Supported HTTP request methods [GET]", 3705 + "nullable": true 3706 + } 3707 + }, 3708 + "additionalProperties": false 3709 + }, 3710 + "V2.LimitUpgradeApplications.Operations.BeginSignBankidNo.BeginSignBankidNoResponse": { 3711 + "type": "object", 3712 + "properties": { 3713 + "signingUrl": { 3714 + "type": "string", 3715 + "description": "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", 3716 + "nullable": true 3717 + } 3718 + }, 3719 + "additionalProperties": false 3720 + }, 3721 + "V2.LimitUpgradeApplications.Operations.BeginSignMitidDk.BeginSignMitidDkRequest": { 3722 + "type": "object", 3723 + "properties": { 3724 + "completeUrl": { 3725 + "maxLength": 2048, 3726 + "type": "string", 3727 + "description": "Url to redirect the user from Signicat Signing when signing has been completed", 3728 + "nullable": true 3729 + }, 3730 + "cancelUrl": { 3731 + "maxLength": 2048, 3732 + "type": "string", 3733 + "description": "Url to redirect the user from Signicat Signing when user choose to cancel the ongoing signing", 3734 + "nullable": true 3735 + }, 3736 + "callbackUrl": { 3737 + "type": "string", 3738 + "description": "Specify a callback url that will be called to notify about status change. If empty no callback is done. Supported HTTP request methods [GET]", 3739 + "nullable": true 3740 + } 3741 + }, 3742 + "additionalProperties": false 3743 + }, 3744 + "V2.LimitUpgradeApplications.Operations.BeginSignMitidDk.BeginSignMitidDkResponse": { 3745 + "type": "object", 3746 + "properties": { 3747 + "signingUrl": { 3748 + "type": "string", 3749 + "description": "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", 3750 + "nullable": true 3751 + } 3752 + }, 3753 + "additionalProperties": false 3754 + }, 3755 + "V2.LimitUpgradeApplications.Operations.RedirectKalpDk.RedirectKalpDkRequest": { 3756 + "type": "object", 3757 + "additionalProperties": false 3758 + }, 3759 + "V2.LimitUpgradeApplications.Operations.RedirectKalpDk.RedirectKalpDkResponse": { 3760 + "type": "object", 3761 + "properties": { 3762 + "redirectUrl": { 3763 + "type": "string", 3764 + "nullable": true 3765 + } 3766 + }, 3767 + "additionalProperties": false 3768 + }, 3769 + "V2.LimitUpgradeApplications.Operations.VerifyApplication.VerifyApplicationResourceBase": { 3770 + "type": "object", 3771 + "additionalProperties": false 3772 + }, 3773 + "V2.LimitUpgradeApplications.SingleResources.KycAnswers.KycAnswersResource": { 3774 + "required": [ 3775 + "answers" 3776 + ], 3777 + "type": "object", 3778 + "properties": { 3779 + "@id": { 3780 + "type": "string", 3781 + "nullable": true 3782 + }, 3783 + "answers": { 3784 + "type": "array", 3785 + "items": { 3786 + "$ref": "#/components/schemas/V2.Answer" 3787 + }, 3788 + "description": "The answers to corresponding questions" 3789 + } 3790 + }, 3791 + "additionalProperties": false 3792 + }, 3793 + "V2.LimitUpgradeApplications.SingleResources.SignBankidSe.Operations.Cancel.CancelResourceRequest": { 3794 + "type": "object", 3795 + "additionalProperties": false 3796 + }, 3797 + "V2.LimitUpgradeApplications.SingleResources.SignBankidSe.Operations.Extend.ExtendResource": { 3798 + "type": "object", 3799 + "properties": { 3800 + "maxExtends": { 3801 + "type": "integer", 3802 + "format": "int32" 3803 + }, 3804 + "currentExtend": { 3805 + "type": "integer", 3806 + "format": "int32" 3807 + }, 3808 + "secondsLeftThirtySecondsInterval": { 3809 + "type": "integer", 3810 + "format": "int32" 3811 + } 3812 + }, 3813 + "additionalProperties": false 3814 + }, 3815 + "V2.LimitUpgradeApplications.SingleResources.SignBankidSe.SignBankidSeResource": { 3816 + "required": [ 3817 + "endUserIp" 3818 + ], 3819 + "type": "object", 3820 + "properties": { 3821 + "@id": { 3822 + "type": "string", 3823 + "nullable": true 3824 + }, 3825 + "endUserIp": { 3826 + "minLength": 1, 3827 + "type": "string", 3828 + "description": "IP address of the end user." 3829 + }, 3830 + "callbackUrl": { 3831 + "type": "string", 3832 + "description": "If callback should be done on status change, it is done to the callback url. If empty no callback is done.", 3833 + "nullable": true 3834 + }, 3835 + "autostartToken": { 3836 + "type": "string", 3837 + "description": "Autostart token to start BankId on the device client's current device.", 3838 + "format": "uuid" 3839 + }, 3840 + "qrCodeImageDataUrl": { 3841 + "type": "string", 3842 + "description": "QR code in Base64 that the end user needs to scan on another device than the one used to initiate.", 3843 + "nullable": true 3844 + }, 3845 + "status": { 3846 + "$ref": "#/components/schemas/PayEx.AR.BankID.Client.Entities.Status" 3847 + }, 3848 + "hintCode": { 3849 + "$ref": "#/components/schemas/PayEx.AR.BankID.Client.Entities.HintCode" 3850 + }, 3851 + "operations": { 3852 + "type": "array", 3853 + "items": { 3854 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation" 3855 + }, 3856 + "nullable": true 3857 + }, 3858 + "maxExtends": { 3859 + "type": "integer", 3860 + "description": "Maximum Extend operation calls that are allowed.", 3861 + "format": "int32" 3862 + }, 3863 + "currentExtend": { 3864 + "type": "integer", 3865 + "description": "The amount of extend operations that have been made on this resource.", 3866 + "format": "int32" 3867 + }, 3868 + "secondsLeftThirtySecondsInterval": { 3869 + "type": "integer", 3870 + "description": "Time left in seconds for end user to complete signing. Only updated every 30 seconds.", 3871 + "format": "int32" 3872 + } 3873 + }, 3874 + "additionalProperties": false 3875 + }, 3876 + "V2.LimitUpgradeApplications.SingleResources.SignBankidSe.SignBankidSeResourceRequest": { 3877 + "required": [ 3878 + "endUserIp" 3879 + ], 3880 + "type": "object", 3881 + "properties": { 3882 + "@id": { 3883 + "type": "string", 3884 + "nullable": true 3885 + }, 3886 + "endUserIp": { 3887 + "minLength": 1, 3888 + "type": "string", 3889 + "description": "IP address of the end user." 3890 + }, 3891 + "callbackUrl": { 3892 + "type": "string", 3893 + "description": "If callback should be done on status change, it is done to the callback url. If empty no callback is done.", 3894 + "nullable": true 3895 + } 3896 + }, 3897 + "additionalProperties": false 3898 + }, 3899 + "V2.LimitUpgradeWithoutApplication.LimitUpgradeWithoutApplicationResourceBase": { 3900 + "required": [ 3901 + "accountNo", 3902 + "creditLimit" 3903 + ], 3904 + "type": "object", 3905 + "properties": { 3906 + "@id": { 3907 + "type": "string", 3908 + "nullable": true 3909 + }, 3910 + "accountNo": { 3911 + "minLength": 1, 3912 + "type": "string", 3913 + "description": "The identifier of the account" 3914 + }, 3915 + "creditLimit": { 3916 + "maximum": 100000000, 3917 + "minimum": 0, 3918 + "pattern": "^\\d+.?(\\d{1,2})?$", 3919 + "type": "number", 3920 + "description": "Credit limit on account applied for, can't have more than 2 decimal places", 3921 + "format": "double" 3922 + } 3923 + }, 3924 + "additionalProperties": false 3925 + }, 3926 + "V2.LimitUpgradeWithoutApplication.LimitUpgradeWithoutApplicationResourceResponse": { 3927 + "required": [ 3928 + "accountNo", 3929 + "creditLimit" 3930 + ], 3931 + "type": "object", 3932 + "properties": { 3933 + "@id": { 3934 + "type": "string", 3935 + "nullable": true 3936 + }, 3937 + "accountNo": { 3938 + "minLength": 1, 3939 + "type": "string", 3940 + "description": "The identifier of the account" 3941 + }, 3942 + "creditLimit": { 3943 + "maximum": 100000000, 3944 + "minimum": 0, 3945 + "pattern": "^\\d+.?(\\d{1,2})?$", 3946 + "type": "number", 3947 + "description": "Credit limit on account applied for, can't have more than 2 decimal places", 3948 + "format": "double" 3949 + } 3950 + }, 3951 + "additionalProperties": false 3952 + }, 3953 + "V2.NationalConsumerIdentifier": { 3954 + "required": [ 3955 + "countryCode", 3956 + "value" 3957 + ], 3958 + "type": "object", 3959 + "properties": { 3960 + "value": { 3961 + "minLength": 1, 3962 + "type": "string" 3963 + }, 3964 + "countryCode": { 3965 + "minLength": 1, 3966 + "pattern": "SE|NO|DK|FI", 3967 + "type": "string" 3968 + } 3969 + }, 3970 + "additionalProperties": false 3971 + }, 3972 + "V2.Offers.Applications.ApplicationsResourceBase": { 3973 + "required": [ 3974 + "creditLimit", 3975 + "languageCode", 3976 + "nationalConsumerIdentifier" 3977 + ], 3978 + "type": "object", 3979 + "properties": { 3980 + "@id": { 3981 + "type": "string", 3982 + "nullable": true 3983 + }, 3984 + "creditLimit": { 3985 + "maximum": 100000000, 3986 + "minimum": 0, 3987 + "pattern": "^\\d+.?(\\d{1,2})?$", 3988 + "type": "number", 3989 + "description": "Credit limit on account applied for, can't have more than 2 decimal places", 3990 + "format": "double" 3991 + }, 3992 + "nationalConsumerIdentifier": { 3993 + "$ref": "#/components/schemas/V2.NationalConsumerIdentifier" 3994 + }, 3995 + "customerNo": { 3996 + "type": "string", 3997 + "description": "The identifier of the customer", 3998 + "nullable": true 3999 + }, 4000 + "emailAddress": { 4001 + "maxLength": 254, 4002 + "minLength": 5, 4003 + "pattern": "^[^;\\xA0\\xD0\\─@<>\\p{Cc}]+@(?!\\.)(?!.*\\.\\.)(?:[^;\\xA0\\xD0\\─@<>\\p{Cc}]+\\.[^;\\xA0\\xD0\\─@<>\\p{Cc}]+|\\[[A-Fa-f\\d\\:]+\\])(?<!\\.)$", 4004 + "type": "string", 4005 + "description": "The customers Email", 4006 + "nullable": true 4007 + }, 4008 + "msisdn": { 4009 + "maxLength": 15, 4010 + "minLength": 5, 4011 + "pattern": "^[+]{1}\\d{4,14}$", 4012 + "type": "string", 4013 + "description": "Mobile communications number starting with '+' followed with up to 14 numbers from 0-9. Length between 5 and 15 including the starting '+'", 4014 + "nullable": true 4015 + }, 4016 + "ipAddress": { 4017 + "maxLength": 43, 4018 + "pattern": "[a-z0-9.:/]*", 4019 + "type": "string", 4020 + "description": "Senders ip address", 4021 + "nullable": true 4022 + }, 4023 + "languageCode": { 4024 + "$ref": "#/components/schemas/V2.LanguageCode" 4025 + }, 4026 + "specialIntent": { 4027 + "type": "string", 4028 + "description": "Optional instruction used in special cases. Possible values: new-account-for-invoice-conversion, standalone-account-onboarding, standalone-account-onboarding-manual", 4029 + "nullable": true 4030 + }, 4031 + "applicationOptions": { 4032 + "$ref": "#/components/schemas/V2.ApplicationOptions" 4033 + }, 4034 + "sellerNo": { 4035 + "type": "string", 4036 + "description": "Only necessary if the account profile is configured to create an account alias using an alias template that requires sellerNo", 4037 + "nullable": true 4038 + }, 4039 + "pointOfSale": { 4040 + "maxLength": 50, 4041 + "minLength": 0, 4042 + "pattern": "^[\\u0020-\\u003A \\u003C-\\u007E \\u00A0-\\u00FF \\u2019]*$", 4043 + "type": "string", 4044 + "description": "Only necessary if the account profile is configured to create an account alias using an alias template that requires pointOfSale", 4045 + "nullable": true 4046 + } 4047 + }, 4048 + "additionalProperties": false 4049 + }, 4050 + "V2.Offers.Applications.ApplicationsResourcePatch": { 4051 + "type": "object", 4052 + "properties": { 4053 + "emailAddress": { 4054 + "maxLength": 254, 4055 + "minLength": 5, 4056 + "pattern": "^[^;\\xA0\\xD0\\─@<>\\p{Cc}]+@(?!\\.)(?!.*\\.\\.)(?:[^;\\xA0\\xD0\\─@<>\\p{Cc}]+\\.[^;\\xA0\\xD0\\─@<>\\p{Cc}]+|\\[[A-Fa-f\\d\\:]+\\])(?<!\\.)$", 4057 + "type": "string", 4058 + "description": "The customers Email", 4059 + "nullable": true 4060 + }, 4061 + "msisdn": { 4062 + "maxLength": 15, 4063 + "minLength": 5, 4064 + "pattern": "^[+]{1}\\d{4,14}$", 4065 + "type": "string", 4066 + "description": "The customers MSISDN", 4067 + "nullable": true 4068 + }, 4069 + "trustedSellerGroupConsents": { 4070 + "type": "array", 4071 + "items": { 4072 + "type": "string" 4073 + }, 4074 + "description": "Trusted seller group consents", 4075 + "nullable": true 4076 + } 4077 + }, 4078 + "additionalProperties": false 4079 + }, 4080 + "V2.Offers.Applications.ApplicationsResourceResponse": { 4081 + "required": [ 4082 + "creditLimit", 4083 + "languageCode", 4084 + "nationalConsumerIdentifier" 4085 + ], 4086 + "type": "object", 4087 + "properties": { 4088 + "@id": { 4089 + "type": "string", 4090 + "nullable": true 4091 + }, 4092 + "creditLimit": { 4093 + "maximum": 100000000, 4094 + "minimum": 0, 4095 + "pattern": "^\\d+.?(\\d{1,2})?$", 4096 + "type": "number", 4097 + "description": "Credit limit on account applied for, can't have more than 2 decimal places", 4098 + "format": "double" 4099 + }, 4100 + "nationalConsumerIdentifier": { 4101 + "$ref": "#/components/schemas/V2.NationalConsumerIdentifier" 4102 + }, 4103 + "customerNo": { 4104 + "type": "string", 4105 + "description": "The identifier of the customer", 4106 + "nullable": true 4107 + }, 4108 + "emailAddress": { 4109 + "maxLength": 254, 4110 + "minLength": 5, 4111 + "pattern": "^[^;\\xA0\\xD0\\─@<>\\p{Cc}]+@(?!\\.)(?!.*\\.\\.)(?:[^;\\xA0\\xD0\\─@<>\\p{Cc}]+\\.[^;\\xA0\\xD0\\─@<>\\p{Cc}]+|\\[[A-Fa-f\\d\\:]+\\])(?<!\\.)$", 4112 + "type": "string", 4113 + "description": "The customers Email", 4114 + "nullable": true 4115 + }, 4116 + "msisdn": { 4117 + "maxLength": 15, 4118 + "minLength": 5, 4119 + "pattern": "^[+]{1}\\d{4,14}$", 4120 + "type": "string", 4121 + "description": "Mobile communications number starting with '+' followed with up to 14 numbers from 0-9. Length between 5 and 15 including the starting '+'", 4122 + "nullable": true 4123 + }, 4124 + "ipAddress": { 4125 + "maxLength": 43, 4126 + "pattern": "[a-z0-9.:/]*", 4127 + "type": "string", 4128 + "description": "Senders ip address", 4129 + "nullable": true 4130 + }, 4131 + "languageCode": { 4132 + "$ref": "#/components/schemas/V2.LanguageCode" 4133 + }, 4134 + "specialIntent": { 4135 + "type": "string", 4136 + "description": "Optional instruction used in special cases. Possible values: new-account-for-invoice-conversion, standalone-account-onboarding, standalone-account-onboarding-manual", 4137 + "nullable": true 4138 + }, 4139 + "applicationOptions": { 4140 + "$ref": "#/components/schemas/V2.ApplicationOptions" 4141 + }, 4142 + "sellerNo": { 4143 + "type": "string", 4144 + "description": "Only necessary if the account profile is configured to create an account alias using an alias template that requires sellerNo", 4145 + "nullable": true 4146 + }, 4147 + "pointOfSale": { 4148 + "maxLength": 50, 4149 + "minLength": 0, 4150 + "pattern": "^[\\u0020-\\u003A \\u003C-\\u007E \\u00A0-\\u00FF \\u2019]*$", 4151 + "type": "string", 4152 + "description": "Only necessary if the account profile is configured to create an account alias using an alias template that requires pointOfSale", 4153 + "nullable": true 4154 + }, 4155 + "applicationId": { 4156 + "type": "string", 4157 + "description": "ApplicationId", 4158 + "nullable": true 4159 + }, 4160 + "status": { 4161 + "$ref": "#/components/schemas/V2.Status" 4162 + }, 4163 + "createdAccount": { 4164 + "$ref": "#/components/schemas/V2.Offers.Applications.CreatedAccountInfo" 4165 + }, 4166 + "kycQuestions": { 4167 + "type": "array", 4168 + "items": { 4169 + "$ref": "#/components/schemas/V2.Question" 4170 + }, 4171 + "description": "kyc (know your customer). The questions and answers in the example are just examples of what it might look like. ", 4172 + "nullable": true 4173 + }, 4174 + "kycAnswers": { 4175 + "description": "The kyc resource", 4176 + "nullable": true 4177 + }, 4178 + "signBankidSe": { 4179 + "description": "The sign bankid se resource", 4180 + "nullable": true 4181 + }, 4182 + "availableTrustedSellerGroupConsents": { 4183 + "type": "array", 4184 + "items": { 4185 + "type": "string" 4186 + }, 4187 + "description": "Available trusted seller group consents", 4188 + "nullable": true 4189 + }, 4190 + "trustedSellerGroupConsents": { 4191 + "type": "array", 4192 + "items": { 4193 + "type": "string" 4194 + }, 4195 + "description": "Trusted seller group consents", 4196 + "nullable": true 4197 + }, 4198 + "operations": { 4199 + "type": "array", 4200 + "items": { 4201 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation" 4202 + }, 4203 + "nullable": true 4204 + } 4205 + }, 4206 + "additionalProperties": false 4207 + }, 4208 + "V2.Offers.Applications.CreatedAccountInfo": { 4209 + "type": "object", 4210 + "properties": { 4211 + "accountNo": { 4212 + "type": "string", 4213 + "description": "Account number", 4214 + "nullable": true 4215 + } 4216 + }, 4217 + "additionalProperties": false 4218 + }, 4219 + "V2.Offers.Applications.Operations.ApprovePaperApplication.ApplicationDocument": { 4220 + "required": [ 4221 + "content", 4222 + "fileType" 4223 + ], 4224 + "type": "object", 4225 + "properties": { 4226 + "content": { 4227 + "minLength": 1, 4228 + "type": "string", 4229 + "description": "Base64-encoded content of the application document." 4230 + }, 4231 + "fileType": { 4232 + "minLength": 1, 4233 + "pattern": "^pdf$", 4234 + "type": "string", 4235 + "description": "File type of the document. Currently only 'pdf' is supported." 4236 + } 4237 + }, 4238 + "additionalProperties": false 4239 + }, 4240 + "V2.Offers.Applications.Operations.ApprovePaperApplication.ApprovePaperApplicationRequest": { 4241 + "required": [ 4242 + "applicationDocument" 4243 + ], 4244 + "type": "object", 4245 + "properties": { 4246 + "applicationDocument": { 4247 + "$ref": "#/components/schemas/V2.Offers.Applications.Operations.ApprovePaperApplication.ApplicationDocument" 4248 + }, 4249 + "trusteeCertificateIncluded": { 4250 + "type": "boolean", 4251 + "description": "Whether a trustee certificate is included in the application. Sent to credit check as applicantParameters.trusteeCertificateIncluded. Defaults to false." 4252 + } 4253 + }, 4254 + "additionalProperties": false 4255 + }, 4256 + "V2.Offers.Applications.Operations.ApprovePaperApplication.ApprovePaperApplicationResponse": { 4257 + "type": "object", 4258 + "properties": { 4259 + "accountNo": { 4260 + "type": "string", 4261 + "description": "The account number of the created account.", 4262 + "nullable": true 4263 + }, 4264 + "customerNo": { 4265 + "type": "string", 4266 + "description": "The customer number used for this account.", 4267 + "nullable": true 4268 + } 4269 + }, 4270 + "additionalProperties": false 4271 + }, 4272 + "V2.Offers.Applications.Operations.BeginSignBankidNo.BeginSignBankidNoRequest": { 4273 + "type": "object", 4274 + "properties": { 4275 + "completeUrl": { 4276 + "maxLength": 2048, 4277 + "type": "string", 4278 + "description": "Url to redirect the user from Signicat Signing when signing has been completed", 4279 + "nullable": true 4280 + }, 4281 + "cancelUrl": { 4282 + "maxLength": 2048, 4283 + "type": "string", 4284 + "description": "Url to redirect the user from Signicat Signing when user choose to cancel the ongoing signing", 4285 + "nullable": true 4286 + }, 4287 + "callbackUrl": { 4288 + "type": "string", 4289 + "description": "Specify a callback url that will be called to notify about status change. If empty no callback is done. Supported HTTP request methods [GET]", 4290 + "nullable": true 4291 + } 4292 + }, 4293 + "additionalProperties": false 4294 + }, 4295 + "V2.Offers.Applications.Operations.BeginSignMitidDk.BeginSignMitidDkRequest": { 4296 + "type": "object", 4297 + "properties": { 4298 + "completeUrl": { 4299 + "maxLength": 2048, 4300 + "type": "string", 4301 + "description": "Url to redirect the user from Signicat Signing when signing has been completed", 4302 + "nullable": true 4303 + }, 4304 + "cancelUrl": { 4305 + "maxLength": 2048, 4306 + "type": "string", 4307 + "description": "Url to redirect the user from Signicat Signing when user choose to cancel the ongoing signing", 4308 + "nullable": true 4309 + }, 4310 + "callbackUrl": { 4311 + "type": "string", 4312 + "description": "Specify a callback url that will be called to notify about status change. If empty no callback is done. Supported HTTP request methods [GET]", 4313 + "nullable": true 4314 + } 4315 + }, 4316 + "additionalProperties": false 4317 + }, 4318 + "V2.Offers.Applications.Operations.BeginSignMitidDk.BeginSignMitidDkResponse": { 4319 + "type": "object", 4320 + "properties": { 4321 + "signingUrl": { 4322 + "type": "string", 4323 + "description": "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", 4324 + "nullable": true 4325 + } 4326 + }, 4327 + "additionalProperties": false 4328 + }, 4329 + "V2.Offers.Applications.Operations.RedirectKalpDk.RedirectKalpDkRequest": { 4330 + "type": "object", 4331 + "additionalProperties": false 4332 + }, 4333 + "V2.Offers.Applications.Operations.RedirectKalpDk.RedirectKalpDkResponse": { 4334 + "type": "object", 4335 + "properties": { 4336 + "redirectUrl": { 4337 + "type": "string", 4338 + "nullable": true 4339 + } 4340 + }, 4341 + "additionalProperties": false 4342 + }, 4343 + "V2.Offers.Applications.Operations.VerifyApplication.VerifyApplicationResourceBase": { 4344 + "type": "object", 4345 + "additionalProperties": false 4346 + }, 4347 + "V2.Offers.Applications.SingleResources.KycAnswers.KycAnswersResource": { 4348 + "required": [ 4349 + "answers" 4350 + ], 4351 + "type": "object", 4352 + "properties": { 4353 + "@id": { 4354 + "type": "string", 4355 + "nullable": true 4356 + }, 4357 + "answers": { 4358 + "type": "array", 4359 + "items": { 4360 + "$ref": "#/components/schemas/V2.Answer" 4361 + }, 4362 + "description": "The answers to corresponding questions" 4363 + } 4364 + }, 4365 + "additionalProperties": false 4366 + }, 4367 + "V2.Offers.Applications.SingleResources.SignBankidSe.Operations.CancelResourceRequest": { 4368 + "type": "object", 4369 + "additionalProperties": false 4370 + }, 4371 + "V2.Offers.Applications.SingleResources.SignBankidSe.Operations.ExtendResource": { 4372 + "type": "object", 4373 + "properties": { 4374 + "maxExtends": { 4375 + "type": "integer", 4376 + "format": "int32" 4377 + }, 4378 + "currentExtend": { 4379 + "type": "integer", 4380 + "format": "int32" 4381 + }, 4382 + "secondsLeftThirtySecondsInterval": { 4383 + "type": "integer", 4384 + "format": "int32" 4385 + } 4386 + }, 4387 + "additionalProperties": false 4388 + }, 4389 + "V2.Offers.Applications.SingleResources.SignBankidSe.SignBankidSeResource": { 4390 + "required": [ 4391 + "endUserIp" 4392 + ], 4393 + "type": "object", 4394 + "properties": { 4395 + "@id": { 4396 + "type": "string", 4397 + "nullable": true 4398 + }, 4399 + "endUserIp": { 4400 + "minLength": 1, 4401 + "type": "string", 4402 + "description": "IP address of the end user." 4403 + }, 4404 + "callbackUrl": { 4405 + "type": "string", 4406 + "description": "If callback should be done on status change, it is done to the callback url. If empty no callback is done.", 4407 + "nullable": true 4408 + }, 4409 + "autostartToken": { 4410 + "type": "string", 4411 + "description": "Autostart token to start BankId on the device client's current device.", 4412 + "format": "uuid" 4413 + }, 4414 + "qrCodeImageDataUrl": { 4415 + "type": "string", 4416 + "description": "QR code in Base64 that the end user needs to scan on another device than the one used to initiate.", 4417 + "nullable": true 4418 + }, 4419 + "status": { 4420 + "$ref": "#/components/schemas/PayEx.AR.BankID.Client.Entities.Status" 4421 + }, 4422 + "hintCode": { 4423 + "$ref": "#/components/schemas/PayEx.AR.BankID.Client.Entities.HintCode" 4424 + }, 4425 + "operations": { 4426 + "type": "array", 4427 + "items": { 4428 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation" 4429 + }, 4430 + "nullable": true 4431 + }, 4432 + "maxExtends": { 4433 + "type": "integer", 4434 + "description": "Maximum Extend operation calls that are allowed.", 4435 + "format": "int32" 4436 + }, 4437 + "currentExtend": { 4438 + "type": "integer", 4439 + "description": "The amount of extend operations that have been made on this resource.", 4440 + "format": "int32" 4441 + }, 4442 + "secondsLeftThirtySecondsInterval": { 4443 + "type": "integer", 4444 + "description": "Time left in seconds for end user to complete signing. Only updated every 30 seconds.", 4445 + "format": "int32" 4446 + } 4447 + }, 4448 + "additionalProperties": false 4449 + }, 4450 + "V2.Offers.Applications.SingleResources.SignBankidSe.SignBankidSeResourceRequest": { 4451 + "required": [ 4452 + "endUserIp" 4453 + ], 4454 + "type": "object", 4455 + "properties": { 4456 + "@id": { 4457 + "type": "string", 4458 + "nullable": true 4459 + }, 4460 + "endUserIp": { 4461 + "minLength": 1, 4462 + "type": "string", 4463 + "description": "IP address of the end user." 4464 + }, 4465 + "callbackUrl": { 4466 + "type": "string", 4467 + "description": "If callback should be done on status change, it is done to the callback url. If empty no callback is done.", 4468 + "nullable": true 4469 + } 4470 + }, 4471 + "additionalProperties": false 4472 + }, 4473 + "V2.Offers.OffersResource": { 4474 + "required": [ 4475 + "currency" 4476 + ], 4477 + "type": "object", 4478 + "properties": { 4479 + "@id": { 4480 + "type": "string", 4481 + "nullable": true 4482 + }, 4483 + "accountProfile": { 4484 + "type": "string", 4485 + "nullable": true 4486 + }, 4487 + "title": { 4488 + "maxLength": 50, 4489 + "minLength": 0, 4490 + "type": "string", 4491 + "description": "Name of the offer", 4492 + "nullable": true 4493 + }, 4494 + "currency": { 4495 + "$ref": "#/components/schemas/V2.Currency" 4496 + }, 4497 + "maxCreditLimit": { 4498 + "maximum": 100000000, 4499 + "minimum": 0.01, 4500 + "type": "number", 4501 + "description": "Max credit limit for account profile, can't have more than 2 decimal places", 4502 + "format": "double" 4503 + }, 4504 + "reminderFee": { 4505 + "maximum": 100000000, 4506 + "minimum": 0.01, 4507 + "type": "number", 4508 + "description": "Reminder fee", 4509 + "format": "double" 4510 + }, 4511 + "penaltyInterestRate": { 4512 + "maximum": 100000000, 4513 + "minimum": 0.01, 4514 + "type": "number", 4515 + "description": "Penalty interest rate", 4516 + "format": "double" 4517 + }, 4518 + "termsAndConditions": { 4519 + "$ref": "#/components/schemas/V2.Offers.TermsAndConditions" 4520 + }, 4521 + "applications": { 4522 + "nullable": true 4523 + }, 4524 + "operations": { 4525 + "type": "array", 4526 + "items": { 4527 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation" 4528 + }, 4529 + "nullable": true 4530 + } 4531 + }, 4532 + "additionalProperties": false 4533 + }, 4534 + "V2.Offers.OffersResourceListResult": { 4535 + "type": "object", 4536 + "properties": { 4537 + "items": { 4538 + "type": "array", 4539 + "items": { 4540 + "$ref": "#/components/schemas/V2.Offers.OffersResource" 4541 + }, 4542 + "nullable": true 4543 + }, 4544 + "navigation": { 4545 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.NavigationView" 4546 + } 4547 + }, 4548 + "additionalProperties": false 4549 + }, 4550 + "V2.Offers.Operations.CreateAccountWithoutApplication.CreateAccountWithoutApplicationResourceBase": { 4551 + "required": [ 4552 + "creditLimit", 4553 + "customerNo" 4554 + ], 4555 + "type": "object", 4556 + "properties": { 4557 + "@id": { 4558 + "type": "string", 4559 + "nullable": true 4560 + }, 4561 + "customerNo": { 4562 + "minLength": 1, 4563 + "type": "string", 4564 + "description": "The identifier of the customer" 4565 + }, 4566 + "creditLimit": { 4567 + "maximum": 100000000, 4568 + "minimum": 0, 4569 + "pattern": "^\\d+.?(\\d{1,2})?$", 4570 + "type": "number", 4571 + "description": "Credit limit on account applied for, can't have more than 2 decimal places", 4572 + "format": "double" 4573 + } 4574 + }, 4575 + "additionalProperties": false 4576 + }, 4577 + "V2.Offers.Operations.CreateAccountWithoutApplication.CreateAccountWithoutApplicationResourceResponse": { 4578 + "required": [ 4579 + "creditLimit", 4580 + "customerNo" 4581 + ], 4582 + "type": "object", 4583 + "properties": { 4584 + "@id": { 4585 + "type": "string", 4586 + "nullable": true 4587 + }, 4588 + "customerNo": { 4589 + "minLength": 1, 4590 + "type": "string", 4591 + "description": "The identifier of the customer" 4592 + }, 4593 + "creditLimit": { 4594 + "maximum": 100000000, 4595 + "minimum": 0, 4596 + "pattern": "^\\d+.?(\\d{1,2})?$", 4597 + "type": "number", 4598 + "description": "Credit limit on account applied for, can't have more than 2 decimal places", 4599 + "format": "double" 4600 + }, 4601 + "accountNo": { 4602 + "type": "string", 4603 + "description": "Account number", 4604 + "nullable": true 4605 + } 4606 + }, 4607 + "additionalProperties": false 4608 + }, 4609 + "V2.Offers.TermsAndConditions": { 4610 + "type": "object", 4611 + "properties": { 4612 + "standardEuropeanAgreements": { 4613 + "type": "string", 4614 + "description": "Standard european agreements", 4615 + "nullable": true 4616 + }, 4617 + "accountTerms": { 4618 + "type": "string", 4619 + "description": "Account terms", 4620 + "nullable": true 4621 + } 4622 + }, 4623 + "additionalProperties": false 4624 + }, 4625 + "V2.PossibleAnswer": { 4626 + "required": [ 4627 + "answerCode", 4628 + "answerText" 4629 + ], 4630 + "type": "object", 4631 + "properties": { 4632 + "answerCode": { 4633 + "minLength": 1, 4634 + "type": "string", 4635 + "description": "The code definition of the answer" 4636 + }, 4637 + "answerText": { 4638 + "minLength": 1, 4639 + "type": "string", 4640 + "description": "The translated text of the answer" 4641 + }, 4642 + "subQuestions": { 4643 + "type": "array", 4644 + "items": { 4645 + "$ref": "#/components/schemas/V2.Question" 4646 + }, 4647 + "description": "The subquestions connected to an answer", 4648 + "nullable": true 4649 + } 4650 + }, 4651 + "additionalProperties": false 4652 + }, 4653 + "V2.Question": { 4654 + "required": [ 4655 + "answer", 4656 + "questionCode", 4657 + "questionText" 4658 + ], 4659 + "type": "object", 4660 + "properties": { 4661 + "questionCode": { 4662 + "minLength": 1, 4663 + "type": "string", 4664 + "description": "The code definition of the question" 4665 + }, 4666 + "questionText": { 4667 + "minLength": 1, 4668 + "type": "string", 4669 + "description": "The translated text of the question" 4670 + }, 4671 + "answer": { 4672 + "$ref": "#/components/schemas/V2.AnswerBase" 4673 + } 4674 + }, 4675 + "additionalProperties": false 4676 + }, 4677 + "V2.Status": { 4678 + "enum": [ 4679 + "AwaitingComplementaryInfo", 4680 + "AwaitingVerification", 4681 + "AwaitingSign", 4682 + "Rejected", 4683 + "InitializedDigitalSign", 4684 + "SignRejectedOrFailed", 4685 + "SignMismatch", 4686 + "Approved", 4687 + "InitializedKalp" 4688 + ], 4689 + "type": "string" 4690 + } 4691 + } 4692 + } 4693 +}