Changes for page account-onboarding

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