From empty
To version 96.1
edited by thomas hedstrom
on 2026/08/11 14:31
Change comment: There is no comment for this version

Summary

Details

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