Wiki source code of account-onboarding

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