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
Change comment: There is no comment for this version

Summary

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.XWikiGuest
1 +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 +}