Wiki source code of account-onboarding
Last modified by Pablo Vivar-Gonzalez on 2026/06/03 15:40
| 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"/}} |