Changes for page account-onboarding

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