Changes for page 2. Customer

Last modified by Mats Lyth on 2026/09/16 10:40
From empty
To version 270.1
edited by Mats Lyth
on 2026/09/16 10:36
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,0 +1,1 @@
1 +2. Customer
Parent
... ... @@ -1,0 +1,1 @@
1 +Main.WebHome
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.XWikiGuest
1 +xwiki:XWiki.MatsLyth
Default language
... ... @@ -1,0 +1,1 @@
1 +en
Tags
... ... @@ -1,0 +1,1 @@
1 +px-custom-page-content
Content
... ... @@ -1,0 +1,1645 @@
1 +(% class="jumbotron" %)
2 +(((
3 +(% class="container" %)
4 +(((
5 +Integrate to **PayEx Customer API **
6 +)))
7 +)))
8 +
9 +== Introduction ==
10 +
11 +(% class="lead" %)
12 +This api is used to create/read customers or change properties related to the customer.
13 +
14 +[[image:1789468720058-108.png||height="677" width="488"]]
15 +
16 +
17 +Each resource in the API corresponds to its own route. All routes are structured according to a specific standard, explained below
18 +
19 +The below route is an example of a route towards resource2Id, to operate on this resource you must also include the ids of its parentresources in the route.
20 +//lf-api.payex.com/ledger/**{Subdomain}**/v1/**{LedgerNumber}**/resource1/**{resource1Id}**/resource2/**{resource2Id}**//
21 +
22 +(% class="table-bordered table-striped" %)
23 +|=(% style="width: 604px;" %)Route segment|=(% style="width: 2790px;" %)Description
24 +|(% style="width:604px" %)Subdomain|(% style="width:2790px" %)In this part of the API it will be **customer**
25 +|(% style="width:604px" %)LedgerNumber|(% style="width:2790px" %)The ledger identifier/number at PayEx
26 +|(% style="width:604px" %)resource1Id|(% style="width:2790px" %)Identifier of resource1
27 +|(% style="width:604px" %)resource2Id|(% style="width:2790px" %)identifier of resource2, subresource to resource1
28 +
29 +(% class="wikigeneratedid" %)
30 +Routes that occurs in examples of this documentation will use the following identifiers
31 +
32 +(% class="table-bordered table-striped" %)
33 +|=(% style="width: 488px;" %)Resource|=(% style="width: 2271px;" %)Identifier
34 +|(% style="width:488px" %)LedgerNumber|(% style="width:2271px" %)XXX
35 +|(% style="width:488px" %)Customer|(% style="width:2271px" %)NNN (CustomerNo)
36 +
37 += Swagger =
38 +
39 +[[Swagger.json-2026-09-15>>attach:Swagger_Releases-506348.txt]]
40 +
41 +== Changelog ==
42 +
43 +2023-01-17
44 +Added //surpluses// property to the Customer resource with planned release 2024-01-23
45 +
46 +2023-11-27
47 +Added new resource Surpluses & added a general 404 not-found to problems list.
48 +
49 +2024-04-26
50 +
51 +Added TaxIdentificationNumber to the Customer resource with planned release 2024-05-28
52 +
53 +2024-05-15
54 +
55 +Added Consent and underlying resources with planned release 2024-05-28. Updated Introduction API overview visual.
56 +
57 +2025-02-14
58 +
59 +Added operation Update-Kyc-Answers and updates to the Customer resource Operations list to reflect that. Planned release 2025-03-04
60 +
61 +Added resource Kyc-Questions. Planned release 2025-03-04
62 +
63 +2026-01-27
64 +Added new possible value for to ActiveConsents - PharmaciesSE
65 +
66 +2026-07-08
67 +Added new secontion for Trusted Seller Group Consents
68 +
69 +2026-08-19
70 +Added resource Affordability-Questions. Planned release 2026-09-22
71 +
72 +2026-09-15
73 +Added flowcharts for recuring cards
74 +
75 +== Recuring card flowcharts ==
76 +
77 +Flowcharts describing how to register, view and delete recuring card
78 +
79 +=== 1. Register new card ===
80 +
81 +[[image:1789469386909-296.png||height="611" width="801"]]
82 +
83 +=== 2. Get card info ===
84 +
85 +[[image:1789469234102-782.png||height="304" width="706"]]
86 +
87 +=== 3. Delete card ===
88 +
89 +[[image:1789469296231-389.png||height="421" width="727"]]
90 +
91 += API specification =
92 +
93 +== 1. Customers ==
94 +
95 +
96 +Get a customer from ledger using customer number as identifier
97 +
98 +==== 1.1 Get specific Customer ====
99 +
100 +{{code language="http" title="**Request**"}}
101 +GET /ledger/customer/v1/{ownerNo}/customers/{customerNo} HTTP/1.1
102 +Host: -
103 +Authorization: Bearer<Token>
104 +Content-Type: application/json
105 +
106 +{{/code}}
107 +
108 +Get customer
109 +
110 +{{code language="http" title="**Response**"}}
111 +HTTP/1.1 200 OK
112 +Content-Type: application/json
113 +
114 +{
115 + "customerNo": "YYY",
116 + "nationalIdentifier": {
117 + "regNo": "YYYYMMDD-NNNN",
118 + "countryCode": "SE"
119 + },
120 + "vatNo": "SE101010101001",
121 + "legalEntity": "consumer",
122 + "name": "Test Testsson",
123 + "emailAddress": "Test@test.se",
124 + "protectedIdentity": false,
125 + "preferredLanguageCode": "SV",
126 + "legalStatus": "active",
127 + "msisdn": "+467040000000",
128 + "activeConsents": [
129 + "Betalingsservice",
130 + "Avtalegiro",
131 + "RecurringCard"
132 + ],
133 + "ediAddressInfo": {
134 + "van": "ABCXYZ",
135 + "interChangeRecipient": "Recipient_ID1",
136 + "buyerId": "123465"
137 + },
138 + "surpluses": "/ledger/customer/v1/xxx/customers/yyy/surpluses",
139 + "legalAddress": "/ledger/customer/v1/xxx/customers/yyy/legal-address",
140 + "billingAddress": "/ledger/customer/v1/xxx/customers/yyy/billing-address",
141 + "consent": "/ledger/customer/v1/xxx/customers/yyy/consent",
142 + "operations": [
143 + {
144 + "rel": "partial-update-customer",
145 + "method": "PATCH",
146 + "href": "/ledger/customer/v1/xxx/customers/yyy"
147 + },
148 + {
149 + "rel": "add-billing-address",
150 + "method": "POST",
151 + "href": "/ledger/customer/v1/xxx/customers/yyy/billing-address"
152 + },
153 + {
154 + "rel": "update-kyc-answers",
155 + "method": "POST",
156 + "href": "/ledger/customer/v1/xxx/customers/yyy/update-kyc-answers"
157 + }
158 + ],
159 + "taxIdentificationNumber": "1234567890"
160 +}
161 +{{/code}}
162 +
163 +
164 +==== 1.2 Create Customer ====
165 +
166 +Create a new customer in ledger
167 +
168 +{{code language="http" title="**Request**"}}
169 +POST /ledger/customer/v1/{ownerNo}/customers HTTP/1.1
170 +Host: -
171 +Authorization: Bearer<Token>
172 +Content-Type: application/json
173 +
174 +{
175 + "customerNo": "YYY",
176 + "ediAddressInfo": {
177 + "van": "ABCXYZ",
178 + "interChangeRecipient": "Recipient_ID1",
179 + "buyerId": "123465"
180 + },
181 + "emailAddress": "Test@test.se",
182 + "legalAddress": {
183 + "addressee": "Test Testsson",
184 + "streetAddress": "Test street 1",
185 + "zipCode": "60000",
186 + "city": "Test town",
187 + "coAddress": "Co address",
188 + "countryCode": "SE"
189 + },
190 + "legalEntity": "consumer",
191 + "msisdn": "+467040000000",
192 + "name": "Test Testsson",
193 + "nationalIdentifier": {
194 + "regNo": "YYYYMMDD-NNNN",
195 + "countryCode": "SE"
196 + },
197 + "protectedIdentity": false,
198 + "preferredLanguageCode": "SV",
199 + "vatNo": "SE101010101001",
200 + "taxIdentificationNumber": "1234567890"
201 +}
202 +{{/code}}
203 +
204 +
205 +**Request object specification**
206 +
207 +(% class="table-bordered table-striped" %)
208 +|=Property |=Data type|=Format|=Required|=Description
209 +|customerNo |string | |No |Unique customer number assigned to the customer in the source system.
210 +|=ediAddressInfo |object | |No |
211 +| van |string | |No |Value Added Network identifier used for EDI communications.
212 +| interChangeRecipient |string | |No |Recipient identifier for EDI interchanges.
213 +| buyerId |string | |No |Identifier assigned to the buying organization or customer
214 +|emailAddress |string | |No |Primary email address for electronic communication with the customer.
215 +|=legalAddress |object | |No |
216 +| addressee |string | |No |Name of the individual, organization, or department that receives mail at the address.
217 +| streetAddress |string | |No |Street name and number of the address.
218 +| zipCode |string | |No |Postal or ZIP code of the address.
219 +| city |string | |No |City or locality of the address.
220 +| coAddress |string | |No |Care-of (c/o) address information or additional address line.
221 +| countryCode |string | |No |Two-letter ISO country code of the address.
222 +|=billingAddress |object | |No |
223 +|legalEntity |string | |No |Customer classification. Supported values: consumer for private individuals and business for organizations or companies.
224 +|msisdn |string | |No |Mobile Station International Subscriber Directory Number (MSISDN), typically a mobile phone number in international format.
225 +|name |string | |No |Customer's full name or business name.
226 +|=nationalIdentifier |object | |No |
227 +| regNo |string | |Yes |
228 +| countryCode |string |Pattern: ^~[A-Z]{2}$ |Yes |
229 +|protectedIdentity |boolean | |Yes |Indicates whether the customer has a protected/confidential identity according to national regulations.
230 +|preferredLanguageCode |string | |No |Preferred language code used for communication with the customer.
231 +|vatNo |string | |No |Value Added Tax (VAT) registration number.
232 +|distributionType |string | |No |Preferred method for distribution of invoices, orders, or other business documents.
233 +|taxIdentificationNumber |string | |No |Tax identification number assigned by the relevant tax authority.
234 +
235 +
236 +Create a customer response
237 +
238 +{{code language="http" title="**Response**"}}
239 +HTTP/1.1 201 Created
240 +Content-Type: application/json
241 +
242 +{
243 + "customerNo": "YYY",
244 + "@id": "/ledger/customer/v1/xxx/customers/yyy"
245 +}
246 +{{/code}}
247 +
248 +==== 1.3 Update Customer ====
249 +
250 +Update customer info
251 +
252 +{{code language="http" title="**Request**"}}
253 +PATCH /ledger/customer/v1/{ownerNo}/customers/{customerNo} HTTP/1.1
254 +Host: -
255 +Authorization: Bearer<Token>
256 +Content-Type: application/json
257 +
258 +
259 +{{/code}}
260 +
261 +
262 +
263 +{{code language="http" title="**Response**"}}
264 +HTTP/1.1 204 NO CONTENT
265 +Content-Type: application/json
266 +
267 +{
268 +}
269 +{{/code}}
270 +
271 +
272 +**Possible problems**
273 +
274 +(% class="table-bordered table-striped" %)
275 +|=Http status |=Problem type |=Description
276 +|500 |internal-server-error |The requested resource '' could not be processed. Please contact support.
277 +|500 |handled-exception |The requested resource '' could not be processed. Please contact support.
278 +|500 |unhandled-exception |The requested resource '' could not be processed. Please contact support.
279 +|400 |general-validation-error |Validation error when accessing resource . Please refer to the problems property for additional details.
280 +|400 |validation |Validation error when accessing resource . Please refer to the problems property for additional details.
281 +|404 |customer-does-not-exists |The requested resource '' was not found.
282 +|404 |customer-not-found |The requested resource '' was not found.
283 +|400 |invalid-reg-no |Validation error when accessing resource . Please refer to the problems property for additional details.
284 +|400 |invalid-phone-no |Validation error when accessing resource . Please refer to the problems property for additional details.
285 +|422 |customer-already-exists |The requested resource '' could not be processed. Customer Already Exists
286 +|400 |email-address-invalid |Validation error when accessing resource . Please refer to the problems property for additional details.
287 +
288 +
289 +
290 +**Response object specification**
291 +
292 +(% class="table-bordered table-striped" %)
293 +|=Property |=Data type|=Format|=Description
294 +|@id |string | |Uri identifier of the current resource
295 +|customerNo |string | |Unique customer number assigned to the customer in the source system.
296 +|=nationalIdentifier |object | |
297 +| regNo |string | |
298 +| countryCode |string |Pattern: ^~[A-Z]{2}$ |
299 +|vatNo |string | |Value Added Tax (VAT) registration number.
300 +|legalEntity |string | |Customer classification. Supported values: consumer for private individuals and business for organizations or companies.
301 +|name |string | |Customer's full name or business name.
302 +|emailAddress |string | |Primary email address for electronic communication with the customer.
303 +|protectedIdentity |boolean | |Indicates whether the customer has a protected/confidential identity according to national regulations.
304 +|preferredLanguageCode |string | |Preferred language code used for communication with the customer.
305 +|legalStatus |string | |Indicates the legal status of the individual (for example, Active or Deceased).
306 +|msisdn |string | |Mobile Station International Subscriber Directory Number (MSISDN), typically a mobile phone number in international format.
307 +|=activeConsents |array | |
308 +| |string | |
309 +|=ediAddressInfo |object | |
310 +| van |string | |Value Added Network identifier used for EDI communications.
311 +| interChangeRecipient |string | |Recipient identifier for EDI interchanges.
312 +| buyerId |string | |Identifier assigned to the buying organization or customer
313 +|surpluses |dynamic | |
314 +|legalAddress |dynamic | |
315 +|billingAddress |dynamic | |
316 +|consent |dynamic | |
317 +|distributionType |string | |Preferred method for distribution of invoices, orders, or other business documents.
318 +|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]]
319 +|taxIdentificationNumber |string | |Tax identification number assigned by the relevant tax authority.
320 +== 2. Surpluses ==
321 +
322 +
323 +List all available surpluses on the customer
324 +
325 +==== 2.1 Get list of Surpluses ====
326 +
327 +{{code language="http" title="**Request**"}}
328 +GET /ledger/customer/v1/{ownerNo}/customers/{customerNo}/surpluses HTTP/1.1
329 +Host: -
330 +Authorization: Bearer<Token>
331 +Content-Type: application/json
332 +
333 +{{/code}}
334 +
335 +Get surpluses list
336 +
337 +{{code language="http" title="**Response**"}}
338 +HTTP/1.1 200 OK
339 +Content-Type: application/json
340 +
341 +{
342 + "items": [
343 + {
344 + "surplusId": "123",
345 + "balance": 10,
346 + "currency": "SEK",
347 + "date": "2026-09-13T00:00:00+02:00",
348 + "status": "open",
349 + "invoice": "/ledger/invoice/v1/XXX/invoices/AAA",
350 + "activeDisbursementOrders": "/ledger/customer/v1/xxx/customers/yyy/surpluses/123/active-disbursement-orders",
351 + "operations": [
352 + {
353 + "rel": "active-disbursement-orders",
354 + "method": "POST",
355 + "href": "/ledger/customer/v1/xxx/customers/yyy/surpluses/123/active-disbursement-orders"
356 + }
357 + ],
358 + "@id": "/ledger/customer/v1/xxx/customers/yyy/surpluses/123"
359 + },
360 + {
361 + "surplusId": "456",
362 + "balance": 20,
363 + "currency": "SEK",
364 + "date": "2026-09-11T00:00:00+02:00",
365 + "status": "pending-disbursement",
366 + "account": "/ledger/account/v1/XXX/accounts/BBB",
367 + "activeDisbursementOrders": "/ledger/customer/v1/xxx/customers/yyy/surpluses/456/active-disbursement-orders",
368 + "operations": [
369 + {
370 + "rel": "active-disbursement-orders",
371 + "method": "POST",
372 + "href": "/ledger/customer/v1/xxx/customers/yyy/surpluses/456/active-disbursement-orders"
373 + }
374 + ],
375 + "@id": "/ledger/customer/v1/xxx/customers/yyy/surpluses/456"
376 + },
377 + {
378 + "surplusId": "789",
379 + "balance": 30,
380 + "currency": "SEK",
381 + "date": "2026-09-04T00:00:00+02:00",
382 + "status": "pending-regulate",
383 + "invoice": "/ledger/invoice/v1/XXX/invoices/AAA",
384 + "activeDisbursementOrders": "/ledger/customer/v1/xxx/customers/yyy/surpluses/789/active-disbursement-orders",
385 + "operations": [
386 + {
387 + "rel": "active-disbursement-orders",
388 + "method": "POST",
389 + "href": "/ledger/customer/v1/xxx/customers/yyy/surpluses/789/active-disbursement-orders"
390 + }
391 + ],
392 + "@id": "/ledger/customer/v1/xxx/customers/yyy/surpluses/789"
393 + }
394 + ],
395 + "navigation": {
396 + "@id": "/ledger/customer/v1/xxx/customers/yyy/surpluses"
397 + }
398 +}
399 +{{/code}}
400 +
401 +
402 +A surplus is the remaining value from a payment that was greater than the current debt, also referred as an 'overpayment'. Each instance of an overpayment will create a new surplus. A surplus will often have a connection to an account or invoice based of where the payment was placed but surpluses without connection to an account or invoice also exist. Surpluses can be used to settle upcoming debt or be disbursed.
403 +
404 +==== 2.2 Get specific Surpluse ====
405 +
406 +{{code language="http" title="**Request**"}}
407 +GET /ledger/customer/v1/{ownerNo}/customers/{customerNo}/surpluses/{surplusId} HTTP/1.1
408 +Host: -
409 +Authorization: Bearer<Token>
410 +Content-Type: application/json
411 +
412 +{{/code}}
413 +
414 +Get single surplus
415 +
416 +{{code language="http" title="**Response**"}}
417 +HTTP/1.1 200 OK
418 +Content-Type: application/json
419 +
420 +{
421 + "surplusId": "YYY",
422 + "balance": 10,
423 + "currency": "SEK",
424 + "date": "2026-09-13T00:00:00+02:00",
425 + "status": "open",
426 + "invoice": "/ledger/invoice/v1/XXX/invoices/AAA",
427 + "account": "/ledger/account/v1/XXX/accounts/BBB",
428 + "activeDisbursementOrders": "/ledger/customer/v1/xxx/customers/yyy/surpluses/yyy/active-disbursement-orders",
429 + "operations": [
430 + {
431 + "rel": "active-disbursement-orders",
432 + "method": "POST",
433 + "href": "/ledger/customer/v1/xxx/customers/yyy/surpluses/yyy/active-disbursement-orders"
434 + }
435 + ],
436 + "@id": "/ledger/customer/v1/XXX/customers/AAA/surpluses/YYY"
437 +}
438 +{{/code}}
439 +
440 +
441 +
442 +**Response object specification**
443 +
444 +(% class="table-bordered table-striped" %)
445 +|=Property |=Data type|=Format|=Description
446 +|@id |string | |Uri identifier of the current resource
447 +|surplusId |string | |
448 +|balance |number |Type: double |
449 +|currency |string | |
450 +|date |string |Type: date-time |
451 +|status |string | |
452 +|invoice |string | |
453 +|account |string | |
454 +|activeDisbursementOrders |dynamic | |
455 +|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]]
456 +== 3. Active-disbursement-orders ==
457 +
458 +
459 +list active surpluse disbursement orders pending disbursement batch is run.
460 +
461 +==== 3.1 Get list of Active-disbursement-orders ====
462 +
463 +{{code language="http" title="**Request**"}}
464 +GET /ledger/customer/v1/{ownerNo}/customers/{customerNo}/surpluses/{surplusId}/active-disbursement-orders HTTP/1.1
465 +Host: -
466 +Authorization: Bearer<Token>
467 +Content-Type: application/json
468 +
469 +{{/code}}
470 +
471 +Get customer billing-address
472 +
473 +{{code language="http" title="**Response**"}}
474 +HTTP/1.1 200 OK
475 +Content-Type: application/json
476 +
477 +{
478 + "items": [
479 + {
480 + "operations": [],
481 + "swedishBankAccount": {
482 + "accountNo": "1234567890",
483 + "accountType": "BGSE"
484 + }
485 + }
486 + ],
487 + "navigation": {
488 + "@id": "/ledger/customer/v1/xxx/customers/yyy/surpluses/zzz/active-disbursement-orders"
489 + }
490 +}
491 +{{/code}}
492 +
493 +
494 +==== 3.2 Create Active-disbursement-order ====
495 +
496 +Add a disbursement order. Disburses all available funds on surplus account, when disbursement batch is run
497 +
498 +{{code language="http" title="**Request**"}}
499 +POST /ledger/customer/v1/{ownerNo}/customers/{customerNo}/surpluses/{surplusId}/active-disbursement-orders HTTP/1.1
500 +Host: -
501 +Authorization: Bearer<Token>
502 +Content-Type: application/json
503 +
504 +{
505 + "swedishBankAccount": {
506 + "accountNo": "NNN",
507 + "accountType": "BGSE | PGSE | BKSE | PKSE"
508 + }
509 +}
510 +{{/code}}
511 +
512 +
513 +**Request object specification**
514 +
515 +(% class="table-bordered table-striped" %)
516 +|=Property |=Data type|=Format|=Required|=Description
517 +|activeDisbursementOrdersId |string | |No |
518 +|=norwegianBankAccount |object | |No |
519 +| accountNo |string | |Yes |
520 +|=swedishBankAccount |object | |No |
521 +| accountNo |string | |Yes |
522 +| accountType |string | |Yes |
523 +|=international |object | |No |
524 +| iban |string | |Yes |
525 +| bic |string | |Yes |
526 +|=swedishSus |object | |No |
527 +|= nationalIdentifier |object | |No |
528 +| regNo |string | |No |
529 +| countryCode |string | |No |
530 +|= address |object | |No |
531 +| addressee |string | |No |
532 +| streetAddress |string | |No |
533 +| city |string | |No |
534 +| zipCode |string | |No |
535 +| countryCode |string | |No |
536 +| coAddress |string | |No |
537 +
538 +
539 +{{code language="http" title="**Response**"}}
540 +HTTP/1.1 201 CREATED
541 +Content-Type: application/json
542 +
543 +{
544 +}
545 +{{/code}}
546 +
547 +
548 +**Possible problems**
549 +
550 +(% class="table-bordered table-striped" %)
551 +|=Http status |=Problem type |=Description
552 +|500 |internal-server-error |The requested resource '' could not be processed. Please contact support.
553 +|500 |handled-exception |The requested resource '' could not be processed. Please contact support.
554 +|500 |unhandled-exception |The requested resource '' could not be processed. Please contact support.
555 +|400 |general-validation-error |Validation error when accessing resource . Please refer to the problems property for additional details.
556 +|400 |validation |Validation error when accessing resource . Please refer to the problems property for additional details.
557 +|404 |customer-does-not-exists |The requested resource '' was not found.
558 +|404 |customer-not-found |The requested resource '' was not found.
559 +
560 +
561 +
562 +**Response object specification**
563 +
564 +(% class="table-bordered table-striped" %)
565 +|=Property |=Data type|=Format|=Description
566 +|=items |array | |
567 +| @id |string | |Uri identifier of the current resource
568 +| activeDisbursementOrdersId |string | |
569 +| 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]]
570 +|= norwegianBankAccount |object | |
571 +| accountNo |string | |
572 +|= swedishBankAccount |object | |
573 +| accountNo |string | |
574 +| accountType |string | |
575 +|= international |object | |
576 +| iban |string | |
577 +| bic |string | |
578 +|= swedishSus |object | |
579 +|= nationalIdentifier |object | |
580 +| regNo |string | |
581 +| countryCode |string | |
582 +|= address |object | |
583 +| addressee |string | |
584 +| streetAddress |string | |
585 +| city |string | |
586 +| zipCode |string | |
587 +| countryCode |string | |
588 +| coAddress |string | |
589 +|=navigation |object | |
590 +| @id |string |Type: uri |The current result view.
591 +| first |string |Type: uri |Link to the first results.
592 +| previous |string |Type: uri |Link to the previous results.
593 +| next |string |Type: uri |Link to the next results.
594 +== 4. Legal-address ==
595 +
596 +
597 +The legal address is where claims is normally sent to. It is required for a customer to have a legal address registered
598 +
599 +==== 4.1 Get list of Legal-address ====
600 +
601 +{{code language="http" title="**Request**"}}
602 +GET /ledger/customer/v1/{ownerNo}/customers/{customerNo}/legal-address HTTP/1.1
603 +Host: -
604 +Authorization: Bearer<Token>
605 +Content-Type: application/json
606 +
607 +{{/code}}
608 +
609 +Get customer legal-address
610 +
611 +{{code language="http" title="**Response**"}}
612 +HTTP/1.1 200 OK
613 +Content-Type: application/json
614 +
615 +{
616 + "addressee": "Test Testsson",
617 + "streetAddress": "Test street 1",
618 + "zipCode": "60000",
619 + "city": "Test town",
620 + "coAddress": "Co address",
621 + "countryCode": "SE",
622 + "operations": [
623 + {
624 + "rel": "update-legal-address",
625 + "method": "PUT",
626 + "href": "/ledger/customer/v1/xxx/customers/yyy/legal-address"
627 + },
628 + {
629 + "rel": "update-legal-address-from-population-register",
630 + "method": "POST",
631 + "href": "/ledger/customer/v1/xxx/customers/yyy/legal-address/update-legal-address-from-population-register"
632 + }
633 + ]
634 +}
635 +{{/code}}
636 +
637 +
638 +==== 4.2 Replace Legal-address ====
639 +
640 +this "PUT" operation will replace the existing legal-address with the address specified in the request body.
641 +
642 +{{code language="http" title="**Request**"}}
643 +PUT /ledger/customer/v1/{ownerNo}/customers/{customerNo}/legal-address HTTP/1.1
644 +Host: -
645 +Authorization: Bearer<Token>
646 +Content-Type: application/json
647 +
648 +{
649 + "addressee": "Test Testsson",
650 + "streetAddress": "Test street 1",
651 + "zipCode": "60000",
652 + "city": "Test town",
653 + "coAddress": "Co address",
654 + "countryCode": "SE"
655 +}
656 +{{/code}}
657 +
658 +
659 +**Request object specification**
660 +
661 +(% class="table-bordered table-striped" %)
662 +|=Property |=Data type|=Format|=Required|=Description
663 +|addressee |string | |No |
664 +|streetAddress |string | |No |
665 +|zipCode |string | |No |
666 +|city |string | |No |
667 +|coAddress |string | |No |
668 +|countryCode |string | |No |
669 +
670 +
671 +{{code language="http" title="**Response**"}}
672 +HTTP/1.1 200 OK
673 +Content-Type: application/json
674 +
675 +{
676 +}
677 +{{/code}}
678 +
679 +
680 +**Possible problems**
681 +
682 +(% class="table-bordered table-striped" %)
683 +|=Http status |=Problem type |=Description
684 +|500 |internal-server-error |The requested resource '' could not be processed. Please contact support.
685 +|500 |handled-exception |The requested resource '' could not be processed. Please contact support.
686 +|500 |unhandled-exception |The requested resource '' could not be processed. Please contact support.
687 +|400 |general-validation-error |Validation error when accessing resource . Please refer to the problems property for additional details.
688 +|400 |validation |Validation error when accessing resource . Please refer to the problems property for additional details.
689 +|404 |customer-does-not-exists |The requested resource '' was not found.
690 +|404 |customer-not-found |The requested resource '' was not found.
691 +
692 +
693 +
694 +**Response object specification**
695 +
696 +(% class="table-bordered table-striped" %)
697 +|=Property |=Data type|=Format|=Description
698 +|@id |string | |Uri identifier of the current resource
699 +|addressee |string | |
700 +|streetAddress |string | |
701 +|zipCode |string | |
702 +|city |string | |
703 +|coAddress |string | |
704 +|countryCode |string | |
705 +|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]]
706 +== 5. Update-legal-address-from-population-register ==
707 +
708 +
709 +==== 5.1 Create Update-legal-address-from-population-register ====
710 +
711 +Execution of this operation will result in an attempt to retrieve (and replace) the customer's legal address from the population registry.
712 +
713 +{{code language="http" title="**Request**"}}
714 +POST /ledger/customer/v1/{ownerNo}/customers/{customerNo}/legal-address/update-legal-address-from-population-register HTTP/1.1
715 +Host: -
716 +Authorization: Bearer<Token>
717 +Content-Type: application/json
718 +
719 +{
720 +}
721 +{{/code}}
722 +
723 +
724 +
725 +{{code language="http" title="**Response**"}}
726 +HTTP/1.1 204 NO CONTENT
727 +Content-Type: application/json
728 +
729 +{}
730 +{{/code}}
731 +
732 +
733 +**Possible problems**
734 +
735 +(% class="table-bordered table-striped" %)
736 +|=Http status |=Problem type |=Description
737 +|500 |internal-server-error |The requested resource '' could not be processed. Please contact support.
738 +|500 |handled-exception |The requested resource '' could not be processed. Please contact support.
739 +|500 |unhandled-exception |The requested resource '' could not be processed. Please contact support.
740 +|400 |general-validation-error |Validation error when accessing resource . Please refer to the problems property for additional details.
741 +|400 |validation |Validation error when accessing resource . Please refer to the problems property for additional details.
742 +|404 |customer-does-not-exists |The requested resource '' was not found.
743 +|404 |customer-not-found |The requested resource '' was not found.
744 +
745 +
746 +== 6. Billing-address ==
747 +
748 +
749 +The billing address is where invoices/bills/letters etc. is normally sent to. This address is optional
750 +
751 +==== 6.1 Get list of Billing-address ====
752 +
753 +{{code language="http" title="**Request**"}}
754 +GET /ledger/customer/v1/{ownerNo}/customers/{customerNo}/billing-address HTTP/1.1
755 +Host: -
756 +Authorization: Bearer<Token>
757 +Content-Type: application/json
758 +
759 +{{/code}}
760 +
761 +Get customer billing-address
762 +
763 +{{code language="http" title="**Response**"}}
764 +HTTP/1.1 200 OK
765 +Content-Type: application/json
766 +
767 +{
768 + "addressee": "Test Testsson",
769 + "streetAddress": "Test street 1",
770 + "zipCode": "60000",
771 + "city": "Test town",
772 + "coAddress": "Co address",
773 + "countryCode": "SE",
774 + "operations": [
775 + {
776 + "rel": "update-billing-address",
777 + "method": "PUT",
778 + "href": "/ledger/customer/v1/xxx/customers/yyy/billing-address"
779 + },
780 + {
781 + "rel": "delete-billing-address",
782 + "method": "DELETE",
783 + "href": "/ledger/customer/v1/xxx/customers/yyy/billing-address"
784 + }
785 + ]
786 +}
787 +{{/code}}
788 +
789 +
790 +==== 6.2 Create Billing-address ====
791 +
792 +Add a billing address to customer. The billing address is where invoices/bills/letters etc. is normally sent to. This address is optional
793 +
794 +{{code language="http" title="**Request**"}}
795 +POST /ledger/customer/v1/{ownerNo}/customers/{customerNo}/billing-address HTTP/1.1
796 +Host: -
797 +Authorization: Bearer<Token>
798 +Content-Type: application/json
799 +
800 +{
801 + "addressee": "Test Testsson",
802 + "streetAddress": "Test street 1",
803 + "zipCode": "60000",
804 + "city": "Test town",
805 + "coAddress": "Co address",
806 + "countryCode": "SE"
807 +}
808 +{{/code}}
809 +
810 +
811 +**Request object specification**
812 +
813 +(% class="table-bordered table-striped" %)
814 +|=Property |=Data type|=Format|=Required|=Description
815 +|addressee |string | |No |
816 +|streetAddress |string | |No |
817 +|zipCode |string | |No |
818 +|city |string | |No |
819 +|coAddress |string | |No |
820 +|countryCode |string | |No |
821 +
822 +
823 +{{code language="http" title="**Response**"}}
824 +HTTP/1.1 201 CREATED
825 +Content-Type: application/json
826 +
827 +{
828 +}
829 +{{/code}}
830 +
831 +==== 6.3 Replace Billing-address ====
832 +
833 +Use this operation to update the address, the "PUT" body of the request should be according to the properties of the resource.
834 +
835 +{{code language="http" title="**Request**"}}
836 +PUT /ledger/customer/v1/{ownerNo}/customers/{customerNo}/billing-address HTTP/1.1
837 +Host: -
838 +Authorization: Bearer<Token>
839 +Content-Type: application/json
840 +
841 +{
842 + "addressee": "Test Testsson",
843 + "streetAddress": "Test street 1",
844 + "zipCode": "60000",
845 + "city": "Test town",
846 + "coAddress": "Co address",
847 + "countryCode": "SE"
848 +}
849 +{{/code}}
850 +
851 +
852 +**Request object specification**
853 +
854 +(% class="table-bordered table-striped" %)
855 +|=Property |=Data type|=Format|=Required|=Description
856 +|addressee |string | |No |
857 +|streetAddress |string | |No |
858 +|zipCode |string | |No |
859 +|city |string | |No |
860 +|coAddress |string | |No |
861 +|countryCode |string | |No |
862 +
863 +
864 +{{code language="http" title="**Response**"}}
865 +HTTP/1.1 200 OK
866 +Content-Type: application/json
867 +
868 +{
869 +}
870 +{{/code}}
871 +
872 +==== 6.4 Delete Billing-address ====
873 +
874 +Use this operation to delete the billing address.
875 +
876 +{{code language="http" title="**Request**"}}
877 +DELETE /ledger/customer/v1/{ownerNo}/customers/{customerNo}/billing-address HTTP/1.1
878 +Host: -
879 +Authorization: Bearer<Token>
880 +Content-Type: application/json
881 +
882 +{{/code}}
883 +
884 +{{code language="http" title="**Response**"}}
885 +HTTP/1.1 204 NO CONTENT
886 +Content-Type: application/json
887 +
888 +{
889 +}
890 +{{/code}}
891 +
892 +
893 +**Possible problems**
894 +
895 +(% class="table-bordered table-striped" %)
896 +|=Http status |=Problem type |=Description
897 +|500 |internal-server-error |The requested resource '' could not be processed. Please contact support.
898 +|500 |handled-exception |The requested resource '' could not be processed. Please contact support.
899 +|500 |unhandled-exception |The requested resource '' could not be processed. Please contact support.
900 +|400 |general-validation-error |Validation error when accessing resource . Please refer to the problems property for additional details.
901 +|400 |validation |Validation error when accessing resource . Please refer to the problems property for additional details.
902 +|404 |customer-does-not-exists |The requested resource '' was not found.
903 +|404 |customer-not-found |The requested resource '' was not found.
904 +
905 +
906 +
907 +**Response object specification**
908 +
909 +(% class="table-bordered table-striped" %)
910 +|=Property |=Data type|=Format|=Description
911 +|@id |string | |Uri identifier of the current resource
912 +|addressee |string | |
913 +|streetAddress |string | |
914 +|zipCode |string | |
915 +|city |string | |
916 +|coAddress |string | |
917 +|countryCode |string | |
918 +|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]]
919 +== 7. Consent ==
920 +
921 +
922 +Underlying resources that display information or enable registration of a customer's consent.
923 +
924 +==== 7.1 Get list of Consent ====
925 +
926 +{{code language="http" title="**Request**"}}
927 +GET /ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent HTTP/1.1
928 +Host: -
929 +Authorization: Bearer<Token>
930 +Content-Type: application/json
931 +
932 +{{/code}}
933 +
934 +Get customer consent
935 +
936 +{{code language="http" title="**Response**"}}
937 +HTTP/1.1 200 OK
938 +Content-Type: application/json
939 +
940 +{
941 + "recurringCard": "/ledger/customer/v1/xxx/customers/yyy/consent/recurring-card",
942 + "recurringCardRedirectRegistration": "/ledger/customer/v1/xxx/customers/yyy/consent/recurring-card-redirect-registration",
943 + "trustedSellerGroups": "/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups",
944 + "availableTrustedSellerGroupConsents": [],
945 + "operations": [
946 + {
947 + "rel": "add-trusted-seller-group",
948 + "method": "POST",
949 + "href": "/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups"
950 + },
951 + {
952 + "rel": "add-recurring-card-redirect-registration",
953 + "method": "POST",
954 + "href": "/ledger/customer/v1/xxx/customers/yyy/consent/recurring-card-redirect-registration"
955 + }
956 + ]
957 +}
958 +{{/code}}
959 +
960 +
961 +
962 +**Response object specification**
963 +
964 +(% class="table-bordered table-striped" %)
965 +|=Property |=Data type|=Format|=Description
966 +|@id |string | |Uri identifier of the current resource
967 +|recurringCard |dynamic | |
968 +|recurringCardRedirectRegistration |dynamic | |
969 +|trustedSellerGroups |dynamic | |
970 +|=availableTrustedSellerGroupConsents |array | |
971 +| |string | |
972 +|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]]
973 +== 8. Trusted-seller-groups ==
974 +
975 +
976 +Get details about the customer's active Consent.
977 +
978 +==== 8.1 Get list of Trusted-seller-groups ====
979 +
980 +{{code language="http" title="**Request**"}}
981 +GET /ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent/trusted-seller-groups HTTP/1.1
982 +Host: -
983 +Authorization: Bearer<Token>
984 +Content-Type: application/json
985 +
986 +{{/code}}
987 +
988 +Get consent list
989 +
990 +{{code language="http" title="**Response**"}}
991 +HTTP/1.1 200 OK
992 +Content-Type: application/json
993 +
994 +{
995 + "items": [
996 + {
997 + "consentType": "ccccc1",
998 + "operations": [
999 + {
1000 + "rel": "delete-trusted-seller-group",
1001 + "method": "DELETE",
1002 + "href": "/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/ccccc1"
1003 + }
1004 + ],
1005 + "@id": "/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/ccccc1"
1006 + },
1007 + {
1008 + "consentType": "ccccc2",
1009 + "operations": [
1010 + {
1011 + "rel": "delete-trusted-seller-group",
1012 + "method": "DELETE",
1013 + "href": "/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/ccccc2"
1014 + }
1015 + ],
1016 + "@id": "/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/ccccc2"
1017 + }
1018 + ],
1019 + "navigation": {
1020 + "@id": "/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups"
1021 + }
1022 +}
1023 +{{/code}}
1024 +
1025 +
1026 +Get details about the customer's active Consent.
1027 +
1028 +==== 8.2 Get specific Trusted-seller-group ====
1029 +
1030 +{{code language="http" title="**Request**"}}
1031 +GET /ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent/trusted-seller-groups/{consentType} HTTP/1.1
1032 +Host: -
1033 +Authorization: Bearer<Token>
1034 +Content-Type: application/json
1035 +
1036 +{{/code}}
1037 +
1038 +Get single consent
1039 +
1040 +{{code language="http" title="**Response**"}}
1041 +HTTP/1.1 200 OK
1042 +Content-Type: application/json
1043 +
1044 +{
1045 + "consentType": "ccccc",
1046 + "operations": [
1047 + {
1048 + "rel": "delete-trusted-seller-group",
1049 + "method": "DELETE",
1050 + "href": "/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/ccccc"
1051 + }
1052 + ]
1053 +}
1054 +{{/code}}
1055 +
1056 +
1057 +==== 8.3 Create Trusted-seller-group ====
1058 +
1059 +Save a pdf Consent document as a Base64 string for specific CustomerNo and ConsentType.
1060 +
1061 +{{code language="http" title="**Request**"}}
1062 +POST /ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent/trusted-seller-groups HTTP/1.1
1063 +Host: -
1064 +Authorization: Bearer<Token>
1065 +Content-Type: application/json
1066 +
1067 +{
1068 + "consentType": "PharmaciesSE",
1069 + "applicationDocument": {
1070 + "content": "JVBERi0xLjQKJ...",
1071 + "fileType": "pdf"
1072 + }
1073 +}
1074 +{{/code}}
1075 +
1076 +
1077 +**Request object specification**
1078 +
1079 +(% class="table-bordered table-striped" %)
1080 +|=Property |=Data type|=Format|=Required|=Description
1081 +|consentType |string | |Yes |Name of the Consent Type
1082 +|=applicationDocument |object | |Yes |
1083 +| content |string | |Yes |A base64 encoded string representing the content of the document.
1084 +| fileType |string |Pattern: (?i)^(pdf~|txt~|json~|xml)$ |Yes |The file type of the document. Supported file types are: pdf, txt, json and xml. The validation is case insensitive.
1085 +
1086 +
1087 +Save a consent document
1088 +
1089 +{{code language="http" title="**Response**"}}
1090 +HTTP/1.1 200 OK
1091 +Content-Type: application/json
1092 +
1093 +{
1094 + "consentType": "cccc",
1095 + "operations": [
1096 + {
1097 + "rel": "delete-trusted-seller-group",
1098 + "method": "DELETE",
1099 + "href": "/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/cccc"
1100 + }
1101 + ],
1102 + "@id": "/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/cccc"
1103 +}
1104 +{{/code}}
1105 +
1106 +==== 8.4 Delete Trusted-seller-group ====
1107 +
1108 +Delete a active consent from customer.
1109 +
1110 +{{code language="http" title="**Request**"}}
1111 +DELETE /ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent/trusted-seller-groups/{consentType} HTTP/1.1
1112 +Host: -
1113 +Authorization: Bearer<Token>
1114 +Content-Type: application/json
1115 +
1116 +{{/code}}
1117 +
1118 +{{code language="http" title="**Response**"}}
1119 +HTTP/1.1 204 NO CONTENT
1120 +Content-Type: application/json
1121 +
1122 +{
1123 +}
1124 +{{/code}}
1125 +
1126 +
1127 +**Possible problems**
1128 +
1129 +(% class="table-bordered table-striped" %)
1130 +|=Http status |=Problem type |=Description
1131 +|400 |validation |Occurs if the validation of the request fails, it is described in the problem why the input is invalid.
1132 +|404 |not-found |Occurs if the requested resource is not found.
1133 +|409 |conflict |Occurs if the requested resource already exists.
1134 +|500 |fatal |Unexpected error, logs may give details about the problem
1135 +
1136 +
1137 +
1138 +**Response object specification**
1139 +
1140 +(% class="table-bordered table-striped" %)
1141 +|=Property |=Data type|=Format|=Description
1142 +|@id |string | |Uri identifier of the current resource
1143 +|consentType |string | |
1144 +|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]]
1145 +== 9. Recurring-card ==
1146 +
1147 +
1148 +Get details about the customer's active Recurring Card Consent.
1149 +
1150 +==== 9.1 Get list of Recurring-card ====
1151 +
1152 +{{code language="http" title="**Request**"}}
1153 +GET /ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent/recurring-card HTTP/1.1
1154 +Host: -
1155 +Authorization: Bearer<Token>
1156 +Content-Type: application/json
1157 +
1158 +{{/code}}
1159 +
1160 +Get customer active Recurring Card Consent.
1161 +
1162 +{{code language="http" title="**Response**"}}
1163 +HTTP/1.1 200 OK
1164 +Content-Type: application/json
1165 +
1166 +{
1167 + "cardToken": "2eb28854-07ec-4e88-b672-7c61cc54b461",
1168 + "consentExpiryDate": "04-2035",
1169 + "instrumentDisplayName": "551000******1232",
1170 + "cardExpiryDate": "04/2035",
1171 + "cardBrand": "Visa",
1172 + "operations": [
1173 + {
1174 + "rel": "delete-recurring-card",
1175 + "method": "DELETE",
1176 + "href": "/ledger/customer/v1/xxx/customers/yyy/consent/recurring-card"
1177 + }
1178 + ]
1179 +}
1180 +{{/code}}
1181 +
1182 +
1183 +==== 9.2 Delete Recurring-card ====
1184 +
1185 +Delete the customer's active Recurring Card Consent.
1186 +
1187 +{{code language="http" title="**Request**"}}
1188 +DELETE /ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent/recurring-card HTTP/1.1
1189 +Host: -
1190 +Authorization: Bearer<Token>
1191 +Content-Type: application/json
1192 +
1193 +{{/code}}
1194 +
1195 +{{code language="http" title="**Response**"}}
1196 +HTTP/1.1 204 NO CONTENT
1197 +Content-Type: application/json
1198 +
1199 +{
1200 +}
1201 +{{/code}}
1202 +
1203 +
1204 +**Response object specification**
1205 +
1206 +(% class="table-bordered table-striped" %)
1207 +|=Property |=Data type|=Format|=Description
1208 +|@id |string | |Uri identifier of the current resource
1209 +|cardToken |string | |Unique token representing the card for which the recurring card consent has been granted.
1210 +|consentExpiryDate |string | |Expiration date of the recurring card consent. After this date, the consent is no longer valid and must be renewed.
1211 +|instrumentDisplayName |string | |Masked representation of the payment card associated with the consent, displayed in a customer-friendly format.
1212 +|cardExpiryDate |string | |Expiration date of the payment card associated with the recurring card consent.
1213 +|cardBrand |string | |Brand of the payment card, for example Visa or Mastercard.
1214 +|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]]
1215 +== 10. Recurring-card-redirect-registration ==
1216 +
1217 +
1218 +Get details about the customer's ongoing Recurring Card registration.
1219 +
1220 +==== 10.1 Get list of Recurring-card-redirect-registration ====
1221 +
1222 +{{code language="http" title="**Request**"}}
1223 +GET /ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent/recurring-card-redirect-registration HTTP/1.1
1224 +Host: -
1225 +Authorization: Bearer<Token>
1226 +Content-Type: application/json
1227 +
1228 +{{/code}}
1229 +
1230 +Customer's ongoing Recurring Card Registration.
1231 +
1232 +{{code language="http" title="**Response**"}}
1233 +HTTP/1.1 200 OK
1234 +Content-Type: application/json
1235 +
1236 +{
1237 + "redirectUrl": "https://ecom.externalintegration.payex.com/checkout/abc123",
1238 + "status": "Initialized",
1239 + "operations": []
1240 +}
1241 +{{/code}}
1242 +
1243 +
1244 +==== 10.2 Create Recurring-card-redirect-registration ====
1245 +
1246 +Initializes the customer's Recurring Card registration with redirect to SwedbankPay.
1247 +
1248 +{{code language="http" title="**Request**"}}
1249 +POST /ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent/recurring-card-redirect-registration HTTP/1.1
1250 +Host: -
1251 +Authorization: Bearer<Token>
1252 +Content-Type: application/json
1253 +
1254 +{
1255 + "completeUrl": "https://www.google.com/search?q=completeurl",
1256 + "cancelUrl": "https://www.google.com/search?q=cancelurl",
1257 + "language": "en-US"
1258 +}
1259 +{{/code}}
1260 +
1261 +
1262 +**Request object specification**
1263 +
1264 +(% class="table-bordered table-striped" %)
1265 +|=Property |=Data type|=Format|=Required|=Description
1266 +|completeUrl |string |Type: uri |Yes |URL to which the customer is redirected after successfully completing the recurring card registration process.
1267 +|cancelUrl |string |Type: uri |Yes |URL to which the customer is redirected if the recurring card registration process is cancelled or abandoned.
1268 +|language |string | |Yes |Language and regional settings for the recurring card registration page. Allowed values are: sv-SE, da-DK, en-US, fi-FI, nb-NO.
1269 +
1270 +
1271 +Customer's ongoing Recurring Card Registration.
1272 +
1273 +{{code language="http" title="**Response**"}}
1274 +HTTP/1.1 200 OK
1275 +Content-Type: application/json
1276 +
1277 +{
1278 + "redirectUrl": "https://ecom.externalintegration.payex.com/checkout/abc123",
1279 + "status": "Initialized",
1280 + "operations": [],
1281 + "@id": "/ledger/customer/v1/xxx/customers/yyy/consent/recurring-card-redirect-registration"
1282 +}
1283 +{{/code}}
1284 +
1285 +
1286 +**Response object specification**
1287 +
1288 +(% class="table-bordered table-striped" %)
1289 +|=Property |=Data type|=Format|=Description
1290 +|@id |string | |Uri identifier of the current resource
1291 +|redirectUrl |string | |URL where the customer should be redirected to complete the recurring card registration process.
1292 +|status |string | |Current state of the recurring card registration process. Possible values are: (Initialized~|Completed~|Aborted~|Failed)
1293 +|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]]
1294 +== 11. Update-kyc-answers ==
1295 +
1296 +
1297 +==== 11.1 Create Update-kyc-answer ====
1298 +
1299 +When exposed on customer resources operations list it's a indication previous KYC answers up for renewal. Able to update KYC with this operation even if current aren't expired but won't be suggested on the customer resource
1300 +
1301 +{{code language="http" title="**Request**"}}
1302 +POST /ledger/customer/v1/{ownerNo}/customers/{customerNo}/update-kyc-answers HTTP/1.1
1303 +Host: -
1304 +Authorization: Bearer<Token>
1305 +Content-Type: application/json
1306 +
1307 +{
1308 + "answers": [
1309 + {
1310 + "questionCode": "taxable_outside_sweden",
1311 + "answerCode": "no"
1312 + },
1313 + {
1314 + "questionCode": "multiple_citizenship",
1315 + "answerCode": "yes"
1316 + },
1317 + {
1318 + "questionCode": "citizen_ship_country_codes",
1319 + "answerCode": "SWE"
1320 + },
1321 + {
1322 + "questionCode": "citizen_ship_country_codes",
1323 + "answerCode": "NOR"
1324 + }
1325 + ]
1326 +}
1327 +{{/code}}
1328 +
1329 +
1330 +**Request object specification**
1331 +
1332 +(% class="table-bordered table-striped" %)
1333 +|=Property |=Data type|=Format|=Required|=Description
1334 +|=answers |array | |Yes |
1335 +| questionCode |string | |Yes |The code definition of the question
1336 +| answerCode |string | |Yes |The code definition of the answer
1337 +
1338 +
1339 +{{code language="http" title="**Response**"}}
1340 +HTTP/1.1 201 CREATED
1341 +Content-Type: application/json
1342 +
1343 +{
1344 +}
1345 +{{/code}}
1346 +
1347 +
1348 +**Possible problems**
1349 +
1350 +(% class="table-bordered table-striped" %)
1351 +|=Http status |=Problem type |=Description
1352 +|400 |validation |Occurs if the validation of the request fails, it is described in the problem why the input is invalid.
1353 +|404 |not-found |Occurs if the customer not found or if KYC is not configured on this ledger.
1354 +|409 |company-kyc-questions-not-configured |Occurs if ledger is not currently configured for KYC
1355 +|500 |fatal |Unexpected error, logs may give details about the problem
1356 +
1357 +
1358 +== 12. Find-customer ==
1359 +
1360 +
1361 +==== 12.1 Create Find-customer ====
1362 +
1363 + It is used to find customer with nationalIdentifier.
1364 +
1365 +{{code language="http" title="**Request**"}}
1366 +POST /ledger/customer/v1/{ownerNo}/find-customer HTTP/1.1
1367 +Host: -
1368 +Authorization: Bearer<Token>
1369 +Content-Type: application/json
1370 +
1371 +{
1372 + "nationalIdentifier": {
1373 + "regNo": "YYYYMMDD-NNNN",
1374 + "countryCode": "SE"
1375 + }
1376 +}
1377 +{{/code}}
1378 +
1379 +
1380 +**Request object specification**
1381 +
1382 +(% class="table-bordered table-striped" %)
1383 +|=Property |=Data type|=Format|=Required|=Description
1384 +|=nationalIdentifier |object | |No |
1385 +| regNo |string | |Yes |
1386 +| countryCode |string | |No |
1387 +
1388 +
1389 +Find customer with nationalIdentifier, regno and countrycode, returns CustomerNo = YYY
1390 +
1391 +{{code language="http" title="**Response**"}}
1392 +HTTP/1.1 200 OK
1393 +Content-Type: application/json
1394 +
1395 +{
1396 + "customerNo": "YYY"
1397 +}
1398 +{{/code}}
1399 +
1400 +
1401 +**Possible problems**
1402 +
1403 +(% class="table-bordered table-striped" %)
1404 +|=Http status |=Problem type |=Description
1405 +|500 |internal-server-error |The requested resource '' could not be processed. Please contact support.
1406 +|500 |handled-exception |The requested resource '' could not be processed. Please contact support.
1407 +|500 |unhandled-exception |The requested resource '' could not be processed. Please contact support.
1408 +|400 |general-validation-error |Validation error when accessing resource . Please refer to the problems property for additional details.
1409 +|400 |validation |Validation error when accessing resource . Please refer to the problems property for additional details.
1410 +|400 |invalid-reg-no |Validation error when accessing resource . Please refer to the problems property for additional details.
1411 +|404 |customer-does-not-exists |The requested resource '' was not found.
1412 +|404 |customer-not-found |The requested resource '' was not found.
1413 +
1414 +
1415 +
1416 +**Response object specification**
1417 +
1418 +(% class="table-bordered table-striped" %)
1419 +|=Property |=Data type|=Format|=Description
1420 +|@id |string | |Uri identifier of the current resource
1421 +|customerNo |string | |
1422 +== 13. Kyc-questions ==
1423 +
1424 +
1425 +Get KYC questions from ledger using company number as identifier
1426 +
1427 +==== 13.1 Get list of Kyc-questions ====
1428 +
1429 +{{code language="http" title="**Request**"}}
1430 +GET /ledger/customer/v1/{ownerNo}/kyc-questions?language={language} HTTP/1.1
1431 +Host: -
1432 +Authorization: Bearer<Token>
1433 +Content-Type: application/json
1434 +
1435 +{{/code}}
1436 +
1437 +Get CompanyInstance KYC questions if configured or a 404 company-kyc-questions-not-configured response if not
1438 +
1439 +{{code language="http" title="**Response**"}}
1440 +HTTP/1.1 200 OK
1441 +Content-Type: application/json
1442 +
1443 +{
1444 + "kycQuestions": [
1445 + {
1446 + "questionText": "What is your current employment?",
1447 + "answer": {
1448 + "type": "single",
1449 + "required": true,
1450 + "possibleAnswers": [
1451 + {
1452 + "answerCode": "selfemployed",
1453 + "answerText": "Own business"
1454 + },
1455 + {
1456 + "answerCode": "private_employee",
1457 + "answerText": "Private employee"
1458 + },
1459 + {
1460 + "answerCode": "goverment_employee",
1461 + "answerText": "Government employee"
1462 + }
1463 + ]
1464 + },
1465 + "questionCode": "employment"
1466 + },
1467 + {
1468 + "questionText": "What is your yearly income",
1469 + "answer": {
1470 + "type": "single",
1471 + "required": true,
1472 + "possibleAnswers": [
1473 + {
1474 + "answerCode": "incomeinterval1",
1475 + "answerText": "0-100 000 SEK"
1476 + },
1477 + {
1478 + "answerCode": "incomeinterval2",
1479 + "answerText": "100 001-200 000 SEK"
1480 + },
1481 + {
1482 + "answerCode": "incomeinterval3",
1483 + "answerText": "200 001-300 000 SEK"
1484 + },
1485 + {
1486 + "answerCode": "incomeinterval4",
1487 + "answerText": "Over 300 001 SEK"
1488 + }
1489 + ]
1490 + },
1491 + "questionCode": "income"
1492 + }
1493 + ],
1494 + "operations": []
1495 +}
1496 +{{/code}}
1497 +
1498 +
1499 +
1500 +**Query parameters**
1501 +
1502 +(% class="table-bordered table-striped" %)
1503 +|=Name |=Required |=Description
1504 +|language |False |format ISO639-1, if not supported or none given request defaults to language code 'en'(English)
1505 +
1506 +
1507 +
1508 +**Possible problems**
1509 +
1510 +(% class="table-bordered table-striped" %)
1511 +|=Http status |=Problem type |=Description
1512 +|500 |internal-server-error |The requested resource '' could not be processed. Please contact support.
1513 +|500 |handled-exception |The requested resource '' could not be processed. Please contact support.
1514 +|500 |unhandled-exception |The requested resource '' could not be processed. Please contact support.
1515 +|400 |general-validation-error |Validation error when accessing resource . Please refer to the problems property for additional details.
1516 +|404 |company-kyc-questions-not-configured |The requested resource '' was not found.
1517 +
1518 +
1519 +
1520 +**Response object specification**
1521 +
1522 +(% class="table-bordered table-striped" %)
1523 +|=Property |=Data type|=Format|=Description
1524 +|@id |string | |Uri identifier of the current resource
1525 +|=kycQuestions |array | |
1526 +| questionCode |string | |The code definition of the question
1527 +| questionText |string | |The translated text of the question
1528 +|= answer |object | |
1529 +| type |string | |The type of the expected answer: single ~| multi ~| text
1530 +| required |boolean | |If the answer is required
1531 +| textValidationRegEx |string | |The regex the answer should match
1532 +|= possibleAnswers |array | |
1533 +| answerCode |string | |The code definition of the answer
1534 +| answerText |string | |The translated text of the answer
1535 +|= subQuestions |array | |
1536 +|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]]
1537 +== 14. Affordability-questions ==
1538 +
1539 +
1540 +Get affordability questions from ledger using company number as identifier
1541 +
1542 +==== 14.1 Get list of Affordability-questions ====
1543 +
1544 +{{code language="http" title="**Request**"}}
1545 +GET /ledger/customer/v1/{ownerNo}/affordability-questions?language={language} HTTP/1.1
1546 +Host: -
1547 +Authorization: Bearer<Token>
1548 +Content-Type: application/json
1549 +
1550 +{{/code}}
1551 +
1552 +Get CompanyInstance affordability questions if configured. It's expected that not all credit assessment levels are configured for every company.
1553 +
1554 +{{code language="http" title="**Response**"}}
1555 +HTTP/1.1 200 OK
1556 +Content-Type: application/json
1557 +
1558 +{
1559 + "creditAssessmentLevel1": [
1560 + {
1561 + "questionCode": "yearly_revenue",
1562 + "questionText": "What is your yearly revenue?",
1563 + "answer": {
1564 + "type": "single",
1565 + "required": true,
1566 + "possibleAnswers": [
1567 + {
1568 + "answerCode": "interval1",
1569 + "answerText": "0-500 000 SEK"
1570 + },
1571 + {
1572 + "answerCode": "interval2",
1573 + "answerText": "500 001-1 000 000 SEK"
1574 + }
1575 + ]
1576 + }
1577 + }
1578 + ],
1579 + "creditAssessmentLevel2": [
1580 + {
1581 + "questionCode": "number_of_employees",
1582 + "questionText": "How many employees does the company have?",
1583 + "answer": {
1584 + "type": "single",
1585 + "required": true,
1586 + "possibleAnswers": [
1587 + {
1588 + "answerCode": "interval1",
1589 + "answerText": "1-10"
1590 + },
1591 + {
1592 + "answerCode": "interval2",
1593 + "answerText": "11-50"
1594 + }
1595 + ]
1596 + }
1597 + }
1598 + ],
1599 + "operations": []
1600 +}
1601 +{{/code}}
1602 +
1603 +
1604 +
1605 +**Query parameters**
1606 +
1607 +(% class="table-bordered table-striped" %)
1608 +|=Name |=Required |=Description
1609 +|language |False |format ISO639-1, if not supported or none given request defaults to language code 'en'(English)
1610 +
1611 +
1612 +
1613 +**Possible problems**
1614 +
1615 +(% class="table-bordered table-striped" %)
1616 +|=Http status |=Problem type |=Description
1617 +|500 |internal-server-error |The requested resource '' could not be processed. Please contact support.
1618 +|500 |handled-exception |The requested resource '' could not be processed. Please contact support.
1619 +|500 |unhandled-exception |The requested resource '' could not be processed. Please contact support.
1620 +|400 |general-validation-error |Validation error when accessing resource . Please refer to the problems property for additional details.
1621 +
1622 +
1623 +
1624 +**Response object specification**
1625 +
1626 +(% class="table-bordered table-striped" %)
1627 +|=Property |=Data type|=Format|=Description
1628 +|@id |string | |Uri identifier of the current resource
1629 +|=creditAssessmentLevel1 |array | |
1630 +| questionCode |string | |The code definition of the question
1631 +| questionText |string | |The translated text of the question
1632 +|= answer |object | |
1633 +| type |string | |The type of the expected answer: single ~| multi ~| text
1634 +| required |boolean | |If the answer is required
1635 +| textValidationRegEx |string | |The regex the answer should match
1636 +|= possibleAnswers |array | |
1637 +| answerCode |string | |The code definition of the answer
1638 +| answerText |string | |The translated text of the answer
1639 +|= subQuestions |array | |
1640 +|=creditAssessmentLevel2 |array | |
1641 +|=creditAssessmentLevel3 |array | |
1642 +|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]]
1643 +
1644 +
1645 +{{display reference="developer:Main.Invoicing.ledger-api-general-docs.api-section-problems.WebHome"/}}
1612164530151-211.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.dap
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content
1612164561442-820.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.dap
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content
1661344288319-663.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.dap
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content
1789395090901-778.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.MatsLyth
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content
1789395141258-404.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.MatsLyth
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content
1789468720058-108.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.MatsLyth
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content
1789468954666-503.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.MatsLyth
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content
1789469187004-133.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.MatsLyth
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content
1789469234102-782.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.MatsLyth
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content
1789469296231-389.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.MatsLyth
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content
1789469386909-296.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.MatsLyth
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content
PayEx - Ledger API's - Customer Wiki Visual(1).png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.kxf
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content
PayEx - Ledger API's - Customer Wiki Visual.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.kxf
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content
PayEx - Ledger API's - customer.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.kxf
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content
Screenshot 2026-07-08 141842.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.thomashedstrom
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content
Swagger_Releases-499976(3).txt
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.thomashedstrom
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content
... ... @@ -1,0 +1,3291 @@
1 +{
2 + "openapi": "3.0.1",
3 + "info": {
4 + "title": "Customer API 1.0",
5 + "description": "",
6 + "contact": {
7 + "name": "Payex"
8 + },
9 + "version": "1.0"
10 + },
11 + "paths": {
12 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}": {
13 + "get": {
14 + "tags": [
15 + "Customer"
16 + ],
17 + "summary": "Get a specific customer",
18 + "description": "Get a customer from ledger using customer number as identifier",
19 + "operationId": "PayEx.AR.Customer.Api.Resources.Customer.V1.Customers.CustomersController_Id_GetSingle",
20 + "parameters": [
21 + {
22 + "name": "ownerNo",
23 + "in": "path",
24 + "required": true,
25 + "schema": {
26 + "type": "string"
27 + }
28 + },
29 + {
30 + "name": "customerNo",
31 + "in": "path",
32 + "required": true,
33 + "schema": {
34 + "maxLength": 50,
35 + "minLength": 0,
36 + "type": "string"
37 + }
38 + }
39 + ],
40 + "responses": {
41 + "200": {
42 + "description": "OK",
43 + "content": {
44 + "application/json": {
45 + "schema": {
46 + "$ref": "#/components/schemas/V1.Customers.CustomersResource"
47 + },
48 + "examples": {
49 + "OK": {
50 + "description": "Get customer",
51 + "value": "{\r\n \"customerNo\": \"YYY\",\r\n \"nationalIdentifier\": {\r\n \"regNo\": \"YYYYMMDD-NNNN\",\r\n \"countryCode\": \"SE\"\r\n },\r\n \"vatNo\": \"SE101010101001\",\r\n \"legalEntity\": \"consumer\",\r\n \"name\": \"Test Testsson\",\r\n \"emailAddress\": \"Test@test.se\",\r\n \"protectedIdentity\": false,\r\n \"preferredLanguageCode\": \"SV\",\r\n \"legalStatus\": \"active\",\r\n \"msisdn\": \"\\u002B467040000000\",\r\n \"activeConsents\": [\r\n \"Betalingsservice\",\r\n \"Avtalegiro\",\r\n \"RecurringCard\"\r\n ],\r\n \"ediAddressInfo\": {\r\n \"van\": \"ABCXYZ\",\r\n \"interChangeRecipient\": \"Recipient_ID1\",\r\n \"buyerId\": \"123465\"\r\n },\r\n \"surpluses\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses\",\r\n \"legalAddress\": \"/ledger/customer/v1/xxx/customers/yyy/legal-address\",\r\n \"billingAddress\": \"/ledger/customer/v1/xxx/customers/yyy/billing-address\",\r\n \"consent\": \"/ledger/customer/v1/xxx/customers/yyy/consent\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"partial-update-customer\",\r\n \"method\": \"PATCH\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy\"\r\n },\r\n {\r\n \"rel\": \"add-billing-address\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/billing-address\"\r\n },\r\n {\r\n \"rel\": \"update-kyc-answers\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/update-kyc-answers\"\r\n }\r\n ],\r\n \"taxIdentificationNumber\": \"1234567890\"\r\n}"
52 + }
53 + }
54 + }
55 + }
56 + },
57 + "500": {
58 + "description": "InternalServerError",
59 + "content": {
60 + "application/json": {
61 + "examples": {
62 + "internal-server-error": {
63 + "description": "The requested resource '' could not be processed. Please contact support.",
64 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
65 + },
66 + "handled-exception": {
67 + "description": "The requested resource '' could not be processed. Please contact support.",
68 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
69 + },
70 + "unhandled-exception": {
71 + "description": "The requested resource '' could not be processed. Please contact support.",
72 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
73 + }
74 + }
75 + }
76 + }
77 + },
78 + "400": {
79 + "description": "BadRequest",
80 + "content": {
81 + "application/json": {
82 + "examples": {
83 + "general-validation-error": {
84 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
85 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
86 + },
87 + "validation": {
88 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
89 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
90 + }
91 + }
92 + }
93 + }
94 + },
95 + "404": {
96 + "description": "NotFound",
97 + "content": {
98 + "application/json": {
99 + "examples": {
100 + "customer-does-not-exists": {
101 + "description": "The requested resource '' was not found.",
102 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
103 + },
104 + "customer-not-found": {
105 + "description": "The requested resource '' was not found.",
106 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
107 + }
108 + }
109 + }
110 + }
111 + }
112 + }
113 + },
114 + "patch": {
115 + "tags": [
116 + "Customer"
117 + ],
118 + "summary": "Update customer",
119 + "description": "Update customer info",
120 + "operationId": "PayEx.AR.Customer.Api.Resources.Customer.V1.Customers.CustomersController_Id_Patch",
121 + "parameters": [
122 + {
123 + "name": "ownerNo",
124 + "in": "path",
125 + "required": true,
126 + "schema": {
127 + "type": "string"
128 + }
129 + },
130 + {
131 + "name": "customerNo",
132 + "in": "path",
133 + "required": true,
134 + "schema": {
135 + "maxLength": 50,
136 + "minLength": 0,
137 + "type": "string"
138 + }
139 + }
140 + ],
141 + "requestBody": {
142 + "content": {
143 + "application/json": {
144 + "schema": { }
145 + }
146 + }
147 + },
148 + "responses": {
149 + "204": {
150 + "description": "No Content",
151 + "content": {
152 + "application/json": {
153 + "schema": {
154 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
155 + }
156 + }
157 + }
158 + },
159 + "500": {
160 + "description": "InternalServerError",
161 + "content": {
162 + "application/json": {
163 + "examples": {
164 + "internal-server-error": {
165 + "description": "The requested resource '' could not be processed. Please contact support.",
166 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
167 + },
168 + "handled-exception": {
169 + "description": "The requested resource '' could not be processed. Please contact support.",
170 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
171 + },
172 + "unhandled-exception": {
173 + "description": "The requested resource '' could not be processed. Please contact support.",
174 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
175 + }
176 + }
177 + }
178 + }
179 + },
180 + "400": {
181 + "description": "BadRequest",
182 + "content": {
183 + "application/json": {
184 + "examples": {
185 + "general-validation-error": {
186 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
187 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
188 + },
189 + "validation": {
190 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
191 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
192 + },
193 + "email-address-invalid": {
194 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
195 + "value": "{\r\n \"type\": \"email-address-invalid\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
196 + }
197 + }
198 + }
199 + }
200 + },
201 + "404": {
202 + "description": "NotFound",
203 + "content": {
204 + "application/json": {
205 + "examples": {
206 + "customer-does-not-exists": {
207 + "description": "The requested resource '' was not found.",
208 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
209 + },
210 + "customer-not-found": {
211 + "description": "The requested resource '' was not found.",
212 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
213 + }
214 + }
215 + }
216 + }
217 + }
218 + }
219 + }
220 + },
221 + "/ledger/customer/v1/{ownerNo}/customers": {
222 + "post": {
223 + "tags": [
224 + "Customer"
225 + ],
226 + "summary": "Create new customer",
227 + "description": "Create a new customer in ledger",
228 + "parameters": [
229 + {
230 + "name": "ownerNo",
231 + "in": "path",
232 + "required": true,
233 + "schema": {
234 + "type": "string"
235 + }
236 + }
237 + ],
238 + "requestBody": {
239 + "content": {
240 + "application/json": {
241 + "schema": {
242 + "$ref": "#/components/schemas/V1.Customers.CreateCustomerResource"
243 + }
244 + }
245 + }
246 + },
247 + "responses": {
248 + "201": {
249 + "description": "Created",
250 + "content": {
251 + "application/json": {
252 + "schema": {
253 + "$ref": "#/components/schemas/V1.Customers.CustomersCreatedResource"
254 + },
255 + "examples": {
256 + "Created": {
257 + "description": "Create a customer response",
258 + "value": "{\r\n \"customerNo\": \"YYY\",\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy\"\r\n}"
259 + }
260 + }
261 + }
262 + }
263 + },
264 + "500": {
265 + "description": "InternalServerError",
266 + "content": {
267 + "application/json": {
268 + "examples": {
269 + "internal-server-error": {
270 + "description": "The requested resource '' could not be processed. Please contact support.",
271 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
272 + },
273 + "handled-exception": {
274 + "description": "The requested resource '' could not be processed. Please contact support.",
275 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
276 + },
277 + "unhandled-exception": {
278 + "description": "The requested resource '' could not be processed. Please contact support.",
279 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
280 + }
281 + }
282 + }
283 + }
284 + },
285 + "400": {
286 + "description": "BadRequest",
287 + "content": {
288 + "application/json": {
289 + "examples": {
290 + "general-validation-error": {
291 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
292 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
293 + },
294 + "validation": {
295 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
296 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
297 + },
298 + "invalid-reg-no": {
299 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
300 + "value": "{\r\n \"type\": \"invalid-reg-no\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
301 + },
302 + "invalid-phone-no": {
303 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
304 + "value": "{\r\n \"type\": \"invalid-phone-no\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
305 + }
306 + }
307 + }
308 + }
309 + },
310 + "422": {
311 + "description": "UnprocessableEntity",
312 + "content": {
313 + "application/json": {
314 + "examples": {
315 + "customer-already-exists": {
316 + "description": "The requested resource '' could not be processed. Customer Already Exists",
317 + "value": "{\r\n \"type\": \"customer-already-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 422,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
318 + }
319 + }
320 + }
321 + }
322 + }
323 + }
324 + }
325 + },
326 + "/ledger/customer/v1/{ownerNo}/kyc-questions": {
327 + "get": {
328 + "tags": [
329 + "Customer"
330 + ],
331 + "summary": "Get KYC questions configured on company",
332 + "description": "Get KYC questions from ledger using company number as identifier",
333 + "parameters": [
334 + {
335 + "name": "ownerNo",
336 + "in": "path",
337 + "required": true,
338 + "schema": {
339 + "type": "string"
340 + }
341 + },
342 + {
343 + "name": "language",
344 + "in": "query",
345 + "description": "format ISO639-1, if not supported or none given request defaults to language code 'en'(English)",
346 + "schema": {
347 + "type": "string"
348 + }
349 + }
350 + ],
351 + "responses": {
352 + "200": {
353 + "description": "OK",
354 + "content": {
355 + "application/json": {
356 + "schema": {
357 + "$ref": "#/components/schemas/V1.RootResource.SingleResources.KycQuestions.KycQuestionsResource"
358 + },
359 + "examples": {
360 + "OK": {
361 + "description": "Get CompanyInstance KYC questions if configured or a 404 company-kyc-questions-not-configured response if not",
362 + "value": "{\r\n \"kycQuestions\": [\r\n {\r\n \"questionText\": \"What is your current employment?\",\r\n \"answer\": {\r\n \"type\": \"single\",\r\n \"required\": true,\r\n \"possibleAnswers\": [\r\n {\r\n \"answerCode\": \"selfemployed\",\r\n \"answerText\": \"Own business\"\r\n },\r\n {\r\n \"answerCode\": \"private_employee\",\r\n \"answerText\": \"Private employee\"\r\n },\r\n {\r\n \"answerCode\": \"goverment_employee\",\r\n \"answerText\": \"Government employee\"\r\n }\r\n ]\r\n },\r\n \"questionCode\": \"employment\"\r\n },\r\n {\r\n \"questionText\": \"What is your yearly income\",\r\n \"answer\": {\r\n \"type\": \"single\",\r\n \"required\": true,\r\n \"possibleAnswers\": [\r\n {\r\n \"answerCode\": \"incomeinterval1\",\r\n \"answerText\": \"0-100 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval2\",\r\n \"answerText\": \"100 001-200 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval3\",\r\n \"answerText\": \"200 001-300 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval4\",\r\n \"answerText\": \"Over 300 001 SEK\"\r\n }\r\n ]\r\n },\r\n \"questionCode\": \"income\"\r\n }\r\n ],\r\n \"operations\": []\r\n}"
363 + }
364 + }
365 + }
366 + }
367 + },
368 + "500": {
369 + "description": "InternalServerError",
370 + "content": {
371 + "application/json": {
372 + "examples": {
373 + "internal-server-error": {
374 + "description": "The requested resource '' could not be processed. Please contact support.",
375 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
376 + },
377 + "handled-exception": {
378 + "description": "The requested resource '' could not be processed. Please contact support.",
379 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
380 + },
381 + "unhandled-exception": {
382 + "description": "The requested resource '' could not be processed. Please contact support.",
383 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
384 + }
385 + }
386 + }
387 + }
388 + },
389 + "400": {
390 + "description": "BadRequest",
391 + "content": {
392 + "application/json": {
393 + "examples": {
394 + "general-validation-error": {
395 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
396 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
397 + }
398 + }
399 + }
400 + }
401 + },
402 + "404": {
403 + "description": "NotFound",
404 + "content": {
405 + "application/json": {
406 + "examples": {
407 + "company-kyc-questions-not-configured": {
408 + "description": "The requested resource '' was not found.",
409 + "value": "{\r\n \"type\": \"company-kyc-questions-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
410 + }
411 + }
412 + }
413 + }
414 + }
415 + }
416 + }
417 + },
418 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/surpluses/{surplusId}/active-disbursement-orders": {
419 + "post": {
420 + "tags": [
421 + "Customer"
422 + ],
423 + "summary": "Add a disbursement order for surplus",
424 + "description": "Add a disbursement order. Disburses all available funds on surplus account, when disbursement batch is run",
425 + "parameters": [
426 + {
427 + "name": "ownerNo",
428 + "in": "path",
429 + "required": true,
430 + "schema": {
431 + "type": "string"
432 + }
433 + },
434 + {
435 + "name": "customerNo",
436 + "in": "path",
437 + "required": true,
438 + "schema": {
439 + "type": "string"
440 + }
441 + },
442 + {
443 + "name": "surplusId",
444 + "in": "path",
445 + "required": true,
446 + "schema": {
447 + "type": "string"
448 + }
449 + }
450 + ],
451 + "requestBody": {
452 + "content": {
453 + "application/json": {
454 + "schema": {
455 + "$ref": "#/components/schemas/V1.Customers.Surpluses.Operations.AddDisbursementOrderRequest"
456 + },
457 + "example": "{\r\n \"swedishBankAccount\": {\r\n \"accountNo\": \"NNN\",\r\n \"accountType\": \"BGSE | PGSE | BKSE | PKSE\"\r\n }\r\n}"
458 + }
459 + }
460 + },
461 + "responses": {
462 + "204": {
463 + "description": "No Content",
464 + "content": {
465 + "application/json": {
466 + "schema": {
467 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
468 + }
469 + }
470 + }
471 + }
472 + }
473 + },
474 + "get": {
475 + "tags": [
476 + "Customer"
477 + ],
478 + "summary": "list active surpluse disbursement orders",
479 + "description": "list active surpluse disbursement orders pending disbursement batch is run.",
480 + "parameters": [
481 + {
482 + "name": "ownerNo",
483 + "in": "path",
484 + "required": true,
485 + "schema": {
486 + "type": "string"
487 + }
488 + },
489 + {
490 + "name": "customerNo",
491 + "in": "path",
492 + "required": true,
493 + "schema": {
494 + "type": "string"
495 + }
496 + },
497 + {
498 + "name": "surplusId",
499 + "in": "path",
500 + "required": true,
501 + "schema": {
502 + "type": "string"
503 + }
504 + }
505 + ],
506 + "responses": {
507 + "200": {
508 + "description": "OK",
509 + "content": {
510 + "application/json": {
511 + "schema": {
512 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.ActiveDisbursementOrdersResourceListResult"
513 + },
514 + "examples": {
515 + "OK": {
516 + "description": "Get customer billing-address",
517 + "value": "{\r\n \"items\": [\r\n {\r\n \"operations\": [],\r\n \"swedishBankAccount\": {\r\n \"accountNo\": \"1234567890\",\r\n \"accountType\": \"BGSE\"\r\n }\r\n }\r\n ],\r\n \"navigation\": {\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/zzz/active-disbursement-orders\"\r\n }\r\n}"
518 + }
519 + }
520 + }
521 + }
522 + },
523 + "500": {
524 + "description": "InternalServerError",
525 + "content": {
526 + "application/json": {
527 + "examples": {
528 + "internal-server-error": {
529 + "description": "The requested resource '' could not be processed. Please contact support.",
530 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
531 + },
532 + "handled-exception": {
533 + "description": "The requested resource '' could not be processed. Please contact support.",
534 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
535 + },
536 + "unhandled-exception": {
537 + "description": "The requested resource '' could not be processed. Please contact support.",
538 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
539 + }
540 + }
541 + }
542 + }
543 + },
544 + "400": {
545 + "description": "BadRequest",
546 + "content": {
547 + "application/json": {
548 + "examples": {
549 + "general-validation-error": {
550 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
551 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
552 + },
553 + "validation": {
554 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
555 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
556 + }
557 + }
558 + }
559 + }
560 + },
561 + "404": {
562 + "description": "NotFound",
563 + "content": {
564 + "application/json": {
565 + "examples": {
566 + "customer-does-not-exists": {
567 + "description": "The requested resource '' was not found.",
568 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
569 + },
570 + "customer-not-found": {
571 + "description": "The requested resource '' was not found.",
572 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
573 + }
574 + }
575 + }
576 + }
577 + }
578 + }
579 + }
580 + },
581 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/surpluses/{surplusId}": {
582 + "get": {
583 + "tags": [
584 + "Customer"
585 + ],
586 + "summary": "Get single surplus",
587 + "description": "A surplus is the remaining value from a payment that was greater than the current debt, also referred as an 'overpayment'. Each instance of an overpayment will create a new surplus. A surplus will often have a connection to an account or invoice based of where the payment was placed but surpluses without connection to an account or invoice also exist. Surpluses can be used to settle upcoming debt or be disbursed. ",
588 + "operationId": "PayEx.AR.Customer.Api.Resources.Customer.V1.Customers.Surpluses.SurplusesController_Id_GetSingle",
589 + "parameters": [
590 + {
591 + "name": "ownerNo",
592 + "in": "path",
593 + "required": true,
594 + "schema": {
595 + "type": "string"
596 + }
597 + },
598 + {
599 + "name": "customerNo",
600 + "in": "path",
601 + "required": true,
602 + "schema": {
603 + "type": "string"
604 + }
605 + },
606 + {
607 + "name": "surplusId",
608 + "in": "path",
609 + "required": true,
610 + "schema": {
611 + "type": "string"
612 + }
613 + }
614 + ],
615 + "responses": {
616 + "200": {
617 + "description": "OK",
618 + "content": {
619 + "application/json": {
620 + "schema": {
621 + "$ref": "#/components/schemas/V1.Customers.Surpluses.SurplusesResource"
622 + },
623 + "examples": {
624 + "OK": {
625 + "description": "Get single surplus",
626 + "value": "{\r\n \"surplusId\": \"YYY\",\r\n \"balance\": 10,\r\n \"currency\": \"SEK\",\r\n \"date\": \"2026-06-23T00:00:00\\u002B02:00\",\r\n \"status\": \"open\",\r\n \"invoice\": \"/ledger/invoice/v1/XXX/invoices/AAA\",\r\n \"account\": \"/ledger/account/v1/XXX/accounts/BBB\",\r\n \"activeDisbursementOrders\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/yyy/active-disbursement-orders\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"active-disbursement-orders\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/yyy/active-disbursement-orders\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/XXX/customers/AAA/surpluses/YYY\"\r\n}"
627 + }
628 + }
629 + }
630 + }
631 + }
632 + }
633 + }
634 + },
635 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/surpluses": {
636 + "get": {
637 + "tags": [
638 + "Customer"
639 + ],
640 + "summary": "list surpluses",
641 + "description": "List all available surpluses on the customer",
642 + "parameters": [
643 + {
644 + "name": "ownerNo",
645 + "in": "path",
646 + "required": true,
647 + "schema": {
648 + "type": "string"
649 + }
650 + },
651 + {
652 + "name": "customerNo",
653 + "in": "path",
654 + "required": true,
655 + "schema": {
656 + "type": "string"
657 + }
658 + }
659 + ],
660 + "responses": {
661 + "200": {
662 + "description": "OK",
663 + "content": {
664 + "application/json": {
665 + "schema": {
666 + "$ref": "#/components/schemas/V1.Customers.Surpluses.SurplusesResourceListResult"
667 + },
668 + "examples": {
669 + "OK": {
670 + "description": "Get surpluses list",
671 + "value": "{\r\n \"items\": [\r\n {\r\n \"surplusId\": \"123\",\r\n \"balance\": 10,\r\n \"currency\": \"SEK\",\r\n \"date\": \"2026-06-23T00:00:00\\u002B02:00\",\r\n \"status\": \"open\",\r\n \"invoice\": \"/ledger/invoice/v1/XXX/invoices/AAA\",\r\n \"activeDisbursementOrders\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/123/active-disbursement-orders\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"active-disbursement-orders\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/123/active-disbursement-orders\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/123\"\r\n },\r\n {\r\n \"surplusId\": \"456\",\r\n \"balance\": 20,\r\n \"currency\": \"SEK\",\r\n \"date\": \"2026-06-21T00:00:00\\u002B02:00\",\r\n \"status\": \"pending-disbursement\",\r\n \"account\": \"/ledger/account/v1/XXX/accounts/BBB\",\r\n \"activeDisbursementOrders\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/456/active-disbursement-orders\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"active-disbursement-orders\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/456/active-disbursement-orders\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/456\"\r\n },\r\n {\r\n \"surplusId\": \"789\",\r\n \"balance\": 30,\r\n \"currency\": \"SEK\",\r\n \"date\": \"2026-06-14T00:00:00\\u002B02:00\",\r\n \"status\": \"pending-regulate\",\r\n \"invoice\": \"/ledger/invoice/v1/XXX/invoices/AAA\",\r\n \"activeDisbursementOrders\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/789/active-disbursement-orders\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"active-disbursement-orders\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/789/active-disbursement-orders\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/789\"\r\n }\r\n ],\r\n \"navigation\": {\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses\"\r\n }\r\n}"
672 + }
673 + }
674 + }
675 + }
676 + }
677 + }
678 + }
679 + },
680 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent/trusted-seller-groups": {
681 + "post": {
682 + "tags": [
683 + "Customer"
684 + ],
685 + "summary": "Save a Consent document for specific CustomerNo and ConsentType.",
686 + "description": "Save a pdf Consent document as a Base64 string for specific CustomerNo and ConsentType.",
687 + "parameters": [
688 + {
689 + "name": "ownerNo",
690 + "in": "path",
691 + "required": true,
692 + "schema": {
693 + "type": "string"
694 + }
695 + },
696 + {
697 + "name": "customerNo",
698 + "in": "path",
699 + "required": true,
700 + "schema": {
701 + "type": "string"
702 + }
703 + }
704 + ],
705 + "requestBody": {
706 + "content": {
707 + "application/json": {
708 + "schema": {
709 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsPostRequest"
710 + },
711 + "example": "{\r\n \"consentType\": \"PharmaciesSE\",\r\n \"applicationDocument\": {\r\n \"content\": \"JVBERi0xLjQKJ...\",\r\n \"fileType\": \"pdf\"\r\n }\r\n}"
712 + },
713 + "text/json": {
714 + "schema": {
715 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsPostRequest"
716 + }
717 + },
718 + "application/*+json": {
719 + "schema": {
720 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsPostRequest"
721 + }
722 + }
723 + }
724 + },
725 + "responses": {
726 + "200": {
727 + "description": "OK",
728 + "content": {
729 + "application/json": {
730 + "schema": {
731 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsResource"
732 + },
733 + "examples": {
734 + "OK": {
735 + "description": "Save a consent document",
736 + "value": "{\r\n \"consentType\": \"cccc\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"delete-trusted-seller-group\",\r\n \"method\": \"DELETE\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/cccc\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/cccc\"\r\n}"
737 + }
738 + }
739 + }
740 + }
741 + },
742 + "400": {
743 + "description": "BadRequest",
744 + "content": {
745 + "application/json": {
746 + "examples": {
747 + "validation": {
748 + "description": "Occurs if the validation of the request fails, it is described in the problem why the input is invalid.",
749 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
750 + }
751 + }
752 + }
753 + }
754 + },
755 + "404": {
756 + "description": "NotFound",
757 + "content": {
758 + "application/json": {
759 + "examples": {
760 + "not-found": {
761 + "description": "Occurs if the requested resource is not found.",
762 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
763 + }
764 + }
765 + }
766 + }
767 + },
768 + "409": {
769 + "description": "Conflict",
770 + "content": {
771 + "application/json": {
772 + "examples": {
773 + "conflict": {
774 + "description": "Occurs if the requested resource already exists.",
775 + "value": "{\r\n \"type\": \"conflict\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
776 + }
777 + }
778 + }
779 + }
780 + },
781 + "500": {
782 + "description": "InternalServerError",
783 + "content": {
784 + "application/json": {
785 + "examples": {
786 + "fatal": {
787 + "description": "Unexpected error, logs may give details about the problem",
788 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
789 + }
790 + }
791 + }
792 + }
793 + }
794 + }
795 + },
796 + "get": {
797 + "tags": [
798 + "Customer"
799 + ],
800 + "summary": "Get Customer active Consent.",
801 + "description": "Get details about the customer's active Consent.",
802 + "parameters": [
803 + {
804 + "name": "ownerNo",
805 + "in": "path",
806 + "required": true,
807 + "schema": {
808 + "type": "string"
809 + }
810 + },
811 + {
812 + "name": "customerNo",
813 + "in": "path",
814 + "required": true,
815 + "schema": {
816 + "type": "string"
817 + }
818 + }
819 + ],
820 + "responses": {
821 + "200": {
822 + "description": "OK",
823 + "content": {
824 + "application/json": {
825 + "schema": {
826 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsResourceListResult"
827 + },
828 + "examples": {
829 + "OK": {
830 + "description": "Get consent list",
831 + "value": "{\r\n \"items\": [\r\n {\r\n \"consentType\": \"ccccc1\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"delete-trusted-seller-group\",\r\n \"method\": \"DELETE\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/ccccc1\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/ccccc1\"\r\n },\r\n {\r\n \"consentType\": \"ccccc2\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"delete-trusted-seller-group\",\r\n \"method\": \"DELETE\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/ccccc2\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/ccccc2\"\r\n }\r\n ],\r\n \"navigation\": {\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups\"\r\n }\r\n}"
832 + }
833 + }
834 + }
835 + }
836 + },
837 + "400": {
838 + "description": "BadRequest",
839 + "content": {
840 + "application/json": {
841 + "examples": {
842 + "validation": {
843 + "description": "Occurs if the validation of the request fails, it is described in the problem why the input is invalid.",
844 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
845 + }
846 + }
847 + }
848 + }
849 + },
850 + "404": {
851 + "description": "NotFound",
852 + "content": {
853 + "application/json": {
854 + "examples": {
855 + "not-found": {
856 + "description": "Occurs if the requested resource is not found.",
857 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
858 + }
859 + }
860 + }
861 + }
862 + },
863 + "409": {
864 + "description": "Conflict",
865 + "content": {
866 + "application/json": {
867 + "examples": {
868 + "conflict": {
869 + "description": "Occurs if the requested resource already exists.",
870 + "value": "{\r\n \"type\": \"conflict\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
871 + }
872 + }
873 + }
874 + }
875 + },
876 + "500": {
877 + "description": "InternalServerError",
878 + "content": {
879 + "application/json": {
880 + "examples": {
881 + "fatal": {
882 + "description": "Unexpected error, logs may give details about the problem",
883 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
884 + }
885 + }
886 + }
887 + }
888 + }
889 + }
890 + }
891 + },
892 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/legal-address": {
893 + "get": {
894 + "tags": [
895 + "Customer"
896 + ],
897 + "summary": "Get the legal address of the customer",
898 + "description": "The legal address is where claims is normally sent to. It is required for a customer to have a legal address registered",
899 + "parameters": [
900 + {
901 + "name": "ownerNo",
902 + "in": "path",
903 + "required": true,
904 + "schema": {
905 + "type": "string"
906 + }
907 + },
908 + {
909 + "name": "customerNo",
910 + "in": "path",
911 + "required": true,
912 + "schema": {
913 + "type": "string"
914 + }
915 + }
916 + ],
917 + "responses": {
918 + "200": {
919 + "description": "OK",
920 + "content": {
921 + "application/json": {
922 + "schema": {
923 + "$ref": "#/components/schemas/V1.Customers.SingleResources.AddressResource"
924 + },
925 + "examples": {
926 + "OK": {
927 + "description": "Get customer legal-address",
928 + "value": "{\r\n \"addressee\": \"Test Testsson\",\r\n \"streetAddress\": \"Test street 1\",\r\n \"zipCode\": \"60000\",\r\n \"city\": \"Test town\",\r\n \"coAddress\": \"Co address\",\r\n \"countryCode\": \"SE\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"update-legal-address\",\r\n \"method\": \"PUT\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/legal-address\"\r\n },\r\n {\r\n \"rel\": \"update-legal-address-from-population-register\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/legal-address/update-legal-address-from-population-register\"\r\n }\r\n ]\r\n}"
929 + }
930 + }
931 + }
932 + }
933 + },
934 + "500": {
935 + "description": "InternalServerError",
936 + "content": {
937 + "application/json": {
938 + "examples": {
939 + "internal-server-error": {
940 + "description": "The requested resource '' could not be processed. Please contact support.",
941 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
942 + },
943 + "handled-exception": {
944 + "description": "The requested resource '' could not be processed. Please contact support.",
945 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
946 + },
947 + "unhandled-exception": {
948 + "description": "The requested resource '' could not be processed. Please contact support.",
949 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
950 + }
951 + }
952 + }
953 + }
954 + },
955 + "400": {
956 + "description": "BadRequest",
957 + "content": {
958 + "application/json": {
959 + "examples": {
960 + "general-validation-error": {
961 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
962 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
963 + },
964 + "validation": {
965 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
966 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
967 + }
968 + }
969 + }
970 + }
971 + },
972 + "404": {
973 + "description": "NotFound",
974 + "content": {
975 + "application/json": {
976 + "examples": {
977 + "customer-does-not-exists": {
978 + "description": "The requested resource '' was not found.",
979 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
980 + },
981 + "customer-not-found": {
982 + "description": "The requested resource '' was not found.",
983 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
984 + }
985 + }
986 + }
987 + }
988 + }
989 + }
990 + },
991 + "put": {
992 + "tags": [
993 + "Customer"
994 + ],
995 + "summary": "Update customer legal-address",
996 + "description": "this \"PUT\" operation will replace the existing legal-address with the address specified in the request body.",
997 + "parameters": [
998 + {
999 + "name": "ownerNo",
1000 + "in": "path",
1001 + "required": true,
1002 + "schema": {
1003 + "type": "string"
1004 + }
1005 + },
1006 + {
1007 + "name": "customerNo",
1008 + "in": "path",
1009 + "required": true,
1010 + "schema": {
1011 + "type": "string"
1012 + }
1013 + }
1014 + ],
1015 + "requestBody": {
1016 + "content": {
1017 + "application/json": {
1018 + "schema": {
1019 + "$ref": "#/components/schemas/V1.Customers.SingleResources.AddressRequest"
1020 + },
1021 + "example": "{\r\n \"addressee\": \"Test Testsson\",\r\n \"streetAddress\": \"Test street 1\",\r\n \"zipCode\": \"60000\",\r\n \"city\": \"Test town\",\r\n \"coAddress\": \"Co address\",\r\n \"countryCode\": \"SE\"\r\n}"
1022 + }
1023 + }
1024 + },
1025 + "responses": {
1026 + "204": {
1027 + "description": "No Content",
1028 + "content": {
1029 + "application/json": {
1030 + "schema": {
1031 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
1032 + }
1033 + }
1034 + }
1035 + },
1036 + "500": {
1037 + "description": "InternalServerError",
1038 + "content": {
1039 + "application/json": {
1040 + "examples": {
1041 + "internal-server-error": {
1042 + "description": "The requested resource '' could not be processed. Please contact support.",
1043 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1044 + },
1045 + "handled-exception": {
1046 + "description": "The requested resource '' could not be processed. Please contact support.",
1047 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1048 + },
1049 + "unhandled-exception": {
1050 + "description": "The requested resource '' could not be processed. Please contact support.",
1051 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1052 + }
1053 + }
1054 + }
1055 + }
1056 + },
1057 + "400": {
1058 + "description": "BadRequest",
1059 + "content": {
1060 + "application/json": {
1061 + "examples": {
1062 + "general-validation-error": {
1063 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1064 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1065 + },
1066 + "validation": {
1067 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1068 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1069 + }
1070 + }
1071 + }
1072 + }
1073 + },
1074 + "404": {
1075 + "description": "NotFound",
1076 + "content": {
1077 + "application/json": {
1078 + "examples": {
1079 + "customer-does-not-exists": {
1080 + "description": "The requested resource '' was not found.",
1081 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1082 + },
1083 + "customer-not-found": {
1084 + "description": "The requested resource '' was not found.",
1085 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1086 + }
1087 + }
1088 + }
1089 + }
1090 + }
1091 + }
1092 + }
1093 + },
1094 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent/trusted-seller-groups/{consentType}": {
1095 + "get": {
1096 + "tags": [
1097 + "Customer"
1098 + ],
1099 + "summary": "Get Customer active Consent.",
1100 + "description": "Get details about the customer's active Consent.",
1101 + "operationId": "PayEx.AR.Customer.Api.Resources.Customer.V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsController_Id_GetSingle",
1102 + "parameters": [
1103 + {
1104 + "name": "ownerNo",
1105 + "in": "path",
1106 + "required": true,
1107 + "schema": {
1108 + "type": "string"
1109 + }
1110 + },
1111 + {
1112 + "name": "customerNo",
1113 + "in": "path",
1114 + "required": true,
1115 + "schema": {
1116 + "type": "string"
1117 + }
1118 + },
1119 + {
1120 + "name": "consentType",
1121 + "in": "path",
1122 + "required": true,
1123 + "schema": {
1124 + "type": "string"
1125 + }
1126 + }
1127 + ],
1128 + "responses": {
1129 + "200": {
1130 + "description": "OK",
1131 + "content": {
1132 + "application/json": {
1133 + "schema": {
1134 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsResource"
1135 + },
1136 + "examples": {
1137 + "OK": {
1138 + "description": "Get single consent",
1139 + "value": "{\r\n \"consentType\": \"ccccc\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"delete-trusted-seller-group\",\r\n \"method\": \"DELETE\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/ccccc\"\r\n }\r\n ]\r\n}"
1140 + }
1141 + }
1142 + }
1143 + }
1144 + },
1145 + "400": {
1146 + "description": "BadRequest",
1147 + "content": {
1148 + "application/json": {
1149 + "examples": {
1150 + "validation": {
1151 + "description": "Occurs if the validation of the request fails, it is described in the problem why the input is invalid.",
1152 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1153 + }
1154 + }
1155 + }
1156 + }
1157 + },
1158 + "404": {
1159 + "description": "NotFound",
1160 + "content": {
1161 + "application/json": {
1162 + "examples": {
1163 + "not-found": {
1164 + "description": "Occurs if the requested resource is not found.",
1165 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1166 + }
1167 + }
1168 + }
1169 + }
1170 + },
1171 + "409": {
1172 + "description": "Conflict",
1173 + "content": {
1174 + "application/json": {
1175 + "examples": {
1176 + "conflict": {
1177 + "description": "Occurs if the requested resource already exists.",
1178 + "value": "{\r\n \"type\": \"conflict\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1179 + }
1180 + }
1181 + }
1182 + }
1183 + },
1184 + "500": {
1185 + "description": "InternalServerError",
1186 + "content": {
1187 + "application/json": {
1188 + "examples": {
1189 + "fatal": {
1190 + "description": "Unexpected error, logs may give details about the problem",
1191 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1192 + }
1193 + }
1194 + }
1195 + }
1196 + }
1197 + }
1198 + },
1199 + "delete": {
1200 + "tags": [
1201 + "Customer"
1202 + ],
1203 + "summary": "Delete a consent from customer.",
1204 + "description": "Delete a active consent from customer.",
1205 + "operationId": "PayEx.AR.Customer.Api.Resources.Customer.V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsController_Id_Delete",
1206 + "parameters": [
1207 + {
1208 + "name": "ownerNo",
1209 + "in": "path",
1210 + "required": true,
1211 + "schema": {
1212 + "type": "string"
1213 + }
1214 + },
1215 + {
1216 + "name": "customerNo",
1217 + "in": "path",
1218 + "required": true,
1219 + "schema": {
1220 + "type": "string"
1221 + }
1222 + },
1223 + {
1224 + "name": "consentType",
1225 + "in": "path",
1226 + "required": true,
1227 + "schema": {
1228 + "type": "string"
1229 + }
1230 + }
1231 + ],
1232 + "responses": {
1233 + "204": {
1234 + "description": "No Content",
1235 + "content": {
1236 + "application/json": {
1237 + "schema": {
1238 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
1239 + }
1240 + }
1241 + }
1242 + },
1243 + "400": {
1244 + "description": "BadRequest",
1245 + "content": {
1246 + "application/json": {
1247 + "examples": {
1248 + "validation": {
1249 + "description": "Occurs if the validation of the request fails, it is described in the problem why the input is invalid.",
1250 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1251 + }
1252 + }
1253 + }
1254 + }
1255 + },
1256 + "404": {
1257 + "description": "NotFound",
1258 + "content": {
1259 + "application/json": {
1260 + "examples": {
1261 + "not-found": {
1262 + "description": "Occurs if the requested resource is not found.",
1263 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1264 + }
1265 + }
1266 + }
1267 + }
1268 + },
1269 + "409": {
1270 + "description": "Conflict",
1271 + "content": {
1272 + "application/json": {
1273 + "examples": {
1274 + "conflict": {
1275 + "description": "Occurs if the requested resource already exists.",
1276 + "value": "{\r\n \"type\": \"conflict\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1277 + }
1278 + }
1279 + }
1280 + }
1281 + },
1282 + "500": {
1283 + "description": "InternalServerError",
1284 + "content": {
1285 + "application/json": {
1286 + "examples": {
1287 + "fatal": {
1288 + "description": "Unexpected error, logs may give details about the problem",
1289 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1290 + }
1291 + }
1292 + }
1293 + }
1294 + }
1295 + }
1296 + }
1297 + },
1298 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/update-kyc-answers": {
1299 + "post": {
1300 + "tags": [
1301 + "Customer"
1302 + ],
1303 + "summary": "Add new KYC answers",
1304 + "description": "When exposed on customer resources operations list it's a indication previous KYC answers up for renewal. Able to update KYC with this operation even if current aren't expired but won't be suggested on the customer resource",
1305 + "parameters": [
1306 + {
1307 + "name": "ownerNo",
1308 + "in": "path",
1309 + "required": true,
1310 + "schema": {
1311 + "type": "string"
1312 + }
1313 + },
1314 + {
1315 + "name": "customerNo",
1316 + "in": "path",
1317 + "required": true,
1318 + "schema": {
1319 + "type": "string"
1320 + }
1321 + }
1322 + ],
1323 + "requestBody": {
1324 + "content": {
1325 + "application/json": {
1326 + "schema": {
1327 + "$ref": "#/components/schemas/V1.Customers.Operations.UpdateKycAnswers.UpdateKycAnswersRequest"
1328 + },
1329 + "example": "{\r\n \"answers\": [\r\n {\r\n \"questionCode\": \"taxable_outside_sweden\",\r\n \"answerCode\": \"no\"\r\n },\r\n {\r\n \"questionCode\": \"multiple_citizenship\",\r\n \"answerCode\": \"yes\"\r\n },\r\n {\r\n \"questionCode\": \"citizen_ship_country_codes\",\r\n \"answerCode\": \"SWE\"\r\n },\r\n {\r\n \"questionCode\": \"citizen_ship_country_codes\",\r\n \"answerCode\": \"NOR\"\r\n }\r\n ]\r\n}"
1330 + },
1331 + "text/json": {
1332 + "schema": {
1333 + "$ref": "#/components/schemas/V1.Customers.Operations.UpdateKycAnswers.UpdateKycAnswersRequest"
1334 + }
1335 + },
1336 + "application/*+json": {
1337 + "schema": {
1338 + "$ref": "#/components/schemas/V1.Customers.Operations.UpdateKycAnswers.UpdateKycAnswersRequest"
1339 + }
1340 + }
1341 + }
1342 + },
1343 + "responses": {
1344 + "204": {
1345 + "description": "No Content",
1346 + "content": {
1347 + "application/json": {
1348 + "schema": {
1349 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
1350 + }
1351 + }
1352 + }
1353 + },
1354 + "400": {
1355 + "description": "BadRequest",
1356 + "content": {
1357 + "application/json": {
1358 + "examples": {
1359 + "validation": {
1360 + "description": "Occurs if the validation of the request fails, it is described in the problem why the input is invalid.",
1361 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1362 + }
1363 + }
1364 + }
1365 + }
1366 + },
1367 + "404": {
1368 + "description": "NotFound",
1369 + "content": {
1370 + "application/json": {
1371 + "examples": {
1372 + "not-found": {
1373 + "description": "Occurs if the customer not found or if KYC is not configured on this ledger.",
1374 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1375 + }
1376 + }
1377 + }
1378 + }
1379 + },
1380 + "409": {
1381 + "description": "Conflict",
1382 + "content": {
1383 + "application/json": {
1384 + "examples": {
1385 + "company-kyc-questions-not-configured": {
1386 + "description": "Occurs if ledger is not currently configured for KYC",
1387 + "value": "{\r\n \"type\": \"company-kyc-questions-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1388 + }
1389 + }
1390 + }
1391 + }
1392 + },
1393 + "500": {
1394 + "description": "InternalServerError",
1395 + "content": {
1396 + "application/json": {
1397 + "examples": {
1398 + "fatal": {
1399 + "description": "Unexpected error, logs may give details about the problem",
1400 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1401 + }
1402 + }
1403 + }
1404 + }
1405 + }
1406 + }
1407 + }
1408 + },
1409 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/legal-address/update-legal-address-from-population-register": {
1410 + "post": {
1411 + "tags": [
1412 + "Customer"
1413 + ],
1414 + "summary": "Operation for replacing customer's legal address from the population registry",
1415 + "description": "Execution of this operation will result in an attempt to retrieve (and replace) the customer's legal address from the population registry.",
1416 + "parameters": [
1417 + {
1418 + "name": "ownerNo",
1419 + "in": "path",
1420 + "required": true,
1421 + "schema": {
1422 + "type": "string"
1423 + }
1424 + },
1425 + {
1426 + "name": "customerNo",
1427 + "in": "path",
1428 + "required": true,
1429 + "schema": {
1430 + "type": "string"
1431 + }
1432 + }
1433 + ],
1434 + "responses": {
1435 + "204": {
1436 + "description": "No Content",
1437 + "content": {
1438 + "application/json": {
1439 + "schema": {
1440 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
1441 + }
1442 + }
1443 + }
1444 + },
1445 + "500": {
1446 + "description": "InternalServerError",
1447 + "content": {
1448 + "application/json": {
1449 + "examples": {
1450 + "internal-server-error": {
1451 + "description": "The requested resource '' could not be processed. Please contact support.",
1452 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1453 + },
1454 + "handled-exception": {
1455 + "description": "The requested resource '' could not be processed. Please contact support.",
1456 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1457 + },
1458 + "unhandled-exception": {
1459 + "description": "The requested resource '' could not be processed. Please contact support.",
1460 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1461 + }
1462 + }
1463 + }
1464 + }
1465 + },
1466 + "400": {
1467 + "description": "BadRequest",
1468 + "content": {
1469 + "application/json": {
1470 + "examples": {
1471 + "general-validation-error": {
1472 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1473 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1474 + },
1475 + "validation": {
1476 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1477 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1478 + }
1479 + }
1480 + }
1481 + }
1482 + },
1483 + "404": {
1484 + "description": "NotFound",
1485 + "content": {
1486 + "application/json": {
1487 + "examples": {
1488 + "customer-does-not-exists": {
1489 + "description": "The requested resource '' was not found.",
1490 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1491 + },
1492 + "customer-not-found": {
1493 + "description": "The requested resource '' was not found.",
1494 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1495 + }
1496 + }
1497 + }
1498 + }
1499 + }
1500 + }
1501 + }
1502 + },
1503 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/billing-address": {
1504 + "get": {
1505 + "tags": [
1506 + "Customer"
1507 + ],
1508 + "summary": "Get the billing address of the customer",
1509 + "description": "The billing address is where invoices/bills/letters etc. is normally sent to. This address is optional",
1510 + "parameters": [
1511 + {
1512 + "name": "ownerNo",
1513 + "in": "path",
1514 + "required": true,
1515 + "schema": {
1516 + "type": "string"
1517 + }
1518 + },
1519 + {
1520 + "name": "customerNo",
1521 + "in": "path",
1522 + "required": true,
1523 + "schema": {
1524 + "type": "string"
1525 + }
1526 + }
1527 + ],
1528 + "responses": {
1529 + "200": {
1530 + "description": "OK",
1531 + "content": {
1532 + "application/json": {
1533 + "schema": {
1534 + "$ref": "#/components/schemas/V1.Customers.SingleResources.AddressResource"
1535 + },
1536 + "examples": {
1537 + "OK": {
1538 + "description": "Get customer billing-address",
1539 + "value": "{\r\n \"addressee\": \"Test Testsson\",\r\n \"streetAddress\": \"Test street 1\",\r\n \"zipCode\": \"60000\",\r\n \"city\": \"Test town\",\r\n \"coAddress\": \"Co address\",\r\n \"countryCode\": \"SE\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"update-billing-address\",\r\n \"method\": \"PUT\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/billing-address\"\r\n },\r\n {\r\n \"rel\": \"delete-billing-address\",\r\n \"method\": \"DELETE\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/billing-address\"\r\n }\r\n ]\r\n}"
1540 + }
1541 + }
1542 + }
1543 + }
1544 + },
1545 + "500": {
1546 + "description": "InternalServerError",
1547 + "content": {
1548 + "application/json": {
1549 + "examples": {
1550 + "internal-server-error": {
1551 + "description": "The requested resource '' could not be processed. Please contact support.",
1552 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1553 + },
1554 + "handled-exception": {
1555 + "description": "The requested resource '' could not be processed. Please contact support.",
1556 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1557 + },
1558 + "unhandled-exception": {
1559 + "description": "The requested resource '' could not be processed. Please contact support.",
1560 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1561 + }
1562 + }
1563 + }
1564 + }
1565 + },
1566 + "400": {
1567 + "description": "BadRequest",
1568 + "content": {
1569 + "application/json": {
1570 + "examples": {
1571 + "general-validation-error": {
1572 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1573 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1574 + },
1575 + "validation": {
1576 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1577 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1578 + }
1579 + }
1580 + }
1581 + }
1582 + },
1583 + "404": {
1584 + "description": "NotFound",
1585 + "content": {
1586 + "application/json": {
1587 + "examples": {
1588 + "customer-does-not-exists": {
1589 + "description": "The requested resource '' was not found.",
1590 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1591 + },
1592 + "customer-not-found": {
1593 + "description": "The requested resource '' was not found.",
1594 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1595 + }
1596 + }
1597 + }
1598 + }
1599 + }
1600 + }
1601 + },
1602 + "post": {
1603 + "tags": [
1604 + "Customer"
1605 + ],
1606 + "summary": "Add a billing-address",
1607 + "description": "Add a billing address to customer. The billing address is where invoices/bills/letters etc. is normally sent to. This address is optional",
1608 + "parameters": [
1609 + {
1610 + "name": "ownerNo",
1611 + "in": "path",
1612 + "required": true,
1613 + "schema": {
1614 + "type": "string"
1615 + }
1616 + },
1617 + {
1618 + "name": "customerNo",
1619 + "in": "path",
1620 + "required": true,
1621 + "schema": {
1622 + "type": "string"
1623 + }
1624 + }
1625 + ],
1626 + "requestBody": {
1627 + "content": {
1628 + "application/json": {
1629 + "schema": {
1630 + "$ref": "#/components/schemas/V1.Customers.SingleResources.AddressRequest"
1631 + },
1632 + "example": "{\r\n \"addressee\": \"Test Testsson\",\r\n \"streetAddress\": \"Test street 1\",\r\n \"zipCode\": \"60000\",\r\n \"city\": \"Test town\",\r\n \"coAddress\": \"Co address\",\r\n \"countryCode\": \"SE\"\r\n}"
1633 + }
1634 + }
1635 + },
1636 + "responses": {
1637 + "204": {
1638 + "description": "No Content",
1639 + "content": {
1640 + "application/json": {
1641 + "schema": {
1642 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
1643 + }
1644 + }
1645 + }
1646 + },
1647 + "500": {
1648 + "description": "InternalServerError",
1649 + "content": {
1650 + "application/json": {
1651 + "examples": {
1652 + "internal-server-error": {
1653 + "description": "The requested resource '' could not be processed. Please contact support.",
1654 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1655 + },
1656 + "handled-exception": {
1657 + "description": "The requested resource '' could not be processed. Please contact support.",
1658 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1659 + },
1660 + "unhandled-exception": {
1661 + "description": "The requested resource '' could not be processed. Please contact support.",
1662 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1663 + }
1664 + }
1665 + }
1666 + }
1667 + },
1668 + "400": {
1669 + "description": "BadRequest",
1670 + "content": {
1671 + "application/json": {
1672 + "examples": {
1673 + "general-validation-error": {
1674 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1675 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1676 + },
1677 + "validation": {
1678 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1679 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1680 + }
1681 + }
1682 + }
1683 + }
1684 + },
1685 + "404": {
1686 + "description": "NotFound",
1687 + "content": {
1688 + "application/json": {
1689 + "examples": {
1690 + "customer-does-not-exists": {
1691 + "description": "The requested resource '' was not found.",
1692 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1693 + },
1694 + "customer-not-found": {
1695 + "description": "The requested resource '' was not found.",
1696 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1697 + }
1698 + }
1699 + }
1700 + }
1701 + }
1702 + }
1703 + },
1704 + "put": {
1705 + "tags": [
1706 + "Customer"
1707 + ],
1708 + "summary": "Update billing-address",
1709 + "description": "Use this operation to update the address, the \"PUT\" body of the request should be according to the properties of the resource.",
1710 + "parameters": [
1711 + {
1712 + "name": "ownerNo",
1713 + "in": "path",
1714 + "required": true,
1715 + "schema": {
1716 + "type": "string"
1717 + }
1718 + },
1719 + {
1720 + "name": "customerNo",
1721 + "in": "path",
1722 + "required": true,
1723 + "schema": {
1724 + "type": "string"
1725 + }
1726 + }
1727 + ],
1728 + "requestBody": {
1729 + "content": {
1730 + "application/json": {
1731 + "schema": {
1732 + "$ref": "#/components/schemas/V1.Customers.SingleResources.AddressRequest"
1733 + },
1734 + "example": "{\r\n \"addressee\": \"Test Testsson\",\r\n \"streetAddress\": \"Test street 1\",\r\n \"zipCode\": \"60000\",\r\n \"city\": \"Test town\",\r\n \"coAddress\": \"Co address\",\r\n \"countryCode\": \"SE\"\r\n}"
1735 + }
1736 + }
1737 + },
1738 + "responses": {
1739 + "204": {
1740 + "description": "No Content",
1741 + "content": {
1742 + "application/json": {
1743 + "schema": {
1744 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
1745 + }
1746 + }
1747 + }
1748 + },
1749 + "500": {
1750 + "description": "InternalServerError",
1751 + "content": {
1752 + "application/json": {
1753 + "examples": {
1754 + "internal-server-error": {
1755 + "description": "The requested resource '' could not be processed. Please contact support.",
1756 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1757 + },
1758 + "handled-exception": {
1759 + "description": "The requested resource '' could not be processed. Please contact support.",
1760 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1761 + },
1762 + "unhandled-exception": {
1763 + "description": "The requested resource '' could not be processed. Please contact support.",
1764 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1765 + }
1766 + }
1767 + }
1768 + }
1769 + },
1770 + "400": {
1771 + "description": "BadRequest",
1772 + "content": {
1773 + "application/json": {
1774 + "examples": {
1775 + "general-validation-error": {
1776 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1777 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1778 + },
1779 + "validation": {
1780 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1781 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1782 + }
1783 + }
1784 + }
1785 + }
1786 + },
1787 + "404": {
1788 + "description": "NotFound",
1789 + "content": {
1790 + "application/json": {
1791 + "examples": {
1792 + "customer-does-not-exists": {
1793 + "description": "The requested resource '' was not found.",
1794 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1795 + },
1796 + "customer-not-found": {
1797 + "description": "The requested resource '' was not found.",
1798 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1799 + }
1800 + }
1801 + }
1802 + }
1803 + }
1804 + }
1805 + },
1806 + "delete": {
1807 + "tags": [
1808 + "Customer"
1809 + ],
1810 + "summary": "Delete billing-address",
1811 + "description": "Use this operation to delete the billing address.",
1812 + "parameters": [
1813 + {
1814 + "name": "ownerNo",
1815 + "in": "path",
1816 + "required": true,
1817 + "schema": {
1818 + "type": "string"
1819 + }
1820 + },
1821 + {
1822 + "name": "customerNo",
1823 + "in": "path",
1824 + "required": true,
1825 + "schema": {
1826 + "maxLength": 255,
1827 + "minLength": 0,
1828 + "type": "string"
1829 + }
1830 + }
1831 + ],
1832 + "responses": {
1833 + "204": {
1834 + "description": "No Content",
1835 + "content": {
1836 + "application/json": {
1837 + "schema": {
1838 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
1839 + }
1840 + }
1841 + }
1842 + },
1843 + "500": {
1844 + "description": "InternalServerError",
1845 + "content": {
1846 + "application/json": {
1847 + "examples": {
1848 + "internal-server-error": {
1849 + "description": "The requested resource '' could not be processed. Please contact support.",
1850 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1851 + },
1852 + "handled-exception": {
1853 + "description": "The requested resource '' could not be processed. Please contact support.",
1854 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1855 + },
1856 + "unhandled-exception": {
1857 + "description": "The requested resource '' could not be processed. Please contact support.",
1858 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1859 + }
1860 + }
1861 + }
1862 + }
1863 + },
1864 + "400": {
1865 + "description": "BadRequest",
1866 + "content": {
1867 + "application/json": {
1868 + "examples": {
1869 + "general-validation-error": {
1870 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1871 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1872 + },
1873 + "validation": {
1874 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1875 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1876 + }
1877 + }
1878 + }
1879 + }
1880 + },
1881 + "404": {
1882 + "description": "NotFound",
1883 + "content": {
1884 + "application/json": {
1885 + "examples": {
1886 + "customer-does-not-exists": {
1887 + "description": "The requested resource '' was not found.",
1888 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1889 + },
1890 + "customer-not-found": {
1891 + "description": "The requested resource '' was not found.",
1892 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1893 + }
1894 + }
1895 + }
1896 + }
1897 + }
1898 + }
1899 + }
1900 + },
1901 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent": {
1902 + "get": {
1903 + "tags": [
1904 + "Customer"
1905 + ],
1906 + "summary": "Get the underlying Consent resources.",
1907 + "description": "Underlying resources that display information or enable registration of a customer's consent.",
1908 + "parameters": [
1909 + {
1910 + "name": "ownerNo",
1911 + "in": "path",
1912 + "required": true,
1913 + "schema": {
1914 + "type": "string"
1915 + }
1916 + },
1917 + {
1918 + "name": "customerNo",
1919 + "in": "path",
1920 + "required": true,
1921 + "schema": {
1922 + "type": "string"
1923 + }
1924 + }
1925 + ],
1926 + "responses": {
1927 + "200": {
1928 + "description": "OK",
1929 + "content": {
1930 + "application/json": {
1931 + "schema": {
1932 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.ConsentResource"
1933 + },
1934 + "examples": {
1935 + "OK": {
1936 + "description": "Get customer consent",
1937 + "value": "{\r\n \"recurringCard\": \"/ledger/customer/v1/xxx/customers/yyy/consent/recurring-card\",\r\n \"recurringCardRedirectRegistration\": \"/ledger/customer/v1/xxx/customers/yyy/consent/recurring-card-redirect-registration\",\r\n \"trustedSellerGroups\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups\",\r\n \"availableTrustedSellerGroupConsents\": [],\r\n \"operations\": [\r\n {\r\n \"rel\": \"add-trusted-seller-group\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups\"\r\n },\r\n {\r\n \"rel\": \"add-recurring-card-redirect-registration\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/recurring-card-redirect-registration\"\r\n }\r\n ]\r\n}"
1938 + }
1939 + }
1940 + }
1941 + }
1942 + }
1943 + }
1944 + }
1945 + },
1946 + "/ledger/customer/v1/{ownerNo}/find-customer": {
1947 + "post": {
1948 + "tags": [
1949 + "Customer"
1950 + ],
1951 + "summary": "Find customer by nationalIdentifier",
1952 + "description": " It is used to find customer with nationalIdentifier.",
1953 + "parameters": [
1954 + {
1955 + "name": "ownerNo",
1956 + "in": "path",
1957 + "required": true,
1958 + "schema": {
1959 + "type": "string"
1960 + }
1961 + }
1962 + ],
1963 + "requestBody": {
1964 + "content": {
1965 + "application/json": {
1966 + "schema": {
1967 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Domain.FindCustomer.External.ApiResources.FindCustomerResource"
1968 + },
1969 + "example": "{\r\n \"nationalIdentifier\": {\r\n \"regNo\": \"YYYYMMDD-NNNN\",\r\n \"countryCode\": \"SE\"\r\n }\r\n}"
1970 + }
1971 + }
1972 + },
1973 + "responses": {
1974 + "200": {
1975 + "description": "OK",
1976 + "content": {
1977 + "application/json": {
1978 + "schema": {
1979 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Domain.FindCustomer.External.ApiResources.Results.FindCustomerResult"
1980 + },
1981 + "examples": {
1982 + "OK": {
1983 + "description": "Find customer with nationalIdentifier, regno and countrycode, returns CustomerNo = YYY",
1984 + "value": "{\r\n \"customerNo\": \"YYY\"\r\n}"
1985 + }
1986 + }
1987 + }
1988 + }
1989 + },
1990 + "500": {
1991 + "description": "InternalServerError",
1992 + "content": {
1993 + "application/json": {
1994 + "examples": {
1995 + "internal-server-error": {
1996 + "description": "The requested resource '' could not be processed. Please contact support.",
1997 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1998 + },
1999 + "handled-exception": {
2000 + "description": "The requested resource '' could not be processed. Please contact support.",
2001 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2002 + },
2003 + "unhandled-exception": {
2004 + "description": "The requested resource '' could not be processed. Please contact support.",
2005 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2006 + }
2007 + }
2008 + }
2009 + }
2010 + },
2011 + "400": {
2012 + "description": "BadRequest",
2013 + "content": {
2014 + "application/json": {
2015 + "examples": {
2016 + "general-validation-error": {
2017 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
2018 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2019 + },
2020 + "validation": {
2021 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
2022 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2023 + },
2024 + "invalid-reg-no": {
2025 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
2026 + "value": "{\r\n \"type\": \"invalid-reg-no\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2027 + }
2028 + }
2029 + }
2030 + }
2031 + },
2032 + "404": {
2033 + "description": "NotFound",
2034 + "content": {
2035 + "application/json": {
2036 + "examples": {
2037 + "customer-does-not-exists": {
2038 + "description": "The requested resource '' was not found.",
2039 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2040 + },
2041 + "customer-not-found": {
2042 + "description": "The requested resource '' was not found.",
2043 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2044 + }
2045 + }
2046 + }
2047 + }
2048 + }
2049 + }
2050 + }
2051 + },
2052 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent/recurring-card": {
2053 + "get": {
2054 + "tags": [
2055 + "Customer"
2056 + ],
2057 + "summary": "Get customer active Recurring Card Consent.",
2058 + "description": "Get details about the customer's active Recurring Card Consent.",
2059 + "parameters": [
2060 + {
2061 + "name": "ownerNo",
2062 + "in": "path",
2063 + "required": true,
2064 + "schema": {
2065 + "type": "string"
2066 + }
2067 + },
2068 + {
2069 + "name": "customerNo",
2070 + "in": "path",
2071 + "required": true,
2072 + "schema": {
2073 + "type": "string"
2074 + }
2075 + }
2076 + ],
2077 + "responses": {
2078 + "200": {
2079 + "description": "OK",
2080 + "content": {
2081 + "application/json": {
2082 + "schema": {
2083 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.SingleResources.RecurringCard.RecurringCardResource"
2084 + },
2085 + "examples": {
2086 + "OK": {
2087 + "description": "Get customer active Recurring Card Consent.",
2088 + "value": "{\r\n \"cardToken\": \"2eb28854-07ec-4e88-b672-7c61cc54b461\",\r\n \"consentExpiryDate\": \"04-2035\",\r\n \"instrumentDisplayName\": \"551000******1232\",\r\n \"cardExpiryDate\": \"04/2035\",\r\n \"cardBrand\": \"Visa\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"delete-recurring-card\",\r\n \"method\": \"DELETE\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/recurring-card\"\r\n }\r\n ]\r\n}"
2089 + }
2090 + }
2091 + }
2092 + }
2093 + }
2094 + }
2095 + },
2096 + "delete": {
2097 + "tags": [
2098 + "Customer"
2099 + ],
2100 + "summary": "Delete customer active Recurring Card Consent.",
2101 + "description": "Delete the customer's active Recurring Card Consent.",
2102 + "parameters": [
2103 + {
2104 + "name": "ownerNo",
2105 + "in": "path",
2106 + "required": true,
2107 + "schema": {
2108 + "type": "string"
2109 + }
2110 + },
2111 + {
2112 + "name": "customerNo",
2113 + "in": "path",
2114 + "required": true,
2115 + "schema": {
2116 + "type": "string"
2117 + }
2118 + }
2119 + ],
2120 + "responses": {
2121 + "204": {
2122 + "description": "No Content",
2123 + "content": {
2124 + "application/json": {
2125 + "schema": {
2126 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
2127 + }
2128 + }
2129 + }
2130 + }
2131 + }
2132 + }
2133 + },
2134 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent/recurring-card-redirect-registration": {
2135 + "get": {
2136 + "tags": [
2137 + "Customer"
2138 + ],
2139 + "summary": "Get Recurring Card registration.",
2140 + "description": "Get details about the customer's ongoing Recurring Card registration.",
2141 + "parameters": [
2142 + {
2143 + "name": "ownerNo",
2144 + "in": "path",
2145 + "required": true,
2146 + "schema": {
2147 + "type": "string"
2148 + }
2149 + },
2150 + {
2151 + "name": "customerNo",
2152 + "in": "path",
2153 + "required": true,
2154 + "schema": {
2155 + "type": "string"
2156 + }
2157 + }
2158 + ],
2159 + "responses": {
2160 + "200": {
2161 + "description": "OK",
2162 + "content": {
2163 + "application/json": {
2164 + "schema": {
2165 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationResource"
2166 + },
2167 + "examples": {
2168 + "OK": {
2169 + "description": "Customer's ongoing Recurring Card Registration.",
2170 + "value": "{\r\n \"redirectUrl\": \"https://ecom.externalintegration.payex.com/checkout/abc123\",\r\n \"status\": \"Initialized\",\r\n \"operations\": []\r\n}"
2171 + }
2172 + }
2173 + }
2174 + }
2175 + }
2176 + }
2177 + },
2178 + "post": {
2179 + "tags": [
2180 + "Customer"
2181 + ],
2182 + "summary": "Start a Recurring Card registration.",
2183 + "description": "Initializes the customer's Recurring Card registration with redirect to SwedbankPay.",
2184 + "parameters": [
2185 + {
2186 + "name": "ownerNo",
2187 + "in": "path",
2188 + "required": true,
2189 + "schema": {
2190 + "type": "string"
2191 + }
2192 + },
2193 + {
2194 + "name": "customerNo",
2195 + "in": "path",
2196 + "required": true,
2197 + "schema": {
2198 + "type": "string"
2199 + }
2200 + }
2201 + ],
2202 + "requestBody": {
2203 + "content": {
2204 + "application/json": {
2205 + "schema": {
2206 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationRequest"
2207 + },
2208 + "example": "{\r\n \"completeUrl\": \"https://www.google.com/search?q=cancelurl\",\r\n \"cancelUrl\": \"https://www.google.com/search?q=completeurl\",\r\n \"language\": \"en-US\"\r\n}"
2209 + },
2210 + "text/json": {
2211 + "schema": {
2212 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationRequest"
2213 + }
2214 + },
2215 + "application/*+json": {
2216 + "schema": {
2217 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationRequest"
2218 + }
2219 + }
2220 + }
2221 + },
2222 + "responses": {
2223 + "200": {
2224 + "description": "OK",
2225 + "content": {
2226 + "application/json": {
2227 + "schema": {
2228 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationResource"
2229 + },
2230 + "examples": {
2231 + "OK": {
2232 + "description": "Customer's ongoing Recurring Card Registration.",
2233 + "value": "{\r\n \"redirectUrl\": \"https://ecom.externalintegration.payex.com/checkout/abc123\",\r\n \"status\": \"Initialized\",\r\n \"operations\": [],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/consent/recurring-card-redirect-registration\"\r\n}"
2234 + }
2235 + }
2236 + }
2237 + }
2238 + }
2239 + }
2240 + }
2241 + }
2242 + },
2243 + "components": {
2244 + "schemas": {
2245 + "PayEx.AR.Customer.Api.Domain.FindCustomer.External.ApiResources.ComplexTypes.NationalIdentifier": {
2246 + "required": [
2247 + "regNo"
2248 + ],
2249 + "type": "object",
2250 + "properties": {
2251 + "regNo": {
2252 + "minLength": 1,
2253 + "type": "string"
2254 + },
2255 + "countryCode": {
2256 + "type": "string",
2257 + "nullable": true
2258 + }
2259 + },
2260 + "additionalProperties": false
2261 + },
2262 + "PayEx.AR.Customer.Api.Domain.FindCustomer.External.ApiResources.FindCustomerResource": {
2263 + "type": "object",
2264 + "properties": {
2265 + "@id": {
2266 + "type": "string",
2267 + "nullable": true
2268 + },
2269 + "nationalIdentifier": {
2270 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Domain.FindCustomer.External.ApiResources.ComplexTypes.NationalIdentifier"
2271 + }
2272 + },
2273 + "additionalProperties": false
2274 + },
2275 + "PayEx.AR.Customer.Api.Domain.FindCustomer.External.ApiResources.Results.FindCustomerResult": {
2276 + "type": "object",
2277 + "properties": {
2278 + "@id": {
2279 + "type": "string",
2280 + "nullable": true
2281 + },
2282 + "customerNo": {
2283 + "type": "string",
2284 + "nullable": true
2285 + }
2286 + },
2287 + "additionalProperties": false
2288 + },
2289 + "PayEx.AR.Customer.Api.Entity.Answer": {
2290 + "required": [
2291 + "answerCode",
2292 + "questionCode"
2293 + ],
2294 + "type": "object",
2295 + "properties": {
2296 + "questionCode": {
2297 + "minLength": 1,
2298 + "type": "string",
2299 + "description": "The code definition of the question"
2300 + },
2301 + "answerCode": {
2302 + "minLength": 1,
2303 + "type": "string",
2304 + "description": "The code definition of the answer"
2305 + }
2306 + },
2307 + "additionalProperties": false
2308 + },
2309 + "PayEx.AR.Customer.Api.Entity.AnswerBase": {
2310 + "required": [
2311 + "possibleAnswers",
2312 + "required",
2313 + "textValidationRegEx",
2314 + "type"
2315 + ],
2316 + "type": "object",
2317 + "properties": {
2318 + "type": {
2319 + "minLength": 1,
2320 + "type": "string",
2321 + "description": "The type of the expected answer: single | multi | text"
2322 + },
2323 + "required": {
2324 + "type": "boolean",
2325 + "description": "If the answer is required"
2326 + },
2327 + "textValidationRegEx": {
2328 + "minLength": 1,
2329 + "type": "string",
2330 + "description": "The regex the answer should match"
2331 + },
2332 + "possibleAnswers": {
2333 + "type": "array",
2334 + "items": {
2335 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.PossibleAnswer"
2336 + },
2337 + "description": "The definitions of possible answers"
2338 + }
2339 + },
2340 + "additionalProperties": false
2341 + },
2342 + "PayEx.AR.Customer.Api.Entity.PossibleAnswer": {
2343 + "required": [
2344 + "answerCode",
2345 + "answerText"
2346 + ],
2347 + "type": "object",
2348 + "properties": {
2349 + "answerCode": {
2350 + "minLength": 1,
2351 + "type": "string",
2352 + "description": "The code definition of the answer"
2353 + },
2354 + "answerText": {
2355 + "minLength": 1,
2356 + "type": "string",
2357 + "description": "The translated text of the answer"
2358 + },
2359 + "subQuestions": {
2360 + "type": "array",
2361 + "items": {
2362 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.Question"
2363 + },
2364 + "description": "The subquestions connected to an answer",
2365 + "nullable": true
2366 + }
2367 + },
2368 + "additionalProperties": false
2369 + },
2370 + "PayEx.AR.Customer.Api.Entity.Question": {
2371 + "required": [
2372 + "answer",
2373 + "questionCode",
2374 + "questionText"
2375 + ],
2376 + "type": "object",
2377 + "properties": {
2378 + "questionCode": {
2379 + "minLength": 1,
2380 + "type": "string",
2381 + "description": "The code definition of the question"
2382 + },
2383 + "questionText": {
2384 + "minLength": 1,
2385 + "type": "string",
2386 + "description": "The translated text of the question"
2387 + },
2388 + "answer": {
2389 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.AnswerBase"
2390 + }
2391 + },
2392 + "additionalProperties": false
2393 + },
2394 + "PayEx.LF.Api.Common.RepositoryResources.IOperation": {
2395 + "type": "object",
2396 + "properties": {
2397 + "rel": {
2398 + "type": "string",
2399 + "nullable": true,
2400 + "readOnly": true
2401 + },
2402 + "method": {
2403 + "type": "string",
2404 + "nullable": true,
2405 + "readOnly": true
2406 + },
2407 + "href": {
2408 + "type": "string",
2409 + "nullable": true
2410 + }
2411 + },
2412 + "additionalProperties": false
2413 + },
2414 + "PayEx.LF.Api.Common.RepositoryResources.NavigationView": {
2415 + "required": [
2416 + "@id",
2417 + "first",
2418 + "next",
2419 + "previous"
2420 + ],
2421 + "type": "object",
2422 + "properties": {
2423 + "@id": {
2424 + "minLength": 1,
2425 + "type": "string",
2426 + "description": "The current result view.",
2427 + "format": "uri"
2428 + },
2429 + "first": {
2430 + "minLength": 1,
2431 + "type": "string",
2432 + "description": "Link to the first results.",
2433 + "format": "uri"
2434 + },
2435 + "previous": {
2436 + "minLength": 1,
2437 + "type": "string",
2438 + "description": "Link to the previous results.",
2439 + "format": "uri"
2440 + },
2441 + "next": {
2442 + "minLength": 1,
2443 + "type": "string",
2444 + "description": "Link to the next results.",
2445 + "format": "uri"
2446 + }
2447 + },
2448 + "additionalProperties": false
2449 + },
2450 + "PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult": {
2451 + "type": "object",
2452 + "additionalProperties": false
2453 + },
2454 + "V1.Customers.CreateAddressResource": {
2455 + "type": "object",
2456 + "properties": {
2457 + "addressee": {
2458 + "type": "string",
2459 + "nullable": true
2460 + },
2461 + "streetAddress": {
2462 + "type": "string",
2463 + "nullable": true
2464 + },
2465 + "zipCode": {
2466 + "type": "string",
2467 + "nullable": true
2468 + },
2469 + "city": {
2470 + "type": "string",
2471 + "nullable": true
2472 + },
2473 + "coAddress": {
2474 + "type": "string",
2475 + "nullable": true
2476 + },
2477 + "countryCode": {
2478 + "type": "string",
2479 + "nullable": true
2480 + }
2481 + },
2482 + "additionalProperties": false
2483 + },
2484 + "V1.Customers.CreateCustomerResource": {
2485 + "type": "object",
2486 + "properties": {
2487 + "customerNo": {
2488 + "type": "string",
2489 + "nullable": true
2490 + },
2491 + "ediAddressInfo": {
2492 + "$ref": "#/components/schemas/V1.Customers.EDIAddressInfo"
2493 + },
2494 + "emailAddress": {
2495 + "type": "string",
2496 + "nullable": true
2497 + },
2498 + "legalAddress": {
2499 + "$ref": "#/components/schemas/V1.Customers.CreateAddressResource"
2500 + },
2501 + "billingAddress": {
2502 + "$ref": "#/components/schemas/V1.Customers.CreateAddressResource"
2503 + },
2504 + "legalEntity": {
2505 + "type": "string",
2506 + "nullable": true
2507 + },
2508 + "msisdn": {
2509 + "type": "string",
2510 + "nullable": true
2511 + },
2512 + "name": {
2513 + "type": "string",
2514 + "nullable": true
2515 + },
2516 + "nationalIdentifier": {
2517 + "$ref": "#/components/schemas/V1.Customers.NationalIdentifier"
2518 + },
2519 + "protectedIdentity": {
2520 + "type": "boolean"
2521 + },
2522 + "preferredLanguageCode": {
2523 + "type": "string",
2524 + "nullable": true
2525 + },
2526 + "vatNo": {
2527 + "type": "string",
2528 + "nullable": true
2529 + },
2530 + "distributionType": {
2531 + "type": "string",
2532 + "nullable": true
2533 + },
2534 + "taxIdentificationNumber": {
2535 + "type": "string",
2536 + "nullable": true
2537 + }
2538 + },
2539 + "additionalProperties": false
2540 + },
2541 + "V1.Customers.CustomersCreatedResource": {
2542 + "type": "object",
2543 + "properties": {
2544 + "@id": {
2545 + "type": "string",
2546 + "nullable": true
2547 + },
2548 + "customerNo": {
2549 + "type": "string",
2550 + "nullable": true
2551 + }
2552 + },
2553 + "additionalProperties": false
2554 + },
2555 + "V1.Customers.CustomersResource": {
2556 + "type": "object",
2557 + "properties": {
2558 + "@id": {
2559 + "type": "string",
2560 + "nullable": true
2561 + },
2562 + "customerNo": {
2563 + "type": "string",
2564 + "nullable": true
2565 + },
2566 + "nationalIdentifier": {
2567 + "$ref": "#/components/schemas/V1.Customers.NationalIdentifier"
2568 + },
2569 + "vatNo": {
2570 + "type": "string",
2571 + "nullable": true
2572 + },
2573 + "legalEntity": {
2574 + "type": "string",
2575 + "nullable": true
2576 + },
2577 + "name": {
2578 + "type": "string",
2579 + "nullable": true
2580 + },
2581 + "emailAddress": {
2582 + "type": "string",
2583 + "nullable": true
2584 + },
2585 + "protectedIdentity": {
2586 + "type": "boolean"
2587 + },
2588 + "preferredLanguageCode": {
2589 + "type": "string",
2590 + "nullable": true
2591 + },
2592 + "legalStatus": {
2593 + "type": "string",
2594 + "nullable": true
2595 + },
2596 + "msisdn": {
2597 + "type": "string",
2598 + "nullable": true
2599 + },
2600 + "activeConsents": {
2601 + "type": "array",
2602 + "items": {
2603 + "type": "string"
2604 + },
2605 + "nullable": true
2606 + },
2607 + "ediAddressInfo": {
2608 + "$ref": "#/components/schemas/V1.Customers.EDIAddressInfo"
2609 + },
2610 + "surpluses": {
2611 + "nullable": true
2612 + },
2613 + "legalAddress": {
2614 + "nullable": true
2615 + },
2616 + "billingAddress": {
2617 + "nullable": true
2618 + },
2619 + "consent": {
2620 + "nullable": true
2621 + },
2622 + "distributionType": {
2623 + "type": "string",
2624 + "nullable": true
2625 + },
2626 + "operations": {
2627 + "type": "array",
2628 + "items": {
2629 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
2630 + },
2631 + "nullable": true
2632 + },
2633 + "taxIdentificationNumber": {
2634 + "type": "string",
2635 + "nullable": true
2636 + }
2637 + },
2638 + "additionalProperties": false
2639 + },
2640 + "V1.Customers.EDIAddressInfo": {
2641 + "type": "object",
2642 + "properties": {
2643 + "van": {
2644 + "type": "string",
2645 + "nullable": true
2646 + },
2647 + "interChangeRecipient": {
2648 + "type": "string",
2649 + "nullable": true
2650 + },
2651 + "buyerId": {
2652 + "type": "string",
2653 + "nullable": true
2654 + }
2655 + },
2656 + "additionalProperties": false
2657 + },
2658 + "V1.Customers.NationalIdentifier": {
2659 + "required": [
2660 + "countryCode",
2661 + "regNo"
2662 + ],
2663 + "type": "object",
2664 + "properties": {
2665 + "regNo": {
2666 + "minLength": 1,
2667 + "type": "string"
2668 + },
2669 + "countryCode": {
2670 + "minLength": 1,
2671 + "pattern": "^[A-Z]{2}$",
2672 + "type": "string"
2673 + }
2674 + },
2675 + "additionalProperties": false
2676 + },
2677 + "V1.Customers.Operations.UpdateKycAnswers.UpdateKycAnswersRequest": {
2678 + "required": [
2679 + "answers"
2680 + ],
2681 + "type": "object",
2682 + "properties": {
2683 + "answers": {
2684 + "type": "array",
2685 + "items": {
2686 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.Answer"
2687 + },
2688 + "description": "The answers to corresponding questions"
2689 + }
2690 + },
2691 + "additionalProperties": false
2692 + },
2693 + "V1.Customers.SingleResources.AddressRequest": {
2694 + "type": "object",
2695 + "properties": {
2696 + "addressee": {
2697 + "type": "string",
2698 + "nullable": true
2699 + },
2700 + "streetAddress": {
2701 + "type": "string",
2702 + "nullable": true
2703 + },
2704 + "zipCode": {
2705 + "type": "string",
2706 + "nullable": true
2707 + },
2708 + "city": {
2709 + "type": "string",
2710 + "nullable": true
2711 + },
2712 + "coAddress": {
2713 + "type": "string",
2714 + "nullable": true
2715 + },
2716 + "countryCode": {
2717 + "type": "string",
2718 + "nullable": true
2719 + }
2720 + },
2721 + "additionalProperties": false
2722 + },
2723 + "V1.Customers.SingleResources.AddressResource": {
2724 + "type": "object",
2725 + "properties": {
2726 + "@id": {
2727 + "type": "string",
2728 + "nullable": true
2729 + },
2730 + "addressee": {
2731 + "type": "string",
2732 + "nullable": true
2733 + },
2734 + "streetAddress": {
2735 + "type": "string",
2736 + "nullable": true
2737 + },
2738 + "zipCode": {
2739 + "type": "string",
2740 + "nullable": true
2741 + },
2742 + "city": {
2743 + "type": "string",
2744 + "nullable": true
2745 + },
2746 + "coAddress": {
2747 + "type": "string",
2748 + "nullable": true
2749 + },
2750 + "countryCode": {
2751 + "type": "string",
2752 + "nullable": true
2753 + },
2754 + "operations": {
2755 + "type": "array",
2756 + "items": {
2757 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
2758 + },
2759 + "nullable": true
2760 + }
2761 + },
2762 + "additionalProperties": false
2763 + },
2764 + "V1.Customers.SingleResources.Consent.ConsentResource": {
2765 + "type": "object",
2766 + "properties": {
2767 + "@id": {
2768 + "type": "string",
2769 + "nullable": true
2770 + },
2771 + "recurringCard": {
2772 + "nullable": true
2773 + },
2774 + "recurringCardRedirectRegistration": {
2775 + "nullable": true
2776 + },
2777 + "trustedSellerGroups": {
2778 + "nullable": true
2779 + },
2780 + "availableTrustedSellerGroupConsents": {
2781 + "type": "array",
2782 + "items": {
2783 + "type": "string"
2784 + },
2785 + "nullable": true
2786 + },
2787 + "operations": {
2788 + "type": "array",
2789 + "items": {
2790 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
2791 + },
2792 + "nullable": true
2793 + }
2794 + },
2795 + "additionalProperties": false
2796 + },
2797 + "V1.Customers.SingleResources.Consent.SingleResources.RecurringCard.RecurringCardResource": {
2798 + "type": "object",
2799 + "properties": {
2800 + "@id": {
2801 + "type": "string",
2802 + "nullable": true
2803 + },
2804 + "cardToken": {
2805 + "type": "string",
2806 + "nullable": true
2807 + },
2808 + "consentExpiryDate": {
2809 + "type": "string",
2810 + "nullable": true
2811 + },
2812 + "instrumentDisplayName": {
2813 + "type": "string",
2814 + "nullable": true
2815 + },
2816 + "cardExpiryDate": {
2817 + "type": "string",
2818 + "nullable": true
2819 + },
2820 + "cardBrand": {
2821 + "type": "string",
2822 + "nullable": true
2823 + },
2824 + "operations": {
2825 + "type": "array",
2826 + "items": {
2827 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
2828 + },
2829 + "nullable": true
2830 + }
2831 + },
2832 + "additionalProperties": false
2833 + },
2834 + "V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationRequest": {
2835 + "required": [
2836 + "cancelUrl",
2837 + "completeUrl",
2838 + "language"
2839 + ],
2840 + "type": "object",
2841 + "properties": {
2842 + "completeUrl": {
2843 + "minLength": 1,
2844 + "type": "string",
2845 + "format": "uri"
2846 + },
2847 + "cancelUrl": {
2848 + "minLength": 1,
2849 + "type": "string",
2850 + "format": "uri"
2851 + },
2852 + "language": {
2853 + "minLength": 1,
2854 + "type": "string"
2855 + }
2856 + },
2857 + "additionalProperties": false
2858 + },
2859 + "V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationResource": {
2860 + "type": "object",
2861 + "properties": {
2862 + "@id": {
2863 + "type": "string",
2864 + "nullable": true
2865 + },
2866 + "redirectUrl": {
2867 + "type": "string",
2868 + "nullable": true
2869 + },
2870 + "status": {
2871 + "type": "string",
2872 + "nullable": true
2873 + },
2874 + "operations": {
2875 + "type": "array",
2876 + "items": {
2877 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
2878 + },
2879 + "nullable": true
2880 + }
2881 + },
2882 + "additionalProperties": false
2883 + },
2884 + "V1.Customers.SingleResources.Consent.TrustedSellerGroups.ApplicationDocument": {
2885 + "required": [
2886 + "content",
2887 + "fileType"
2888 + ],
2889 + "type": "object",
2890 + "properties": {
2891 + "content": {
2892 + "minLength": 1,
2893 + "type": "string",
2894 + "description": "A base64 encoded string representing the content of the document."
2895 + },
2896 + "fileType": {
2897 + "minLength": 1,
2898 + "pattern": "(?i)^(pdf|txt|json|xml)$",
2899 + "type": "string",
2900 + "description": "The file type of the document. Supported file types are: pdf, txt, json and xml. The validation is case insensitive."
2901 + }
2902 + },
2903 + "additionalProperties": false
2904 + },
2905 + "V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsPostRequest": {
2906 + "required": [
2907 + "applicationDocument",
2908 + "consentType"
2909 + ],
2910 + "type": "object",
2911 + "properties": {
2912 + "consentType": {
2913 + "minLength": 1,
2914 + "type": "string",
2915 + "description": "Name of the Consent Type"
2916 + },
2917 + "applicationDocument": {
2918 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.ApplicationDocument"
2919 + }
2920 + },
2921 + "additionalProperties": false
2922 + },
2923 + "V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsResource": {
2924 + "type": "object",
2925 + "properties": {
2926 + "@id": {
2927 + "type": "string",
2928 + "nullable": true
2929 + },
2930 + "consentType": {
2931 + "type": "string",
2932 + "nullable": true
2933 + },
2934 + "operations": {
2935 + "type": "array",
2936 + "items": {
2937 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
2938 + },
2939 + "nullable": true
2940 + }
2941 + },
2942 + "additionalProperties": false
2943 + },
2944 + "V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsResourceListResult": {
2945 + "type": "object",
2946 + "properties": {
2947 + "items": {
2948 + "type": "array",
2949 + "items": {
2950 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsResource"
2951 + },
2952 + "nullable": true
2953 + },
2954 + "navigation": {
2955 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.NavigationView"
2956 + }
2957 + },
2958 + "additionalProperties": false
2959 + },
2960 + "V1.Customers.Surpluses.ActiveDisbursementOrders.ActiveDisbursementOrdersResource": {
2961 + "type": "object",
2962 + "properties": {
2963 + "@id": {
2964 + "type": "string",
2965 + "nullable": true
2966 + },
2967 + "activeDisbursementOrdersId": {
2968 + "type": "string",
2969 + "nullable": true
2970 + },
2971 + "operations": {
2972 + "type": "array",
2973 + "items": {
2974 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
2975 + },
2976 + "nullable": true
2977 + },
2978 + "norwegianBankAccount": {
2979 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.NorwegianBankAccount"
2980 + },
2981 + "swedishBankAccount": {
2982 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.SwedishBankAccount"
2983 + },
2984 + "international": {
2985 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.International"
2986 + },
2987 + "swedishSus": {
2988 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.SwedishSus"
2989 + }
2990 + },
2991 + "additionalProperties": false
2992 + },
2993 + "V1.Customers.Surpluses.ActiveDisbursementOrders.ActiveDisbursementOrdersResourceListResult": {
2994 + "type": "object",
2995 + "properties": {
2996 + "items": {
2997 + "type": "array",
2998 + "items": {
2999 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.ActiveDisbursementOrdersResource"
3000 + },
3001 + "nullable": true
3002 + },
3003 + "navigation": {
3004 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.NavigationView"
3005 + }
3006 + },
3007 + "additionalProperties": false
3008 + },
3009 + "V1.Customers.Surpluses.ActiveDisbursementOrders.Address": {
3010 + "type": "object",
3011 + "properties": {
3012 + "addressee": {
3013 + "type": "string",
3014 + "nullable": true
3015 + },
3016 + "streetAddress": {
3017 + "type": "string",
3018 + "nullable": true
3019 + },
3020 + "city": {
3021 + "type": "string",
3022 + "nullable": true
3023 + },
3024 + "zipCode": {
3025 + "type": "string",
3026 + "nullable": true
3027 + },
3028 + "countryCode": {
3029 + "type": "string",
3030 + "nullable": true
3031 + },
3032 + "coAddress": {
3033 + "type": "string",
3034 + "nullable": true
3035 + }
3036 + },
3037 + "additionalProperties": false
3038 + },
3039 + "V1.Customers.Surpluses.ActiveDisbursementOrders.International": {
3040 + "required": [
3041 + "bic",
3042 + "iban"
3043 + ],
3044 + "type": "object",
3045 + "properties": {
3046 + "iban": {
3047 + "maxLength": 34,
3048 + "minLength": 0,
3049 + "type": "string"
3050 + },
3051 + "bic": {
3052 + "maxLength": 11,
3053 + "minLength": 0,
3054 + "type": "string"
3055 + }
3056 + },
3057 + "additionalProperties": false
3058 + },
3059 + "V1.Customers.Surpluses.ActiveDisbursementOrders.NationalIdentifier": {
3060 + "type": "object",
3061 + "properties": {
3062 + "regNo": {
3063 + "type": "string",
3064 + "nullable": true
3065 + },
3066 + "countryCode": {
3067 + "type": "string",
3068 + "nullable": true
3069 + }
3070 + },
3071 + "additionalProperties": false
3072 + },
3073 + "V1.Customers.Surpluses.ActiveDisbursementOrders.NorwegianBankAccount": {
3074 + "required": [
3075 + "accountNo"
3076 + ],
3077 + "type": "object",
3078 + "properties": {
3079 + "accountNo": {
3080 + "maxLength": 11,
3081 + "minLength": 0,
3082 + "type": "string"
3083 + }
3084 + },
3085 + "additionalProperties": false
3086 + },
3087 + "V1.Customers.Surpluses.ActiveDisbursementOrders.SwedishBankAccount": {
3088 + "required": [
3089 + "accountNo",
3090 + "accountType"
3091 + ],
3092 + "type": "object",
3093 + "properties": {
3094 + "accountNo": {
3095 + "maxLength": 20,
3096 + "minLength": 0,
3097 + "type": "string"
3098 + },
3099 + "accountType": {
3100 + "maxLength": 4,
3101 + "minLength": 0,
3102 + "type": "string"
3103 + }
3104 + },
3105 + "additionalProperties": false
3106 + },
3107 + "V1.Customers.Surpluses.ActiveDisbursementOrders.SwedishSus": {
3108 + "type": "object",
3109 + "properties": {
3110 + "nationalIdentifier": {
3111 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.NationalIdentifier"
3112 + },
3113 + "address": {
3114 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.Address"
3115 + }
3116 + },
3117 + "additionalProperties": false
3118 + },
3119 + "V1.Customers.Surpluses.Operations.AddDisbursementOrderRequest": {
3120 + "type": "object",
3121 + "properties": {
3122 + "@id": {
3123 + "type": "string",
3124 + "nullable": true
3125 + },
3126 + "activeDisbursementOrdersId": {
3127 + "type": "string",
3128 + "nullable": true
3129 + },
3130 + "norwegianBankAccount": {
3131 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.NorwegianBankAccount"
3132 + },
3133 + "swedishBankAccount": {
3134 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.SwedishBankAccount"
3135 + },
3136 + "international": {
3137 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.International"
3138 + },
3139 + "swedishSus": {
3140 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.SwedishSus"
3141 + }
3142 + },
3143 + "additionalProperties": false
3144 + },
3145 + "V1.Customers.Surpluses.SurplusesResource": {
3146 + "type": "object",
3147 + "properties": {
3148 + "@id": {
3149 + "type": "string",
3150 + "nullable": true
3151 + },
3152 + "surplusId": {
3153 + "type": "string",
3154 + "nullable": true
3155 + },
3156 + "balance": {
3157 + "type": "number",
3158 + "format": "double"
3159 + },
3160 + "currency": {
3161 + "type": "string",
3162 + "nullable": true
3163 + },
3164 + "date": {
3165 + "type": "string",
3166 + "format": "date-time"
3167 + },
3168 + "status": {
3169 + "type": "string",
3170 + "nullable": true
3171 + },
3172 + "invoice": {
3173 + "type": "string",
3174 + "nullable": true
3175 + },
3176 + "account": {
3177 + "type": "string",
3178 + "nullable": true
3179 + },
3180 + "activeDisbursementOrders": {
3181 + "nullable": true
3182 + },
3183 + "operations": {
3184 + "type": "array",
3185 + "items": {
3186 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
3187 + },
3188 + "nullable": true
3189 + }
3190 + },
3191 + "additionalProperties": false
3192 + },
3193 + "V1.Customers.Surpluses.SurplusesResourceListResult": {
3194 + "type": "object",
3195 + "properties": {
3196 + "items": {
3197 + "type": "array",
3198 + "items": {
3199 + "$ref": "#/components/schemas/V1.Customers.Surpluses.SurplusesResource"
3200 + },
3201 + "nullable": true
3202 + },
3203 + "navigation": {
3204 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.NavigationView"
3205 + }
3206 + },
3207 + "additionalProperties": false
3208 + },
3209 + "V1.GenerateConsumerCustomerByRegNo.GenerateConsumerResource": {
3210 + "type": "object",
3211 + "properties": {
3212 + "@id": {
3213 + "type": "string",
3214 + "nullable": true
3215 + },
3216 + "nationalIdentifier": {
3217 + "$ref": "#/components/schemas/V1.Customers.NationalIdentifier"
3218 + },
3219 + "emailAddress": {
3220 + "type": "string",
3221 + "nullable": true
3222 + },
3223 + "emailAddressSpecified": {
3224 + "type": "boolean"
3225 + },
3226 + "msisdn": {
3227 + "type": "string",
3228 + "nullable": true
3229 + },
3230 + "msisdnSpecified": {
3231 + "type": "boolean"
3232 + },
3233 + "customerNo": {
3234 + "type": "string",
3235 + "nullable": true
3236 + },
3237 + "customerNoSpecified": {
3238 + "type": "boolean"
3239 + },
3240 + "taxIdentificationNumber": {
3241 + "type": "string",
3242 + "nullable": true
3243 + },
3244 + "taxIdentificationNumberSpecified": {
3245 + "type": "boolean"
3246 + }
3247 + },
3248 + "additionalProperties": false
3249 + },
3250 + "V1.GenerateConsumerCustomerByRegNo.GenerateConsumerResult": {
3251 + "type": "object",
3252 + "properties": {
3253 + "@id": {
3254 + "type": "string",
3255 + "nullable": true
3256 + },
3257 + "customerNo": {
3258 + "type": "string",
3259 + "nullable": true
3260 + }
3261 + },
3262 + "additionalProperties": false
3263 + },
3264 + "V1.RootResource.SingleResources.KycQuestions.KycQuestionsResource": {
3265 + "type": "object",
3266 + "properties": {
3267 + "@id": {
3268 + "type": "string",
3269 + "nullable": true
3270 + },
3271 + "kycQuestions": {
3272 + "type": "array",
3273 + "items": {
3274 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.Question"
3275 + },
3276 + "description": "kyc (know your customer). The questions and answers in the example are just examples of what it might look like. ",
3277 + "nullable": true
3278 + },
3279 + "operations": {
3280 + "type": "array",
3281 + "items": {
3282 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
3283 + },
3284 + "nullable": true
3285 + }
3286 + },
3287 + "additionalProperties": false
3288 + }
3289 + }
3290 + }
3291 +}
Swagger_Releases-502848.txt
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.JennyEklund
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content
... ... @@ -1,0 +1,3496 @@
1 +{
2 + "openapi": "3.0.1",
3 + "info": {
4 + "title": "Customer API 1.0",
5 + "description": "",
6 + "contact": {
7 + "name": "Payex"
8 + },
9 + "version": "1.0"
10 + },
11 + "paths": {
12 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}": {
13 + "get": {
14 + "tags": [
15 + "Customer"
16 + ],
17 + "summary": "Get a specific customer",
18 + "description": "Get a customer from ledger using customer number as identifier",
19 + "operationId": "PayEx.AR.Customer.Api.Resources.Customer.V1.Customers.CustomersController_Id_GetSingle",
20 + "parameters": [
21 + {
22 + "name": "ownerNo",
23 + "in": "path",
24 + "required": true,
25 + "schema": {
26 + "type": "string"
27 + }
28 + },
29 + {
30 + "name": "customerNo",
31 + "in": "path",
32 + "required": true,
33 + "schema": {
34 + "maxLength": 50,
35 + "minLength": 0,
36 + "type": "string"
37 + }
38 + }
39 + ],
40 + "responses": {
41 + "200": {
42 + "description": "OK",
43 + "content": {
44 + "application/json": {
45 + "schema": {
46 + "$ref": "#/components/schemas/V1.Customers.CustomersResource"
47 + },
48 + "examples": {
49 + "OK": {
50 + "description": "Get customer",
51 + "value": "{\r\n \"customerNo\": \"YYY\",\r\n \"nationalIdentifier\": {\r\n \"regNo\": \"YYYYMMDD-NNNN\",\r\n \"countryCode\": \"SE\"\r\n },\r\n \"vatNo\": \"SE101010101001\",\r\n \"legalEntity\": \"consumer\",\r\n \"name\": \"Test Testsson\",\r\n \"emailAddress\": \"Test@test.se\",\r\n \"protectedIdentity\": false,\r\n \"preferredLanguageCode\": \"SV\",\r\n \"legalStatus\": \"active\",\r\n \"msisdn\": \"\\u002B467040000000\",\r\n \"activeConsents\": [\r\n \"Betalingsservice\",\r\n \"Avtalegiro\",\r\n \"RecurringCard\"\r\n ],\r\n \"ediAddressInfo\": {\r\n \"van\": \"ABCXYZ\",\r\n \"interChangeRecipient\": \"Recipient_ID1\",\r\n \"buyerId\": \"123465\"\r\n },\r\n \"surpluses\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses\",\r\n \"legalAddress\": \"/ledger/customer/v1/xxx/customers/yyy/legal-address\",\r\n \"billingAddress\": \"/ledger/customer/v1/xxx/customers/yyy/billing-address\",\r\n \"consent\": \"/ledger/customer/v1/xxx/customers/yyy/consent\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"partial-update-customer\",\r\n \"method\": \"PATCH\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy\"\r\n },\r\n {\r\n \"rel\": \"add-billing-address\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/billing-address\"\r\n },\r\n {\r\n \"rel\": \"update-kyc-answers\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/update-kyc-answers\"\r\n }\r\n ],\r\n \"taxIdentificationNumber\": \"1234567890\"\r\n}"
52 + }
53 + }
54 + }
55 + }
56 + },
57 + "500": {
58 + "description": "InternalServerError",
59 + "content": {
60 + "application/json": {
61 + "examples": {
62 + "internal-server-error": {
63 + "description": "The requested resource '' could not be processed. Please contact support.",
64 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
65 + },
66 + "handled-exception": {
67 + "description": "The requested resource '' could not be processed. Please contact support.",
68 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
69 + },
70 + "unhandled-exception": {
71 + "description": "The requested resource '' could not be processed. Please contact support.",
72 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
73 + }
74 + }
75 + }
76 + }
77 + },
78 + "400": {
79 + "description": "BadRequest",
80 + "content": {
81 + "application/json": {
82 + "examples": {
83 + "general-validation-error": {
84 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
85 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
86 + },
87 + "validation": {
88 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
89 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
90 + }
91 + }
92 + }
93 + }
94 + },
95 + "404": {
96 + "description": "NotFound",
97 + "content": {
98 + "application/json": {
99 + "examples": {
100 + "customer-does-not-exists": {
101 + "description": "The requested resource '' was not found.",
102 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
103 + },
104 + "customer-not-found": {
105 + "description": "The requested resource '' was not found.",
106 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
107 + }
108 + }
109 + }
110 + }
111 + }
112 + }
113 + },
114 + "patch": {
115 + "tags": [
116 + "Customer"
117 + ],
118 + "summary": "Update customer",
119 + "description": "Update customer info",
120 + "operationId": "PayEx.AR.Customer.Api.Resources.Customer.V1.Customers.CustomersController_Id_Patch",
121 + "parameters": [
122 + {
123 + "name": "ownerNo",
124 + "in": "path",
125 + "required": true,
126 + "schema": {
127 + "type": "string"
128 + }
129 + },
130 + {
131 + "name": "customerNo",
132 + "in": "path",
133 + "required": true,
134 + "schema": {
135 + "maxLength": 50,
136 + "minLength": 0,
137 + "type": "string"
138 + }
139 + }
140 + ],
141 + "requestBody": {
142 + "content": {
143 + "application/json": {
144 + "schema": { }
145 + }
146 + }
147 + },
148 + "responses": {
149 + "204": {
150 + "description": "No Content",
151 + "content": {
152 + "application/json": {
153 + "schema": {
154 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
155 + }
156 + }
157 + }
158 + },
159 + "500": {
160 + "description": "InternalServerError",
161 + "content": {
162 + "application/json": {
163 + "examples": {
164 + "internal-server-error": {
165 + "description": "The requested resource '' could not be processed. Please contact support.",
166 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
167 + },
168 + "handled-exception": {
169 + "description": "The requested resource '' could not be processed. Please contact support.",
170 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
171 + },
172 + "unhandled-exception": {
173 + "description": "The requested resource '' could not be processed. Please contact support.",
174 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
175 + }
176 + }
177 + }
178 + }
179 + },
180 + "400": {
181 + "description": "BadRequest",
182 + "content": {
183 + "application/json": {
184 + "examples": {
185 + "general-validation-error": {
186 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
187 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
188 + },
189 + "validation": {
190 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
191 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
192 + },
193 + "email-address-invalid": {
194 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
195 + "value": "{\r\n \"type\": \"email-address-invalid\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
196 + }
197 + }
198 + }
199 + }
200 + },
201 + "404": {
202 + "description": "NotFound",
203 + "content": {
204 + "application/json": {
205 + "examples": {
206 + "customer-does-not-exists": {
207 + "description": "The requested resource '' was not found.",
208 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
209 + },
210 + "customer-not-found": {
211 + "description": "The requested resource '' was not found.",
212 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
213 + }
214 + }
215 + }
216 + }
217 + }
218 + }
219 + }
220 + },
221 + "/ledger/customer/v1/{ownerNo}/customers": {
222 + "post": {
223 + "tags": [
224 + "Customer"
225 + ],
226 + "summary": "Create new customer",
227 + "description": "Create a new customer in ledger",
228 + "parameters": [
229 + {
230 + "name": "ownerNo",
231 + "in": "path",
232 + "required": true,
233 + "schema": {
234 + "type": "string"
235 + }
236 + }
237 + ],
238 + "requestBody": {
239 + "content": {
240 + "application/json": {
241 + "schema": {
242 + "$ref": "#/components/schemas/V1.Customers.CreateCustomerResource"
243 + }
244 + }
245 + }
246 + },
247 + "responses": {
248 + "201": {
249 + "description": "Created",
250 + "content": {
251 + "application/json": {
252 + "schema": {
253 + "$ref": "#/components/schemas/V1.Customers.CustomersCreatedResource"
254 + },
255 + "examples": {
256 + "Created": {
257 + "description": "Create a customer response",
258 + "value": "{\r\n \"customerNo\": \"YYY\",\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy\"\r\n}"
259 + }
260 + }
261 + }
262 + }
263 + },
264 + "500": {
265 + "description": "InternalServerError",
266 + "content": {
267 + "application/json": {
268 + "examples": {
269 + "internal-server-error": {
270 + "description": "The requested resource '' could not be processed. Please contact support.",
271 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
272 + },
273 + "handled-exception": {
274 + "description": "The requested resource '' could not be processed. Please contact support.",
275 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
276 + },
277 + "unhandled-exception": {
278 + "description": "The requested resource '' could not be processed. Please contact support.",
279 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
280 + }
281 + }
282 + }
283 + }
284 + },
285 + "400": {
286 + "description": "BadRequest",
287 + "content": {
288 + "application/json": {
289 + "examples": {
290 + "general-validation-error": {
291 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
292 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
293 + },
294 + "validation": {
295 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
296 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
297 + },
298 + "invalid-reg-no": {
299 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
300 + "value": "{\r\n \"type\": \"invalid-reg-no\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
301 + },
302 + "invalid-phone-no": {
303 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
304 + "value": "{\r\n \"type\": \"invalid-phone-no\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
305 + }
306 + }
307 + }
308 + }
309 + },
310 + "422": {
311 + "description": "UnprocessableEntity",
312 + "content": {
313 + "application/json": {
314 + "examples": {
315 + "customer-already-exists": {
316 + "description": "The requested resource '' could not be processed. Customer Already Exists",
317 + "value": "{\r\n \"type\": \"customer-already-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 422,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
318 + }
319 + }
320 + }
321 + }
322 + }
323 + }
324 + }
325 + },
326 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/surpluses/{surplusId}/active-disbursement-orders": {
327 + "post": {
328 + "tags": [
329 + "Customer"
330 + ],
331 + "summary": "Add a disbursement order for surplus",
332 + "description": "Add a disbursement order. Disburses all available funds on surplus account, when disbursement batch is run",
333 + "parameters": [
334 + {
335 + "name": "ownerNo",
336 + "in": "path",
337 + "required": true,
338 + "schema": {
339 + "type": "string"
340 + }
341 + },
342 + {
343 + "name": "customerNo",
344 + "in": "path",
345 + "required": true,
346 + "schema": {
347 + "type": "string"
348 + }
349 + },
350 + {
351 + "name": "surplusId",
352 + "in": "path",
353 + "required": true,
354 + "schema": {
355 + "type": "string"
356 + }
357 + }
358 + ],
359 + "requestBody": {
360 + "content": {
361 + "application/json": {
362 + "schema": {
363 + "$ref": "#/components/schemas/V1.Customers.Surpluses.Operations.AddDisbursementOrderRequest"
364 + },
365 + "example": "{\r\n \"swedishBankAccount\": {\r\n \"accountNo\": \"NNN\",\r\n \"accountType\": \"BGSE | PGSE | BKSE | PKSE\"\r\n }\r\n}"
366 + }
367 + }
368 + },
369 + "responses": {
370 + "204": {
371 + "description": "No Content",
372 + "content": {
373 + "application/json": {
374 + "schema": {
375 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
376 + }
377 + }
378 + }
379 + }
380 + }
381 + },
382 + "get": {
383 + "tags": [
384 + "Customer"
385 + ],
386 + "summary": "list active surpluse disbursement orders",
387 + "description": "list active surpluse disbursement orders pending disbursement batch is run.",
388 + "parameters": [
389 + {
390 + "name": "ownerNo",
391 + "in": "path",
392 + "required": true,
393 + "schema": {
394 + "type": "string"
395 + }
396 + },
397 + {
398 + "name": "customerNo",
399 + "in": "path",
400 + "required": true,
401 + "schema": {
402 + "type": "string"
403 + }
404 + },
405 + {
406 + "name": "surplusId",
407 + "in": "path",
408 + "required": true,
409 + "schema": {
410 + "type": "string"
411 + }
412 + }
413 + ],
414 + "responses": {
415 + "200": {
416 + "description": "OK",
417 + "content": {
418 + "application/json": {
419 + "schema": {
420 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.ActiveDisbursementOrdersResourceListResult"
421 + },
422 + "examples": {
423 + "OK": {
424 + "description": "Get customer billing-address",
425 + "value": "{\r\n \"items\": [\r\n {\r\n \"operations\": [],\r\n \"swedishBankAccount\": {\r\n \"accountNo\": \"1234567890\",\r\n \"accountType\": \"BGSE\"\r\n }\r\n }\r\n ],\r\n \"navigation\": {\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/zzz/active-disbursement-orders\"\r\n }\r\n}"
426 + }
427 + }
428 + }
429 + }
430 + },
431 + "500": {
432 + "description": "InternalServerError",
433 + "content": {
434 + "application/json": {
435 + "examples": {
436 + "internal-server-error": {
437 + "description": "The requested resource '' could not be processed. Please contact support.",
438 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
439 + },
440 + "handled-exception": {
441 + "description": "The requested resource '' could not be processed. Please contact support.",
442 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
443 + },
444 + "unhandled-exception": {
445 + "description": "The requested resource '' could not be processed. Please contact support.",
446 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
447 + }
448 + }
449 + }
450 + }
451 + },
452 + "400": {
453 + "description": "BadRequest",
454 + "content": {
455 + "application/json": {
456 + "examples": {
457 + "general-validation-error": {
458 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
459 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
460 + },
461 + "validation": {
462 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
463 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
464 + }
465 + }
466 + }
467 + }
468 + },
469 + "404": {
470 + "description": "NotFound",
471 + "content": {
472 + "application/json": {
473 + "examples": {
474 + "customer-does-not-exists": {
475 + "description": "The requested resource '' was not found.",
476 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
477 + },
478 + "customer-not-found": {
479 + "description": "The requested resource '' was not found.",
480 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
481 + }
482 + }
483 + }
484 + }
485 + }
486 + }
487 + }
488 + },
489 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/surpluses/{surplusId}": {
490 + "get": {
491 + "tags": [
492 + "Customer"
493 + ],
494 + "summary": "Get single surplus",
495 + "description": "A surplus is the remaining value from a payment that was greater than the current debt, also referred as an 'overpayment'. Each instance of an overpayment will create a new surplus. A surplus will often have a connection to an account or invoice based of where the payment was placed but surpluses without connection to an account or invoice also exist. Surpluses can be used to settle upcoming debt or be disbursed. ",
496 + "operationId": "PayEx.AR.Customer.Api.Resources.Customer.V1.Customers.Surpluses.SurplusesController_Id_GetSingle",
497 + "parameters": [
498 + {
499 + "name": "ownerNo",
500 + "in": "path",
501 + "required": true,
502 + "schema": {
503 + "type": "string"
504 + }
505 + },
506 + {
507 + "name": "customerNo",
508 + "in": "path",
509 + "required": true,
510 + "schema": {
511 + "type": "string"
512 + }
513 + },
514 + {
515 + "name": "surplusId",
516 + "in": "path",
517 + "required": true,
518 + "schema": {
519 + "type": "string"
520 + }
521 + }
522 + ],
523 + "responses": {
524 + "200": {
525 + "description": "OK",
526 + "content": {
527 + "application/json": {
528 + "schema": {
529 + "$ref": "#/components/schemas/V1.Customers.Surpluses.SurplusesResource"
530 + },
531 + "examples": {
532 + "OK": {
533 + "description": "Get single surplus",
534 + "value": "{\r\n \"surplusId\": \"YYY\",\r\n \"balance\": 10,\r\n \"currency\": \"SEK\",\r\n \"date\": \"2026-08-16T00:00:00\\u002B02:00\",\r\n \"status\": \"open\",\r\n \"invoice\": \"/ledger/invoice/v1/XXX/invoices/AAA\",\r\n \"account\": \"/ledger/account/v1/XXX/accounts/BBB\",\r\n \"activeDisbursementOrders\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/yyy/active-disbursement-orders\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"active-disbursement-orders\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/yyy/active-disbursement-orders\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/XXX/customers/AAA/surpluses/YYY\"\r\n}"
535 + }
536 + }
537 + }
538 + }
539 + }
540 + }
541 + }
542 + },
543 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/surpluses": {
544 + "get": {
545 + "tags": [
546 + "Customer"
547 + ],
548 + "summary": "list surpluses",
549 + "description": "List all available surpluses on the customer",
550 + "parameters": [
551 + {
552 + "name": "ownerNo",
553 + "in": "path",
554 + "required": true,
555 + "schema": {
556 + "type": "string"
557 + }
558 + },
559 + {
560 + "name": "customerNo",
561 + "in": "path",
562 + "required": true,
563 + "schema": {
564 + "type": "string"
565 + }
566 + }
567 + ],
568 + "responses": {
569 + "200": {
570 + "description": "OK",
571 + "content": {
572 + "application/json": {
573 + "schema": {
574 + "$ref": "#/components/schemas/V1.Customers.Surpluses.SurplusesResourceListResult"
575 + },
576 + "examples": {
577 + "OK": {
578 + "description": "Get surpluses list",
579 + "value": "{\r\n \"items\": [\r\n {\r\n \"surplusId\": \"123\",\r\n \"balance\": 10,\r\n \"currency\": \"SEK\",\r\n \"date\": \"2026-08-16T00:00:00\\u002B02:00\",\r\n \"status\": \"open\",\r\n \"invoice\": \"/ledger/invoice/v1/XXX/invoices/AAA\",\r\n \"activeDisbursementOrders\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/123/active-disbursement-orders\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"active-disbursement-orders\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/123/active-disbursement-orders\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/123\"\r\n },\r\n {\r\n \"surplusId\": \"456\",\r\n \"balance\": 20,\r\n \"currency\": \"SEK\",\r\n \"date\": \"2026-08-14T00:00:00\\u002B02:00\",\r\n \"status\": \"pending-disbursement\",\r\n \"account\": \"/ledger/account/v1/XXX/accounts/BBB\",\r\n \"activeDisbursementOrders\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/456/active-disbursement-orders\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"active-disbursement-orders\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/456/active-disbursement-orders\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/456\"\r\n },\r\n {\r\n \"surplusId\": \"789\",\r\n \"balance\": 30,\r\n \"currency\": \"SEK\",\r\n \"date\": \"2026-08-07T00:00:00\\u002B02:00\",\r\n \"status\": \"pending-regulate\",\r\n \"invoice\": \"/ledger/invoice/v1/XXX/invoices/AAA\",\r\n \"activeDisbursementOrders\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/789/active-disbursement-orders\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"active-disbursement-orders\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/789/active-disbursement-orders\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/789\"\r\n }\r\n ],\r\n \"navigation\": {\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses\"\r\n }\r\n}"
580 + }
581 + }
582 + }
583 + }
584 + }
585 + }
586 + }
587 + },
588 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent/trusted-seller-groups": {
589 + "post": {
590 + "tags": [
591 + "Customer"
592 + ],
593 + "summary": "Save a Consent document for specific CustomerNo and ConsentType.",
594 + "description": "Save a pdf Consent document as a Base64 string for specific CustomerNo and ConsentType.",
595 + "parameters": [
596 + {
597 + "name": "ownerNo",
598 + "in": "path",
599 + "required": true,
600 + "schema": {
601 + "type": "string"
602 + }
603 + },
604 + {
605 + "name": "customerNo",
606 + "in": "path",
607 + "required": true,
608 + "schema": {
609 + "type": "string"
610 + }
611 + }
612 + ],
613 + "requestBody": {
614 + "content": {
615 + "application/json": {
616 + "schema": {
617 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsPostRequest"
618 + },
619 + "example": "{\r\n \"consentType\": \"PharmaciesSE\",\r\n \"applicationDocument\": {\r\n \"content\": \"JVBERi0xLjQKJ...\",\r\n \"fileType\": \"pdf\"\r\n }\r\n}"
620 + },
621 + "text/json": {
622 + "schema": {
623 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsPostRequest"
624 + }
625 + },
626 + "application/*+json": {
627 + "schema": {
628 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsPostRequest"
629 + }
630 + }
631 + }
632 + },
633 + "responses": {
634 + "200": {
635 + "description": "OK",
636 + "content": {
637 + "application/json": {
638 + "schema": {
639 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsResource"
640 + },
641 + "examples": {
642 + "OK": {
643 + "description": "Save a consent document",
644 + "value": "{\r\n \"consentType\": \"cccc\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"delete-trusted-seller-group\",\r\n \"method\": \"DELETE\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/cccc\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/cccc\"\r\n}"
645 + }
646 + }
647 + }
648 + }
649 + },
650 + "400": {
651 + "description": "BadRequest",
652 + "content": {
653 + "application/json": {
654 + "examples": {
655 + "validation": {
656 + "description": "Occurs if the validation of the request fails, it is described in the problem why the input is invalid.",
657 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
658 + }
659 + }
660 + }
661 + }
662 + },
663 + "404": {
664 + "description": "NotFound",
665 + "content": {
666 + "application/json": {
667 + "examples": {
668 + "not-found": {
669 + "description": "Occurs if the requested resource is not found.",
670 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
671 + }
672 + }
673 + }
674 + }
675 + },
676 + "409": {
677 + "description": "Conflict",
678 + "content": {
679 + "application/json": {
680 + "examples": {
681 + "conflict": {
682 + "description": "Occurs if the requested resource already exists.",
683 + "value": "{\r\n \"type\": \"conflict\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
684 + }
685 + }
686 + }
687 + }
688 + },
689 + "500": {
690 + "description": "InternalServerError",
691 + "content": {
692 + "application/json": {
693 + "examples": {
694 + "fatal": {
695 + "description": "Unexpected error, logs may give details about the problem",
696 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
697 + }
698 + }
699 + }
700 + }
701 + }
702 + }
703 + },
704 + "get": {
705 + "tags": [
706 + "Customer"
707 + ],
708 + "summary": "Get Customer active Consent.",
709 + "description": "Get details about the customer's active Consent.",
710 + "parameters": [
711 + {
712 + "name": "ownerNo",
713 + "in": "path",
714 + "required": true,
715 + "schema": {
716 + "type": "string"
717 + }
718 + },
719 + {
720 + "name": "customerNo",
721 + "in": "path",
722 + "required": true,
723 + "schema": {
724 + "type": "string"
725 + }
726 + }
727 + ],
728 + "responses": {
729 + "200": {
730 + "description": "OK",
731 + "content": {
732 + "application/json": {
733 + "schema": {
734 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsResourceListResult"
735 + },
736 + "examples": {
737 + "OK": {
738 + "description": "Get consent list",
739 + "value": "{\r\n \"items\": [\r\n {\r\n \"consentType\": \"ccccc1\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"delete-trusted-seller-group\",\r\n \"method\": \"DELETE\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/ccccc1\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/ccccc1\"\r\n },\r\n {\r\n \"consentType\": \"ccccc2\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"delete-trusted-seller-group\",\r\n \"method\": \"DELETE\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/ccccc2\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/ccccc2\"\r\n }\r\n ],\r\n \"navigation\": {\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups\"\r\n }\r\n}"
740 + }
741 + }
742 + }
743 + }
744 + },
745 + "400": {
746 + "description": "BadRequest",
747 + "content": {
748 + "application/json": {
749 + "examples": {
750 + "validation": {
751 + "description": "Occurs if the validation of the request fails, it is described in the problem why the input is invalid.",
752 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
753 + }
754 + }
755 + }
756 + }
757 + },
758 + "404": {
759 + "description": "NotFound",
760 + "content": {
761 + "application/json": {
762 + "examples": {
763 + "not-found": {
764 + "description": "Occurs if the requested resource is not found.",
765 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
766 + }
767 + }
768 + }
769 + }
770 + },
771 + "409": {
772 + "description": "Conflict",
773 + "content": {
774 + "application/json": {
775 + "examples": {
776 + "conflict": {
777 + "description": "Occurs if the requested resource already exists.",
778 + "value": "{\r\n \"type\": \"conflict\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
779 + }
780 + }
781 + }
782 + }
783 + },
784 + "500": {
785 + "description": "InternalServerError",
786 + "content": {
787 + "application/json": {
788 + "examples": {
789 + "fatal": {
790 + "description": "Unexpected error, logs may give details about the problem",
791 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
792 + }
793 + }
794 + }
795 + }
796 + }
797 + }
798 + }
799 + },
800 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/legal-address": {
801 + "get": {
802 + "tags": [
803 + "Customer"
804 + ],
805 + "summary": "Get the legal address of the customer",
806 + "description": "The legal address is where claims is normally sent to. It is required for a customer to have a legal address registered",
807 + "parameters": [
808 + {
809 + "name": "ownerNo",
810 + "in": "path",
811 + "required": true,
812 + "schema": {
813 + "type": "string"
814 + }
815 + },
816 + {
817 + "name": "customerNo",
818 + "in": "path",
819 + "required": true,
820 + "schema": {
821 + "type": "string"
822 + }
823 + }
824 + ],
825 + "responses": {
826 + "200": {
827 + "description": "OK",
828 + "content": {
829 + "application/json": {
830 + "schema": {
831 + "$ref": "#/components/schemas/V1.Customers.SingleResources.AddressResource"
832 + },
833 + "examples": {
834 + "OK": {
835 + "description": "Get customer legal-address",
836 + "value": "{\r\n \"addressee\": \"Test Testsson\",\r\n \"streetAddress\": \"Test street 1\",\r\n \"zipCode\": \"60000\",\r\n \"city\": \"Test town\",\r\n \"coAddress\": \"Co address\",\r\n \"countryCode\": \"SE\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"update-legal-address\",\r\n \"method\": \"PUT\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/legal-address\"\r\n },\r\n {\r\n \"rel\": \"update-legal-address-from-population-register\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/legal-address/update-legal-address-from-population-register\"\r\n }\r\n ]\r\n}"
837 + }
838 + }
839 + }
840 + }
841 + },
842 + "500": {
843 + "description": "InternalServerError",
844 + "content": {
845 + "application/json": {
846 + "examples": {
847 + "internal-server-error": {
848 + "description": "The requested resource '' could not be processed. Please contact support.",
849 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
850 + },
851 + "handled-exception": {
852 + "description": "The requested resource '' could not be processed. Please contact support.",
853 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
854 + },
855 + "unhandled-exception": {
856 + "description": "The requested resource '' could not be processed. Please contact support.",
857 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
858 + }
859 + }
860 + }
861 + }
862 + },
863 + "400": {
864 + "description": "BadRequest",
865 + "content": {
866 + "application/json": {
867 + "examples": {
868 + "general-validation-error": {
869 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
870 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
871 + },
872 + "validation": {
873 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
874 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
875 + }
876 + }
877 + }
878 + }
879 + },
880 + "404": {
881 + "description": "NotFound",
882 + "content": {
883 + "application/json": {
884 + "examples": {
885 + "customer-does-not-exists": {
886 + "description": "The requested resource '' was not found.",
887 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
888 + },
889 + "customer-not-found": {
890 + "description": "The requested resource '' was not found.",
891 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
892 + }
893 + }
894 + }
895 + }
896 + }
897 + }
898 + },
899 + "put": {
900 + "tags": [
901 + "Customer"
902 + ],
903 + "summary": "Update customer legal-address",
904 + "description": "this \"PUT\" operation will replace the existing legal-address with the address specified in the request body.",
905 + "parameters": [
906 + {
907 + "name": "ownerNo",
908 + "in": "path",
909 + "required": true,
910 + "schema": {
911 + "type": "string"
912 + }
913 + },
914 + {
915 + "name": "customerNo",
916 + "in": "path",
917 + "required": true,
918 + "schema": {
919 + "type": "string"
920 + }
921 + }
922 + ],
923 + "requestBody": {
924 + "content": {
925 + "application/json": {
926 + "schema": {
927 + "$ref": "#/components/schemas/V1.Customers.SingleResources.AddressRequest"
928 + },
929 + "example": "{\r\n \"addressee\": \"Test Testsson\",\r\n \"streetAddress\": \"Test street 1\",\r\n \"zipCode\": \"60000\",\r\n \"city\": \"Test town\",\r\n \"coAddress\": \"Co address\",\r\n \"countryCode\": \"SE\"\r\n}"
930 + }
931 + }
932 + },
933 + "responses": {
934 + "204": {
935 + "description": "No Content",
936 + "content": {
937 + "application/json": {
938 + "schema": {
939 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
940 + }
941 + }
942 + }
943 + },
944 + "500": {
945 + "description": "InternalServerError",
946 + "content": {
947 + "application/json": {
948 + "examples": {
949 + "internal-server-error": {
950 + "description": "The requested resource '' could not be processed. Please contact support.",
951 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
952 + },
953 + "handled-exception": {
954 + "description": "The requested resource '' could not be processed. Please contact support.",
955 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
956 + },
957 + "unhandled-exception": {
958 + "description": "The requested resource '' could not be processed. Please contact support.",
959 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
960 + }
961 + }
962 + }
963 + }
964 + },
965 + "400": {
966 + "description": "BadRequest",
967 + "content": {
968 + "application/json": {
969 + "examples": {
970 + "general-validation-error": {
971 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
972 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
973 + },
974 + "validation": {
975 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
976 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
977 + }
978 + }
979 + }
980 + }
981 + },
982 + "404": {
983 + "description": "NotFound",
984 + "content": {
985 + "application/json": {
986 + "examples": {
987 + "customer-does-not-exists": {
988 + "description": "The requested resource '' was not found.",
989 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
990 + },
991 + "customer-not-found": {
992 + "description": "The requested resource '' was not found.",
993 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
994 + }
995 + }
996 + }
997 + }
998 + }
999 + }
1000 + }
1001 + },
1002 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent/trusted-seller-groups/{consentType}": {
1003 + "get": {
1004 + "tags": [
1005 + "Customer"
1006 + ],
1007 + "summary": "Get Customer active Consent.",
1008 + "description": "Get details about the customer's active Consent.",
1009 + "operationId": "PayEx.AR.Customer.Api.Resources.Customer.V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsController_Id_GetSingle",
1010 + "parameters": [
1011 + {
1012 + "name": "ownerNo",
1013 + "in": "path",
1014 + "required": true,
1015 + "schema": {
1016 + "type": "string"
1017 + }
1018 + },
1019 + {
1020 + "name": "customerNo",
1021 + "in": "path",
1022 + "required": true,
1023 + "schema": {
1024 + "type": "string"
1025 + }
1026 + },
1027 + {
1028 + "name": "consentType",
1029 + "in": "path",
1030 + "required": true,
1031 + "schema": {
1032 + "type": "string"
1033 + }
1034 + }
1035 + ],
1036 + "responses": {
1037 + "200": {
1038 + "description": "OK",
1039 + "content": {
1040 + "application/json": {
1041 + "schema": {
1042 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsResource"
1043 + },
1044 + "examples": {
1045 + "OK": {
1046 + "description": "Get single consent",
1047 + "value": "{\r\n \"consentType\": \"ccccc\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"delete-trusted-seller-group\",\r\n \"method\": \"DELETE\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/ccccc\"\r\n }\r\n ]\r\n}"
1048 + }
1049 + }
1050 + }
1051 + }
1052 + },
1053 + "400": {
1054 + "description": "BadRequest",
1055 + "content": {
1056 + "application/json": {
1057 + "examples": {
1058 + "validation": {
1059 + "description": "Occurs if the validation of the request fails, it is described in the problem why the input is invalid.",
1060 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1061 + }
1062 + }
1063 + }
1064 + }
1065 + },
1066 + "404": {
1067 + "description": "NotFound",
1068 + "content": {
1069 + "application/json": {
1070 + "examples": {
1071 + "not-found": {
1072 + "description": "Occurs if the requested resource is not found.",
1073 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1074 + }
1075 + }
1076 + }
1077 + }
1078 + },
1079 + "409": {
1080 + "description": "Conflict",
1081 + "content": {
1082 + "application/json": {
1083 + "examples": {
1084 + "conflict": {
1085 + "description": "Occurs if the requested resource already exists.",
1086 + "value": "{\r\n \"type\": \"conflict\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1087 + }
1088 + }
1089 + }
1090 + }
1091 + },
1092 + "500": {
1093 + "description": "InternalServerError",
1094 + "content": {
1095 + "application/json": {
1096 + "examples": {
1097 + "fatal": {
1098 + "description": "Unexpected error, logs may give details about the problem",
1099 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1100 + }
1101 + }
1102 + }
1103 + }
1104 + }
1105 + }
1106 + },
1107 + "delete": {
1108 + "tags": [
1109 + "Customer"
1110 + ],
1111 + "summary": "Delete a consent from customer.",
1112 + "description": "Delete a active consent from customer.",
1113 + "operationId": "PayEx.AR.Customer.Api.Resources.Customer.V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsController_Id_Delete",
1114 + "parameters": [
1115 + {
1116 + "name": "ownerNo",
1117 + "in": "path",
1118 + "required": true,
1119 + "schema": {
1120 + "type": "string"
1121 + }
1122 + },
1123 + {
1124 + "name": "customerNo",
1125 + "in": "path",
1126 + "required": true,
1127 + "schema": {
1128 + "type": "string"
1129 + }
1130 + },
1131 + {
1132 + "name": "consentType",
1133 + "in": "path",
1134 + "required": true,
1135 + "schema": {
1136 + "type": "string"
1137 + }
1138 + }
1139 + ],
1140 + "responses": {
1141 + "204": {
1142 + "description": "No Content",
1143 + "content": {
1144 + "application/json": {
1145 + "schema": {
1146 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
1147 + }
1148 + }
1149 + }
1150 + },
1151 + "400": {
1152 + "description": "BadRequest",
1153 + "content": {
1154 + "application/json": {
1155 + "examples": {
1156 + "validation": {
1157 + "description": "Occurs if the validation of the request fails, it is described in the problem why the input is invalid.",
1158 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1159 + }
1160 + }
1161 + }
1162 + }
1163 + },
1164 + "404": {
1165 + "description": "NotFound",
1166 + "content": {
1167 + "application/json": {
1168 + "examples": {
1169 + "not-found": {
1170 + "description": "Occurs if the requested resource is not found.",
1171 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1172 + }
1173 + }
1174 + }
1175 + }
1176 + },
1177 + "409": {
1178 + "description": "Conflict",
1179 + "content": {
1180 + "application/json": {
1181 + "examples": {
1182 + "conflict": {
1183 + "description": "Occurs if the requested resource already exists.",
1184 + "value": "{\r\n \"type\": \"conflict\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1185 + }
1186 + }
1187 + }
1188 + }
1189 + },
1190 + "500": {
1191 + "description": "InternalServerError",
1192 + "content": {
1193 + "application/json": {
1194 + "examples": {
1195 + "fatal": {
1196 + "description": "Unexpected error, logs may give details about the problem",
1197 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1198 + }
1199 + }
1200 + }
1201 + }
1202 + }
1203 + }
1204 + }
1205 + },
1206 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/update-kyc-answers": {
1207 + "post": {
1208 + "tags": [
1209 + "Customer"
1210 + ],
1211 + "summary": "Add new KYC answers",
1212 + "description": "When exposed on customer resources operations list it's a indication previous KYC answers up for renewal. Able to update KYC with this operation even if current aren't expired but won't be suggested on the customer resource",
1213 + "parameters": [
1214 + {
1215 + "name": "ownerNo",
1216 + "in": "path",
1217 + "required": true,
1218 + "schema": {
1219 + "type": "string"
1220 + }
1221 + },
1222 + {
1223 + "name": "customerNo",
1224 + "in": "path",
1225 + "required": true,
1226 + "schema": {
1227 + "type": "string"
1228 + }
1229 + }
1230 + ],
1231 + "requestBody": {
1232 + "content": {
1233 + "application/json": {
1234 + "schema": {
1235 + "$ref": "#/components/schemas/V1.Customers.Operations.UpdateKycAnswers.UpdateKycAnswersRequest"
1236 + },
1237 + "example": "{\r\n \"answers\": [\r\n {\r\n \"questionCode\": \"taxable_outside_sweden\",\r\n \"answerCode\": \"no\"\r\n },\r\n {\r\n \"questionCode\": \"multiple_citizenship\",\r\n \"answerCode\": \"yes\"\r\n },\r\n {\r\n \"questionCode\": \"citizen_ship_country_codes\",\r\n \"answerCode\": \"SWE\"\r\n },\r\n {\r\n \"questionCode\": \"citizen_ship_country_codes\",\r\n \"answerCode\": \"NOR\"\r\n }\r\n ]\r\n}"
1238 + },
1239 + "text/json": {
1240 + "schema": {
1241 + "$ref": "#/components/schemas/V1.Customers.Operations.UpdateKycAnswers.UpdateKycAnswersRequest"
1242 + }
1243 + },
1244 + "application/*+json": {
1245 + "schema": {
1246 + "$ref": "#/components/schemas/V1.Customers.Operations.UpdateKycAnswers.UpdateKycAnswersRequest"
1247 + }
1248 + }
1249 + }
1250 + },
1251 + "responses": {
1252 + "204": {
1253 + "description": "No Content",
1254 + "content": {
1255 + "application/json": {
1256 + "schema": {
1257 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
1258 + }
1259 + }
1260 + }
1261 + },
1262 + "400": {
1263 + "description": "BadRequest",
1264 + "content": {
1265 + "application/json": {
1266 + "examples": {
1267 + "validation": {
1268 + "description": "Occurs if the validation of the request fails, it is described in the problem why the input is invalid.",
1269 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1270 + }
1271 + }
1272 + }
1273 + }
1274 + },
1275 + "404": {
1276 + "description": "NotFound",
1277 + "content": {
1278 + "application/json": {
1279 + "examples": {
1280 + "not-found": {
1281 + "description": "Occurs if the customer not found or if KYC is not configured on this ledger.",
1282 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1283 + }
1284 + }
1285 + }
1286 + }
1287 + },
1288 + "409": {
1289 + "description": "Conflict",
1290 + "content": {
1291 + "application/json": {
1292 + "examples": {
1293 + "company-kyc-questions-not-configured": {
1294 + "description": "Occurs if ledger is not currently configured for KYC",
1295 + "value": "{\r\n \"type\": \"company-kyc-questions-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1296 + }
1297 + }
1298 + }
1299 + }
1300 + },
1301 + "500": {
1302 + "description": "InternalServerError",
1303 + "content": {
1304 + "application/json": {
1305 + "examples": {
1306 + "fatal": {
1307 + "description": "Unexpected error, logs may give details about the problem",
1308 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1309 + }
1310 + }
1311 + }
1312 + }
1313 + }
1314 + }
1315 + }
1316 + },
1317 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/legal-address/update-legal-address-from-population-register": {
1318 + "post": {
1319 + "tags": [
1320 + "Customer"
1321 + ],
1322 + "summary": "Operation for replacing customer's legal address from the population registry",
1323 + "description": "Execution of this operation will result in an attempt to retrieve (and replace) the customer's legal address from the population registry.",
1324 + "parameters": [
1325 + {
1326 + "name": "ownerNo",
1327 + "in": "path",
1328 + "required": true,
1329 + "schema": {
1330 + "type": "string"
1331 + }
1332 + },
1333 + {
1334 + "name": "customerNo",
1335 + "in": "path",
1336 + "required": true,
1337 + "schema": {
1338 + "type": "string"
1339 + }
1340 + }
1341 + ],
1342 + "responses": {
1343 + "204": {
1344 + "description": "No Content",
1345 + "content": {
1346 + "application/json": {
1347 + "schema": {
1348 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
1349 + }
1350 + }
1351 + }
1352 + },
1353 + "500": {
1354 + "description": "InternalServerError",
1355 + "content": {
1356 + "application/json": {
1357 + "examples": {
1358 + "internal-server-error": {
1359 + "description": "The requested resource '' could not be processed. Please contact support.",
1360 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1361 + },
1362 + "handled-exception": {
1363 + "description": "The requested resource '' could not be processed. Please contact support.",
1364 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1365 + },
1366 + "unhandled-exception": {
1367 + "description": "The requested resource '' could not be processed. Please contact support.",
1368 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1369 + }
1370 + }
1371 + }
1372 + }
1373 + },
1374 + "400": {
1375 + "description": "BadRequest",
1376 + "content": {
1377 + "application/json": {
1378 + "examples": {
1379 + "general-validation-error": {
1380 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1381 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1382 + },
1383 + "validation": {
1384 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1385 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1386 + }
1387 + }
1388 + }
1389 + }
1390 + },
1391 + "404": {
1392 + "description": "NotFound",
1393 + "content": {
1394 + "application/json": {
1395 + "examples": {
1396 + "customer-does-not-exists": {
1397 + "description": "The requested resource '' was not found.",
1398 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1399 + },
1400 + "customer-not-found": {
1401 + "description": "The requested resource '' was not found.",
1402 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1403 + }
1404 + }
1405 + }
1406 + }
1407 + }
1408 + }
1409 + }
1410 + },
1411 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/billing-address": {
1412 + "get": {
1413 + "tags": [
1414 + "Customer"
1415 + ],
1416 + "summary": "Get the billing address of the customer",
1417 + "description": "The billing address is where invoices/bills/letters etc. is normally sent to. This address is optional",
1418 + "parameters": [
1419 + {
1420 + "name": "ownerNo",
1421 + "in": "path",
1422 + "required": true,
1423 + "schema": {
1424 + "type": "string"
1425 + }
1426 + },
1427 + {
1428 + "name": "customerNo",
1429 + "in": "path",
1430 + "required": true,
1431 + "schema": {
1432 + "type": "string"
1433 + }
1434 + }
1435 + ],
1436 + "responses": {
1437 + "200": {
1438 + "description": "OK",
1439 + "content": {
1440 + "application/json": {
1441 + "schema": {
1442 + "$ref": "#/components/schemas/V1.Customers.SingleResources.AddressResource"
1443 + },
1444 + "examples": {
1445 + "OK": {
1446 + "description": "Get customer billing-address",
1447 + "value": "{\r\n \"addressee\": \"Test Testsson\",\r\n \"streetAddress\": \"Test street 1\",\r\n \"zipCode\": \"60000\",\r\n \"city\": \"Test town\",\r\n \"coAddress\": \"Co address\",\r\n \"countryCode\": \"SE\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"update-billing-address\",\r\n \"method\": \"PUT\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/billing-address\"\r\n },\r\n {\r\n \"rel\": \"delete-billing-address\",\r\n \"method\": \"DELETE\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/billing-address\"\r\n }\r\n ]\r\n}"
1448 + }
1449 + }
1450 + }
1451 + }
1452 + },
1453 + "500": {
1454 + "description": "InternalServerError",
1455 + "content": {
1456 + "application/json": {
1457 + "examples": {
1458 + "internal-server-error": {
1459 + "description": "The requested resource '' could not be processed. Please contact support.",
1460 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1461 + },
1462 + "handled-exception": {
1463 + "description": "The requested resource '' could not be processed. Please contact support.",
1464 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1465 + },
1466 + "unhandled-exception": {
1467 + "description": "The requested resource '' could not be processed. Please contact support.",
1468 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1469 + }
1470 + }
1471 + }
1472 + }
1473 + },
1474 + "400": {
1475 + "description": "BadRequest",
1476 + "content": {
1477 + "application/json": {
1478 + "examples": {
1479 + "general-validation-error": {
1480 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1481 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1482 + },
1483 + "validation": {
1484 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1485 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1486 + }
1487 + }
1488 + }
1489 + }
1490 + },
1491 + "404": {
1492 + "description": "NotFound",
1493 + "content": {
1494 + "application/json": {
1495 + "examples": {
1496 + "customer-does-not-exists": {
1497 + "description": "The requested resource '' was not found.",
1498 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1499 + },
1500 + "customer-not-found": {
1501 + "description": "The requested resource '' was not found.",
1502 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1503 + }
1504 + }
1505 + }
1506 + }
1507 + }
1508 + }
1509 + },
1510 + "post": {
1511 + "tags": [
1512 + "Customer"
1513 + ],
1514 + "summary": "Add a billing-address",
1515 + "description": "Add a billing address to customer. The billing address is where invoices/bills/letters etc. is normally sent to. This address is optional",
1516 + "parameters": [
1517 + {
1518 + "name": "ownerNo",
1519 + "in": "path",
1520 + "required": true,
1521 + "schema": {
1522 + "type": "string"
1523 + }
1524 + },
1525 + {
1526 + "name": "customerNo",
1527 + "in": "path",
1528 + "required": true,
1529 + "schema": {
1530 + "type": "string"
1531 + }
1532 + }
1533 + ],
1534 + "requestBody": {
1535 + "content": {
1536 + "application/json": {
1537 + "schema": {
1538 + "$ref": "#/components/schemas/V1.Customers.SingleResources.AddressRequest"
1539 + },
1540 + "example": "{\r\n \"addressee\": \"Test Testsson\",\r\n \"streetAddress\": \"Test street 1\",\r\n \"zipCode\": \"60000\",\r\n \"city\": \"Test town\",\r\n \"coAddress\": \"Co address\",\r\n \"countryCode\": \"SE\"\r\n}"
1541 + }
1542 + }
1543 + },
1544 + "responses": {
1545 + "204": {
1546 + "description": "No Content",
1547 + "content": {
1548 + "application/json": {
1549 + "schema": {
1550 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
1551 + }
1552 + }
1553 + }
1554 + },
1555 + "500": {
1556 + "description": "InternalServerError",
1557 + "content": {
1558 + "application/json": {
1559 + "examples": {
1560 + "internal-server-error": {
1561 + "description": "The requested resource '' could not be processed. Please contact support.",
1562 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1563 + },
1564 + "handled-exception": {
1565 + "description": "The requested resource '' could not be processed. Please contact support.",
1566 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1567 + },
1568 + "unhandled-exception": {
1569 + "description": "The requested resource '' could not be processed. Please contact support.",
1570 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1571 + }
1572 + }
1573 + }
1574 + }
1575 + },
1576 + "400": {
1577 + "description": "BadRequest",
1578 + "content": {
1579 + "application/json": {
1580 + "examples": {
1581 + "general-validation-error": {
1582 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1583 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1584 + },
1585 + "validation": {
1586 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1587 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1588 + }
1589 + }
1590 + }
1591 + }
1592 + },
1593 + "404": {
1594 + "description": "NotFound",
1595 + "content": {
1596 + "application/json": {
1597 + "examples": {
1598 + "customer-does-not-exists": {
1599 + "description": "The requested resource '' was not found.",
1600 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1601 + },
1602 + "customer-not-found": {
1603 + "description": "The requested resource '' was not found.",
1604 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1605 + }
1606 + }
1607 + }
1608 + }
1609 + }
1610 + }
1611 + },
1612 + "put": {
1613 + "tags": [
1614 + "Customer"
1615 + ],
1616 + "summary": "Update billing-address",
1617 + "description": "Use this operation to update the address, the \"PUT\" body of the request should be according to the properties of the resource.",
1618 + "parameters": [
1619 + {
1620 + "name": "ownerNo",
1621 + "in": "path",
1622 + "required": true,
1623 + "schema": {
1624 + "type": "string"
1625 + }
1626 + },
1627 + {
1628 + "name": "customerNo",
1629 + "in": "path",
1630 + "required": true,
1631 + "schema": {
1632 + "type": "string"
1633 + }
1634 + }
1635 + ],
1636 + "requestBody": {
1637 + "content": {
1638 + "application/json": {
1639 + "schema": {
1640 + "$ref": "#/components/schemas/V1.Customers.SingleResources.AddressRequest"
1641 + },
1642 + "example": "{\r\n \"addressee\": \"Test Testsson\",\r\n \"streetAddress\": \"Test street 1\",\r\n \"zipCode\": \"60000\",\r\n \"city\": \"Test town\",\r\n \"coAddress\": \"Co address\",\r\n \"countryCode\": \"SE\"\r\n}"
1643 + }
1644 + }
1645 + },
1646 + "responses": {
1647 + "204": {
1648 + "description": "No Content",
1649 + "content": {
1650 + "application/json": {
1651 + "schema": {
1652 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
1653 + }
1654 + }
1655 + }
1656 + },
1657 + "500": {
1658 + "description": "InternalServerError",
1659 + "content": {
1660 + "application/json": {
1661 + "examples": {
1662 + "internal-server-error": {
1663 + "description": "The requested resource '' could not be processed. Please contact support.",
1664 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1665 + },
1666 + "handled-exception": {
1667 + "description": "The requested resource '' could not be processed. Please contact support.",
1668 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1669 + },
1670 + "unhandled-exception": {
1671 + "description": "The requested resource '' could not be processed. Please contact support.",
1672 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1673 + }
1674 + }
1675 + }
1676 + }
1677 + },
1678 + "400": {
1679 + "description": "BadRequest",
1680 + "content": {
1681 + "application/json": {
1682 + "examples": {
1683 + "general-validation-error": {
1684 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1685 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1686 + },
1687 + "validation": {
1688 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1689 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1690 + }
1691 + }
1692 + }
1693 + }
1694 + },
1695 + "404": {
1696 + "description": "NotFound",
1697 + "content": {
1698 + "application/json": {
1699 + "examples": {
1700 + "customer-does-not-exists": {
1701 + "description": "The requested resource '' was not found.",
1702 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1703 + },
1704 + "customer-not-found": {
1705 + "description": "The requested resource '' was not found.",
1706 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1707 + }
1708 + }
1709 + }
1710 + }
1711 + }
1712 + }
1713 + },
1714 + "delete": {
1715 + "tags": [
1716 + "Customer"
1717 + ],
1718 + "summary": "Delete billing-address",
1719 + "description": "Use this operation to delete the billing address.",
1720 + "parameters": [
1721 + {
1722 + "name": "ownerNo",
1723 + "in": "path",
1724 + "required": true,
1725 + "schema": {
1726 + "type": "string"
1727 + }
1728 + },
1729 + {
1730 + "name": "customerNo",
1731 + "in": "path",
1732 + "required": true,
1733 + "schema": {
1734 + "maxLength": 255,
1735 + "minLength": 0,
1736 + "type": "string"
1737 + }
1738 + }
1739 + ],
1740 + "responses": {
1741 + "204": {
1742 + "description": "No Content",
1743 + "content": {
1744 + "application/json": {
1745 + "schema": {
1746 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
1747 + }
1748 + }
1749 + }
1750 + },
1751 + "500": {
1752 + "description": "InternalServerError",
1753 + "content": {
1754 + "application/json": {
1755 + "examples": {
1756 + "internal-server-error": {
1757 + "description": "The requested resource '' could not be processed. Please contact support.",
1758 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1759 + },
1760 + "handled-exception": {
1761 + "description": "The requested resource '' could not be processed. Please contact support.",
1762 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1763 + },
1764 + "unhandled-exception": {
1765 + "description": "The requested resource '' could not be processed. Please contact support.",
1766 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1767 + }
1768 + }
1769 + }
1770 + }
1771 + },
1772 + "400": {
1773 + "description": "BadRequest",
1774 + "content": {
1775 + "application/json": {
1776 + "examples": {
1777 + "general-validation-error": {
1778 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1779 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1780 + },
1781 + "validation": {
1782 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1783 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1784 + }
1785 + }
1786 + }
1787 + }
1788 + },
1789 + "404": {
1790 + "description": "NotFound",
1791 + "content": {
1792 + "application/json": {
1793 + "examples": {
1794 + "customer-does-not-exists": {
1795 + "description": "The requested resource '' was not found.",
1796 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1797 + },
1798 + "customer-not-found": {
1799 + "description": "The requested resource '' was not found.",
1800 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1801 + }
1802 + }
1803 + }
1804 + }
1805 + }
1806 + }
1807 + }
1808 + },
1809 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent": {
1810 + "get": {
1811 + "tags": [
1812 + "Customer"
1813 + ],
1814 + "summary": "Get the underlying Consent resources.",
1815 + "description": "Underlying resources that display information or enable registration of a customer's consent.",
1816 + "parameters": [
1817 + {
1818 + "name": "ownerNo",
1819 + "in": "path",
1820 + "required": true,
1821 + "schema": {
1822 + "type": "string"
1823 + }
1824 + },
1825 + {
1826 + "name": "customerNo",
1827 + "in": "path",
1828 + "required": true,
1829 + "schema": {
1830 + "type": "string"
1831 + }
1832 + }
1833 + ],
1834 + "responses": {
1835 + "200": {
1836 + "description": "OK",
1837 + "content": {
1838 + "application/json": {
1839 + "schema": {
1840 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.ConsentResource"
1841 + },
1842 + "examples": {
1843 + "OK": {
1844 + "description": "Get customer consent",
1845 + "value": "{\r\n \"recurringCard\": \"/ledger/customer/v1/xxx/customers/yyy/consent/recurring-card\",\r\n \"recurringCardRedirectRegistration\": \"/ledger/customer/v1/xxx/customers/yyy/consent/recurring-card-redirect-registration\",\r\n \"trustedSellerGroups\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups\",\r\n \"availableTrustedSellerGroupConsents\": [],\r\n \"operations\": [\r\n {\r\n \"rel\": \"add-trusted-seller-group\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups\"\r\n },\r\n {\r\n \"rel\": \"add-recurring-card-redirect-registration\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/recurring-card-redirect-registration\"\r\n }\r\n ]\r\n}"
1846 + }
1847 + }
1848 + }
1849 + }
1850 + }
1851 + }
1852 + }
1853 + },
1854 + "/ledger/customer/v1/{ownerNo}/find-customer": {
1855 + "post": {
1856 + "tags": [
1857 + "Customer"
1858 + ],
1859 + "summary": "Find customer by nationalIdentifier",
1860 + "description": " It is used to find customer with nationalIdentifier.",
1861 + "parameters": [
1862 + {
1863 + "name": "ownerNo",
1864 + "in": "path",
1865 + "required": true,
1866 + "schema": {
1867 + "type": "string"
1868 + }
1869 + }
1870 + ],
1871 + "requestBody": {
1872 + "content": {
1873 + "application/json": {
1874 + "schema": {
1875 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Domain.FindCustomer.External.ApiResources.FindCustomerResource"
1876 + },
1877 + "example": "{\r\n \"nationalIdentifier\": {\r\n \"regNo\": \"YYYYMMDD-NNNN\",\r\n \"countryCode\": \"SE\"\r\n }\r\n}"
1878 + }
1879 + }
1880 + },
1881 + "responses": {
1882 + "200": {
1883 + "description": "OK",
1884 + "content": {
1885 + "application/json": {
1886 + "schema": {
1887 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Domain.FindCustomer.External.ApiResources.Results.FindCustomerResult"
1888 + },
1889 + "examples": {
1890 + "OK": {
1891 + "description": "Find customer with nationalIdentifier, regno and countrycode, returns CustomerNo = YYY",
1892 + "value": "{\r\n \"customerNo\": \"YYY\"\r\n}"
1893 + }
1894 + }
1895 + }
1896 + }
1897 + },
1898 + "500": {
1899 + "description": "InternalServerError",
1900 + "content": {
1901 + "application/json": {
1902 + "examples": {
1903 + "internal-server-error": {
1904 + "description": "The requested resource '' could not be processed. Please contact support.",
1905 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1906 + },
1907 + "handled-exception": {
1908 + "description": "The requested resource '' could not be processed. Please contact support.",
1909 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1910 + },
1911 + "unhandled-exception": {
1912 + "description": "The requested resource '' could not be processed. Please contact support.",
1913 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1914 + }
1915 + }
1916 + }
1917 + }
1918 + },
1919 + "400": {
1920 + "description": "BadRequest",
1921 + "content": {
1922 + "application/json": {
1923 + "examples": {
1924 + "general-validation-error": {
1925 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1926 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1927 + },
1928 + "validation": {
1929 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1930 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1931 + },
1932 + "invalid-reg-no": {
1933 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1934 + "value": "{\r\n \"type\": \"invalid-reg-no\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1935 + }
1936 + }
1937 + }
1938 + }
1939 + },
1940 + "404": {
1941 + "description": "NotFound",
1942 + "content": {
1943 + "application/json": {
1944 + "examples": {
1945 + "customer-does-not-exists": {
1946 + "description": "The requested resource '' was not found.",
1947 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1948 + },
1949 + "customer-not-found": {
1950 + "description": "The requested resource '' was not found.",
1951 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1952 + }
1953 + }
1954 + }
1955 + }
1956 + }
1957 + }
1958 + }
1959 + },
1960 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent/recurring-card": {
1961 + "get": {
1962 + "tags": [
1963 + "Customer"
1964 + ],
1965 + "summary": "Get customer active Recurring Card Consent.",
1966 + "description": "Get details about the customer's active Recurring Card Consent.",
1967 + "parameters": [
1968 + {
1969 + "name": "ownerNo",
1970 + "in": "path",
1971 + "required": true,
1972 + "schema": {
1973 + "type": "string"
1974 + }
1975 + },
1976 + {
1977 + "name": "customerNo",
1978 + "in": "path",
1979 + "required": true,
1980 + "schema": {
1981 + "type": "string"
1982 + }
1983 + }
1984 + ],
1985 + "responses": {
1986 + "200": {
1987 + "description": "OK",
1988 + "content": {
1989 + "application/json": {
1990 + "schema": {
1991 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.SingleResources.RecurringCard.RecurringCardResource"
1992 + },
1993 + "examples": {
1994 + "OK": {
1995 + "description": "Get customer active Recurring Card Consent.",
1996 + "value": "{\r\n \"cardToken\": \"2eb28854-07ec-4e88-b672-7c61cc54b461\",\r\n \"consentExpiryDate\": \"04-2035\",\r\n \"instrumentDisplayName\": \"551000******1232\",\r\n \"cardExpiryDate\": \"04/2035\",\r\n \"cardBrand\": \"Visa\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"delete-recurring-card\",\r\n \"method\": \"DELETE\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/recurring-card\"\r\n }\r\n ]\r\n}"
1997 + }
1998 + }
1999 + }
2000 + }
2001 + }
2002 + }
2003 + },
2004 + "delete": {
2005 + "tags": [
2006 + "Customer"
2007 + ],
2008 + "summary": "Delete customer active Recurring Card Consent.",
2009 + "description": "Delete the customer's active Recurring Card Consent.",
2010 + "parameters": [
2011 + {
2012 + "name": "ownerNo",
2013 + "in": "path",
2014 + "required": true,
2015 + "schema": {
2016 + "type": "string"
2017 + }
2018 + },
2019 + {
2020 + "name": "customerNo",
2021 + "in": "path",
2022 + "required": true,
2023 + "schema": {
2024 + "type": "string"
2025 + }
2026 + }
2027 + ],
2028 + "responses": {
2029 + "204": {
2030 + "description": "No Content",
2031 + "content": {
2032 + "application/json": {
2033 + "schema": {
2034 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
2035 + }
2036 + }
2037 + }
2038 + }
2039 + }
2040 + }
2041 + },
2042 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent/recurring-card-redirect-registration": {
2043 + "get": {
2044 + "tags": [
2045 + "Customer"
2046 + ],
2047 + "summary": "Get Recurring Card registration.",
2048 + "description": "Get details about the customer's ongoing Recurring Card registration.",
2049 + "parameters": [
2050 + {
2051 + "name": "ownerNo",
2052 + "in": "path",
2053 + "required": true,
2054 + "schema": {
2055 + "type": "string"
2056 + }
2057 + },
2058 + {
2059 + "name": "customerNo",
2060 + "in": "path",
2061 + "required": true,
2062 + "schema": {
2063 + "type": "string"
2064 + }
2065 + }
2066 + ],
2067 + "responses": {
2068 + "200": {
2069 + "description": "OK",
2070 + "content": {
2071 + "application/json": {
2072 + "schema": {
2073 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationResource"
2074 + },
2075 + "examples": {
2076 + "OK": {
2077 + "description": "Customer's ongoing Recurring Card Registration.",
2078 + "value": "{\r\n \"redirectUrl\": \"https://ecom.externalintegration.payex.com/checkout/abc123\",\r\n \"status\": \"Initialized\",\r\n \"operations\": []\r\n}"
2079 + }
2080 + }
2081 + }
2082 + }
2083 + }
2084 + }
2085 + },
2086 + "post": {
2087 + "tags": [
2088 + "Customer"
2089 + ],
2090 + "summary": "Start a Recurring Card registration.",
2091 + "description": "Initializes the customer's Recurring Card registration with redirect to SwedbankPay.",
2092 + "parameters": [
2093 + {
2094 + "name": "ownerNo",
2095 + "in": "path",
2096 + "required": true,
2097 + "schema": {
2098 + "type": "string"
2099 + }
2100 + },
2101 + {
2102 + "name": "customerNo",
2103 + "in": "path",
2104 + "required": true,
2105 + "schema": {
2106 + "type": "string"
2107 + }
2108 + }
2109 + ],
2110 + "requestBody": {
2111 + "content": {
2112 + "application/json": {
2113 + "schema": {
2114 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationRequest"
2115 + },
2116 + "example": "{\r\n \"completeUrl\": \"https://www.google.com/search?q=cancelurl\",\r\n \"cancelUrl\": \"https://www.google.com/search?q=completeurl\",\r\n \"language\": \"en-US\"\r\n}"
2117 + },
2118 + "text/json": {
2119 + "schema": {
2120 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationRequest"
2121 + }
2122 + },
2123 + "application/*+json": {
2124 + "schema": {
2125 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationRequest"
2126 + }
2127 + }
2128 + }
2129 + },
2130 + "responses": {
2131 + "200": {
2132 + "description": "OK",
2133 + "content": {
2134 + "application/json": {
2135 + "schema": {
2136 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationResource"
2137 + },
2138 + "examples": {
2139 + "OK": {
2140 + "description": "Customer's ongoing Recurring Card Registration.",
2141 + "value": "{\r\n \"redirectUrl\": \"https://ecom.externalintegration.payex.com/checkout/abc123\",\r\n \"status\": \"Initialized\",\r\n \"operations\": [],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/consent/recurring-card-redirect-registration\"\r\n}"
2142 + }
2143 + }
2144 + }
2145 + }
2146 + }
2147 + }
2148 + }
2149 + },
2150 + "/ledger/customer/v1/{ownerNo}/kyc-questions": {
2151 + "get": {
2152 + "tags": [
2153 + "Customer"
2154 + ],
2155 + "summary": "Get KYC questions configured on company",
2156 + "description": "Get KYC questions from ledger using company number as identifier",
2157 + "parameters": [
2158 + {
2159 + "name": "ownerNo",
2160 + "in": "path",
2161 + "required": true,
2162 + "schema": {
2163 + "type": "string"
2164 + }
2165 + },
2166 + {
2167 + "name": "language",
2168 + "in": "query",
2169 + "description": "format ISO639-1, if not supported or none given request defaults to language code 'en'(English)",
2170 + "schema": {
2171 + "type": "string"
2172 + }
2173 + }
2174 + ],
2175 + "responses": {
2176 + "200": {
2177 + "description": "OK",
2178 + "content": {
2179 + "application/json": {
2180 + "schema": {
2181 + "$ref": "#/components/schemas/V1.RootResource.SingleResources.KycQuestions.KycQuestionsResource"
2182 + },
2183 + "examples": {
2184 + "OK": {
2185 + "description": "Get CompanyInstance KYC questions if configured or a 404 company-kyc-questions-not-configured response if not",
2186 + "value": "{\r\n \"kycQuestions\": [\r\n {\r\n \"questionText\": \"What is your current employment?\",\r\n \"answer\": {\r\n \"type\": \"single\",\r\n \"required\": true,\r\n \"possibleAnswers\": [\r\n {\r\n \"answerCode\": \"selfemployed\",\r\n \"answerText\": \"Own business\"\r\n },\r\n {\r\n \"answerCode\": \"private_employee\",\r\n \"answerText\": \"Private employee\"\r\n },\r\n {\r\n \"answerCode\": \"goverment_employee\",\r\n \"answerText\": \"Government employee\"\r\n }\r\n ]\r\n },\r\n \"questionCode\": \"employment\"\r\n },\r\n {\r\n \"questionText\": \"What is your yearly income\",\r\n \"answer\": {\r\n \"type\": \"single\",\r\n \"required\": true,\r\n \"possibleAnswers\": [\r\n {\r\n \"answerCode\": \"incomeinterval1\",\r\n \"answerText\": \"0-100 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval2\",\r\n \"answerText\": \"100 001-200 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval3\",\r\n \"answerText\": \"200 001-300 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval4\",\r\n \"answerText\": \"Over 300 001 SEK\"\r\n }\r\n ]\r\n },\r\n \"questionCode\": \"income\"\r\n }\r\n ],\r\n \"operations\": []\r\n}"
2187 + }
2188 + }
2189 + }
2190 + }
2191 + },
2192 + "500": {
2193 + "description": "InternalServerError",
2194 + "content": {
2195 + "application/json": {
2196 + "examples": {
2197 + "internal-server-error": {
2198 + "description": "The requested resource '' could not be processed. Please contact support.",
2199 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2200 + },
2201 + "handled-exception": {
2202 + "description": "The requested resource '' could not be processed. Please contact support.",
2203 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2204 + },
2205 + "unhandled-exception": {
2206 + "description": "The requested resource '' could not be processed. Please contact support.",
2207 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2208 + }
2209 + }
2210 + }
2211 + }
2212 + },
2213 + "400": {
2214 + "description": "BadRequest",
2215 + "content": {
2216 + "application/json": {
2217 + "examples": {
2218 + "general-validation-error": {
2219 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
2220 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2221 + }
2222 + }
2223 + }
2224 + }
2225 + },
2226 + "404": {
2227 + "description": "NotFound",
2228 + "content": {
2229 + "application/json": {
2230 + "examples": {
2231 + "company-kyc-questions-not-configured": {
2232 + "description": "The requested resource '' was not found.",
2233 + "value": "{\r\n \"type\": \"company-kyc-questions-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2234 + }
2235 + }
2236 + }
2237 + }
2238 + }
2239 + }
2240 + }
2241 + },
2242 + "/ledger/customer/v1/{ownerNo}/affordability-questions": {
2243 + "get": {
2244 + "tags": [
2245 + "Customer"
2246 + ],
2247 + "summary": "Get affordability questions configured on company",
2248 + "description": "Get affordability questions from ledger using company number as identifier",
2249 + "parameters": [
2250 + {
2251 + "name": "ownerNo",
2252 + "in": "path",
2253 + "required": true,
2254 + "schema": {
2255 + "type": "string"
2256 + }
2257 + },
2258 + {
2259 + "name": "language",
2260 + "in": "query",
2261 + "description": "format ISO639-1, if not supported or none given request defaults to language code 'en'(English)",
2262 + "schema": {
2263 + "type": "string"
2264 + }
2265 + }
2266 + ],
2267 + "responses": {
2268 + "200": {
2269 + "description": "OK",
2270 + "content": {
2271 + "application/json": {
2272 + "schema": {
2273 + "$ref": "#/components/schemas/V1.RootResource.SingleResources.AffordabilityQuestions.AffordabilityQuestionsResource"
2274 + },
2275 + "examples": {
2276 + "OK": {
2277 + "description": "Get CompanyInstance affordability questions if configured. It's expected that not all credit assessment levels are configured for every company.",
2278 + "value": "{\r\n \"creditAssessmentLevel1\": [\r\n {\r\n \"questionCode\": \"yearly_revenue\",\r\n \"questionText\": \"What is your yearly revenue?\",\r\n \"answer\": {\r\n \"type\": \"single\",\r\n \"required\": true,\r\n \"possibleAnswers\": [\r\n {\r\n \"answerCode\": \"interval1\",\r\n \"answerText\": \"0-500 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"interval2\",\r\n \"answerText\": \"500 001-1 000 000 SEK\"\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"creditAssessmentLevel2\": [\r\n {\r\n \"questionCode\": \"number_of_employees\",\r\n \"questionText\": \"How many employees does the company have?\",\r\n \"answer\": {\r\n \"type\": \"single\",\r\n \"required\": true,\r\n \"possibleAnswers\": [\r\n {\r\n \"answerCode\": \"interval1\",\r\n \"answerText\": \"1-10\"\r\n },\r\n {\r\n \"answerCode\": \"interval2\",\r\n \"answerText\": \"11-50\"\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"operations\": []\r\n}"
2279 + }
2280 + }
2281 + }
2282 + }
2283 + },
2284 + "500": {
2285 + "description": "InternalServerError",
2286 + "content": {
2287 + "application/json": {
2288 + "examples": {
2289 + "internal-server-error": {
2290 + "description": "The requested resource '' could not be processed. Please contact support.",
2291 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2292 + },
2293 + "handled-exception": {
2294 + "description": "The requested resource '' could not be processed. Please contact support.",
2295 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2296 + },
2297 + "unhandled-exception": {
2298 + "description": "The requested resource '' could not be processed. Please contact support.",
2299 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2300 + }
2301 + }
2302 + }
2303 + }
2304 + },
2305 + "400": {
2306 + "description": "BadRequest",
2307 + "content": {
2308 + "application/json": {
2309 + "examples": {
2310 + "general-validation-error": {
2311 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
2312 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2313 + }
2314 + }
2315 + }
2316 + }
2317 + }
2318 + }
2319 + }
2320 + }
2321 + },
2322 + "components": {
2323 + "schemas": {
2324 + "PayEx.AR.Customer.Api.Domain.FindCustomer.External.ApiResources.ComplexTypes.NationalIdentifier": {
2325 + "required": [
2326 + "regNo"
2327 + ],
2328 + "type": "object",
2329 + "properties": {
2330 + "regNo": {
2331 + "minLength": 1,
2332 + "type": "string"
2333 + },
2334 + "countryCode": {
2335 + "type": "string",
2336 + "nullable": true
2337 + }
2338 + },
2339 + "additionalProperties": false
2340 + },
2341 + "PayEx.AR.Customer.Api.Domain.FindCustomer.External.ApiResources.FindCustomerResource": {
2342 + "type": "object",
2343 + "properties": {
2344 + "@id": {
2345 + "type": "string",
2346 + "nullable": true
2347 + },
2348 + "nationalIdentifier": {
2349 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Domain.FindCustomer.External.ApiResources.ComplexTypes.NationalIdentifier"
2350 + }
2351 + },
2352 + "additionalProperties": false
2353 + },
2354 + "PayEx.AR.Customer.Api.Domain.FindCustomer.External.ApiResources.Results.FindCustomerResult": {
2355 + "type": "object",
2356 + "properties": {
2357 + "@id": {
2358 + "type": "string",
2359 + "nullable": true
2360 + },
2361 + "customerNo": {
2362 + "type": "string",
2363 + "nullable": true
2364 + }
2365 + },
2366 + "additionalProperties": false
2367 + },
2368 + "PayEx.AR.Customer.Api.Entity.AffordabilityAnswerBase": {
2369 + "required": [
2370 + "possibleAnswers",
2371 + "required",
2372 + "textValidationRegEx",
2373 + "type"
2374 + ],
2375 + "type": "object",
2376 + "properties": {
2377 + "type": {
2378 + "minLength": 1,
2379 + "type": "string",
2380 + "description": "The type of the expected answer: single | multi | text"
2381 + },
2382 + "required": {
2383 + "type": "boolean",
2384 + "description": "If the answer is required"
2385 + },
2386 + "textValidationRegEx": {
2387 + "minLength": 1,
2388 + "type": "string",
2389 + "description": "The regex the answer should match"
2390 + },
2391 + "possibleAnswers": {
2392 + "type": "array",
2393 + "items": {
2394 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.AffordabilityPossibleAnswer"
2395 + },
2396 + "description": "The definitions of possible answers"
2397 + }
2398 + },
2399 + "additionalProperties": false
2400 + },
2401 + "PayEx.AR.Customer.Api.Entity.AffordabilityPossibleAnswer": {
2402 + "required": [
2403 + "answerCode",
2404 + "answerText"
2405 + ],
2406 + "type": "object",
2407 + "properties": {
2408 + "answerCode": {
2409 + "minLength": 1,
2410 + "type": "string",
2411 + "description": "The code definition of the answer"
2412 + },
2413 + "answerText": {
2414 + "minLength": 1,
2415 + "type": "string",
2416 + "description": "The translated text of the answer"
2417 + },
2418 + "subQuestions": {
2419 + "type": "array",
2420 + "items": {
2421 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.AffordabilityQuestion"
2422 + },
2423 + "description": "The subquestions connected to an answer",
2424 + "nullable": true
2425 + }
2426 + },
2427 + "additionalProperties": false
2428 + },
2429 + "PayEx.AR.Customer.Api.Entity.AffordabilityQuestion": {
2430 + "required": [
2431 + "answer",
2432 + "questionCode",
2433 + "questionText"
2434 + ],
2435 + "type": "object",
2436 + "properties": {
2437 + "questionCode": {
2438 + "minLength": 1,
2439 + "type": "string",
2440 + "description": "The code definition of the question"
2441 + },
2442 + "questionText": {
2443 + "minLength": 1,
2444 + "type": "string",
2445 + "description": "The translated text of the question"
2446 + },
2447 + "answer": {
2448 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.AffordabilityAnswerBase"
2449 + }
2450 + },
2451 + "additionalProperties": false
2452 + },
2453 + "PayEx.AR.Customer.Api.Entity.Answer": {
2454 + "required": [
2455 + "answerCode",
2456 + "questionCode"
2457 + ],
2458 + "type": "object",
2459 + "properties": {
2460 + "questionCode": {
2461 + "minLength": 1,
2462 + "type": "string",
2463 + "description": "The code definition of the question"
2464 + },
2465 + "answerCode": {
2466 + "minLength": 1,
2467 + "type": "string",
2468 + "description": "The code definition of the answer"
2469 + }
2470 + },
2471 + "additionalProperties": false
2472 + },
2473 + "PayEx.AR.Customer.Api.Entity.AnswerBase": {
2474 + "required": [
2475 + "possibleAnswers",
2476 + "required",
2477 + "textValidationRegEx",
2478 + "type"
2479 + ],
2480 + "type": "object",
2481 + "properties": {
2482 + "type": {
2483 + "minLength": 1,
2484 + "type": "string",
2485 + "description": "The type of the expected answer: single | multi | text"
2486 + },
2487 + "required": {
2488 + "type": "boolean",
2489 + "description": "If the answer is required"
2490 + },
2491 + "textValidationRegEx": {
2492 + "minLength": 1,
2493 + "type": "string",
2494 + "description": "The regex the answer should match"
2495 + },
2496 + "possibleAnswers": {
2497 + "type": "array",
2498 + "items": {
2499 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.PossibleAnswer"
2500 + },
2501 + "description": "The definitions of possible answers"
2502 + }
2503 + },
2504 + "additionalProperties": false
2505 + },
2506 + "PayEx.AR.Customer.Api.Entity.PossibleAnswer": {
2507 + "required": [
2508 + "answerCode",
2509 + "answerText"
2510 + ],
2511 + "type": "object",
2512 + "properties": {
2513 + "answerCode": {
2514 + "minLength": 1,
2515 + "type": "string",
2516 + "description": "The code definition of the answer"
2517 + },
2518 + "answerText": {
2519 + "minLength": 1,
2520 + "type": "string",
2521 + "description": "The translated text of the answer"
2522 + },
2523 + "subQuestions": {
2524 + "type": "array",
2525 + "items": {
2526 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.Question"
2527 + },
2528 + "description": "The subquestions connected to an answer",
2529 + "nullable": true
2530 + }
2531 + },
2532 + "additionalProperties": false
2533 + },
2534 + "PayEx.AR.Customer.Api.Entity.Question": {
2535 + "required": [
2536 + "answer",
2537 + "questionCode",
2538 + "questionText"
2539 + ],
2540 + "type": "object",
2541 + "properties": {
2542 + "questionCode": {
2543 + "minLength": 1,
2544 + "type": "string",
2545 + "description": "The code definition of the question"
2546 + },
2547 + "questionText": {
2548 + "minLength": 1,
2549 + "type": "string",
2550 + "description": "The translated text of the question"
2551 + },
2552 + "answer": {
2553 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.AnswerBase"
2554 + }
2555 + },
2556 + "additionalProperties": false
2557 + },
2558 + "PayEx.LF.Api.Common.RepositoryResources.IOperation": {
2559 + "type": "object",
2560 + "properties": {
2561 + "rel": {
2562 + "type": "string",
2563 + "nullable": true,
2564 + "readOnly": true
2565 + },
2566 + "method": {
2567 + "type": "string",
2568 + "nullable": true,
2569 + "readOnly": true
2570 + },
2571 + "href": {
2572 + "type": "string",
2573 + "nullable": true
2574 + }
2575 + },
2576 + "additionalProperties": false
2577 + },
2578 + "PayEx.LF.Api.Common.RepositoryResources.NavigationView": {
2579 + "required": [
2580 + "@id",
2581 + "first",
2582 + "next",
2583 + "previous"
2584 + ],
2585 + "type": "object",
2586 + "properties": {
2587 + "@id": {
2588 + "minLength": 1,
2589 + "type": "string",
2590 + "description": "The current result view.",
2591 + "format": "uri"
2592 + },
2593 + "first": {
2594 + "minLength": 1,
2595 + "type": "string",
2596 + "description": "Link to the first results.",
2597 + "format": "uri"
2598 + },
2599 + "previous": {
2600 + "minLength": 1,
2601 + "type": "string",
2602 + "description": "Link to the previous results.",
2603 + "format": "uri"
2604 + },
2605 + "next": {
2606 + "minLength": 1,
2607 + "type": "string",
2608 + "description": "Link to the next results.",
2609 + "format": "uri"
2610 + }
2611 + },
2612 + "additionalProperties": false
2613 + },
2614 + "PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult": {
2615 + "type": "object",
2616 + "additionalProperties": false
2617 + },
2618 + "V1.Customers.CreateAddressResource": {
2619 + "type": "object",
2620 + "properties": {
2621 + "addressee": {
2622 + "type": "string",
2623 + "nullable": true
2624 + },
2625 + "streetAddress": {
2626 + "type": "string",
2627 + "nullable": true
2628 + },
2629 + "zipCode": {
2630 + "type": "string",
2631 + "nullable": true
2632 + },
2633 + "city": {
2634 + "type": "string",
2635 + "nullable": true
2636 + },
2637 + "coAddress": {
2638 + "type": "string",
2639 + "nullable": true
2640 + },
2641 + "countryCode": {
2642 + "type": "string",
2643 + "nullable": true
2644 + }
2645 + },
2646 + "additionalProperties": false
2647 + },
2648 + "V1.Customers.CreateCustomerResource": {
2649 + "type": "object",
2650 + "properties": {
2651 + "customerNo": {
2652 + "type": "string",
2653 + "nullable": true
2654 + },
2655 + "ediAddressInfo": {
2656 + "$ref": "#/components/schemas/V1.Customers.EDIAddressInfo"
2657 + },
2658 + "emailAddress": {
2659 + "type": "string",
2660 + "nullable": true
2661 + },
2662 + "legalAddress": {
2663 + "$ref": "#/components/schemas/V1.Customers.CreateAddressResource"
2664 + },
2665 + "billingAddress": {
2666 + "$ref": "#/components/schemas/V1.Customers.CreateAddressResource"
2667 + },
2668 + "legalEntity": {
2669 + "type": "string",
2670 + "nullable": true
2671 + },
2672 + "msisdn": {
2673 + "type": "string",
2674 + "nullable": true
2675 + },
2676 + "name": {
2677 + "type": "string",
2678 + "nullable": true
2679 + },
2680 + "nationalIdentifier": {
2681 + "$ref": "#/components/schemas/V1.Customers.NationalIdentifier"
2682 + },
2683 + "protectedIdentity": {
2684 + "type": "boolean"
2685 + },
2686 + "preferredLanguageCode": {
2687 + "type": "string",
2688 + "nullable": true
2689 + },
2690 + "vatNo": {
2691 + "type": "string",
2692 + "nullable": true
2693 + },
2694 + "distributionType": {
2695 + "type": "string",
2696 + "nullable": true
2697 + },
2698 + "taxIdentificationNumber": {
2699 + "type": "string",
2700 + "nullable": true
2701 + }
2702 + },
2703 + "additionalProperties": false
2704 + },
2705 + "V1.Customers.CustomersCreatedResource": {
2706 + "type": "object",
2707 + "properties": {
2708 + "@id": {
2709 + "type": "string",
2710 + "nullable": true
2711 + },
2712 + "customerNo": {
2713 + "type": "string",
2714 + "nullable": true
2715 + }
2716 + },
2717 + "additionalProperties": false
2718 + },
2719 + "V1.Customers.CustomersResource": {
2720 + "type": "object",
2721 + "properties": {
2722 + "@id": {
2723 + "type": "string",
2724 + "nullable": true
2725 + },
2726 + "customerNo": {
2727 + "type": "string",
2728 + "nullable": true
2729 + },
2730 + "nationalIdentifier": {
2731 + "$ref": "#/components/schemas/V1.Customers.NationalIdentifier"
2732 + },
2733 + "vatNo": {
2734 + "type": "string",
2735 + "nullable": true
2736 + },
2737 + "legalEntity": {
2738 + "type": "string",
2739 + "nullable": true
2740 + },
2741 + "name": {
2742 + "type": "string",
2743 + "nullable": true
2744 + },
2745 + "emailAddress": {
2746 + "type": "string",
2747 + "nullable": true
2748 + },
2749 + "protectedIdentity": {
2750 + "type": "boolean"
2751 + },
2752 + "preferredLanguageCode": {
2753 + "type": "string",
2754 + "nullable": true
2755 + },
2756 + "legalStatus": {
2757 + "type": "string",
2758 + "nullable": true
2759 + },
2760 + "msisdn": {
2761 + "type": "string",
2762 + "nullable": true
2763 + },
2764 + "activeConsents": {
2765 + "type": "array",
2766 + "items": {
2767 + "type": "string"
2768 + },
2769 + "nullable": true
2770 + },
2771 + "ediAddressInfo": {
2772 + "$ref": "#/components/schemas/V1.Customers.EDIAddressInfo"
2773 + },
2774 + "surpluses": {
2775 + "nullable": true
2776 + },
2777 + "legalAddress": {
2778 + "nullable": true
2779 + },
2780 + "billingAddress": {
2781 + "nullable": true
2782 + },
2783 + "consent": {
2784 + "nullable": true
2785 + },
2786 + "distributionType": {
2787 + "type": "string",
2788 + "nullable": true
2789 + },
2790 + "operations": {
2791 + "type": "array",
2792 + "items": {
2793 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
2794 + },
2795 + "nullable": true
2796 + },
2797 + "taxIdentificationNumber": {
2798 + "type": "string",
2799 + "nullable": true
2800 + }
2801 + },
2802 + "additionalProperties": false
2803 + },
2804 + "V1.Customers.EDIAddressInfo": {
2805 + "type": "object",
2806 + "properties": {
2807 + "van": {
2808 + "type": "string",
2809 + "nullable": true
2810 + },
2811 + "interChangeRecipient": {
2812 + "type": "string",
2813 + "nullable": true
2814 + },
2815 + "buyerId": {
2816 + "type": "string",
2817 + "nullable": true
2818 + }
2819 + },
2820 + "additionalProperties": false
2821 + },
2822 + "V1.Customers.NationalIdentifier": {
2823 + "required": [
2824 + "countryCode",
2825 + "regNo"
2826 + ],
2827 + "type": "object",
2828 + "properties": {
2829 + "regNo": {
2830 + "minLength": 1,
2831 + "type": "string"
2832 + },
2833 + "countryCode": {
2834 + "minLength": 1,
2835 + "pattern": "^[A-Z]{2}$",
2836 + "type": "string"
2837 + }
2838 + },
2839 + "additionalProperties": false
2840 + },
2841 + "V1.Customers.Operations.UpdateKycAnswers.UpdateKycAnswersRequest": {
2842 + "required": [
2843 + "answers"
2844 + ],
2845 + "type": "object",
2846 + "properties": {
2847 + "answers": {
2848 + "type": "array",
2849 + "items": {
2850 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.Answer"
2851 + },
2852 + "description": "The answers to corresponding questions"
2853 + }
2854 + },
2855 + "additionalProperties": false
2856 + },
2857 + "V1.Customers.SingleResources.AddressRequest": {
2858 + "type": "object",
2859 + "properties": {
2860 + "addressee": {
2861 + "type": "string",
2862 + "nullable": true
2863 + },
2864 + "streetAddress": {
2865 + "type": "string",
2866 + "nullable": true
2867 + },
2868 + "zipCode": {
2869 + "type": "string",
2870 + "nullable": true
2871 + },
2872 + "city": {
2873 + "type": "string",
2874 + "nullable": true
2875 + },
2876 + "coAddress": {
2877 + "type": "string",
2878 + "nullable": true
2879 + },
2880 + "countryCode": {
2881 + "type": "string",
2882 + "nullable": true
2883 + }
2884 + },
2885 + "additionalProperties": false
2886 + },
2887 + "V1.Customers.SingleResources.AddressResource": {
2888 + "type": "object",
2889 + "properties": {
2890 + "@id": {
2891 + "type": "string",
2892 + "nullable": true
2893 + },
2894 + "addressee": {
2895 + "type": "string",
2896 + "nullable": true
2897 + },
2898 + "streetAddress": {
2899 + "type": "string",
2900 + "nullable": true
2901 + },
2902 + "zipCode": {
2903 + "type": "string",
2904 + "nullable": true
2905 + },
2906 + "city": {
2907 + "type": "string",
2908 + "nullable": true
2909 + },
2910 + "coAddress": {
2911 + "type": "string",
2912 + "nullable": true
2913 + },
2914 + "countryCode": {
2915 + "type": "string",
2916 + "nullable": true
2917 + },
2918 + "operations": {
2919 + "type": "array",
2920 + "items": {
2921 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
2922 + },
2923 + "nullable": true
2924 + }
2925 + },
2926 + "additionalProperties": false
2927 + },
2928 + "V1.Customers.SingleResources.Consent.ConsentResource": {
2929 + "type": "object",
2930 + "properties": {
2931 + "@id": {
2932 + "type": "string",
2933 + "nullable": true
2934 + },
2935 + "recurringCard": {
2936 + "nullable": true
2937 + },
2938 + "recurringCardRedirectRegistration": {
2939 + "nullable": true
2940 + },
2941 + "trustedSellerGroups": {
2942 + "nullable": true
2943 + },
2944 + "availableTrustedSellerGroupConsents": {
2945 + "type": "array",
2946 + "items": {
2947 + "type": "string"
2948 + },
2949 + "nullable": true
2950 + },
2951 + "operations": {
2952 + "type": "array",
2953 + "items": {
2954 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
2955 + },
2956 + "nullable": true
2957 + }
2958 + },
2959 + "additionalProperties": false
2960 + },
2961 + "V1.Customers.SingleResources.Consent.SingleResources.RecurringCard.RecurringCardResource": {
2962 + "type": "object",
2963 + "properties": {
2964 + "@id": {
2965 + "type": "string",
2966 + "nullable": true
2967 + },
2968 + "cardToken": {
2969 + "type": "string",
2970 + "nullable": true
2971 + },
2972 + "consentExpiryDate": {
2973 + "type": "string",
2974 + "nullable": true
2975 + },
2976 + "instrumentDisplayName": {
2977 + "type": "string",
2978 + "nullable": true
2979 + },
2980 + "cardExpiryDate": {
2981 + "type": "string",
2982 + "nullable": true
2983 + },
2984 + "cardBrand": {
2985 + "type": "string",
2986 + "nullable": true
2987 + },
2988 + "operations": {
2989 + "type": "array",
2990 + "items": {
2991 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
2992 + },
2993 + "nullable": true
2994 + }
2995 + },
2996 + "additionalProperties": false
2997 + },
2998 + "V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationRequest": {
2999 + "required": [
3000 + "cancelUrl",
3001 + "completeUrl",
3002 + "language"
3003 + ],
3004 + "type": "object",
3005 + "properties": {
3006 + "completeUrl": {
3007 + "minLength": 1,
3008 + "type": "string",
3009 + "format": "uri"
3010 + },
3011 + "cancelUrl": {
3012 + "minLength": 1,
3013 + "type": "string",
3014 + "format": "uri"
3015 + },
3016 + "language": {
3017 + "minLength": 1,
3018 + "type": "string"
3019 + }
3020 + },
3021 + "additionalProperties": false
3022 + },
3023 + "V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationResource": {
3024 + "type": "object",
3025 + "properties": {
3026 + "@id": {
3027 + "type": "string",
3028 + "nullable": true
3029 + },
3030 + "redirectUrl": {
3031 + "type": "string",
3032 + "nullable": true
3033 + },
3034 + "status": {
3035 + "type": "string",
3036 + "nullable": true
3037 + },
3038 + "operations": {
3039 + "type": "array",
3040 + "items": {
3041 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
3042 + },
3043 + "nullable": true
3044 + }
3045 + },
3046 + "additionalProperties": false
3047 + },
3048 + "V1.Customers.SingleResources.Consent.TrustedSellerGroups.ApplicationDocument": {
3049 + "required": [
3050 + "content",
3051 + "fileType"
3052 + ],
3053 + "type": "object",
3054 + "properties": {
3055 + "content": {
3056 + "minLength": 1,
3057 + "type": "string",
3058 + "description": "A base64 encoded string representing the content of the document."
3059 + },
3060 + "fileType": {
3061 + "minLength": 1,
3062 + "pattern": "(?i)^(pdf|txt|json|xml)$",
3063 + "type": "string",
3064 + "description": "The file type of the document. Supported file types are: pdf, txt, json and xml. The validation is case insensitive."
3065 + }
3066 + },
3067 + "additionalProperties": false
3068 + },
3069 + "V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsPostRequest": {
3070 + "required": [
3071 + "applicationDocument",
3072 + "consentType"
3073 + ],
3074 + "type": "object",
3075 + "properties": {
3076 + "consentType": {
3077 + "minLength": 1,
3078 + "type": "string",
3079 + "description": "Name of the Consent Type"
3080 + },
3081 + "applicationDocument": {
3082 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.ApplicationDocument"
3083 + }
3084 + },
3085 + "additionalProperties": false
3086 + },
3087 + "V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsResource": {
3088 + "type": "object",
3089 + "properties": {
3090 + "@id": {
3091 + "type": "string",
3092 + "nullable": true
3093 + },
3094 + "consentType": {
3095 + "type": "string",
3096 + "nullable": true
3097 + },
3098 + "operations": {
3099 + "type": "array",
3100 + "items": {
3101 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
3102 + },
3103 + "nullable": true
3104 + }
3105 + },
3106 + "additionalProperties": false
3107 + },
3108 + "V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsResourceListResult": {
3109 + "type": "object",
3110 + "properties": {
3111 + "items": {
3112 + "type": "array",
3113 + "items": {
3114 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsResource"
3115 + },
3116 + "nullable": true
3117 + },
3118 + "navigation": {
3119 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.NavigationView"
3120 + }
3121 + },
3122 + "additionalProperties": false
3123 + },
3124 + "V1.Customers.Surpluses.ActiveDisbursementOrders.ActiveDisbursementOrdersResource": {
3125 + "type": "object",
3126 + "properties": {
3127 + "@id": {
3128 + "type": "string",
3129 + "nullable": true
3130 + },
3131 + "activeDisbursementOrdersId": {
3132 + "type": "string",
3133 + "nullable": true
3134 + },
3135 + "operations": {
3136 + "type": "array",
3137 + "items": {
3138 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
3139 + },
3140 + "nullable": true
3141 + },
3142 + "norwegianBankAccount": {
3143 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.NorwegianBankAccount"
3144 + },
3145 + "swedishBankAccount": {
3146 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.SwedishBankAccount"
3147 + },
3148 + "international": {
3149 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.International"
3150 + },
3151 + "swedishSus": {
3152 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.SwedishSus"
3153 + }
3154 + },
3155 + "additionalProperties": false
3156 + },
3157 + "V1.Customers.Surpluses.ActiveDisbursementOrders.ActiveDisbursementOrdersResourceListResult": {
3158 + "type": "object",
3159 + "properties": {
3160 + "items": {
3161 + "type": "array",
3162 + "items": {
3163 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.ActiveDisbursementOrdersResource"
3164 + },
3165 + "nullable": true
3166 + },
3167 + "navigation": {
3168 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.NavigationView"
3169 + }
3170 + },
3171 + "additionalProperties": false
3172 + },
3173 + "V1.Customers.Surpluses.ActiveDisbursementOrders.Address": {
3174 + "type": "object",
3175 + "properties": {
3176 + "addressee": {
3177 + "type": "string",
3178 + "nullable": true
3179 + },
3180 + "streetAddress": {
3181 + "type": "string",
3182 + "nullable": true
3183 + },
3184 + "city": {
3185 + "type": "string",
3186 + "nullable": true
3187 + },
3188 + "zipCode": {
3189 + "type": "string",
3190 + "nullable": true
3191 + },
3192 + "countryCode": {
3193 + "type": "string",
3194 + "nullable": true
3195 + },
3196 + "coAddress": {
3197 + "type": "string",
3198 + "nullable": true
3199 + }
3200 + },
3201 + "additionalProperties": false
3202 + },
3203 + "V1.Customers.Surpluses.ActiveDisbursementOrders.International": {
3204 + "required": [
3205 + "bic",
3206 + "iban"
3207 + ],
3208 + "type": "object",
3209 + "properties": {
3210 + "iban": {
3211 + "maxLength": 34,
3212 + "minLength": 0,
3213 + "type": "string"
3214 + },
3215 + "bic": {
3216 + "maxLength": 11,
3217 + "minLength": 0,
3218 + "type": "string"
3219 + }
3220 + },
3221 + "additionalProperties": false
3222 + },
3223 + "V1.Customers.Surpluses.ActiveDisbursementOrders.NationalIdentifier": {
3224 + "type": "object",
3225 + "properties": {
3226 + "regNo": {
3227 + "type": "string",
3228 + "nullable": true
3229 + },
3230 + "countryCode": {
3231 + "type": "string",
3232 + "nullable": true
3233 + }
3234 + },
3235 + "additionalProperties": false
3236 + },
3237 + "V1.Customers.Surpluses.ActiveDisbursementOrders.NorwegianBankAccount": {
3238 + "required": [
3239 + "accountNo"
3240 + ],
3241 + "type": "object",
3242 + "properties": {
3243 + "accountNo": {
3244 + "maxLength": 11,
3245 + "minLength": 0,
3246 + "type": "string"
3247 + }
3248 + },
3249 + "additionalProperties": false
3250 + },
3251 + "V1.Customers.Surpluses.ActiveDisbursementOrders.SwedishBankAccount": {
3252 + "required": [
3253 + "accountNo",
3254 + "accountType"
3255 + ],
3256 + "type": "object",
3257 + "properties": {
3258 + "accountNo": {
3259 + "maxLength": 20,
3260 + "minLength": 0,
3261 + "type": "string"
3262 + },
3263 + "accountType": {
3264 + "maxLength": 4,
3265 + "minLength": 0,
3266 + "type": "string"
3267 + }
3268 + },
3269 + "additionalProperties": false
3270 + },
3271 + "V1.Customers.Surpluses.ActiveDisbursementOrders.SwedishSus": {
3272 + "type": "object",
3273 + "properties": {
3274 + "nationalIdentifier": {
3275 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.NationalIdentifier"
3276 + },
3277 + "address": {
3278 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.Address"
3279 + }
3280 + },
3281 + "additionalProperties": false
3282 + },
3283 + "V1.Customers.Surpluses.Operations.AddDisbursementOrderRequest": {
3284 + "type": "object",
3285 + "properties": {
3286 + "@id": {
3287 + "type": "string",
3288 + "nullable": true
3289 + },
3290 + "activeDisbursementOrdersId": {
3291 + "type": "string",
3292 + "nullable": true
3293 + },
3294 + "norwegianBankAccount": {
3295 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.NorwegianBankAccount"
3296 + },
3297 + "swedishBankAccount": {
3298 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.SwedishBankAccount"
3299 + },
3300 + "international": {
3301 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.International"
3302 + },
3303 + "swedishSus": {
3304 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.SwedishSus"
3305 + }
3306 + },
3307 + "additionalProperties": false
3308 + },
3309 + "V1.Customers.Surpluses.SurplusesResource": {
3310 + "type": "object",
3311 + "properties": {
3312 + "@id": {
3313 + "type": "string",
3314 + "nullable": true
3315 + },
3316 + "surplusId": {
3317 + "type": "string",
3318 + "nullable": true
3319 + },
3320 + "balance": {
3321 + "type": "number",
3322 + "format": "double"
3323 + },
3324 + "currency": {
3325 + "type": "string",
3326 + "nullable": true
3327 + },
3328 + "date": {
3329 + "type": "string",
3330 + "format": "date-time"
3331 + },
3332 + "status": {
3333 + "type": "string",
3334 + "nullable": true
3335 + },
3336 + "invoice": {
3337 + "type": "string",
3338 + "nullable": true
3339 + },
3340 + "account": {
3341 + "type": "string",
3342 + "nullable": true
3343 + },
3344 + "activeDisbursementOrders": {
3345 + "nullable": true
3346 + },
3347 + "operations": {
3348 + "type": "array",
3349 + "items": {
3350 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
3351 + },
3352 + "nullable": true
3353 + }
3354 + },
3355 + "additionalProperties": false
3356 + },
3357 + "V1.Customers.Surpluses.SurplusesResourceListResult": {
3358 + "type": "object",
3359 + "properties": {
3360 + "items": {
3361 + "type": "array",
3362 + "items": {
3363 + "$ref": "#/components/schemas/V1.Customers.Surpluses.SurplusesResource"
3364 + },
3365 + "nullable": true
3366 + },
3367 + "navigation": {
3368 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.NavigationView"
3369 + }
3370 + },
3371 + "additionalProperties": false
3372 + },
3373 + "V1.GenerateConsumerCustomerByRegNo.GenerateConsumerResource": {
3374 + "type": "object",
3375 + "properties": {
3376 + "@id": {
3377 + "type": "string",
3378 + "nullable": true
3379 + },
3380 + "nationalIdentifier": {
3381 + "$ref": "#/components/schemas/V1.Customers.NationalIdentifier"
3382 + },
3383 + "emailAddress": {
3384 + "type": "string",
3385 + "nullable": true
3386 + },
3387 + "emailAddressSpecified": {
3388 + "type": "boolean"
3389 + },
3390 + "msisdn": {
3391 + "type": "string",
3392 + "nullable": true
3393 + },
3394 + "msisdnSpecified": {
3395 + "type": "boolean"
3396 + },
3397 + "customerNo": {
3398 + "type": "string",
3399 + "nullable": true
3400 + },
3401 + "customerNoSpecified": {
3402 + "type": "boolean"
3403 + },
3404 + "taxIdentificationNumber": {
3405 + "type": "string",
3406 + "nullable": true
3407 + },
3408 + "taxIdentificationNumberSpecified": {
3409 + "type": "boolean"
3410 + }
3411 + },
3412 + "additionalProperties": false
3413 + },
3414 + "V1.GenerateConsumerCustomerByRegNo.GenerateConsumerResult": {
3415 + "type": "object",
3416 + "properties": {
3417 + "@id": {
3418 + "type": "string",
3419 + "nullable": true
3420 + },
3421 + "customerNo": {
3422 + "type": "string",
3423 + "nullable": true
3424 + }
3425 + },
3426 + "additionalProperties": false
3427 + },
3428 + "V1.RootResource.SingleResources.AffordabilityQuestions.AffordabilityQuestionsResource": {
3429 + "type": "object",
3430 + "properties": {
3431 + "@id": {
3432 + "type": "string",
3433 + "nullable": true
3434 + },
3435 + "creditAssessmentLevel1": {
3436 + "type": "array",
3437 + "items": {
3438 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.AffordabilityQuestion"
3439 + },
3440 + "description": "Affordability questions configured for credit assessment level 1. Null if not configured for the company.",
3441 + "nullable": true
3442 + },
3443 + "creditAssessmentLevel2": {
3444 + "type": "array",
3445 + "items": {
3446 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.AffordabilityQuestion"
3447 + },
3448 + "description": "Affordability questions configured for credit assessment level 2. Null if not configured for the company.",
3449 + "nullable": true
3450 + },
3451 + "creditAssessmentLevel3": {
3452 + "type": "array",
3453 + "items": {
3454 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.AffordabilityQuestion"
3455 + },
3456 + "description": "Affordability questions configured for credit assessment level 3. Null if not configured for the company.",
3457 + "nullable": true
3458 + },
3459 + "operations": {
3460 + "type": "array",
3461 + "items": {
3462 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
3463 + },
3464 + "nullable": true
3465 + }
3466 + },
3467 + "additionalProperties": false
3468 + },
3469 + "V1.RootResource.SingleResources.KycQuestions.KycQuestionsResource": {
3470 + "type": "object",
3471 + "properties": {
3472 + "@id": {
3473 + "type": "string",
3474 + "nullable": true
3475 + },
3476 + "kycQuestions": {
3477 + "type": "array",
3478 + "items": {
3479 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.Question"
3480 + },
3481 + "description": "kyc (know your customer). The questions and answers in the example are just examples of what it might look like. ",
3482 + "nullable": true
3483 + },
3484 + "operations": {
3485 + "type": "array",
3486 + "items": {
3487 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
3488 + },
3489 + "nullable": true
3490 + }
3491 + },
3492 + "additionalProperties": false
3493 + }
3494 + }
3495 + }
3496 +}
Swagger_Releases-506348.txt
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.MatsLyth
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content
... ... @@ -1,0 +1,3506 @@
1 +{
2 + "openapi": "3.0.1",
3 + "info": {
4 + "title": "Customer API 1.0",
5 + "description": "",
6 + "contact": {
7 + "name": "Payex"
8 + },
9 + "version": "1.0"
10 + },
11 + "paths": {
12 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}": {
13 + "get": {
14 + "tags": [
15 + "Customer"
16 + ],
17 + "summary": "Get a specific customer",
18 + "description": "Get a customer from ledger using customer number as identifier",
19 + "operationId": "PayEx.AR.Customer.Api.Resources.Customer.V1.Customers.CustomersController_Id_GetSingle",
20 + "parameters": [
21 + {
22 + "name": "ownerNo",
23 + "in": "path",
24 + "required": true,
25 + "schema": {
26 + "type": "string"
27 + }
28 + },
29 + {
30 + "name": "customerNo",
31 + "in": "path",
32 + "required": true,
33 + "schema": {
34 + "maxLength": 50,
35 + "minLength": 0,
36 + "type": "string"
37 + }
38 + }
39 + ],
40 + "responses": {
41 + "200": {
42 + "description": "OK",
43 + "content": {
44 + "application/json": {
45 + "schema": {
46 + "$ref": "#/components/schemas/V1.Customers.CustomersResource"
47 + },
48 + "examples": {
49 + "OK": {
50 + "description": "Get customer",
51 + "value": "{\r\n \"customerNo\": \"YYY\",\r\n \"nationalIdentifier\": {\r\n \"regNo\": \"YYYYMMDD-NNNN\",\r\n \"countryCode\": \"SE\"\r\n },\r\n \"vatNo\": \"SE101010101001\",\r\n \"legalEntity\": \"consumer\",\r\n \"name\": \"Test Testsson\",\r\n \"emailAddress\": \"Test@test.se\",\r\n \"protectedIdentity\": false,\r\n \"preferredLanguageCode\": \"SV\",\r\n \"legalStatus\": \"active\",\r\n \"msisdn\": \"\\u002B467040000000\",\r\n \"activeConsents\": [\r\n \"Betalingsservice\",\r\n \"Avtalegiro\",\r\n \"RecurringCard\"\r\n ],\r\n \"ediAddressInfo\": {\r\n \"van\": \"ABCXYZ\",\r\n \"interChangeRecipient\": \"Recipient_ID1\",\r\n \"buyerId\": \"123465\"\r\n },\r\n \"surpluses\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses\",\r\n \"legalAddress\": \"/ledger/customer/v1/xxx/customers/yyy/legal-address\",\r\n \"billingAddress\": \"/ledger/customer/v1/xxx/customers/yyy/billing-address\",\r\n \"consent\": \"/ledger/customer/v1/xxx/customers/yyy/consent\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"partial-update-customer\",\r\n \"method\": \"PATCH\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy\"\r\n },\r\n {\r\n \"rel\": \"add-billing-address\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/billing-address\"\r\n },\r\n {\r\n \"rel\": \"update-kyc-answers\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/update-kyc-answers\"\r\n }\r\n ],\r\n \"taxIdentificationNumber\": \"1234567890\"\r\n}"
52 + }
53 + }
54 + }
55 + }
56 + },
57 + "500": {
58 + "description": "InternalServerError",
59 + "content": {
60 + "application/json": {
61 + "examples": {
62 + "internal-server-error": {
63 + "description": "The requested resource '' could not be processed. Please contact support.",
64 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
65 + },
66 + "handled-exception": {
67 + "description": "The requested resource '' could not be processed. Please contact support.",
68 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
69 + },
70 + "unhandled-exception": {
71 + "description": "The requested resource '' could not be processed. Please contact support.",
72 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
73 + }
74 + }
75 + }
76 + }
77 + },
78 + "400": {
79 + "description": "BadRequest",
80 + "content": {
81 + "application/json": {
82 + "examples": {
83 + "general-validation-error": {
84 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
85 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
86 + },
87 + "validation": {
88 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
89 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
90 + }
91 + }
92 + }
93 + }
94 + },
95 + "404": {
96 + "description": "NotFound",
97 + "content": {
98 + "application/json": {
99 + "examples": {
100 + "customer-does-not-exists": {
101 + "description": "The requested resource '' was not found.",
102 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
103 + },
104 + "customer-not-found": {
105 + "description": "The requested resource '' was not found.",
106 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
107 + }
108 + }
109 + }
110 + }
111 + }
112 + }
113 + },
114 + "patch": {
115 + "tags": [
116 + "Customer"
117 + ],
118 + "summary": "Update customer",
119 + "description": "Update customer info",
120 + "operationId": "PayEx.AR.Customer.Api.Resources.Customer.V1.Customers.CustomersController_Id_Patch",
121 + "parameters": [
122 + {
123 + "name": "ownerNo",
124 + "in": "path",
125 + "required": true,
126 + "schema": {
127 + "type": "string"
128 + }
129 + },
130 + {
131 + "name": "customerNo",
132 + "in": "path",
133 + "required": true,
134 + "schema": {
135 + "maxLength": 50,
136 + "minLength": 0,
137 + "type": "string"
138 + }
139 + }
140 + ],
141 + "requestBody": {
142 + "content": {
143 + "application/json": {
144 + "schema": { }
145 + }
146 + }
147 + },
148 + "responses": {
149 + "204": {
150 + "description": "No Content",
151 + "content": {
152 + "application/json": {
153 + "schema": {
154 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
155 + }
156 + }
157 + }
158 + },
159 + "500": {
160 + "description": "InternalServerError",
161 + "content": {
162 + "application/json": {
163 + "examples": {
164 + "internal-server-error": {
165 + "description": "The requested resource '' could not be processed. Please contact support.",
166 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
167 + },
168 + "handled-exception": {
169 + "description": "The requested resource '' could not be processed. Please contact support.",
170 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
171 + },
172 + "unhandled-exception": {
173 + "description": "The requested resource '' could not be processed. Please contact support.",
174 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
175 + }
176 + }
177 + }
178 + }
179 + },
180 + "400": {
181 + "description": "BadRequest",
182 + "content": {
183 + "application/json": {
184 + "examples": {
185 + "general-validation-error": {
186 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
187 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
188 + },
189 + "validation": {
190 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
191 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
192 + },
193 + "email-address-invalid": {
194 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
195 + "value": "{\r\n \"type\": \"email-address-invalid\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
196 + }
197 + }
198 + }
199 + }
200 + },
201 + "404": {
202 + "description": "NotFound",
203 + "content": {
204 + "application/json": {
205 + "examples": {
206 + "customer-does-not-exists": {
207 + "description": "The requested resource '' was not found.",
208 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
209 + },
210 + "customer-not-found": {
211 + "description": "The requested resource '' was not found.",
212 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
213 + }
214 + }
215 + }
216 + }
217 + }
218 + }
219 + }
220 + },
221 + "/ledger/customer/v1/{ownerNo}/customers": {
222 + "post": {
223 + "tags": [
224 + "Customer"
225 + ],
226 + "summary": "Create new customer",
227 + "description": "Create a new customer in ledger",
228 + "parameters": [
229 + {
230 + "name": "ownerNo",
231 + "in": "path",
232 + "required": true,
233 + "schema": {
234 + "type": "string"
235 + }
236 + }
237 + ],
238 + "requestBody": {
239 + "content": {
240 + "application/json": {
241 + "schema": {
242 + "$ref": "#/components/schemas/V1.Customers.CreateCustomerResource"
243 + }
244 + }
245 + }
246 + },
247 + "responses": {
248 + "201": {
249 + "description": "Created",
250 + "content": {
251 + "application/json": {
252 + "schema": {
253 + "$ref": "#/components/schemas/V1.Customers.CustomersCreatedResource"
254 + },
255 + "examples": {
256 + "Created": {
257 + "description": "Create a customer response",
258 + "value": "{\r\n \"customerNo\": \"YYY\",\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy\"\r\n}"
259 + }
260 + }
261 + }
262 + }
263 + },
264 + "500": {
265 + "description": "InternalServerError",
266 + "content": {
267 + "application/json": {
268 + "examples": {
269 + "internal-server-error": {
270 + "description": "The requested resource '' could not be processed. Please contact support.",
271 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
272 + },
273 + "handled-exception": {
274 + "description": "The requested resource '' could not be processed. Please contact support.",
275 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
276 + },
277 + "unhandled-exception": {
278 + "description": "The requested resource '' could not be processed. Please contact support.",
279 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
280 + }
281 + }
282 + }
283 + }
284 + },
285 + "400": {
286 + "description": "BadRequest",
287 + "content": {
288 + "application/json": {
289 + "examples": {
290 + "general-validation-error": {
291 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
292 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
293 + },
294 + "validation": {
295 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
296 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
297 + },
298 + "invalid-reg-no": {
299 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
300 + "value": "{\r\n \"type\": \"invalid-reg-no\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
301 + },
302 + "invalid-phone-no": {
303 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
304 + "value": "{\r\n \"type\": \"invalid-phone-no\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
305 + }
306 + }
307 + }
308 + }
309 + },
310 + "422": {
311 + "description": "UnprocessableEntity",
312 + "content": {
313 + "application/json": {
314 + "examples": {
315 + "customer-already-exists": {
316 + "description": "The requested resource '' could not be processed. Customer Already Exists",
317 + "value": "{\r\n \"type\": \"customer-already-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 422,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
318 + }
319 + }
320 + }
321 + }
322 + }
323 + }
324 + }
325 + },
326 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/surpluses": {
327 + "get": {
328 + "tags": [
329 + "Customer"
330 + ],
331 + "summary": "list surpluses",
332 + "description": "List all available surpluses on the customer",
333 + "parameters": [
334 + {
335 + "name": "ownerNo",
336 + "in": "path",
337 + "required": true,
338 + "schema": {
339 + "type": "string"
340 + }
341 + },
342 + {
343 + "name": "customerNo",
344 + "in": "path",
345 + "required": true,
346 + "schema": {
347 + "type": "string"
348 + }
349 + }
350 + ],
351 + "responses": {
352 + "200": {
353 + "description": "OK",
354 + "content": {
355 + "application/json": {
356 + "schema": {
357 + "$ref": "#/components/schemas/V1.Customers.Surpluses.SurplusesResourceListResult"
358 + },
359 + "examples": {
360 + "OK": {
361 + "description": "Get surpluses list",
362 + "value": "{\r\n \"items\": [\r\n {\r\n \"surplusId\": \"123\",\r\n \"balance\": 10,\r\n \"currency\": \"SEK\",\r\n \"date\": \"2026-09-11T00:00:00\\u002B02:00\",\r\n \"status\": \"open\",\r\n \"invoice\": \"/ledger/invoice/v1/XXX/invoices/AAA\",\r\n \"activeDisbursementOrders\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/123/active-disbursement-orders\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"active-disbursement-orders\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/123/active-disbursement-orders\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/123\"\r\n },\r\n {\r\n \"surplusId\": \"456\",\r\n \"balance\": 20,\r\n \"currency\": \"SEK\",\r\n \"date\": \"2026-09-09T00:00:00\\u002B02:00\",\r\n \"status\": \"pending-disbursement\",\r\n \"account\": \"/ledger/account/v1/XXX/accounts/BBB\",\r\n \"activeDisbursementOrders\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/456/active-disbursement-orders\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"active-disbursement-orders\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/456/active-disbursement-orders\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/456\"\r\n },\r\n {\r\n \"surplusId\": \"789\",\r\n \"balance\": 30,\r\n \"currency\": \"SEK\",\r\n \"date\": \"2026-09-02T00:00:00\\u002B02:00\",\r\n \"status\": \"pending-regulate\",\r\n \"invoice\": \"/ledger/invoice/v1/XXX/invoices/AAA\",\r\n \"activeDisbursementOrders\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/789/active-disbursement-orders\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"active-disbursement-orders\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/789/active-disbursement-orders\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/789\"\r\n }\r\n ],\r\n \"navigation\": {\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses\"\r\n }\r\n}"
363 + }
364 + }
365 + }
366 + }
367 + }
368 + }
369 + }
370 + },
371 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/surpluses/{surplusId}": {
372 + "get": {
373 + "tags": [
374 + "Customer"
375 + ],
376 + "summary": "Get single surplus",
377 + "description": "A surplus is the remaining value from a payment that was greater than the current debt, also referred as an 'overpayment'. Each instance of an overpayment will create a new surplus. A surplus will often have a connection to an account or invoice based of where the payment was placed but surpluses without connection to an account or invoice also exist. Surpluses can be used to settle upcoming debt or be disbursed. ",
378 + "operationId": "PayEx.AR.Customer.Api.Resources.Customer.V1.Customers.Surpluses.SurplusesController_Id_GetSingle",
379 + "parameters": [
380 + {
381 + "name": "ownerNo",
382 + "in": "path",
383 + "required": true,
384 + "schema": {
385 + "type": "string"
386 + }
387 + },
388 + {
389 + "name": "customerNo",
390 + "in": "path",
391 + "required": true,
392 + "schema": {
393 + "type": "string"
394 + }
395 + },
396 + {
397 + "name": "surplusId",
398 + "in": "path",
399 + "required": true,
400 + "schema": {
401 + "type": "string"
402 + }
403 + }
404 + ],
405 + "responses": {
406 + "200": {
407 + "description": "OK",
408 + "content": {
409 + "application/json": {
410 + "schema": {
411 + "$ref": "#/components/schemas/V1.Customers.Surpluses.SurplusesResource"
412 + },
413 + "examples": {
414 + "OK": {
415 + "description": "Get single surplus",
416 + "value": "{\r\n \"surplusId\": \"YYY\",\r\n \"balance\": 10,\r\n \"currency\": \"SEK\",\r\n \"date\": \"2026-09-11T00:00:00\\u002B02:00\",\r\n \"status\": \"open\",\r\n \"invoice\": \"/ledger/invoice/v1/XXX/invoices/AAA\",\r\n \"account\": \"/ledger/account/v1/XXX/accounts/BBB\",\r\n \"activeDisbursementOrders\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/yyy/active-disbursement-orders\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"active-disbursement-orders\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/yyy/active-disbursement-orders\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/XXX/customers/AAA/surpluses/YYY\"\r\n}"
417 + }
418 + }
419 + }
420 + }
421 + }
422 + }
423 + }
424 + },
425 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/surpluses/{surplusId}/active-disbursement-orders": {
426 + "post": {
427 + "tags": [
428 + "Customer"
429 + ],
430 + "summary": "Add a disbursement order for surplus",
431 + "description": "Add a disbursement order. Disburses all available funds on surplus account, when disbursement batch is run",
432 + "parameters": [
433 + {
434 + "name": "ownerNo",
435 + "in": "path",
436 + "required": true,
437 + "schema": {
438 + "type": "string"
439 + }
440 + },
441 + {
442 + "name": "customerNo",
443 + "in": "path",
444 + "required": true,
445 + "schema": {
446 + "type": "string"
447 + }
448 + },
449 + {
450 + "name": "surplusId",
451 + "in": "path",
452 + "required": true,
453 + "schema": {
454 + "type": "string"
455 + }
456 + }
457 + ],
458 + "requestBody": {
459 + "content": {
460 + "application/json": {
461 + "schema": {
462 + "$ref": "#/components/schemas/V1.Customers.Surpluses.Operations.AddDisbursementOrderRequest"
463 + },
464 + "example": "{\r\n \"swedishBankAccount\": {\r\n \"accountNo\": \"NNN\",\r\n \"accountType\": \"BGSE | PGSE | BKSE | PKSE\"\r\n }\r\n}"
465 + }
466 + }
467 + },
468 + "responses": {
469 + "204": {
470 + "description": "No Content",
471 + "content": {
472 + "application/json": {
473 + "schema": {
474 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
475 + }
476 + }
477 + }
478 + }
479 + }
480 + },
481 + "get": {
482 + "tags": [
483 + "Customer"
484 + ],
485 + "summary": "list active surpluse disbursement orders",
486 + "description": "list active surpluse disbursement orders pending disbursement batch is run.",
487 + "parameters": [
488 + {
489 + "name": "ownerNo",
490 + "in": "path",
491 + "required": true,
492 + "schema": {
493 + "type": "string"
494 + }
495 + },
496 + {
497 + "name": "customerNo",
498 + "in": "path",
499 + "required": true,
500 + "schema": {
501 + "type": "string"
502 + }
503 + },
504 + {
505 + "name": "surplusId",
506 + "in": "path",
507 + "required": true,
508 + "schema": {
509 + "type": "string"
510 + }
511 + }
512 + ],
513 + "responses": {
514 + "200": {
515 + "description": "OK",
516 + "content": {
517 + "application/json": {
518 + "schema": {
519 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.ActiveDisbursementOrdersResourceListResult"
520 + },
521 + "examples": {
522 + "OK": {
523 + "description": "Get customer billing-address",
524 + "value": "{\r\n \"items\": [\r\n {\r\n \"operations\": [],\r\n \"swedishBankAccount\": {\r\n \"accountNo\": \"1234567890\",\r\n \"accountType\": \"BGSE\"\r\n }\r\n }\r\n ],\r\n \"navigation\": {\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/surpluses/zzz/active-disbursement-orders\"\r\n }\r\n}"
525 + }
526 + }
527 + }
528 + }
529 + },
530 + "500": {
531 + "description": "InternalServerError",
532 + "content": {
533 + "application/json": {
534 + "examples": {
535 + "internal-server-error": {
536 + "description": "The requested resource '' could not be processed. Please contact support.",
537 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
538 + },
539 + "handled-exception": {
540 + "description": "The requested resource '' could not be processed. Please contact support.",
541 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
542 + },
543 + "unhandled-exception": {
544 + "description": "The requested resource '' could not be processed. Please contact support.",
545 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
546 + }
547 + }
548 + }
549 + }
550 + },
551 + "400": {
552 + "description": "BadRequest",
553 + "content": {
554 + "application/json": {
555 + "examples": {
556 + "general-validation-error": {
557 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
558 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
559 + },
560 + "validation": {
561 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
562 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
563 + }
564 + }
565 + }
566 + }
567 + },
568 + "404": {
569 + "description": "NotFound",
570 + "content": {
571 + "application/json": {
572 + "examples": {
573 + "customer-does-not-exists": {
574 + "description": "The requested resource '' was not found.",
575 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
576 + },
577 + "customer-not-found": {
578 + "description": "The requested resource '' was not found.",
579 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
580 + }
581 + }
582 + }
583 + }
584 + }
585 + }
586 + }
587 + },
588 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/legal-address": {
589 + "get": {
590 + "tags": [
591 + "Customer"
592 + ],
593 + "summary": "Get the legal address of the customer",
594 + "description": "The legal address is where claims is normally sent to. It is required for a customer to have a legal address registered",
595 + "parameters": [
596 + {
597 + "name": "ownerNo",
598 + "in": "path",
599 + "required": true,
600 + "schema": {
601 + "type": "string"
602 + }
603 + },
604 + {
605 + "name": "customerNo",
606 + "in": "path",
607 + "required": true,
608 + "schema": {
609 + "type": "string"
610 + }
611 + }
612 + ],
613 + "responses": {
614 + "200": {
615 + "description": "OK",
616 + "content": {
617 + "application/json": {
618 + "schema": {
619 + "$ref": "#/components/schemas/V1.Customers.SingleResources.AddressResource"
620 + },
621 + "examples": {
622 + "OK": {
623 + "description": "Get customer legal-address",
624 + "value": "{\r\n \"addressee\": \"Test Testsson\",\r\n \"streetAddress\": \"Test street 1\",\r\n \"zipCode\": \"60000\",\r\n \"city\": \"Test town\",\r\n \"coAddress\": \"Co address\",\r\n \"countryCode\": \"SE\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"update-legal-address\",\r\n \"method\": \"PUT\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/legal-address\"\r\n },\r\n {\r\n \"rel\": \"update-legal-address-from-population-register\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/legal-address/update-legal-address-from-population-register\"\r\n }\r\n ]\r\n}"
625 + }
626 + }
627 + }
628 + }
629 + },
630 + "500": {
631 + "description": "InternalServerError",
632 + "content": {
633 + "application/json": {
634 + "examples": {
635 + "internal-server-error": {
636 + "description": "The requested resource '' could not be processed. Please contact support.",
637 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
638 + },
639 + "handled-exception": {
640 + "description": "The requested resource '' could not be processed. Please contact support.",
641 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
642 + },
643 + "unhandled-exception": {
644 + "description": "The requested resource '' could not be processed. Please contact support.",
645 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
646 + }
647 + }
648 + }
649 + }
650 + },
651 + "400": {
652 + "description": "BadRequest",
653 + "content": {
654 + "application/json": {
655 + "examples": {
656 + "general-validation-error": {
657 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
658 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
659 + },
660 + "validation": {
661 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
662 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
663 + }
664 + }
665 + }
666 + }
667 + },
668 + "404": {
669 + "description": "NotFound",
670 + "content": {
671 + "application/json": {
672 + "examples": {
673 + "customer-does-not-exists": {
674 + "description": "The requested resource '' was not found.",
675 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
676 + },
677 + "customer-not-found": {
678 + "description": "The requested resource '' was not found.",
679 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
680 + }
681 + }
682 + }
683 + }
684 + }
685 + }
686 + },
687 + "put": {
688 + "tags": [
689 + "Customer"
690 + ],
691 + "summary": "Update customer legal-address",
692 + "description": "this \"PUT\" operation will replace the existing legal-address with the address specified in the request body.",
693 + "parameters": [
694 + {
695 + "name": "ownerNo",
696 + "in": "path",
697 + "required": true,
698 + "schema": {
699 + "type": "string"
700 + }
701 + },
702 + {
703 + "name": "customerNo",
704 + "in": "path",
705 + "required": true,
706 + "schema": {
707 + "type": "string"
708 + }
709 + }
710 + ],
711 + "requestBody": {
712 + "content": {
713 + "application/json": {
714 + "schema": {
715 + "$ref": "#/components/schemas/V1.Customers.SingleResources.AddressRequest"
716 + },
717 + "example": "{\r\n \"addressee\": \"Test Testsson\",\r\n \"streetAddress\": \"Test street 1\",\r\n \"zipCode\": \"60000\",\r\n \"city\": \"Test town\",\r\n \"coAddress\": \"Co address\",\r\n \"countryCode\": \"SE\"\r\n}"
718 + }
719 + }
720 + },
721 + "responses": {
722 + "204": {
723 + "description": "No Content",
724 + "content": {
725 + "application/json": {
726 + "schema": {
727 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
728 + }
729 + }
730 + }
731 + },
732 + "500": {
733 + "description": "InternalServerError",
734 + "content": {
735 + "application/json": {
736 + "examples": {
737 + "internal-server-error": {
738 + "description": "The requested resource '' could not be processed. Please contact support.",
739 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
740 + },
741 + "handled-exception": {
742 + "description": "The requested resource '' could not be processed. Please contact support.",
743 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
744 + },
745 + "unhandled-exception": {
746 + "description": "The requested resource '' could not be processed. Please contact support.",
747 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
748 + }
749 + }
750 + }
751 + }
752 + },
753 + "400": {
754 + "description": "BadRequest",
755 + "content": {
756 + "application/json": {
757 + "examples": {
758 + "general-validation-error": {
759 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
760 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
761 + },
762 + "validation": {
763 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
764 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
765 + }
766 + }
767 + }
768 + }
769 + },
770 + "404": {
771 + "description": "NotFound",
772 + "content": {
773 + "application/json": {
774 + "examples": {
775 + "customer-does-not-exists": {
776 + "description": "The requested resource '' was not found.",
777 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
778 + },
779 + "customer-not-found": {
780 + "description": "The requested resource '' was not found.",
781 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
782 + }
783 + }
784 + }
785 + }
786 + }
787 + }
788 + }
789 + },
790 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/legal-address/update-legal-address-from-population-register": {
791 + "post": {
792 + "tags": [
793 + "Customer"
794 + ],
795 + "summary": "Operation for replacing customer's legal address from the population registry",
796 + "description": "Execution of this operation will result in an attempt to retrieve (and replace) the customer's legal address from the population registry.",
797 + "parameters": [
798 + {
799 + "name": "ownerNo",
800 + "in": "path",
801 + "required": true,
802 + "schema": {
803 + "type": "string"
804 + }
805 + },
806 + {
807 + "name": "customerNo",
808 + "in": "path",
809 + "required": true,
810 + "schema": {
811 + "type": "string"
812 + }
813 + }
814 + ],
815 + "responses": {
816 + "204": {
817 + "description": "No Content",
818 + "content": {
819 + "application/json": {
820 + "schema": {
821 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
822 + }
823 + }
824 + }
825 + },
826 + "500": {
827 + "description": "InternalServerError",
828 + "content": {
829 + "application/json": {
830 + "examples": {
831 + "internal-server-error": {
832 + "description": "The requested resource '' could not be processed. Please contact support.",
833 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
834 + },
835 + "handled-exception": {
836 + "description": "The requested resource '' could not be processed. Please contact support.",
837 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
838 + },
839 + "unhandled-exception": {
840 + "description": "The requested resource '' could not be processed. Please contact support.",
841 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
842 + }
843 + }
844 + }
845 + }
846 + },
847 + "400": {
848 + "description": "BadRequest",
849 + "content": {
850 + "application/json": {
851 + "examples": {
852 + "general-validation-error": {
853 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
854 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
855 + },
856 + "validation": {
857 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
858 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
859 + }
860 + }
861 + }
862 + }
863 + },
864 + "404": {
865 + "description": "NotFound",
866 + "content": {
867 + "application/json": {
868 + "examples": {
869 + "customer-does-not-exists": {
870 + "description": "The requested resource '' was not found.",
871 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
872 + },
873 + "customer-not-found": {
874 + "description": "The requested resource '' was not found.",
875 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
876 + }
877 + }
878 + }
879 + }
880 + }
881 + }
882 + }
883 + },
884 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/billing-address": {
885 + "get": {
886 + "tags": [
887 + "Customer"
888 + ],
889 + "summary": "Get the billing address of the customer",
890 + "description": "The billing address is where invoices/bills/letters etc. is normally sent to. This address is optional",
891 + "parameters": [
892 + {
893 + "name": "ownerNo",
894 + "in": "path",
895 + "required": true,
896 + "schema": {
897 + "type": "string"
898 + }
899 + },
900 + {
901 + "name": "customerNo",
902 + "in": "path",
903 + "required": true,
904 + "schema": {
905 + "type": "string"
906 + }
907 + }
908 + ],
909 + "responses": {
910 + "200": {
911 + "description": "OK",
912 + "content": {
913 + "application/json": {
914 + "schema": {
915 + "$ref": "#/components/schemas/V1.Customers.SingleResources.AddressResource"
916 + },
917 + "examples": {
918 + "OK": {
919 + "description": "Get customer billing-address",
920 + "value": "{\r\n \"addressee\": \"Test Testsson\",\r\n \"streetAddress\": \"Test street 1\",\r\n \"zipCode\": \"60000\",\r\n \"city\": \"Test town\",\r\n \"coAddress\": \"Co address\",\r\n \"countryCode\": \"SE\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"update-billing-address\",\r\n \"method\": \"PUT\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/billing-address\"\r\n },\r\n {\r\n \"rel\": \"delete-billing-address\",\r\n \"method\": \"DELETE\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/billing-address\"\r\n }\r\n ]\r\n}"
921 + }
922 + }
923 + }
924 + }
925 + },
926 + "500": {
927 + "description": "InternalServerError",
928 + "content": {
929 + "application/json": {
930 + "examples": {
931 + "internal-server-error": {
932 + "description": "The requested resource '' could not be processed. Please contact support.",
933 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
934 + },
935 + "handled-exception": {
936 + "description": "The requested resource '' could not be processed. Please contact support.",
937 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
938 + },
939 + "unhandled-exception": {
940 + "description": "The requested resource '' could not be processed. Please contact support.",
941 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
942 + }
943 + }
944 + }
945 + }
946 + },
947 + "400": {
948 + "description": "BadRequest",
949 + "content": {
950 + "application/json": {
951 + "examples": {
952 + "general-validation-error": {
953 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
954 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
955 + },
956 + "validation": {
957 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
958 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
959 + }
960 + }
961 + }
962 + }
963 + },
964 + "404": {
965 + "description": "NotFound",
966 + "content": {
967 + "application/json": {
968 + "examples": {
969 + "customer-does-not-exists": {
970 + "description": "The requested resource '' was not found.",
971 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
972 + },
973 + "customer-not-found": {
974 + "description": "The requested resource '' was not found.",
975 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
976 + }
977 + }
978 + }
979 + }
980 + }
981 + }
982 + },
983 + "post": {
984 + "tags": [
985 + "Customer"
986 + ],
987 + "summary": "Add a billing-address",
988 + "description": "Add a billing address to customer. The billing address is where invoices/bills/letters etc. is normally sent to. This address is optional",
989 + "parameters": [
990 + {
991 + "name": "ownerNo",
992 + "in": "path",
993 + "required": true,
994 + "schema": {
995 + "type": "string"
996 + }
997 + },
998 + {
999 + "name": "customerNo",
1000 + "in": "path",
1001 + "required": true,
1002 + "schema": {
1003 + "type": "string"
1004 + }
1005 + }
1006 + ],
1007 + "requestBody": {
1008 + "content": {
1009 + "application/json": {
1010 + "schema": {
1011 + "$ref": "#/components/schemas/V1.Customers.SingleResources.AddressRequest"
1012 + },
1013 + "example": "{\r\n \"addressee\": \"Test Testsson\",\r\n \"streetAddress\": \"Test street 1\",\r\n \"zipCode\": \"60000\",\r\n \"city\": \"Test town\",\r\n \"coAddress\": \"Co address\",\r\n \"countryCode\": \"SE\"\r\n}"
1014 + }
1015 + }
1016 + },
1017 + "responses": {
1018 + "204": {
1019 + "description": "No Content",
1020 + "content": {
1021 + "application/json": {
1022 + "schema": {
1023 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
1024 + }
1025 + }
1026 + }
1027 + },
1028 + "500": {
1029 + "description": "InternalServerError",
1030 + "content": {
1031 + "application/json": {
1032 + "examples": {
1033 + "internal-server-error": {
1034 + "description": "The requested resource '' could not be processed. Please contact support.",
1035 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1036 + },
1037 + "handled-exception": {
1038 + "description": "The requested resource '' could not be processed. Please contact support.",
1039 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1040 + },
1041 + "unhandled-exception": {
1042 + "description": "The requested resource '' could not be processed. Please contact support.",
1043 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1044 + }
1045 + }
1046 + }
1047 + }
1048 + },
1049 + "400": {
1050 + "description": "BadRequest",
1051 + "content": {
1052 + "application/json": {
1053 + "examples": {
1054 + "general-validation-error": {
1055 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1056 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1057 + },
1058 + "validation": {
1059 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1060 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1061 + }
1062 + }
1063 + }
1064 + }
1065 + },
1066 + "404": {
1067 + "description": "NotFound",
1068 + "content": {
1069 + "application/json": {
1070 + "examples": {
1071 + "customer-does-not-exists": {
1072 + "description": "The requested resource '' was not found.",
1073 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1074 + },
1075 + "customer-not-found": {
1076 + "description": "The requested resource '' was not found.",
1077 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1078 + }
1079 + }
1080 + }
1081 + }
1082 + }
1083 + }
1084 + },
1085 + "put": {
1086 + "tags": [
1087 + "Customer"
1088 + ],
1089 + "summary": "Update billing-address",
1090 + "description": "Use this operation to update the address, the \"PUT\" body of the request should be according to the properties of the resource.",
1091 + "parameters": [
1092 + {
1093 + "name": "ownerNo",
1094 + "in": "path",
1095 + "required": true,
1096 + "schema": {
1097 + "type": "string"
1098 + }
1099 + },
1100 + {
1101 + "name": "customerNo",
1102 + "in": "path",
1103 + "required": true,
1104 + "schema": {
1105 + "type": "string"
1106 + }
1107 + }
1108 + ],
1109 + "requestBody": {
1110 + "content": {
1111 + "application/json": {
1112 + "schema": {
1113 + "$ref": "#/components/schemas/V1.Customers.SingleResources.AddressRequest"
1114 + },
1115 + "example": "{\r\n \"addressee\": \"Test Testsson\",\r\n \"streetAddress\": \"Test street 1\",\r\n \"zipCode\": \"60000\",\r\n \"city\": \"Test town\",\r\n \"coAddress\": \"Co address\",\r\n \"countryCode\": \"SE\"\r\n}"
1116 + }
1117 + }
1118 + },
1119 + "responses": {
1120 + "204": {
1121 + "description": "No Content",
1122 + "content": {
1123 + "application/json": {
1124 + "schema": {
1125 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
1126 + }
1127 + }
1128 + }
1129 + },
1130 + "500": {
1131 + "description": "InternalServerError",
1132 + "content": {
1133 + "application/json": {
1134 + "examples": {
1135 + "internal-server-error": {
1136 + "description": "The requested resource '' could not be processed. Please contact support.",
1137 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1138 + },
1139 + "handled-exception": {
1140 + "description": "The requested resource '' could not be processed. Please contact support.",
1141 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1142 + },
1143 + "unhandled-exception": {
1144 + "description": "The requested resource '' could not be processed. Please contact support.",
1145 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1146 + }
1147 + }
1148 + }
1149 + }
1150 + },
1151 + "400": {
1152 + "description": "BadRequest",
1153 + "content": {
1154 + "application/json": {
1155 + "examples": {
1156 + "general-validation-error": {
1157 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1158 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1159 + },
1160 + "validation": {
1161 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1162 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1163 + }
1164 + }
1165 + }
1166 + }
1167 + },
1168 + "404": {
1169 + "description": "NotFound",
1170 + "content": {
1171 + "application/json": {
1172 + "examples": {
1173 + "customer-does-not-exists": {
1174 + "description": "The requested resource '' was not found.",
1175 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1176 + },
1177 + "customer-not-found": {
1178 + "description": "The requested resource '' was not found.",
1179 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1180 + }
1181 + }
1182 + }
1183 + }
1184 + }
1185 + }
1186 + },
1187 + "delete": {
1188 + "tags": [
1189 + "Customer"
1190 + ],
1191 + "summary": "Delete billing-address",
1192 + "description": "Use this operation to delete the billing address.",
1193 + "parameters": [
1194 + {
1195 + "name": "ownerNo",
1196 + "in": "path",
1197 + "required": true,
1198 + "schema": {
1199 + "type": "string"
1200 + }
1201 + },
1202 + {
1203 + "name": "customerNo",
1204 + "in": "path",
1205 + "required": true,
1206 + "schema": {
1207 + "maxLength": 255,
1208 + "minLength": 0,
1209 + "type": "string"
1210 + }
1211 + }
1212 + ],
1213 + "responses": {
1214 + "204": {
1215 + "description": "No Content",
1216 + "content": {
1217 + "application/json": {
1218 + "schema": {
1219 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
1220 + }
1221 + }
1222 + }
1223 + },
1224 + "500": {
1225 + "description": "InternalServerError",
1226 + "content": {
1227 + "application/json": {
1228 + "examples": {
1229 + "internal-server-error": {
1230 + "description": "The requested resource '' could not be processed. Please contact support.",
1231 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1232 + },
1233 + "handled-exception": {
1234 + "description": "The requested resource '' could not be processed. Please contact support.",
1235 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1236 + },
1237 + "unhandled-exception": {
1238 + "description": "The requested resource '' could not be processed. Please contact support.",
1239 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1240 + }
1241 + }
1242 + }
1243 + }
1244 + },
1245 + "400": {
1246 + "description": "BadRequest",
1247 + "content": {
1248 + "application/json": {
1249 + "examples": {
1250 + "general-validation-error": {
1251 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1252 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1253 + },
1254 + "validation": {
1255 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
1256 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1257 + }
1258 + }
1259 + }
1260 + }
1261 + },
1262 + "404": {
1263 + "description": "NotFound",
1264 + "content": {
1265 + "application/json": {
1266 + "examples": {
1267 + "customer-does-not-exists": {
1268 + "description": "The requested resource '' was not found.",
1269 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1270 + },
1271 + "customer-not-found": {
1272 + "description": "The requested resource '' was not found.",
1273 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1274 + }
1275 + }
1276 + }
1277 + }
1278 + }
1279 + }
1280 + }
1281 + },
1282 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent": {
1283 + "get": {
1284 + "tags": [
1285 + "Customer"
1286 + ],
1287 + "summary": "Get the underlying Consent resources.",
1288 + "description": "Underlying resources that display information or enable registration of a customer's consent.",
1289 + "parameters": [
1290 + {
1291 + "name": "ownerNo",
1292 + "in": "path",
1293 + "required": true,
1294 + "schema": {
1295 + "type": "string"
1296 + }
1297 + },
1298 + {
1299 + "name": "customerNo",
1300 + "in": "path",
1301 + "required": true,
1302 + "schema": {
1303 + "type": "string"
1304 + }
1305 + }
1306 + ],
1307 + "responses": {
1308 + "200": {
1309 + "description": "OK",
1310 + "content": {
1311 + "application/json": {
1312 + "schema": {
1313 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.ConsentResource"
1314 + },
1315 + "examples": {
1316 + "OK": {
1317 + "description": "Get customer consent",
1318 + "value": "{\r\n \"recurringCard\": \"/ledger/customer/v1/xxx/customers/yyy/consent/recurring-card\",\r\n \"recurringCardRedirectRegistration\": \"/ledger/customer/v1/xxx/customers/yyy/consent/recurring-card-redirect-registration\",\r\n \"trustedSellerGroups\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups\",\r\n \"availableTrustedSellerGroupConsents\": [],\r\n \"operations\": [\r\n {\r\n \"rel\": \"add-trusted-seller-group\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups\"\r\n },\r\n {\r\n \"rel\": \"add-recurring-card-redirect-registration\",\r\n \"method\": \"POST\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/recurring-card-redirect-registration\"\r\n }\r\n ]\r\n}"
1319 + }
1320 + }
1321 + }
1322 + }
1323 + }
1324 + }
1325 + }
1326 + },
1327 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent/trusted-seller-groups/{consentType}": {
1328 + "get": {
1329 + "tags": [
1330 + "Customer"
1331 + ],
1332 + "summary": "Get Customer active Consent.",
1333 + "description": "Get details about the customer's active Consent.",
1334 + "operationId": "PayEx.AR.Customer.Api.Resources.Customer.V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsController_Id_GetSingle",
1335 + "parameters": [
1336 + {
1337 + "name": "ownerNo",
1338 + "in": "path",
1339 + "required": true,
1340 + "schema": {
1341 + "type": "string"
1342 + }
1343 + },
1344 + {
1345 + "name": "customerNo",
1346 + "in": "path",
1347 + "required": true,
1348 + "schema": {
1349 + "type": "string"
1350 + }
1351 + },
1352 + {
1353 + "name": "consentType",
1354 + "in": "path",
1355 + "required": true,
1356 + "schema": {
1357 + "type": "string"
1358 + }
1359 + }
1360 + ],
1361 + "responses": {
1362 + "200": {
1363 + "description": "OK",
1364 + "content": {
1365 + "application/json": {
1366 + "schema": {
1367 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsResource"
1368 + },
1369 + "examples": {
1370 + "OK": {
1371 + "description": "Get single consent",
1372 + "value": "{\r\n \"consentType\": \"ccccc\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"delete-trusted-seller-group\",\r\n \"method\": \"DELETE\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/ccccc\"\r\n }\r\n ]\r\n}"
1373 + }
1374 + }
1375 + }
1376 + }
1377 + },
1378 + "400": {
1379 + "description": "BadRequest",
1380 + "content": {
1381 + "application/json": {
1382 + "examples": {
1383 + "validation": {
1384 + "description": "Occurs if the validation of the request fails, it is described in the problem why the input is invalid.",
1385 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1386 + }
1387 + }
1388 + }
1389 + }
1390 + },
1391 + "404": {
1392 + "description": "NotFound",
1393 + "content": {
1394 + "application/json": {
1395 + "examples": {
1396 + "not-found": {
1397 + "description": "Occurs if the requested resource is not found.",
1398 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1399 + }
1400 + }
1401 + }
1402 + }
1403 + },
1404 + "409": {
1405 + "description": "Conflict",
1406 + "content": {
1407 + "application/json": {
1408 + "examples": {
1409 + "conflict": {
1410 + "description": "Occurs if the requested resource already exists.",
1411 + "value": "{\r\n \"type\": \"conflict\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1412 + }
1413 + }
1414 + }
1415 + }
1416 + },
1417 + "500": {
1418 + "description": "InternalServerError",
1419 + "content": {
1420 + "application/json": {
1421 + "examples": {
1422 + "fatal": {
1423 + "description": "Unexpected error, logs may give details about the problem",
1424 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1425 + }
1426 + }
1427 + }
1428 + }
1429 + }
1430 + }
1431 + },
1432 + "delete": {
1433 + "tags": [
1434 + "Customer"
1435 + ],
1436 + "summary": "Delete a consent from customer.",
1437 + "description": "Delete a active consent from customer.",
1438 + "operationId": "PayEx.AR.Customer.Api.Resources.Customer.V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsController_Id_Delete",
1439 + "parameters": [
1440 + {
1441 + "name": "ownerNo",
1442 + "in": "path",
1443 + "required": true,
1444 + "schema": {
1445 + "type": "string"
1446 + }
1447 + },
1448 + {
1449 + "name": "customerNo",
1450 + "in": "path",
1451 + "required": true,
1452 + "schema": {
1453 + "type": "string"
1454 + }
1455 + },
1456 + {
1457 + "name": "consentType",
1458 + "in": "path",
1459 + "required": true,
1460 + "schema": {
1461 + "type": "string"
1462 + }
1463 + }
1464 + ],
1465 + "responses": {
1466 + "204": {
1467 + "description": "No Content",
1468 + "content": {
1469 + "application/json": {
1470 + "schema": {
1471 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
1472 + }
1473 + }
1474 + }
1475 + },
1476 + "400": {
1477 + "description": "BadRequest",
1478 + "content": {
1479 + "application/json": {
1480 + "examples": {
1481 + "validation": {
1482 + "description": "Occurs if the validation of the request fails, it is described in the problem why the input is invalid.",
1483 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1484 + }
1485 + }
1486 + }
1487 + }
1488 + },
1489 + "404": {
1490 + "description": "NotFound",
1491 + "content": {
1492 + "application/json": {
1493 + "examples": {
1494 + "not-found": {
1495 + "description": "Occurs if the requested resource is not found.",
1496 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1497 + }
1498 + }
1499 + }
1500 + }
1501 + },
1502 + "409": {
1503 + "description": "Conflict",
1504 + "content": {
1505 + "application/json": {
1506 + "examples": {
1507 + "conflict": {
1508 + "description": "Occurs if the requested resource already exists.",
1509 + "value": "{\r\n \"type\": \"conflict\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1510 + }
1511 + }
1512 + }
1513 + }
1514 + },
1515 + "500": {
1516 + "description": "InternalServerError",
1517 + "content": {
1518 + "application/json": {
1519 + "examples": {
1520 + "fatal": {
1521 + "description": "Unexpected error, logs may give details about the problem",
1522 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1523 + }
1524 + }
1525 + }
1526 + }
1527 + }
1528 + }
1529 + }
1530 + },
1531 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent/trusted-seller-groups": {
1532 + "post": {
1533 + "tags": [
1534 + "Customer"
1535 + ],
1536 + "summary": "Save a Consent document for specific CustomerNo and ConsentType.",
1537 + "description": "Save a pdf Consent document as a Base64 string for specific CustomerNo and ConsentType.",
1538 + "parameters": [
1539 + {
1540 + "name": "ownerNo",
1541 + "in": "path",
1542 + "required": true,
1543 + "schema": {
1544 + "type": "string"
1545 + }
1546 + },
1547 + {
1548 + "name": "customerNo",
1549 + "in": "path",
1550 + "required": true,
1551 + "schema": {
1552 + "type": "string"
1553 + }
1554 + }
1555 + ],
1556 + "requestBody": {
1557 + "content": {
1558 + "application/json": {
1559 + "schema": {
1560 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsPostRequest"
1561 + },
1562 + "example": "{\r\n \"consentType\": \"PharmaciesSE\",\r\n \"applicationDocument\": {\r\n \"content\": \"JVBERi0xLjQKJ...\",\r\n \"fileType\": \"pdf\"\r\n }\r\n}"
1563 + },
1564 + "text/json": {
1565 + "schema": {
1566 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsPostRequest"
1567 + }
1568 + },
1569 + "application/*+json": {
1570 + "schema": {
1571 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsPostRequest"
1572 + }
1573 + }
1574 + }
1575 + },
1576 + "responses": {
1577 + "200": {
1578 + "description": "OK",
1579 + "content": {
1580 + "application/json": {
1581 + "schema": {
1582 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsResource"
1583 + },
1584 + "examples": {
1585 + "OK": {
1586 + "description": "Save a consent document",
1587 + "value": "{\r\n \"consentType\": \"cccc\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"delete-trusted-seller-group\",\r\n \"method\": \"DELETE\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/cccc\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/cccc\"\r\n}"
1588 + }
1589 + }
1590 + }
1591 + }
1592 + },
1593 + "400": {
1594 + "description": "BadRequest",
1595 + "content": {
1596 + "application/json": {
1597 + "examples": {
1598 + "validation": {
1599 + "description": "Occurs if the validation of the request fails, it is described in the problem why the input is invalid.",
1600 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1601 + }
1602 + }
1603 + }
1604 + }
1605 + },
1606 + "404": {
1607 + "description": "NotFound",
1608 + "content": {
1609 + "application/json": {
1610 + "examples": {
1611 + "not-found": {
1612 + "description": "Occurs if the requested resource is not found.",
1613 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1614 + }
1615 + }
1616 + }
1617 + }
1618 + },
1619 + "409": {
1620 + "description": "Conflict",
1621 + "content": {
1622 + "application/json": {
1623 + "examples": {
1624 + "conflict": {
1625 + "description": "Occurs if the requested resource already exists.",
1626 + "value": "{\r\n \"type\": \"conflict\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1627 + }
1628 + }
1629 + }
1630 + }
1631 + },
1632 + "500": {
1633 + "description": "InternalServerError",
1634 + "content": {
1635 + "application/json": {
1636 + "examples": {
1637 + "fatal": {
1638 + "description": "Unexpected error, logs may give details about the problem",
1639 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1640 + }
1641 + }
1642 + }
1643 + }
1644 + }
1645 + }
1646 + },
1647 + "get": {
1648 + "tags": [
1649 + "Customer"
1650 + ],
1651 + "summary": "Get Customer active Consent.",
1652 + "description": "Get details about the customer's active Consent.",
1653 + "parameters": [
1654 + {
1655 + "name": "ownerNo",
1656 + "in": "path",
1657 + "required": true,
1658 + "schema": {
1659 + "type": "string"
1660 + }
1661 + },
1662 + {
1663 + "name": "customerNo",
1664 + "in": "path",
1665 + "required": true,
1666 + "schema": {
1667 + "type": "string"
1668 + }
1669 + }
1670 + ],
1671 + "responses": {
1672 + "200": {
1673 + "description": "OK",
1674 + "content": {
1675 + "application/json": {
1676 + "schema": {
1677 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsResourceListResult"
1678 + },
1679 + "examples": {
1680 + "OK": {
1681 + "description": "Get consent list",
1682 + "value": "{\r\n \"items\": [\r\n {\r\n \"consentType\": \"ccccc1\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"delete-trusted-seller-group\",\r\n \"method\": \"DELETE\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/ccccc1\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/ccccc1\"\r\n },\r\n {\r\n \"consentType\": \"ccccc2\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"delete-trusted-seller-group\",\r\n \"method\": \"DELETE\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/ccccc2\"\r\n }\r\n ],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups/ccccc2\"\r\n }\r\n ],\r\n \"navigation\": {\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/consent/trusted-seller-groups\"\r\n }\r\n}"
1683 + }
1684 + }
1685 + }
1686 + }
1687 + },
1688 + "400": {
1689 + "description": "BadRequest",
1690 + "content": {
1691 + "application/json": {
1692 + "examples": {
1693 + "validation": {
1694 + "description": "Occurs if the validation of the request fails, it is described in the problem why the input is invalid.",
1695 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1696 + }
1697 + }
1698 + }
1699 + }
1700 + },
1701 + "404": {
1702 + "description": "NotFound",
1703 + "content": {
1704 + "application/json": {
1705 + "examples": {
1706 + "not-found": {
1707 + "description": "Occurs if the requested resource is not found.",
1708 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1709 + }
1710 + }
1711 + }
1712 + }
1713 + },
1714 + "409": {
1715 + "description": "Conflict",
1716 + "content": {
1717 + "application/json": {
1718 + "examples": {
1719 + "conflict": {
1720 + "description": "Occurs if the requested resource already exists.",
1721 + "value": "{\r\n \"type\": \"conflict\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1722 + }
1723 + }
1724 + }
1725 + }
1726 + },
1727 + "500": {
1728 + "description": "InternalServerError",
1729 + "content": {
1730 + "application/json": {
1731 + "examples": {
1732 + "fatal": {
1733 + "description": "Unexpected error, logs may give details about the problem",
1734 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1735 + }
1736 + }
1737 + }
1738 + }
1739 + }
1740 + }
1741 + }
1742 + },
1743 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent/recurring-card": {
1744 + "get": {
1745 + "tags": [
1746 + "Customer"
1747 + ],
1748 + "summary": "Get customer active Recurring Card Consent.",
1749 + "description": "Get details about the customer's active Recurring Card Consent.",
1750 + "parameters": [
1751 + {
1752 + "name": "ownerNo",
1753 + "in": "path",
1754 + "required": true,
1755 + "schema": {
1756 + "type": "string"
1757 + }
1758 + },
1759 + {
1760 + "name": "customerNo",
1761 + "in": "path",
1762 + "required": true,
1763 + "schema": {
1764 + "type": "string"
1765 + }
1766 + }
1767 + ],
1768 + "responses": {
1769 + "200": {
1770 + "description": "OK",
1771 + "content": {
1772 + "application/json": {
1773 + "schema": {
1774 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.SingleResources.RecurringCard.RecurringCardResource"
1775 + },
1776 + "examples": {
1777 + "OK": {
1778 + "description": "Get customer active Recurring Card Consent.",
1779 + "value": "{\r\n \"cardToken\": \"2eb28854-07ec-4e88-b672-7c61cc54b461\",\r\n \"consentExpiryDate\": \"04-2035\",\r\n \"instrumentDisplayName\": \"551000******1232\",\r\n \"cardExpiryDate\": \"04/2035\",\r\n \"cardBrand\": \"Visa\",\r\n \"operations\": [\r\n {\r\n \"rel\": \"delete-recurring-card\",\r\n \"method\": \"DELETE\",\r\n \"href\": \"/ledger/customer/v1/xxx/customers/yyy/consent/recurring-card\"\r\n }\r\n ]\r\n}"
1780 + }
1781 + }
1782 + }
1783 + }
1784 + }
1785 + }
1786 + },
1787 + "delete": {
1788 + "tags": [
1789 + "Customer"
1790 + ],
1791 + "summary": "Delete customer active Recurring Card Consent.",
1792 + "description": "Delete the customer's active Recurring Card Consent.",
1793 + "parameters": [
1794 + {
1795 + "name": "ownerNo",
1796 + "in": "path",
1797 + "required": true,
1798 + "schema": {
1799 + "type": "string"
1800 + }
1801 + },
1802 + {
1803 + "name": "customerNo",
1804 + "in": "path",
1805 + "required": true,
1806 + "schema": {
1807 + "type": "string"
1808 + }
1809 + }
1810 + ],
1811 + "responses": {
1812 + "204": {
1813 + "description": "No Content",
1814 + "content": {
1815 + "application/json": {
1816 + "schema": {
1817 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
1818 + }
1819 + }
1820 + }
1821 + }
1822 + }
1823 + }
1824 + },
1825 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/consent/recurring-card-redirect-registration": {
1826 + "get": {
1827 + "tags": [
1828 + "Customer"
1829 + ],
1830 + "summary": "Get Recurring Card registration.",
1831 + "description": "Get details about the customer's ongoing Recurring Card registration.",
1832 + "parameters": [
1833 + {
1834 + "name": "ownerNo",
1835 + "in": "path",
1836 + "required": true,
1837 + "schema": {
1838 + "type": "string"
1839 + }
1840 + },
1841 + {
1842 + "name": "customerNo",
1843 + "in": "path",
1844 + "required": true,
1845 + "schema": {
1846 + "type": "string"
1847 + }
1848 + }
1849 + ],
1850 + "responses": {
1851 + "200": {
1852 + "description": "OK",
1853 + "content": {
1854 + "application/json": {
1855 + "schema": {
1856 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationResource"
1857 + },
1858 + "examples": {
1859 + "OK": {
1860 + "description": "Customer's ongoing Recurring Card Registration.",
1861 + "value": "{\r\n \"redirectUrl\": \"https://ecom.externalintegration.payex.com/checkout/abc123\",\r\n \"status\": \"Initialized\",\r\n \"operations\": []\r\n}"
1862 + }
1863 + }
1864 + }
1865 + }
1866 + }
1867 + }
1868 + },
1869 + "post": {
1870 + "tags": [
1871 + "Customer"
1872 + ],
1873 + "summary": "Start a Recurring Card registration.",
1874 + "description": "Initializes the customer's Recurring Card registration with redirect to SwedbankPay.",
1875 + "parameters": [
1876 + {
1877 + "name": "ownerNo",
1878 + "in": "path",
1879 + "required": true,
1880 + "schema": {
1881 + "type": "string"
1882 + }
1883 + },
1884 + {
1885 + "name": "customerNo",
1886 + "in": "path",
1887 + "required": true,
1888 + "schema": {
1889 + "type": "string"
1890 + }
1891 + }
1892 + ],
1893 + "requestBody": {
1894 + "content": {
1895 + "application/json": {
1896 + "schema": {
1897 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationRequest"
1898 + },
1899 + "example": "{\r\n \"completeUrl\": \"https://www.google.com/search?q=cancelurl\",\r\n \"cancelUrl\": \"https://www.google.com/search?q=completeurl\",\r\n \"language\": \"en-US\"\r\n}"
1900 + },
1901 + "text/json": {
1902 + "schema": {
1903 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationRequest"
1904 + }
1905 + },
1906 + "application/*+json": {
1907 + "schema": {
1908 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationRequest"
1909 + }
1910 + }
1911 + }
1912 + },
1913 + "responses": {
1914 + "200": {
1915 + "description": "OK",
1916 + "content": {
1917 + "application/json": {
1918 + "schema": {
1919 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationResource"
1920 + },
1921 + "examples": {
1922 + "OK": {
1923 + "description": "Customer's ongoing Recurring Card Registration.",
1924 + "value": "{\r\n \"redirectUrl\": \"https://ecom.externalintegration.payex.com/checkout/abc123\",\r\n \"status\": \"Initialized\",\r\n \"operations\": [],\r\n \"@id\": \"/ledger/customer/v1/xxx/customers/yyy/consent/recurring-card-redirect-registration\"\r\n}"
1925 + }
1926 + }
1927 + }
1928 + }
1929 + }
1930 + }
1931 + }
1932 + },
1933 + "/ledger/customer/v1/{ownerNo}/customers/{customerNo}/update-kyc-answers": {
1934 + "post": {
1935 + "tags": [
1936 + "Customer"
1937 + ],
1938 + "summary": "Add new KYC answers",
1939 + "description": "When exposed on customer resources operations list it's a indication previous KYC answers up for renewal. Able to update KYC with this operation even if current aren't expired but won't be suggested on the customer resource",
1940 + "parameters": [
1941 + {
1942 + "name": "ownerNo",
1943 + "in": "path",
1944 + "required": true,
1945 + "schema": {
1946 + "type": "string"
1947 + }
1948 + },
1949 + {
1950 + "name": "customerNo",
1951 + "in": "path",
1952 + "required": true,
1953 + "schema": {
1954 + "type": "string"
1955 + }
1956 + }
1957 + ],
1958 + "requestBody": {
1959 + "content": {
1960 + "application/json": {
1961 + "schema": {
1962 + "$ref": "#/components/schemas/V1.Customers.Operations.UpdateKycAnswers.UpdateKycAnswersRequest"
1963 + },
1964 + "example": "{\r\n \"answers\": [\r\n {\r\n \"questionCode\": \"taxable_outside_sweden\",\r\n \"answerCode\": \"no\"\r\n },\r\n {\r\n \"questionCode\": \"multiple_citizenship\",\r\n \"answerCode\": \"yes\"\r\n },\r\n {\r\n \"questionCode\": \"citizen_ship_country_codes\",\r\n \"answerCode\": \"SWE\"\r\n },\r\n {\r\n \"questionCode\": \"citizen_ship_country_codes\",\r\n \"answerCode\": \"NOR\"\r\n }\r\n ]\r\n}"
1965 + },
1966 + "text/json": {
1967 + "schema": {
1968 + "$ref": "#/components/schemas/V1.Customers.Operations.UpdateKycAnswers.UpdateKycAnswersRequest"
1969 + }
1970 + },
1971 + "application/*+json": {
1972 + "schema": {
1973 + "$ref": "#/components/schemas/V1.Customers.Operations.UpdateKycAnswers.UpdateKycAnswersRequest"
1974 + }
1975 + }
1976 + }
1977 + },
1978 + "responses": {
1979 + "204": {
1980 + "description": "No Content",
1981 + "content": {
1982 + "application/json": {
1983 + "schema": {
1984 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult"
1985 + }
1986 + }
1987 + }
1988 + },
1989 + "400": {
1990 + "description": "BadRequest",
1991 + "content": {
1992 + "application/json": {
1993 + "examples": {
1994 + "validation": {
1995 + "description": "Occurs if the validation of the request fails, it is described in the problem why the input is invalid.",
1996 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
1997 + }
1998 + }
1999 + }
2000 + }
2001 + },
2002 + "404": {
2003 + "description": "NotFound",
2004 + "content": {
2005 + "application/json": {
2006 + "examples": {
2007 + "not-found": {
2008 + "description": "Occurs if the customer not found or if KYC is not configured on this ledger.",
2009 + "value": "{\r\n \"type\": \"not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2010 + }
2011 + }
2012 + }
2013 + }
2014 + },
2015 + "409": {
2016 + "description": "Conflict",
2017 + "content": {
2018 + "application/json": {
2019 + "examples": {
2020 + "company-kyc-questions-not-configured": {
2021 + "description": "Occurs if ledger is not currently configured for KYC",
2022 + "value": "{\r\n \"type\": \"company-kyc-questions-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 409,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2023 + }
2024 + }
2025 + }
2026 + }
2027 + },
2028 + "500": {
2029 + "description": "InternalServerError",
2030 + "content": {
2031 + "application/json": {
2032 + "examples": {
2033 + "fatal": {
2034 + "description": "Unexpected error, logs may give details about the problem",
2035 + "value": "{\r\n \"type\": \"fatal\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2036 + }
2037 + }
2038 + }
2039 + }
2040 + }
2041 + }
2042 + }
2043 + },
2044 + "/ledger/customer/v1/{ownerNo}/find-customer": {
2045 + "post": {
2046 + "tags": [
2047 + "Customer"
2048 + ],
2049 + "summary": "Find customer by nationalIdentifier",
2050 + "description": " It is used to find customer with nationalIdentifier.",
2051 + "parameters": [
2052 + {
2053 + "name": "ownerNo",
2054 + "in": "path",
2055 + "required": true,
2056 + "schema": {
2057 + "type": "string"
2058 + }
2059 + }
2060 + ],
2061 + "requestBody": {
2062 + "content": {
2063 + "application/json": {
2064 + "schema": {
2065 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Domain.FindCustomer.External.ApiResources.FindCustomerResource"
2066 + },
2067 + "example": "{\r\n \"nationalIdentifier\": {\r\n \"regNo\": \"YYYYMMDD-NNNN\",\r\n \"countryCode\": \"SE\"\r\n }\r\n}"
2068 + }
2069 + }
2070 + },
2071 + "responses": {
2072 + "200": {
2073 + "description": "OK",
2074 + "content": {
2075 + "application/json": {
2076 + "schema": {
2077 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Domain.FindCustomer.External.ApiResources.Results.FindCustomerResult"
2078 + },
2079 + "examples": {
2080 + "OK": {
2081 + "description": "Find customer with nationalIdentifier, regno and countrycode, returns CustomerNo = YYY",
2082 + "value": "{\r\n \"customerNo\": \"YYY\"\r\n}"
2083 + }
2084 + }
2085 + }
2086 + }
2087 + },
2088 + "500": {
2089 + "description": "InternalServerError",
2090 + "content": {
2091 + "application/json": {
2092 + "examples": {
2093 + "internal-server-error": {
2094 + "description": "The requested resource '' could not be processed. Please contact support.",
2095 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2096 + },
2097 + "handled-exception": {
2098 + "description": "The requested resource '' could not be processed. Please contact support.",
2099 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2100 + },
2101 + "unhandled-exception": {
2102 + "description": "The requested resource '' could not be processed. Please contact support.",
2103 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2104 + }
2105 + }
2106 + }
2107 + }
2108 + },
2109 + "400": {
2110 + "description": "BadRequest",
2111 + "content": {
2112 + "application/json": {
2113 + "examples": {
2114 + "general-validation-error": {
2115 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
2116 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2117 + },
2118 + "validation": {
2119 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
2120 + "value": "{\r\n \"type\": \"validation\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2121 + },
2122 + "invalid-reg-no": {
2123 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
2124 + "value": "{\r\n \"type\": \"invalid-reg-no\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2125 + }
2126 + }
2127 + }
2128 + }
2129 + },
2130 + "404": {
2131 + "description": "NotFound",
2132 + "content": {
2133 + "application/json": {
2134 + "examples": {
2135 + "customer-does-not-exists": {
2136 + "description": "The requested resource '' was not found.",
2137 + "value": "{\r\n \"type\": \"customer-does-not-exists\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2138 + },
2139 + "customer-not-found": {
2140 + "description": "The requested resource '' was not found.",
2141 + "value": "{\r\n \"type\": \"customer-not-found\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2142 + }
2143 + }
2144 + }
2145 + }
2146 + }
2147 + }
2148 + }
2149 + },
2150 + "/ledger/customer/v1/{ownerNo}/kyc-questions": {
2151 + "get": {
2152 + "tags": [
2153 + "Customer"
2154 + ],
2155 + "summary": "Get KYC questions configured on company",
2156 + "description": "Get KYC questions from ledger using company number as identifier",
2157 + "parameters": [
2158 + {
2159 + "name": "ownerNo",
2160 + "in": "path",
2161 + "required": true,
2162 + "schema": {
2163 + "type": "string"
2164 + }
2165 + },
2166 + {
2167 + "name": "language",
2168 + "in": "query",
2169 + "description": "format ISO639-1, if not supported or none given request defaults to language code 'en'(English)",
2170 + "schema": {
2171 + "type": "string"
2172 + }
2173 + }
2174 + ],
2175 + "responses": {
2176 + "200": {
2177 + "description": "OK",
2178 + "content": {
2179 + "application/json": {
2180 + "schema": {
2181 + "$ref": "#/components/schemas/V1.RootResource.SingleResources.KycQuestions.KycQuestionsResource"
2182 + },
2183 + "examples": {
2184 + "OK": {
2185 + "description": "Get CompanyInstance KYC questions if configured or a 404 company-kyc-questions-not-configured response if not",
2186 + "value": "{\r\n \"kycQuestions\": [\r\n {\r\n \"questionText\": \"What is your current employment?\",\r\n \"answer\": {\r\n \"type\": \"single\",\r\n \"required\": true,\r\n \"possibleAnswers\": [\r\n {\r\n \"answerCode\": \"selfemployed\",\r\n \"answerText\": \"Own business\"\r\n },\r\n {\r\n \"answerCode\": \"private_employee\",\r\n \"answerText\": \"Private employee\"\r\n },\r\n {\r\n \"answerCode\": \"goverment_employee\",\r\n \"answerText\": \"Government employee\"\r\n }\r\n ]\r\n },\r\n \"questionCode\": \"employment\"\r\n },\r\n {\r\n \"questionText\": \"What is your yearly income\",\r\n \"answer\": {\r\n \"type\": \"single\",\r\n \"required\": true,\r\n \"possibleAnswers\": [\r\n {\r\n \"answerCode\": \"incomeinterval1\",\r\n \"answerText\": \"0-100 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval2\",\r\n \"answerText\": \"100 001-200 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval3\",\r\n \"answerText\": \"200 001-300 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"incomeinterval4\",\r\n \"answerText\": \"Over 300 001 SEK\"\r\n }\r\n ]\r\n },\r\n \"questionCode\": \"income\"\r\n }\r\n ],\r\n \"operations\": []\r\n}"
2187 + }
2188 + }
2189 + }
2190 + }
2191 + },
2192 + "500": {
2193 + "description": "InternalServerError",
2194 + "content": {
2195 + "application/json": {
2196 + "examples": {
2197 + "internal-server-error": {
2198 + "description": "The requested resource '' could not be processed. Please contact support.",
2199 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2200 + },
2201 + "handled-exception": {
2202 + "description": "The requested resource '' could not be processed. Please contact support.",
2203 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2204 + },
2205 + "unhandled-exception": {
2206 + "description": "The requested resource '' could not be processed. Please contact support.",
2207 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2208 + }
2209 + }
2210 + }
2211 + }
2212 + },
2213 + "400": {
2214 + "description": "BadRequest",
2215 + "content": {
2216 + "application/json": {
2217 + "examples": {
2218 + "general-validation-error": {
2219 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
2220 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2221 + }
2222 + }
2223 + }
2224 + }
2225 + },
2226 + "404": {
2227 + "description": "NotFound",
2228 + "content": {
2229 + "application/json": {
2230 + "examples": {
2231 + "company-kyc-questions-not-configured": {
2232 + "description": "The requested resource '' was not found.",
2233 + "value": "{\r\n \"type\": \"company-kyc-questions-not-configured\",\r\n \"title\": \"Problem title\",\r\n \"status\": 404,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2234 + }
2235 + }
2236 + }
2237 + }
2238 + }
2239 + }
2240 + }
2241 + },
2242 + "/ledger/customer/v1/{ownerNo}/affordability-questions": {
2243 + "get": {
2244 + "tags": [
2245 + "Customer"
2246 + ],
2247 + "summary": "Get affordability questions configured on company",
2248 + "description": "Get affordability questions from ledger using company number as identifier",
2249 + "parameters": [
2250 + {
2251 + "name": "ownerNo",
2252 + "in": "path",
2253 + "required": true,
2254 + "schema": {
2255 + "type": "string"
2256 + }
2257 + },
2258 + {
2259 + "name": "language",
2260 + "in": "query",
2261 + "description": "format ISO639-1, if not supported or none given request defaults to language code 'en'(English)",
2262 + "schema": {
2263 + "type": "string"
2264 + }
2265 + }
2266 + ],
2267 + "responses": {
2268 + "200": {
2269 + "description": "OK",
2270 + "content": {
2271 + "application/json": {
2272 + "schema": {
2273 + "$ref": "#/components/schemas/V1.RootResource.SingleResources.AffordabilityQuestions.AffordabilityQuestionsResource"
2274 + },
2275 + "examples": {
2276 + "OK": {
2277 + "description": "Get CompanyInstance affordability questions if configured. It's expected that not all credit assessment levels are configured for every company.",
2278 + "value": "{\r\n \"creditAssessmentLevel1\": [\r\n {\r\n \"questionCode\": \"yearly_revenue\",\r\n \"questionText\": \"What is your yearly revenue?\",\r\n \"answer\": {\r\n \"type\": \"single\",\r\n \"required\": true,\r\n \"possibleAnswers\": [\r\n {\r\n \"answerCode\": \"interval1\",\r\n \"answerText\": \"0-500 000 SEK\"\r\n },\r\n {\r\n \"answerCode\": \"interval2\",\r\n \"answerText\": \"500 001-1 000 000 SEK\"\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"creditAssessmentLevel2\": [\r\n {\r\n \"questionCode\": \"number_of_employees\",\r\n \"questionText\": \"How many employees does the company have?\",\r\n \"answer\": {\r\n \"type\": \"single\",\r\n \"required\": true,\r\n \"possibleAnswers\": [\r\n {\r\n \"answerCode\": \"interval1\",\r\n \"answerText\": \"1-10\"\r\n },\r\n {\r\n \"answerCode\": \"interval2\",\r\n \"answerText\": \"11-50\"\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"operations\": []\r\n}"
2279 + }
2280 + }
2281 + }
2282 + }
2283 + },
2284 + "500": {
2285 + "description": "InternalServerError",
2286 + "content": {
2287 + "application/json": {
2288 + "examples": {
2289 + "internal-server-error": {
2290 + "description": "The requested resource '' could not be processed. Please contact support.",
2291 + "value": "{\r\n \"type\": \"internal-server-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2292 + },
2293 + "handled-exception": {
2294 + "description": "The requested resource '' could not be processed. Please contact support.",
2295 + "value": "{\r\n \"type\": \"handled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2296 + },
2297 + "unhandled-exception": {
2298 + "description": "The requested resource '' could not be processed. Please contact support.",
2299 + "value": "{\r\n \"type\": \"unhandled-exception\",\r\n \"title\": \"Problem title\",\r\n \"status\": 500,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2300 + }
2301 + }
2302 + }
2303 + }
2304 + },
2305 + "400": {
2306 + "description": "BadRequest",
2307 + "content": {
2308 + "application/json": {
2309 + "examples": {
2310 + "general-validation-error": {
2311 + "description": "Validation error when accessing resource . Please refer to the problems property for additional details.",
2312 + "value": "{\r\n \"type\": \"general-validation-error\",\r\n \"title\": \"Problem title\",\r\n \"status\": 400,\r\n \"detail\": \"Problem details\",\r\n \"instance\": \"/traceId/e7e47c48-4a22-426e-9746-0dc0ea21d73a\"\r\n}"
2313 + }
2314 + }
2315 + }
2316 + }
2317 + }
2318 + }
2319 + }
2320 + }
2321 + },
2322 + "components": {
2323 + "schemas": {
2324 + "PayEx.AR.Customer.Api.Domain.FindCustomer.External.ApiResources.ComplexTypes.NationalIdentifier": {
2325 + "required": [
2326 + "regNo"
2327 + ],
2328 + "type": "object",
2329 + "properties": {
2330 + "regNo": {
2331 + "minLength": 1,
2332 + "type": "string"
2333 + },
2334 + "countryCode": {
2335 + "type": "string",
2336 + "nullable": true
2337 + }
2338 + },
2339 + "additionalProperties": false
2340 + },
2341 + "PayEx.AR.Customer.Api.Domain.FindCustomer.External.ApiResources.FindCustomerResource": {
2342 + "type": "object",
2343 + "properties": {
2344 + "@id": {
2345 + "type": "string",
2346 + "nullable": true
2347 + },
2348 + "nationalIdentifier": {
2349 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Domain.FindCustomer.External.ApiResources.ComplexTypes.NationalIdentifier"
2350 + }
2351 + },
2352 + "additionalProperties": false
2353 + },
2354 + "PayEx.AR.Customer.Api.Domain.FindCustomer.External.ApiResources.Results.FindCustomerResult": {
2355 + "type": "object",
2356 + "properties": {
2357 + "@id": {
2358 + "type": "string",
2359 + "nullable": true
2360 + },
2361 + "customerNo": {
2362 + "type": "string",
2363 + "nullable": true
2364 + }
2365 + },
2366 + "additionalProperties": false
2367 + },
2368 + "PayEx.AR.Customer.Api.Entity.AffordabilityAnswerBase": {
2369 + "required": [
2370 + "possibleAnswers",
2371 + "required",
2372 + "textValidationRegEx",
2373 + "type"
2374 + ],
2375 + "type": "object",
2376 + "properties": {
2377 + "type": {
2378 + "minLength": 1,
2379 + "type": "string",
2380 + "description": "The type of the expected answer: single | multi | text"
2381 + },
2382 + "required": {
2383 + "type": "boolean",
2384 + "description": "If the answer is required"
2385 + },
2386 + "textValidationRegEx": {
2387 + "minLength": 1,
2388 + "type": "string",
2389 + "description": "The regex the answer should match"
2390 + },
2391 + "possibleAnswers": {
2392 + "type": "array",
2393 + "items": {
2394 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.AffordabilityPossibleAnswer"
2395 + },
2396 + "description": "The definitions of possible answers"
2397 + }
2398 + },
2399 + "additionalProperties": false
2400 + },
2401 + "PayEx.AR.Customer.Api.Entity.AffordabilityPossibleAnswer": {
2402 + "required": [
2403 + "answerCode",
2404 + "answerText"
2405 + ],
2406 + "type": "object",
2407 + "properties": {
2408 + "answerCode": {
2409 + "minLength": 1,
2410 + "type": "string",
2411 + "description": "The code definition of the answer"
2412 + },
2413 + "answerText": {
2414 + "minLength": 1,
2415 + "type": "string",
2416 + "description": "The translated text of the answer"
2417 + },
2418 + "subQuestions": {
2419 + "type": "array",
2420 + "items": {
2421 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.AffordabilityQuestion"
2422 + },
2423 + "description": "The subquestions connected to an answer",
2424 + "nullable": true
2425 + }
2426 + },
2427 + "additionalProperties": false
2428 + },
2429 + "PayEx.AR.Customer.Api.Entity.AffordabilityQuestion": {
2430 + "required": [
2431 + "answer",
2432 + "questionCode",
2433 + "questionText"
2434 + ],
2435 + "type": "object",
2436 + "properties": {
2437 + "questionCode": {
2438 + "minLength": 1,
2439 + "type": "string",
2440 + "description": "The code definition of the question"
2441 + },
2442 + "questionText": {
2443 + "minLength": 1,
2444 + "type": "string",
2445 + "description": "The translated text of the question"
2446 + },
2447 + "answer": {
2448 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.AffordabilityAnswerBase"
2449 + }
2450 + },
2451 + "additionalProperties": false
2452 + },
2453 + "PayEx.AR.Customer.Api.Entity.Answer": {
2454 + "required": [
2455 + "answerCode",
2456 + "questionCode"
2457 + ],
2458 + "type": "object",
2459 + "properties": {
2460 + "questionCode": {
2461 + "minLength": 1,
2462 + "type": "string",
2463 + "description": "The code definition of the question"
2464 + },
2465 + "answerCode": {
2466 + "minLength": 1,
2467 + "type": "string",
2468 + "description": "The code definition of the answer"
2469 + }
2470 + },
2471 + "additionalProperties": false
2472 + },
2473 + "PayEx.AR.Customer.Api.Entity.AnswerBase": {
2474 + "required": [
2475 + "possibleAnswers",
2476 + "required",
2477 + "textValidationRegEx",
2478 + "type"
2479 + ],
2480 + "type": "object",
2481 + "properties": {
2482 + "type": {
2483 + "minLength": 1,
2484 + "type": "string",
2485 + "description": "The type of the expected answer: single | multi | text"
2486 + },
2487 + "required": {
2488 + "type": "boolean",
2489 + "description": "If the answer is required"
2490 + },
2491 + "textValidationRegEx": {
2492 + "minLength": 1,
2493 + "type": "string",
2494 + "description": "The regex the answer should match"
2495 + },
2496 + "possibleAnswers": {
2497 + "type": "array",
2498 + "items": {
2499 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.PossibleAnswer"
2500 + },
2501 + "description": "The definitions of possible answers"
2502 + }
2503 + },
2504 + "additionalProperties": false
2505 + },
2506 + "PayEx.AR.Customer.Api.Entity.PossibleAnswer": {
2507 + "required": [
2508 + "answerCode",
2509 + "answerText"
2510 + ],
2511 + "type": "object",
2512 + "properties": {
2513 + "answerCode": {
2514 + "minLength": 1,
2515 + "type": "string",
2516 + "description": "The code definition of the answer"
2517 + },
2518 + "answerText": {
2519 + "minLength": 1,
2520 + "type": "string",
2521 + "description": "The translated text of the answer"
2522 + },
2523 + "subQuestions": {
2524 + "type": "array",
2525 + "items": {
2526 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.Question"
2527 + },
2528 + "description": "The subquestions connected to an answer",
2529 + "nullable": true
2530 + }
2531 + },
2532 + "additionalProperties": false
2533 + },
2534 + "PayEx.AR.Customer.Api.Entity.Question": {
2535 + "required": [
2536 + "answer",
2537 + "questionCode",
2538 + "questionText"
2539 + ],
2540 + "type": "object",
2541 + "properties": {
2542 + "questionCode": {
2543 + "minLength": 1,
2544 + "type": "string",
2545 + "description": "The code definition of the question"
2546 + },
2547 + "questionText": {
2548 + "minLength": 1,
2549 + "type": "string",
2550 + "description": "The translated text of the question"
2551 + },
2552 + "answer": {
2553 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.AnswerBase"
2554 + }
2555 + },
2556 + "additionalProperties": false
2557 + },
2558 + "PayEx.LF.Api.Common.RepositoryResources.IOperation": {
2559 + "type": "object",
2560 + "properties": {
2561 + "rel": {
2562 + "type": "string",
2563 + "nullable": true,
2564 + "readOnly": true
2565 + },
2566 + "method": {
2567 + "type": "string",
2568 + "nullable": true,
2569 + "readOnly": true
2570 + },
2571 + "href": {
2572 + "type": "string",
2573 + "nullable": true
2574 + }
2575 + },
2576 + "additionalProperties": false
2577 + },
2578 + "PayEx.LF.Api.Common.RepositoryResources.NavigationView": {
2579 + "required": [
2580 + "@id",
2581 + "first",
2582 + "next",
2583 + "previous"
2584 + ],
2585 + "type": "object",
2586 + "properties": {
2587 + "@id": {
2588 + "minLength": 1,
2589 + "type": "string",
2590 + "description": "The current result view.",
2591 + "format": "uri"
2592 + },
2593 + "first": {
2594 + "minLength": 1,
2595 + "type": "string",
2596 + "description": "Link to the first results.",
2597 + "format": "uri"
2598 + },
2599 + "previous": {
2600 + "minLength": 1,
2601 + "type": "string",
2602 + "description": "Link to the previous results.",
2603 + "format": "uri"
2604 + },
2605 + "next": {
2606 + "minLength": 1,
2607 + "type": "string",
2608 + "description": "Link to the next results.",
2609 + "format": "uri"
2610 + }
2611 + },
2612 + "additionalProperties": false
2613 + },
2614 + "PayEx.LF.Api.Common.RepositoryResources.Results.RepositoryNoContentResult": {
2615 + "type": "object",
2616 + "additionalProperties": false
2617 + },
2618 + "V1.Customers.CreateAddressResource": {
2619 + "type": "object",
2620 + "properties": {
2621 + "addressee": {
2622 + "type": "string",
2623 + "nullable": true
2624 + },
2625 + "streetAddress": {
2626 + "type": "string",
2627 + "nullable": true
2628 + },
2629 + "zipCode": {
2630 + "type": "string",
2631 + "nullable": true
2632 + },
2633 + "city": {
2634 + "type": "string",
2635 + "nullable": true
2636 + },
2637 + "coAddress": {
2638 + "type": "string",
2639 + "nullable": true
2640 + },
2641 + "countryCode": {
2642 + "type": "string",
2643 + "nullable": true
2644 + }
2645 + },
2646 + "additionalProperties": false
2647 + },
2648 + "V1.Customers.CreateCustomerResource": {
2649 + "type": "object",
2650 + "properties": {
2651 + "customerNo": {
2652 + "type": "string",
2653 + "nullable": true
2654 + },
2655 + "ediAddressInfo": {
2656 + "$ref": "#/components/schemas/V1.Customers.EDIAddressInfo"
2657 + },
2658 + "emailAddress": {
2659 + "type": "string",
2660 + "nullable": true
2661 + },
2662 + "legalAddress": {
2663 + "$ref": "#/components/schemas/V1.Customers.CreateAddressResource"
2664 + },
2665 + "billingAddress": {
2666 + "$ref": "#/components/schemas/V1.Customers.CreateAddressResource"
2667 + },
2668 + "legalEntity": {
2669 + "type": "string",
2670 + "nullable": true
2671 + },
2672 + "msisdn": {
2673 + "type": "string",
2674 + "nullable": true
2675 + },
2676 + "name": {
2677 + "type": "string",
2678 + "nullable": true
2679 + },
2680 + "nationalIdentifier": {
2681 + "$ref": "#/components/schemas/V1.Customers.NationalIdentifier"
2682 + },
2683 + "protectedIdentity": {
2684 + "type": "boolean"
2685 + },
2686 + "preferredLanguageCode": {
2687 + "type": "string",
2688 + "nullable": true
2689 + },
2690 + "vatNo": {
2691 + "type": "string",
2692 + "nullable": true
2693 + },
2694 + "distributionType": {
2695 + "type": "string",
2696 + "nullable": true
2697 + },
2698 + "taxIdentificationNumber": {
2699 + "type": "string",
2700 + "nullable": true
2701 + }
2702 + },
2703 + "additionalProperties": false
2704 + },
2705 + "V1.Customers.CustomersCreatedResource": {
2706 + "type": "object",
2707 + "properties": {
2708 + "@id": {
2709 + "type": "string",
2710 + "nullable": true
2711 + },
2712 + "customerNo": {
2713 + "type": "string",
2714 + "nullable": true
2715 + }
2716 + },
2717 + "additionalProperties": false
2718 + },
2719 + "V1.Customers.CustomersResource": {
2720 + "type": "object",
2721 + "properties": {
2722 + "@id": {
2723 + "type": "string",
2724 + "nullable": true
2725 + },
2726 + "customerNo": {
2727 + "type": "string",
2728 + "nullable": true
2729 + },
2730 + "nationalIdentifier": {
2731 + "$ref": "#/components/schemas/V1.Customers.NationalIdentifier"
2732 + },
2733 + "vatNo": {
2734 + "type": "string",
2735 + "nullable": true
2736 + },
2737 + "legalEntity": {
2738 + "type": "string",
2739 + "nullable": true
2740 + },
2741 + "name": {
2742 + "type": "string",
2743 + "nullable": true
2744 + },
2745 + "emailAddress": {
2746 + "type": "string",
2747 + "nullable": true
2748 + },
2749 + "protectedIdentity": {
2750 + "type": "boolean"
2751 + },
2752 + "preferredLanguageCode": {
2753 + "type": "string",
2754 + "nullable": true
2755 + },
2756 + "legalStatus": {
2757 + "type": "string",
2758 + "nullable": true
2759 + },
2760 + "msisdn": {
2761 + "type": "string",
2762 + "nullable": true
2763 + },
2764 + "activeConsents": {
2765 + "type": "array",
2766 + "items": {
2767 + "type": "string"
2768 + },
2769 + "nullable": true
2770 + },
2771 + "ediAddressInfo": {
2772 + "$ref": "#/components/schemas/V1.Customers.EDIAddressInfo"
2773 + },
2774 + "surpluses": {
2775 + "nullable": true
2776 + },
2777 + "legalAddress": {
2778 + "nullable": true
2779 + },
2780 + "billingAddress": {
2781 + "nullable": true
2782 + },
2783 + "consent": {
2784 + "nullable": true
2785 + },
2786 + "distributionType": {
2787 + "type": "string",
2788 + "nullable": true
2789 + },
2790 + "operations": {
2791 + "type": "array",
2792 + "items": {
2793 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
2794 + },
2795 + "nullable": true
2796 + },
2797 + "taxIdentificationNumber": {
2798 + "type": "string",
2799 + "nullable": true
2800 + }
2801 + },
2802 + "additionalProperties": false
2803 + },
2804 + "V1.Customers.EDIAddressInfo": {
2805 + "type": "object",
2806 + "properties": {
2807 + "van": {
2808 + "type": "string",
2809 + "nullable": true
2810 + },
2811 + "interChangeRecipient": {
2812 + "type": "string",
2813 + "nullable": true
2814 + },
2815 + "buyerId": {
2816 + "type": "string",
2817 + "nullable": true
2818 + }
2819 + },
2820 + "additionalProperties": false
2821 + },
2822 + "V1.Customers.NationalIdentifier": {
2823 + "required": [
2824 + "countryCode",
2825 + "regNo"
2826 + ],
2827 + "type": "object",
2828 + "properties": {
2829 + "regNo": {
2830 + "minLength": 1,
2831 + "type": "string"
2832 + },
2833 + "countryCode": {
2834 + "minLength": 1,
2835 + "pattern": "^[A-Z]{2}$",
2836 + "type": "string"
2837 + }
2838 + },
2839 + "additionalProperties": false
2840 + },
2841 + "V1.Customers.Operations.UpdateKycAnswers.UpdateKycAnswersRequest": {
2842 + "required": [
2843 + "answers"
2844 + ],
2845 + "type": "object",
2846 + "properties": {
2847 + "answers": {
2848 + "type": "array",
2849 + "items": {
2850 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.Answer"
2851 + },
2852 + "description": "The answers to corresponding questions"
2853 + }
2854 + },
2855 + "additionalProperties": false
2856 + },
2857 + "V1.Customers.SingleResources.AddressRequest": {
2858 + "type": "object",
2859 + "properties": {
2860 + "addressee": {
2861 + "type": "string",
2862 + "nullable": true
2863 + },
2864 + "streetAddress": {
2865 + "type": "string",
2866 + "nullable": true
2867 + },
2868 + "zipCode": {
2869 + "type": "string",
2870 + "nullable": true
2871 + },
2872 + "city": {
2873 + "type": "string",
2874 + "nullable": true
2875 + },
2876 + "coAddress": {
2877 + "type": "string",
2878 + "nullable": true
2879 + },
2880 + "countryCode": {
2881 + "type": "string",
2882 + "nullable": true
2883 + }
2884 + },
2885 + "additionalProperties": false
2886 + },
2887 + "V1.Customers.SingleResources.AddressResource": {
2888 + "type": "object",
2889 + "properties": {
2890 + "@id": {
2891 + "type": "string",
2892 + "nullable": true
2893 + },
2894 + "addressee": {
2895 + "type": "string",
2896 + "nullable": true
2897 + },
2898 + "streetAddress": {
2899 + "type": "string",
2900 + "nullable": true
2901 + },
2902 + "zipCode": {
2903 + "type": "string",
2904 + "nullable": true
2905 + },
2906 + "city": {
2907 + "type": "string",
2908 + "nullable": true
2909 + },
2910 + "coAddress": {
2911 + "type": "string",
2912 + "nullable": true
2913 + },
2914 + "countryCode": {
2915 + "type": "string",
2916 + "nullable": true
2917 + },
2918 + "operations": {
2919 + "type": "array",
2920 + "items": {
2921 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
2922 + },
2923 + "nullable": true
2924 + }
2925 + },
2926 + "additionalProperties": false
2927 + },
2928 + "V1.Customers.SingleResources.Consent.ConsentResource": {
2929 + "type": "object",
2930 + "properties": {
2931 + "@id": {
2932 + "type": "string",
2933 + "nullable": true
2934 + },
2935 + "recurringCard": {
2936 + "nullable": true
2937 + },
2938 + "recurringCardRedirectRegistration": {
2939 + "nullable": true
2940 + },
2941 + "trustedSellerGroups": {
2942 + "nullable": true
2943 + },
2944 + "availableTrustedSellerGroupConsents": {
2945 + "type": "array",
2946 + "items": {
2947 + "type": "string"
2948 + },
2949 + "nullable": true
2950 + },
2951 + "operations": {
2952 + "type": "array",
2953 + "items": {
2954 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
2955 + },
2956 + "nullable": true
2957 + }
2958 + },
2959 + "additionalProperties": false
2960 + },
2961 + "V1.Customers.SingleResources.Consent.SingleResources.RecurringCard.RecurringCardResource": {
2962 + "type": "object",
2963 + "properties": {
2964 + "@id": {
2965 + "type": "string",
2966 + "nullable": true
2967 + },
2968 + "cardToken": {
2969 + "type": "string",
2970 + "description": "Unique token representing the card for which the recurring card consent has been granted.",
2971 + "nullable": true
2972 + },
2973 + "consentExpiryDate": {
2974 + "type": "string",
2975 + "description": "Expiration date of the recurring card consent. After this date, the consent is no longer valid and must be renewed.",
2976 + "nullable": true
2977 + },
2978 + "instrumentDisplayName": {
2979 + "type": "string",
2980 + "description": "Masked representation of the payment card associated with the consent, displayed in a customer-friendly format.",
2981 + "nullable": true
2982 + },
2983 + "cardExpiryDate": {
2984 + "type": "string",
2985 + "description": "Expiration date of the payment card associated with the recurring card consent.",
2986 + "nullable": true
2987 + },
2988 + "cardBrand": {
2989 + "type": "string",
2990 + "description": "Brand of the payment card, for example Visa or Mastercard.",
2991 + "nullable": true
2992 + },
2993 + "operations": {
2994 + "type": "array",
2995 + "items": {
2996 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
2997 + },
2998 + "nullable": true
2999 + }
3000 + },
3001 + "additionalProperties": false
3002 + },
3003 + "V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationRequest": {
3004 + "required": [
3005 + "cancelUrl",
3006 + "completeUrl",
3007 + "language"
3008 + ],
3009 + "type": "object",
3010 + "properties": {
3011 + "completeUrl": {
3012 + "minLength": 1,
3013 + "type": "string",
3014 + "description": "URL to which the customer is redirected after successfully completing the recurring card registration process.",
3015 + "format": "uri"
3016 + },
3017 + "cancelUrl": {
3018 + "minLength": 1,
3019 + "type": "string",
3020 + "description": "URL to which the customer is redirected if the recurring card registration process is cancelled or abandoned.",
3021 + "format": "uri"
3022 + },
3023 + "language": {
3024 + "minLength": 1,
3025 + "type": "string",
3026 + "description": "Language and regional settings to use when presenting the recurring card registration page to the customer, specified as an IETF BCP 47 language tag (e.g. en-US, sv-SE)."
3027 + }
3028 + },
3029 + "additionalProperties": false
3030 + },
3031 + "V1.Customers.SingleResources.Consent.SingleResources.RecurringCardRedirectRegistration.RecurringCardRedirectRegistrationResource": {
3032 + "type": "object",
3033 + "properties": {
3034 + "@id": {
3035 + "type": "string",
3036 + "nullable": true
3037 + },
3038 + "redirectUrl": {
3039 + "type": "string",
3040 + "description": "URL where the customer should be redirected to complete the recurring card registration process.",
3041 + "nullable": true
3042 + },
3043 + "status": {
3044 + "type": "string",
3045 + "description": "Current state of the recurring card registration process. Possible values are: (Initialized|Completed|Aborted|Failed)",
3046 + "nullable": true
3047 + },
3048 + "operations": {
3049 + "type": "array",
3050 + "items": {
3051 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
3052 + },
3053 + "nullable": true
3054 + }
3055 + },
3056 + "additionalProperties": false
3057 + },
3058 + "V1.Customers.SingleResources.Consent.TrustedSellerGroups.ApplicationDocument": {
3059 + "required": [
3060 + "content",
3061 + "fileType"
3062 + ],
3063 + "type": "object",
3064 + "properties": {
3065 + "content": {
3066 + "minLength": 1,
3067 + "type": "string",
3068 + "description": "A base64 encoded string representing the content of the document."
3069 + },
3070 + "fileType": {
3071 + "minLength": 1,
3072 + "pattern": "(?i)^(pdf|txt|json|xml)$",
3073 + "type": "string",
3074 + "description": "The file type of the document. Supported file types are: pdf, txt, json and xml. The validation is case insensitive."
3075 + }
3076 + },
3077 + "additionalProperties": false
3078 + },
3079 + "V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsPostRequest": {
3080 + "required": [
3081 + "applicationDocument",
3082 + "consentType"
3083 + ],
3084 + "type": "object",
3085 + "properties": {
3086 + "consentType": {
3087 + "minLength": 1,
3088 + "type": "string",
3089 + "description": "Name of the Consent Type"
3090 + },
3091 + "applicationDocument": {
3092 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.ApplicationDocument"
3093 + }
3094 + },
3095 + "additionalProperties": false
3096 + },
3097 + "V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsResource": {
3098 + "type": "object",
3099 + "properties": {
3100 + "@id": {
3101 + "type": "string",
3102 + "nullable": true
3103 + },
3104 + "consentType": {
3105 + "type": "string",
3106 + "nullable": true
3107 + },
3108 + "operations": {
3109 + "type": "array",
3110 + "items": {
3111 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
3112 + },
3113 + "nullable": true
3114 + }
3115 + },
3116 + "additionalProperties": false
3117 + },
3118 + "V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsResourceListResult": {
3119 + "type": "object",
3120 + "properties": {
3121 + "items": {
3122 + "type": "array",
3123 + "items": {
3124 + "$ref": "#/components/schemas/V1.Customers.SingleResources.Consent.TrustedSellerGroups.TrustedSellerGroupsResource"
3125 + },
3126 + "nullable": true
3127 + },
3128 + "navigation": {
3129 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.NavigationView"
3130 + }
3131 + },
3132 + "additionalProperties": false
3133 + },
3134 + "V1.Customers.Surpluses.ActiveDisbursementOrders.ActiveDisbursementOrdersResource": {
3135 + "type": "object",
3136 + "properties": {
3137 + "@id": {
3138 + "type": "string",
3139 + "nullable": true
3140 + },
3141 + "activeDisbursementOrdersId": {
3142 + "type": "string",
3143 + "nullable": true
3144 + },
3145 + "operations": {
3146 + "type": "array",
3147 + "items": {
3148 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
3149 + },
3150 + "nullable": true
3151 + },
3152 + "norwegianBankAccount": {
3153 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.NorwegianBankAccount"
3154 + },
3155 + "swedishBankAccount": {
3156 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.SwedishBankAccount"
3157 + },
3158 + "international": {
3159 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.International"
3160 + },
3161 + "swedishSus": {
3162 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.SwedishSus"
3163 + }
3164 + },
3165 + "additionalProperties": false
3166 + },
3167 + "V1.Customers.Surpluses.ActiveDisbursementOrders.ActiveDisbursementOrdersResourceListResult": {
3168 + "type": "object",
3169 + "properties": {
3170 + "items": {
3171 + "type": "array",
3172 + "items": {
3173 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.ActiveDisbursementOrdersResource"
3174 + },
3175 + "nullable": true
3176 + },
3177 + "navigation": {
3178 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.NavigationView"
3179 + }
3180 + },
3181 + "additionalProperties": false
3182 + },
3183 + "V1.Customers.Surpluses.ActiveDisbursementOrders.Address": {
3184 + "type": "object",
3185 + "properties": {
3186 + "addressee": {
3187 + "type": "string",
3188 + "nullable": true
3189 + },
3190 + "streetAddress": {
3191 + "type": "string",
3192 + "nullable": true
3193 + },
3194 + "city": {
3195 + "type": "string",
3196 + "nullable": true
3197 + },
3198 + "zipCode": {
3199 + "type": "string",
3200 + "nullable": true
3201 + },
3202 + "countryCode": {
3203 + "type": "string",
3204 + "nullable": true
3205 + },
3206 + "coAddress": {
3207 + "type": "string",
3208 + "nullable": true
3209 + }
3210 + },
3211 + "additionalProperties": false
3212 + },
3213 + "V1.Customers.Surpluses.ActiveDisbursementOrders.International": {
3214 + "required": [
3215 + "bic",
3216 + "iban"
3217 + ],
3218 + "type": "object",
3219 + "properties": {
3220 + "iban": {
3221 + "maxLength": 34,
3222 + "minLength": 0,
3223 + "type": "string"
3224 + },
3225 + "bic": {
3226 + "maxLength": 11,
3227 + "minLength": 0,
3228 + "type": "string"
3229 + }
3230 + },
3231 + "additionalProperties": false
3232 + },
3233 + "V1.Customers.Surpluses.ActiveDisbursementOrders.NationalIdentifier": {
3234 + "type": "object",
3235 + "properties": {
3236 + "regNo": {
3237 + "type": "string",
3238 + "nullable": true
3239 + },
3240 + "countryCode": {
3241 + "type": "string",
3242 + "nullable": true
3243 + }
3244 + },
3245 + "additionalProperties": false
3246 + },
3247 + "V1.Customers.Surpluses.ActiveDisbursementOrders.NorwegianBankAccount": {
3248 + "required": [
3249 + "accountNo"
3250 + ],
3251 + "type": "object",
3252 + "properties": {
3253 + "accountNo": {
3254 + "maxLength": 11,
3255 + "minLength": 0,
3256 + "type": "string"
3257 + }
3258 + },
3259 + "additionalProperties": false
3260 + },
3261 + "V1.Customers.Surpluses.ActiveDisbursementOrders.SwedishBankAccount": {
3262 + "required": [
3263 + "accountNo",
3264 + "accountType"
3265 + ],
3266 + "type": "object",
3267 + "properties": {
3268 + "accountNo": {
3269 + "maxLength": 20,
3270 + "minLength": 0,
3271 + "type": "string"
3272 + },
3273 + "accountType": {
3274 + "maxLength": 4,
3275 + "minLength": 0,
3276 + "type": "string"
3277 + }
3278 + },
3279 + "additionalProperties": false
3280 + },
3281 + "V1.Customers.Surpluses.ActiveDisbursementOrders.SwedishSus": {
3282 + "type": "object",
3283 + "properties": {
3284 + "nationalIdentifier": {
3285 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.NationalIdentifier"
3286 + },
3287 + "address": {
3288 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.Address"
3289 + }
3290 + },
3291 + "additionalProperties": false
3292 + },
3293 + "V1.Customers.Surpluses.Operations.AddDisbursementOrderRequest": {
3294 + "type": "object",
3295 + "properties": {
3296 + "@id": {
3297 + "type": "string",
3298 + "nullable": true
3299 + },
3300 + "activeDisbursementOrdersId": {
3301 + "type": "string",
3302 + "nullable": true
3303 + },
3304 + "norwegianBankAccount": {
3305 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.NorwegianBankAccount"
3306 + },
3307 + "swedishBankAccount": {
3308 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.SwedishBankAccount"
3309 + },
3310 + "international": {
3311 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.International"
3312 + },
3313 + "swedishSus": {
3314 + "$ref": "#/components/schemas/V1.Customers.Surpluses.ActiveDisbursementOrders.SwedishSus"
3315 + }
3316 + },
3317 + "additionalProperties": false
3318 + },
3319 + "V1.Customers.Surpluses.SurplusesResource": {
3320 + "type": "object",
3321 + "properties": {
3322 + "@id": {
3323 + "type": "string",
3324 + "nullable": true
3325 + },
3326 + "surplusId": {
3327 + "type": "string",
3328 + "nullable": true
3329 + },
3330 + "balance": {
3331 + "type": "number",
3332 + "format": "double"
3333 + },
3334 + "currency": {
3335 + "type": "string",
3336 + "nullable": true
3337 + },
3338 + "date": {
3339 + "type": "string",
3340 + "format": "date-time"
3341 + },
3342 + "status": {
3343 + "type": "string",
3344 + "nullable": true
3345 + },
3346 + "invoice": {
3347 + "type": "string",
3348 + "nullable": true
3349 + },
3350 + "account": {
3351 + "type": "string",
3352 + "nullable": true
3353 + },
3354 + "activeDisbursementOrders": {
3355 + "nullable": true
3356 + },
3357 + "operations": {
3358 + "type": "array",
3359 + "items": {
3360 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
3361 + },
3362 + "nullable": true
3363 + }
3364 + },
3365 + "additionalProperties": false
3366 + },
3367 + "V1.Customers.Surpluses.SurplusesResourceListResult": {
3368 + "type": "object",
3369 + "properties": {
3370 + "items": {
3371 + "type": "array",
3372 + "items": {
3373 + "$ref": "#/components/schemas/V1.Customers.Surpluses.SurplusesResource"
3374 + },
3375 + "nullable": true
3376 + },
3377 + "navigation": {
3378 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.NavigationView"
3379 + }
3380 + },
3381 + "additionalProperties": false
3382 + },
3383 + "V1.GenerateConsumerCustomerByRegNo.GenerateConsumerResource": {
3384 + "type": "object",
3385 + "properties": {
3386 + "@id": {
3387 + "type": "string",
3388 + "nullable": true
3389 + },
3390 + "nationalIdentifier": {
3391 + "$ref": "#/components/schemas/V1.Customers.NationalIdentifier"
3392 + },
3393 + "emailAddress": {
3394 + "type": "string",
3395 + "nullable": true
3396 + },
3397 + "emailAddressSpecified": {
3398 + "type": "boolean"
3399 + },
3400 + "msisdn": {
3401 + "type": "string",
3402 + "nullable": true
3403 + },
3404 + "msisdnSpecified": {
3405 + "type": "boolean"
3406 + },
3407 + "customerNo": {
3408 + "type": "string",
3409 + "nullable": true
3410 + },
3411 + "customerNoSpecified": {
3412 + "type": "boolean"
3413 + },
3414 + "taxIdentificationNumber": {
3415 + "type": "string",
3416 + "nullable": true
3417 + },
3418 + "taxIdentificationNumberSpecified": {
3419 + "type": "boolean"
3420 + }
3421 + },
3422 + "additionalProperties": false
3423 + },
3424 + "V1.GenerateConsumerCustomerByRegNo.GenerateConsumerResult": {
3425 + "type": "object",
3426 + "properties": {
3427 + "@id": {
3428 + "type": "string",
3429 + "nullable": true
3430 + },
3431 + "customerNo": {
3432 + "type": "string",
3433 + "nullable": true
3434 + }
3435 + },
3436 + "additionalProperties": false
3437 + },
3438 + "V1.RootResource.SingleResources.AffordabilityQuestions.AffordabilityQuestionsResource": {
3439 + "type": "object",
3440 + "properties": {
3441 + "@id": {
3442 + "type": "string",
3443 + "nullable": true
3444 + },
3445 + "creditAssessmentLevel1": {
3446 + "type": "array",
3447 + "items": {
3448 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.AffordabilityQuestion"
3449 + },
3450 + "description": "Affordability questions configured for credit assessment level 1. Null if not configured for the company.",
3451 + "nullable": true
3452 + },
3453 + "creditAssessmentLevel2": {
3454 + "type": "array",
3455 + "items": {
3456 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.AffordabilityQuestion"
3457 + },
3458 + "description": "Affordability questions configured for credit assessment level 2. Null if not configured for the company.",
3459 + "nullable": true
3460 + },
3461 + "creditAssessmentLevel3": {
3462 + "type": "array",
3463 + "items": {
3464 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.AffordabilityQuestion"
3465 + },
3466 + "description": "Affordability questions configured for credit assessment level 3. Null if not configured for the company.",
3467 + "nullable": true
3468 + },
3469 + "operations": {
3470 + "type": "array",
3471 + "items": {
3472 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
3473 + },
3474 + "nullable": true
3475 + }
3476 + },
3477 + "additionalProperties": false
3478 + },
3479 + "V1.RootResource.SingleResources.KycQuestions.KycQuestionsResource": {
3480 + "type": "object",
3481 + "properties": {
3482 + "@id": {
3483 + "type": "string",
3484 + "nullable": true
3485 + },
3486 + "kycQuestions": {
3487 + "type": "array",
3488 + "items": {
3489 + "$ref": "#/components/schemas/PayEx.AR.Customer.Api.Entity.Question"
3490 + },
3491 + "description": "kyc (know your customer). The questions and answers in the example are just examples of what it might look like. ",
3492 + "nullable": true
3493 + },
3494 + "operations": {
3495 + "type": "array",
3496 + "items": {
3497 + "$ref": "#/components/schemas/PayEx.LF.Api.Common.RepositoryResources.IOperation"
3498 + },
3499 + "nullable": true
3500 + }
3501 + },
3502 + "additionalProperties": false
3503 + }
3504 + }
3505 + }
3506 +}
customerapi-2025-02.PNG
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.djr
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content
image260819.png
Author
... ... @@ -1,0 +1,1 @@
1 +xwiki:XWiki.JennyEklund
Size
... ... @@ -1,0 +1,1 @@
1 +0 bytes
Content