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