From 9cde41bfc3499a88c24f342362bef7c05e6701cc Mon Sep 17 00:00:00 2001 From: "b.boterman@htm.nl" Date: Mon, 2 Dec 2024 10:58:46 +0100 Subject: [PATCH] Update customer YAMLs on develop. --- src/openapi/customer/customers-crud-v2.yaml | 166 - src/openapi/customers/customers-crud-v2.yaml | 123 + src/openapi/customers/customers.yaml | 5376 +++++++++++++++++ .../customers/customers_reference-crud.yaml | 1047 ++++ 4 files changed, 6546 insertions(+), 166 deletions(-) delete mode 100644 src/openapi/customer/customers-crud-v2.yaml create mode 100644 src/openapi/customers/customers.yaml create mode 100644 src/openapi/customers/customers_reference-crud.yaml diff --git a/src/openapi/customer/customers-crud-v2.yaml b/src/openapi/customer/customers-crud-v2.yaml deleted file mode 100644 index c491563..0000000 --- a/src/openapi/customer/customers-crud-v2.yaml +++ /dev/null @@ -1,166 +0,0 @@ -openapi: "3.0.3" -info: - title: ABT Customers CRUD APIs v2 - version: "1.0" - description: CRUD APIs for ABT Customer database. These are NOT the functional APIs from Service Engine. -servers: - - url: https://api.integratielaag.nl/v1 -paths: - /ovpaytokens: - get: - tags: - - Token - summary: Find OVpay tokens. - description: Find OVpay tokens. - parameters: - - in: query - name: ovPayTokenId - schema: - type: integer - example: 71 - required: false - description: The id of the token. - - in: query - name: customerProfileId - schema: - type: integer - example: 12 - required: false - description: The id of the customer profile. - - in: query - name: tokenTypeId - schema: - type: array - items: - type: integer - example: [1, 2] - explode: false - required: false - description: Filter on possible token types. 1 = EMV, 2 = OV-pas physical, 3 = OV-pas digital. - - in: query - name: xTat - schema: - type: string - format: uuid - example: 700b0516-bf8b-4e6e-bf16-13bfeb078e23 - explode: false - required: false - description: The XTAT of the token. - - in: query - name: xBot - schema: - type: string - format: uuid - example: de1a9a7a-a777-4473-889c-44a3bb07daae - explode: false - required: false - description: The XBOT of the token. - - in: query - name: alias - schema: - type: string - example: Mijn OV-pas - required: false - description: The alias of the token. - - in: query - name: lastDigits - schema: - type: integer - example: 3301 - required: false - description: The last digits of the token. - - in: query - name: ovpasNumber - schema: - type: string - example: 63AW974 - required: false - description: Number of the OVpas. - - in: query - name: tokenStatusId - schema: - type: array - items: - type: integer - example: [1, 2] - explode: false - required: false - description: Filter on possible token statuses. 1 = expired, 2 = active, 3 = replaced, 4 = inactive, 5 = suspended, 6 = removed by customer. - - in: query - name: expirationDate - schema: - type: string - format: date-time - example: 2029-03-22T09:00:00 - required: false - description: The expiration date of the token. - - in: query - name: replacedByTokenId - schema: - type: integer - example: 12 - required: false - description: The id of the token that replaced this token. - responses: - 200: - description: OK - content: - application/json: - schema: - $ref: "#/components/schemas/unavailable" - example: - { - "ovPayTokens": - [ - { - "ovPayTokenId": 71, - "customerProfileId": 12, - "tokenType": - { "tokenTypeId": 2, "name": "OV-pas physical" }, - "xTat": "700b0516-bf8b-4e6e-bf16-13bfeb078e23", - "xBot": "de1a9a7a-a777-4473-889c-44a3bb07daae", - "alias": "Mijn OV-pas", - "lastDigits": 3301, - "ovpasNumber": "63AW974", - "tokenStatus": { "tokenStatusId": 2, "name": "Active" }, - "expirationDate": "2029-03-22T09:00:00", - "replacedByTokenId": 12, - }, - ], - "href": null, - } -components: - securitySchemes: - bearerToken: - type: http - scheme: bearer - bearerFormat: JWT - schemas: - unavailable: - type: object - rfc9457: - type: object - properties: - type: - type: string - format: url - example: https://example.com/probs/out-of-credit - title: - type: string - example: You do not have enough credit. - detail: - type: string - example: Your current balance is 30, but that costs 50. - instance: - type: string - example: /account/12345/msgs/abc - balance: - type: string - example: 30 - accounts: - type: array - items: - type: string - example: - - /account/12345 - - /account/67890 diff --git a/src/openapi/customers/customers-crud-v2.yaml b/src/openapi/customers/customers-crud-v2.yaml index 7acbffe..72ef1eb 100644 --- a/src/openapi/customers/customers-crud-v2.yaml +++ b/src/openapi/customers/customers-crud-v2.yaml @@ -6,6 +6,129 @@ info: servers: - url: https://api.integratielaag.nl/v1 paths: + /ovpaytokens: + get: + tags: + - Token + summary: Find OVpay tokens. + description: Find OVpay tokens. + parameters: + - in: query + name: ovPayTokenId + schema: + type: integer + example: 71 + required: false + description: The id of the token. + - in: query + name: customerProfileId + schema: + type: integer + example: 12 + required: false + description: The id of the customer profile. + - in: query + name: tokenTypeId + schema: + type: array + items: + type: integer + example: [1, 2] + explode: false + required: false + description: Filter on possible token types. 1 = EMV, 2 = OV-pas physical, 3 = OV-pas digital. + - in: query + name: xTat + schema: + type: string + format: uuid + example: 700b0516-bf8b-4e6e-bf16-13bfeb078e23 + explode: false + required: false + description: The XTAT of the token. + - in: query + name: xBot + schema: + type: string + format: uuid + example: de1a9a7a-a777-4473-889c-44a3bb07daae + explode: false + required: false + description: The XBOT of the token. + - in: query + name: alias + schema: + type: string + example: Mijn OV-pas + required: false + description: The alias of the token. + - in: query + name: lastDigits + schema: + type: integer + example: 3301 + required: false + description: The last digits of the token. + - in: query + name: ovpasNumber + schema: + type: string + example: 63AW974 + required: false + description: Number of the OVpas. + - in: query + name: tokenStatusId + schema: + type: array + items: + type: integer + example: [1, 2] + explode: false + required: false + description: Filter on possible token statuses. 1 = expired, 2 = active, 3 = replaced, 4 = inactive, 5 = suspended, 6 = removed by customer. + - in: query + name: expirationDate + schema: + type: string + format: date-time + example: 2029-03-22T09:00:00 + required: false + description: The expiration date of the token. + - in: query + name: replacedByTokenId + schema: + type: integer + example: 12 + required: false + description: The id of the token that replaced this token. + responses: + 200: + description: OK + content: + application/json: + schema: + $ref: "#/components/schemas/unavailable" + example: + { + "ovPayTokens": + [ + { + "ovPayTokenId": 71, + "customerProfileId": 12, + "tokenType": + { "tokenTypeId": 2, "name": "OV-pas physical" }, + "xTat": "700b0516-bf8b-4e6e-bf16-13bfeb078e23", + "xBot": "de1a9a7a-a777-4473-889c-44a3bb07daae", + "alias": "Mijn OV-pas", + "lastDigits": 3301, + "ovpasNumber": "63AW974", + "tokenStatus": { "tokenStatusId": 2, "name": "Active" }, + "expirationDate": "2029-03-22T09:00:00", + "replacedByTokenId": 12, + }, + ], + "href": null, + } /directdebitmandates: get: tags: diff --git a/src/openapi/customers/customers.yaml b/src/openapi/customers/customers.yaml new file mode 100644 index 0000000..65a9763 --- /dev/null +++ b/src/openapi/customers/customers.yaml @@ -0,0 +1,5376 @@ +openapi: 3.0.1 +info: + title: ABTCustomers + version: '1.0' +servers: + - url: https://services.acc.api.htm.nl/abt/abtcustomers/1.0 + - url: http://services.acc.api.htm.nl/abt/abtcustomers/1.0 +security: + - default: [] +tags: + - name: ABTCustomers + - name: ABTCustomersSelfService + - name: ABTCustomersFinancials + - name: ABTCustomersFinancialsSelfService +paths: + /customers/{customerNumber}/financials/directdebitmandates/{directDebitMandateId}: + patch: + tags: + - ABTCustomersFinancials + summary: Modify direct debit mandate information for a customer profile. + description: Modify direct debit mandate for a customer profile. + parameters: + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + - name: directDebitMandateId + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/directDebitMandatePatch' + examples: + updateFullDirectDebitMandate: + value: + directDebitMandate: + directDebitMandateTypeId: 1 + billingInformationId: 1 + mandateAddressId: 2 + mandateReference: Dit is een test Reference + mandateState: SIGNED + updateDirectDebitMandateType: + value: + directDebitMandate: + directDebitMandateTypeId: 1 + updateBillingInformationId: + value: + directDebitMandate: + billingInformationId: 2 + updateMandateAddressId: + value: + directDebitMandate: + mandateAddressId: 3 + updateMandateReference: + value: + directDebitMandate: + mandateReference: Updated Reference + updateMandateState: + value: + directDebitMandate: + mandateState: PREPARED + required: true + responses: + '201': + description: Successful created financial information for a customer profile. + content: + application/json: + schema: + $ref: >- + #/components/schemas/patchCustomerProfileCustomerNumberResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /customers/{customerNumber}/financials/billinginformation/{billingInformationId}: + patch: + tags: + - ABTCustomersFinancials + summary: Modify billing information for a customer profile. + description: Modify billing information for a customer profile. + parameters: + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + - name: billingInformationId + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/billingInformationPatch' + examples: + updateFullBillingInformation: + value: + billingInformation: + issuerCountry: NL + iban: '1234567890' + bic: ING + swift: Swift + ascription: Dit is een Test + alias: Alias Test + billingAddressId: 2 + updateIssuerCountry: + value: + billingInformation: + issuerCountry: DE + updateIban: + value: + billingInformation: + iban: '0987654321' + updateBic: + value: + billingInformation: + bic: DEUT + updateSwift: + value: + billingInformation: + swift: UpdatedSwift + updateAscription: + value: + billingInformation: + ascription: Updated Ascription + updateAlias: + value: + billingInformation: + alias: Updated Alias + updateBillingAddressId: + value: + billingInformation: + billingAddressId: 3 + required: true + responses: + '201': + description: Successful created financial information for a customer profile. + content: + application/json: + schema: + $ref: >- + #/components/schemas/patchCustomerProfileCustomerNumberResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /customers/{customerNumber}/financials/billinginformation: + post: + tags: + - ABTCustomersFinancials + summary: Create billing information for a customer profile. + description: Create billing information for a customer profile. + parameters: + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/billingInformationPost' + examples: + fullFinancialInformation: + value: + billingInformation: + issuerCountry: NL + iban: '1234567890' + bic: ING + swift: Swift + ascription: Dit is een Test + alias: Alias Test + billingAddressId: 2 + minimumBillingInformation: + value: + billingInformation: + issuerCountry: NL + iban: '1234567890' + ascription: Dit is een Test + alias: Alias Test + billingAddressId: 2 + required: true + responses: + '201': + description: Successful created financial information for a customer profile. + content: + application/json: + schema: + $ref: >- + #/components/schemas/postCustomerProfileBillingInformationResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /customers/{customerNumber}/financials/directdebitmandates: + post: + tags: + - ABTCustomersFinancials + summary: Create direct debit mandate for a customer profile. + description: Create direct debit mandate for a customer profile. + parameters: + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/directDebitMandatePost' + examples: + fullFinancialInformation: + value: + directDebitMandate: + directDebitMandateTypeId: 1 + billingInformationId: 1 + mandateAddressId: 2 + created: '1900-01-01T00:00:00.000' + mandateReference: Dit is een test Reference + minimumdirectDebitMandate: + value: + directDebitMandate: + directDebitMandateTypeId: 1 + billingInformationId: 1 + mandateAddressId: 2 + created: '1900-01-01T00:00:00.000' + mandateReference: Dit is een test Reference + required: true + responses: + '201': + description: Successful created financial information for a customer profile. + content: + application/json: + schema: + $ref: >- + #/components/schemas/postCustomerProfileDirectDebitMandateResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /customers/{customerNumber}/financials: + get: + tags: + - ABTCustomersFinancials + summary: Search for customer profile financial information + description: 'search for a customer profile in the ABT database with query parameters ' + parameters: + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + responses: + '200': + description: Successful retrieved a customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/getCustomerProfileFinancials' + examples: + fullFinancialInformation: + value: + customerNumber: 1000003 + billingInformation: + - billingInformationId: 1 + issuerCountry: NL + iban: '1234567890' + bic: ING + swift: Swift + ascription: Dit is een Test + alias: Alias Test + billingAddressId: 2 + - billingInformationId: 2 + issuerCountry: BE + iban: '0987654321' + bic: null + swift: null + ascription: Dit is een Test + alias: Alias Test + billingAddressId: 3 + directDebitMandate: + - directDebitMandateId: 1 + directDebitMandateTypeName: PIN Transaction + billingInformationId: 1 + mandateAddressId: 2 + created: '1900-01-01T00:00:00.000' + mandateReference: Dit is een test Reference + mandateState: SIGNED + updateTimestamp: '2024-01-01T00:00:00.00' + - directDebitMandateId: 2 + directDebitMandateTypeName: Paper Contract + billingInformationId: 1 + mandateAddressId: 2 + created: '1900-01-01T00:00:00.000' + mandateReference: Dit is een test Reference + mandateState: CANCELLED + updateTimestamp: '2024-01-01T00:00:00.00' + missingBillingInformation: + value: + customerNumber: 1000003 + billingInformation: [] + directDebitMandate: + - directDebitMandateId: 1 + directDebitMandateTypeName: PIN transaction + billingInformationId: 1 + mandateAddressId: 2 + created: '1900-01-01T00:00:00.000' + mandateReference: Dit is een test Reference + - directDebitMandateId: 2 + directDebitMandateTypeName: Paper Contract + billingInformationId: 1 + mandateAddressId: 2 + created: '1900-01-01T00:00:00.000' + mandateReference: Dit is een test Reference + missingDebitMandateInformation: + value: + customerNumber: 1000003 + billingInformation: + - billingInformationId: 1 + issuerCountry: NL + iban: '1234567890' + bic: ING + swift: Swift + ascription: Dit is een Test + alias: Alias Test + billingAddressId: 2 + - billingInformationId: 2 + issuerCountry: BE + iban: '0987654321' + bic: null + swift: null + ascription: Dit is een Test + alias: Alias Test + billingAddressId: 3 + directDebitMandate: [] + minimumFinancialInformation: + value: + customerNumber: 1000003 + billingInformation: [] + directDebitMandate: [] + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /selfservice/customers/{customerNumber}/financials/directdebitmandates/{directDebitMandateId}: + patch: + tags: + - ABTCustomersFinancialsSelfService + summary: Modify direct debit mandate information for a customer profile. + description: Modify direct debit mandate for a customer profile. + parameters: + - name: X-HTM-JWT-AUTH-HEADER + in: header + required: true + style: simple + explode: false + schema: + type: string + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + - name: directDebitMandateId + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/directDebitMandatePatch' + examples: + updateFullDirectDebitMandate: + value: + directDebitMandate: + directDebitMandateTypeId: 1 + billingInformationId: 1 + mandateAddressId: 2 + mandateReference: Dit is een test Reference + mandateState: SIGNED + updateDirectDebitMandateType: + value: + directDebitMandate: + directDebitMandateTypeId: 1 + updateBillingInformationId: + value: + directDebitMandate: + billingInformationId: 2 + updateMandateAddressId: + value: + directDebitMandate: + mandateAddressId: 3 + updateMandateReference: + value: + directDebitMandate: + mandateReference: Updated Reference + updateMandateState: + value: + directDebitMandate: + mandateState: PREPARED + required: true + responses: + '201': + description: Successful created financial information for a customer profile. + content: + application/json: + schema: + $ref: >- + #/components/schemas/patchCustomerProfileCustomerNumberResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /selfservice/customers/{customerNumber}/financials/billinginformation/{billingInformationId}: + patch: + tags: + - ABTCustomersFinancialsSelfService + summary: Modify billing information for a customer profile. + description: Modify billing information for a customer profile. + parameters: + - name: X-HTM-JWT-AUTH-HEADER + in: header + required: true + style: simple + explode: false + schema: + type: string + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + - name: billingInformationId + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/billingInformationPatch' + examples: + updateFullBillingInformation: + value: + billingInformation: + issuerCountry: NL + iban: '1234567890' + bic: ING + swift: Swift + ascription: Dit is een Test + alias: Alias Test + billingAddressId: 2 + updateIssuerCountry: + value: + billingInformation: + issuerCountry: DE + updateIban: + value: + billingInformation: + iban: '0987654321' + updateBic: + value: + billingInformation: + bic: DEUT + updateSwift: + value: + billingInformation: + swift: UpdatedSwift + updateAscription: + value: + billingInformation: + ascription: Updated Ascription + updateAlias: + value: + billingInformation: + alias: Updated Alias + updateBillingAddressId: + value: + billingInformation: + billingAddressId: 3 + required: true + responses: + '201': + description: Successful created financial information for a customer profile. + content: + application/json: + schema: + $ref: >- + #/components/schemas/patchCustomerProfileCustomerNumberResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /selfservice/customers/{customerNumber}/financials/billinginformation: + post: + tags: + - ABTCustomersFinancialsSelfService + summary: Create billing information for a customer profile. + description: Create billing information for a customer profile. + parameters: + - name: X-HTM-JWT-AUTH-HEADER + in: header + required: true + style: simple + explode: false + schema: + type: string + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/billingInformationPost' + examples: + fullFinancialInformation: + value: + billingInformation: + issuerCountry: NL + iban: '1234567890' + bic: ING + swift: Swift + ascription: Dit is een Test + alias: Alias Test + billingAddressId: 2 + minimumBillingInformation: + value: + billingInformation: + issuerCountry: NL + iban: '1234567890' + ascription: Dit is een Test + alias: Alias Test + billingAddressId: 2 + required: true + responses: + '201': + description: Successful created financial information for a customer profile. + content: + application/json: + schema: + $ref: >- + #/components/schemas/postCustomerProfileBillingInformationResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /selfservice/customers/{customerNumber}/financials/directdebitmandates: + post: + tags: + - ABTCustomersFinancialsSelfService + summary: Create direct debit mandate for a customer profile. + description: Create direct debit mandate for a customer profile. + parameters: + - name: X-HTM-JWT-AUTH-HEADER + in: header + required: true + style: simple + explode: false + schema: + type: string + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/directDebitMandatePost' + examples: + fullFinancialInformation: + value: + directDebitMandate: + directDebitMandateTypeId: 1 + billingInformationId: 1 + mandateAddressId: 2 + created: '1900-01-01T00:00:00.000' + mandateReference: Dit is een test Reference + minimumdirectDebitMandate: + value: + directDebitMandate: + directDebitMandateTypeId: 1 + billingInformationId: 1 + mandateAddressId: 2 + created: '1900-01-01T00:00:00.000' + mandateReference: Dit is een test Reference + required: true + responses: + '201': + description: Successful created financial information for a customer profile. + content: + application/json: + schema: + $ref: >- + #/components/schemas/postCustomerProfileDirectDebitMandateResponse + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /selfservice/customers/{customerNumber}/financials: + get: + tags: + - ABTCustomersFinancialsSelfService + summary: Search for customer profile financial information + description: 'search for a customer profile in the ABT database with query parameters ' + parameters: + - name: X-HTM-JWT-AUTH-HEADER + in: header + required: true + style: simple + explode: false + schema: + type: string + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + responses: + '200': + description: Successful retrieved a customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/getCustomerProfileFinancials' + examples: + fullFinancialInformation: + value: + customerNumber: 1000003 + billingInformation: + - billingInformationId: 1 + issuerCountry: NL + iban: '1234567890' + bic: ING + swift: Swift + ascription: Dit is een Test + alias: Alias Test + billingAddressId: 2 + updateTimestamp: '2024-01-01T00:00:00.00' + - billingInformationId: 2 + issuerCountry: BE + iban: '0987654321' + bic: null + swift: null + ascription: Dit is een Test + alias: Alias Test + billingAddressId: 3 + updateTimestamp: '2024-01-01T00:00:00.00' + directDebitMandate: + - directDebitMandateId: 1 + directDebitMandateTypeName: PIN transaction + billingInformationId: 1 + mandateAddressId: 2 + created: '1900-01-01T00:00:00.000' + mandateReference: Dit is een test Reference + mandateState: SIGNED + - directDebitMandateId: 2 + directDebitMandateTypeName: Paper Contract + billingInformationId: 1 + mandateAddressId: 2 + created: '1900-01-01T00:00:00.000' + mandateReference: Dit is een test Reference + mandateState: CANCELLED + missingBillingInformation: + value: + customerNumber: 1000003 + billingInformation: [] + directDebitMandate: + - directDebitMandateId: 1 + directDebitMandateTypeName: PIN transaction + billingInformationId: 1 + mandateAddressId: 2 + created: '1900-01-01T00:00:00.000' + mandateReference: Dit is een test Reference + - directDebitMandateId: 2 + directDebitMandateTypeName: Paper Contract + billingInformationId: 1 + mandateAddressId: 2 + created: '1900-01-01T00:00:00.000' + mandateReference: Dit is een test Reference + missingDebitMandateInformation: + value: + customerNumber: 1000003 + billingInformation: + - billingInformationId: 1 + issuerCountry: NL + iban: '1234567890' + bic: ING + swift: Swift + ascription: Dit is een Test + alias: Alias Test + billingAddressId: 2 + - billingInformationId: 2 + issuerCountry: BE + iban: '0987654321' + bic: null + swift: null + ascription: Dit is een Test + alias: Alias Test + billingAddressId: 3 + directDebitMandate: [] + minimumFinancialInformation: + value: + customerNumber: 1000003 + billingInformation: [] + directDebitMandate: [] + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /customers/list: + get: + tags: + - ABTCustomers + summary: Search for customer profile list + description: >- + search for a customer profile list in the ABT database with query + parameters + parameters: + - name: customerProfileId + in: query + required: false + style: form + explode: true + schema: + type: number + - name: customerNumber + in: query + required: false + style: form + explode: true + schema: + type: number + - name: emailAddress + in: query + required: false + style: form + explode: true + schema: + type: string + - name: chipCardNumber + in: query + required: false + style: form + explode: true + schema: + type: string + - name: ovPasNumber + in: query + required: false + style: form + explode: true + schema: + type: string + - name: phoneNumber + in: query + required: false + style: form + explode: true + schema: + type: string + - name: phoneCountryCode + in: query + required: false + style: form + explode: true + schema: + type: string + - name: addressStreet + in: query + required: false + style: form + explode: true + schema: + type: string + - name: addressHouseNumber + in: query + required: false + style: form + explode: true + schema: + type: number + - name: addressHouseNumberSuffix + in: query + required: false + style: form + explode: true + schema: + type: string + - name: addressPostalCode + in: query + required: false + style: form + explode: true + schema: + type: string + - name: addressCity + in: query + required: false + style: form + explode: true + schema: + type: string + - name: addressCountry + in: query + required: false + style: form + explode: true + schema: + type: string + - name: birthname + in: query + required: false + style: form + explode: true + schema: + type: string + - name: surname + in: query + required: false + style: form + explode: true + schema: + type: string + - name: dateOfBirth + in: query + required: false + style: form + explode: true + schema: + type: string + - name: customerStatus + in: query + required: false + style: form + explode: true + schema: + type: string + responses: + '200': + description: Successful retrieved a customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/getCustomerProfileList' + examples: + fullCustomerProfile: + value: + Entries: + - customerProfileId: 1 + customerNumber: 1000001 + debtorNumber: TEST001 + debtorStateId: 1 + vascustomerNumber: CST005 + customerPreference: + languageId: 1 + customerStatus: + - name: active + fromInclusive: '2022-08-04 15:01:00.000' + toInclusive: '2022-08-05 15:01:00.000' + - name: blocked + fromInclusive: '2022-08-05 15:01:00.000' + toInclusive: null + person: + birthname: Pieter + surname: De valen + prefix: dhr + suffix: De + dateOfBirth: '2002-10-29' + emailAddress: TEST@HTM.NL + address: + - addressId: 1 + street: mystreet + houseNumber: 1 + houseNumberSuffix: null + postalCode: 0000AA + city: Den Haag + country: NL + isPreferred: true + addressType: Office + - addressId: 2 + street: mystreet 33 + houseNumber: 1 + houseNumberSuffix: null + postalCode: 4455CA + city: Den BOSCH + country: NL + isPreferred: true + addressType: Office + phone: + - phoneId: 1 + number: '3112345678' + countryCode: NL + phoneType: TestNaam + isPreferred: true + - phoneId: 2 + number: '333225588' + countryCode: ES + phoneType: TestNaam + isPreferred: false + ovChipCard: + - ovChipCardId: 1 + chipCardNumber: 1234123412341234 + validUntil: '2023-01-01' + alias: alias + - ovChipCardId: 2 + chipCardNumber: 1234123412341235 + validUntil: '2025-01-01' + alias: alias + ovPayToken: + - ovPayTokenId: 126 + tokenTypeId: 1 + xTat: twioq73033 + xBot: hjihwqui27 + alias: alias + lastDigits: '5678' + ovpasNumber: OV34567 + tokenStatusId: 1 + expirationDate: '2025-04-20T17:05:52.000+02:00' + replacedByTokenId: 1 + - ovPayTokenId: 127 + tokenTypeId: 1 + xTat: hhe2830283 + xBot: jdhd828033 + alias: alias + lastDigits: '5674' + ovpasNumber: OV34568 + tokenStatusId: 1 + expirationDate: '2024-04-20T17:05:52.000+02:00' + replacedByTokenId: 2 + audit: + - auditTrailId: 1 + customerProfileId: 1 + action: insert + user: user + timestamp: '2023-10-20T17:05:52.000+02:00' + correlationId: 01c6d8b4-1cd3-4f9b-85ea-c9adca53ce95 + - customerNumber: 1000002 + debtorNumber: TEST001 + debtorStateId: 1 + vascustomerNumber: CST005 + customerPreference: + languageId: 1 + customerStatus: + - name: active + fromInclusive: '2022-08-04 15:01:00.000' + toInclusive: '2022-08-05 15:01:00.000' + - name: blocked + fromInclusive: '2022-08-05 15:01:00.000' + toInclusive: null + person: + birthname: Pieter + surname: De valen + prefix: dhr + suffix: De + dateOfBirth: '2002-10-29' + emailAddress: TEST@HTM.NL + address: + - addressId: 1 + street: mystreet + houseNumber: 1 + houseNumberSuffix: null + postalCode: 0000AA + city: Den Haag + country: NL + isPreferred: true + addressType: Office + - addressId: 2 + street: mystreet 33 + houseNumber: 1 + houseNumberSuffix: null + postalCode: 4455CA + city: Den BOSCH + country: NL + isPreferred: true + addressType: Office + phone: + - phoneId: 1 + number: '3112345678' + countryCode: NL + phoneType: TestNaam + isPreferred: true + - phoneId: 2 + number: '333225588' + countryCode: ES + phoneType: TestNaam + isPreferred: false + ovChipCard: + - ovChipCardId: 1 + chipCardNumber: 1234123412341234 + validUntil: '2023-01-01' + alias: alias + - ovChipCardId: 2 + chipCardNumber: 1234123412341235 + validUntil: '2025-01-01' + alias: alias + ovPayToken: + - ovPayTokenId: 126 + tokenTypeId: 1 + xTat: twioq73033 + xBot: hjihwqui27 + alias: alias + lastDigits: '5678' + ovpasNumber: OV34567 + tokenStatusId: 1 + expirationDate: '2025-04-20T17:05:52.000+02:00' + replacedByTokenId: 1 + - ovPayTokenId: 127 + tokenTypeId: 1 + xTat: hhe2830283 + xBot: jdhd828033 + alias: alias + lastDigits: '5674' + ovpasNumber: OV34568 + tokenStatusId: 1 + expirationDate: '2024-04-20T17:05:52.000+02:00' + replacedByTokenId: 2 + audit: + - auditTrailId: 1 + customerProfileId: 1 + action: insert + user: user + timestamp: '2023-10-20T17:05:52.000+02:00' + correlationId: 01c6d8b4-1cd3-4f9b-85ea-c9adca53ce95 + href: null + minimumCustomerProfile: + value: + Entries: + - customerNumber: 1000008 + debtorNumber: null + debtorStateId: null + vascustomerNumber: null + customerPreference: + languageId: null + customerStatus: + - name: active + fromInclusive: '2022-08-04 15:01:00.000' + toInclusive: null + person: + birthname: null + surname: null + prefix: null + suffix: null + dateOfBirth: null + emailAddress: TEST@TEST1.NL + address: [] + phone: [] + ovChipCard: [] + ovPayToken: [] + audit: [] + missingPersonDetailsCustomerProfile: + value: + Entries: + - emailAddress: TEST04@HTM.NL + customerNumber: 1000005 + debtorNumber: TEST004 + debtorStateId: 1 + vascustomerNumber: CST005 + customerPreference: + languageId: 1 + customerStatus: + - name: inactive + fromInclusive: '2022-08-04 15:01:00.000' + toInclusive: null + person: + birthname: Sophie + surname: Haardenburg + prefix: Mw + suffix: null + dateOfBirth: 1955-09-05+01:00 + emailAddress: TEST@TEST1.NL + address: [] + phone: [] + ovChipCard: + - ovChipCardId: 1 + chipCardNumber: 1234123412341234 + validUntil: '2023-01-01' + alias: alias + - ovChipCardId: 2 + chipCardNumber: 1234123412341235 + validUntil: '2025-01-01' + alias: alias + ovPayToken: + - ovPayTokenId: 126 + tokenTypeId: 1 + xTat: twioq73033 + xBot: hjihwqui27 + alias: alias + lastDigits: '5678' + ovpasNumber: OV34567 + tokenStatusId: 1 + expirationDate: '2025-04-20T17:05:52.000+02:00' + replacedByTokenId: 1 + - ovPayTokenId: 127 + tokenTypeId: 1 + xTat: hhe2830283 + xBot: jdhd828033 + alias: alias + lastDigits: '5674' + ovpasNumber: OV34568 + tokenStatusId: 1 + expirationDate: '2024-04-20T17:05:52.000+02:00' + replacedByTokenId: 2 + audit: + - auditTrailId: 1 + customerProfileId: 1 + action: insert + user: user + timestamp: '2023-10-20T17:05:52.000+02:00' + correlationId: 01c6d8b4-1cd3-4f9b-85ea-c9adca53ce95 + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /customers: + get: + tags: + - ABTCustomers + summary: Search for customer profile + description: 'search for a customer profile in the ABT database with query parameters ' + parameters: + - name: customerProfileId + in: query + required: false + style: form + explode: true + schema: + type: number + - name: customerNumber + in: query + required: false + style: form + explode: true + schema: + type: number + - name: emailAddress + in: query + required: false + style: form + explode: true + schema: + type: string + - name: chipCardNumber + in: query + required: false + style: form + explode: true + schema: + type: string + - name: ovPasNumber + in: query + required: false + style: form + explode: true + schema: + type: string + - name: phoneNumber + in: query + required: false + style: form + explode: true + schema: + type: string + - name: phoneCountryCode + in: query + required: false + style: form + explode: true + schema: + type: string + - name: addressStreet + in: query + required: false + style: form + explode: true + schema: + type: string + - name: addressHouseNumber + in: query + required: false + style: form + explode: true + schema: + type: number + - name: addressHouseNumberSuffix + in: query + required: false + style: form + explode: true + schema: + type: string + - name: addressPostalCode + in: query + required: false + style: form + explode: true + schema: + type: string + - name: addressCity + in: query + required: false + style: form + explode: true + schema: + type: string + - name: addressCountry + in: query + required: false + style: form + explode: true + schema: + type: string + - name: birthname + in: query + required: false + style: form + explode: true + schema: + type: string + - name: surname + in: query + required: false + style: form + explode: true + schema: + type: string + - name: dateOfBirth + in: query + required: false + style: form + explode: true + schema: + type: string + - name: customerStatus + in: query + required: false + style: form + explode: true + schema: + type: string + responses: + '200': + description: Successful retrieved a customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/getCustomerProfile' + examples: + fullCustomerProfile: + value: + customerProfileId: 1 + customerNumber: 1000001 + debtorNumber: TEST001 + vascustomerNumber: CST005 + debtorStateId: 1 + customerPreference: + languageId: 1 + customerStatus: + - name: active + fromInclusive: '2022-08-04 15:01:00.000' + toInclusive: '2022-08-05 15:01:00.000' + - name: blocked + fromInclusive: '2022-08-05 15:01:00.000' + toInclusive: null + person: + birthname: Pieter + surname: De valen + prefix: dhr + suffix: De + dateOfBirth: '2002-10-29' + emailAddress: TEST@HTM.NL + address: + - addressId: 1 + street: mystreet + houseNumber: 1 + houseNumberSuffix: null + postalCode: 0000AA + city: Den Haag + country: NL + isPreferred: true + addressType: Office + - addressId: 2 + street: mystreet 33 + houseNumber: 1 + houseNumberSuffix: null + postalCode: 4455CA + city: Den BOSCH + country: NL + isPreferred: true + addressType: Office + phone: + - phoneId: 1 + number: '3112345678' + countryCode: NL + phoneType: TestNaam + isPreferred: true + - phoneId: 2 + number: '333225588' + countryCode: ES + phoneType: TestNaam + isPreferred: false + ovChipCard: + - ovChipCardId: 1 + chipCardNumber: 1234123412341234 + validUntil: '2023-01-01' + alias: alias + - ovChipCardId: 2 + chipCardNumber: 1234123412341235 + validUntil: '2025-01-01' + alias: alias + ovPayToken: + - ovPayTokenId: 126 + tokenTypeId: 1 + xTat: twioq73033 + xBot: hjihwqui27 + alias: alias + lastDigits: '5678' + ovpasNumber: OV34567 + tokenStatusId: 1 + expirationDate: '2025-04-20T17:05:52.000+02:00' + replacedByTokenId: 1 + - ovPayTokenId: 127 + tokenTypeId: 1 + xTat: hhe2830283 + xBot: jdhd828033 + alias: alias + lastDigits: '5674' + ovpasNumber: OV34568 + tokenStatusId: 1 + expirationDate: '2024-04-20T17:05:52.000+02:00' + replacedByTokenId: 2 + audit: + - auditTrailId: 1 + customerProfileId: 1 + action: insert + user: user + timestamp: '2023-10-20T17:05:52.000+02:00' + correlationId: 01c6d8b4-1cd3-4f9b-85ea-c9adca53ce95 + minimumCustomerProfile: + value: + customerNumber: 1000008 + debtorNumber: null + debtorStateId: null + vascustomerNumber: null + customerPreference: + languageId: 1 + customerStatus: + - name: active + fromInclusive: '2022-08-04 15:01:00.000' + toInclusive: null + person: + birthname: null + surname: null + prefix: null + suffix: null + dateOfBirth: null + emailAddress: TEST@TEST1.NL + address: [] + phone: [] + ovChipCard: [] + ovPayToken: [] + audit: [] + missingPersonDetailsCustomerProfile: + value: + emailAddress: TEST04@HTM.NL + customerNumber: 1000005 + debtorNumber: TEST004 + debtorStateId: 1 + vascustomerNumber: CST008 + customerPreference: + languageId: 1 + customerStatus: + - name: inactive + fromInclusive: '2022-08-04 15:01:00.000' + toInclusive: null + person: + birthname: Sophie + surname: Haardenburg + prefix: Mw + suffix: null + dateOfBirth: '1955-09-05' + emailAddress: TEST@TEST1.NL + address: [] + phone: [] + ovChipCard: + - ovChipCardId: 1 + chipCardNumber: 1234123412341234 + validUntil: '2023-01-01' + alias: alias + - ovChipCardId: 2 + chipCardNumber: 1234123412341235 + validUntil: '2025-01-01' + alias: alias + ovPayToken: + - ovPayTokenId: 126 + tokenTypeId: 1 + xTat: twioq73033 + xBot: hjihwqui27 + alias: alias + lastDigits: '5678' + ovpasNumber: OV34567 + tokenStatusId: 1 + expirationDate: '2025-04-20T17:05:52.000+02:00' + replacedByTokenId: 1 + - ovPayTokenId: 127 + tokenTypeId: 1 + xTat: hhe2830283 + xBot: jdhd828033 + alias: alias + lastDigits: '5674' + ovpasNumber: OV34568 + tokenStatusId: 1 + expirationDate: '2024-04-20T17:05:52.000+02:00' + replacedByTokenId: 2 + audit: + - auditTrailId: 1 + customerProfileId: 1 + action: insert + user: user + timestamp: '2023-10-20T17:05:52.000+02:00' + correlationId: 01c6d8b4-1cd3-4f9b-85ea-c9adca53ce95 + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + post: + tags: + - ABTCustomers + summary: Create a customer profile + description: >- + Create a customer profile in the ABT database with status ACTIVE and + debtorStatus Inactive with a start date based on the timestamp of this + post call. + + - Requested format for postal code: + - 0000AA + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/postCustomerProfile' + examples: + minimumProfile: + value: {} + basicCustomerProfile: + value: + debtorStatusId: 2 + person: + birthname: Jan + surname: Jansen + emailAddress: j.jansen@hatseflats.nl + fullCustomerProfile: + value: + customerPreference: + languageId: 1 + debtorStatusId: 2 + person: + birthname: Jan + surname: Jansen + prefix: dhr + suffix: jr + dateOfBirth: '1970-01-01' + emailAddress: j.jansen@hatseflats.nl + addresses: + - street: Laan van Meerdervoort + houseNumber: 5 + houseNumberSuffix: B + postalCode: 2500AA + city: Den Haag + country: NL + isPreferred: true + addressTypeId: 1 + - street: Beeklaan + houseNumber: 30 + houseNumberSuffix: B + postalCode: 2500AA + city: Den Haag + country: NL + isPreferred: false + addressTypeId: 2 + phones: + - number: '6123456789' + countryCode: '0031' + phoneTypeId: 1 + isPreferred: true + - number: '7012345678' + countryCode: '0031' + phoneTypeId: 2 + isPreferred: false + required: true + responses: + '201': + description: Successful created a customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/postCustomerProfileCustomerNumberResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + examples: + InvalidPostalCodeFormatForAddressCountryNLError: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter for country validation (NL). + description: >- + ECMA 262 regex \"^(?:\\d{4}[A-Z]{2})?$\" does not match + input string \"2500 AA\ + MissingRequiredParameterError: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter. + description: >- + object has missing required properties + ([\"addressTypeId\"]) + InvalidDataTypeError: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter. + description: >- + Bad Request - please verify the value for the following + field \"id\ + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/409Response' + examples: + emailAddressAlreadyPresent: + value: + code: '409' + type: Conflict + message: emailAddress already exists. + description: '' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /customers/{customerNumber}/customerpreferences: + patch: + tags: + - ABTCustomers + summary: Modify customer preference elements + description: Modify customer preference fields + parameters: + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/patchCustomerPreferences' + examples: + PatchCustomerPreferences: + value: + customerPreference: + languageId: 2 + responses: + '202': + description: Successful modified the customer preferences + content: + application/json: + schema: + $ref: '#/components/schemas/patchCustomerPreferencesResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + examples: + InvalidDataTypeError: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter. + description: >- + Bad Request - please verify the value for the following + field \"languageId\ + InvalidReferenceIdError: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter. + description: >- + Bad Request: Update Or Delete failed as conflicted with + foreign Key constraint 'languageId' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /customers/{customerNumber}: + patch: + tags: + - ABTCustomers + summary: Modify customer profile elements + description: Modify customer profile fields + parameters: + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/patchCustomerProfile' + examples: + PatchCustomerProfile: + value: + debtorStatusId: 2 + responses: + '202': + description: Successful modified the customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/patchCustomerProfileResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + examples: + InvalidDataTypeError: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter. + description: >- + Bad Request - please verify the value for the following + field \"debtorStatusId\ + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /customers/{customerNumber}/ovchipcards: + post: + tags: + - ABTCustomers + summary: Create a new OV chipcard for a customerProfile. + description: Create a new OV chipcard in the database for a given customer. + parameters: + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/postOvChipCard' + examples: + postNewOvChipCard: + value: + ovChipCard: + chipCardNumber: 1234123412341234 + validUntil: '2024-01-01' + alias: alias + responses: + '201': + description: Successful created an OV chipcard + content: + application/json: + schema: + $ref: '#/components/schemas/postCustomerProfileOvChipCardResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + examples: + chipCardNumberInvalidTooSmall: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter. + description: >- + numeric instance is lower than the required minimum + (minimum: 1000000000000000, found: 999999999999999) + chipCardNumberInvalidTooLarge: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter. + description: >- + numeric instance is greater than the required maximum + (maximum: 9999999999999999, found: 10000000000000000) + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /customers/{customerNumber}/ovchipcards/{ovChipCardId}: + delete: + tags: + - ABTCustomers + summary: Delete a OV chipcard for a customerProfile. + description: Delete a OV chipcard in the database for a given customer. + parameters: + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + - name: ovChipCardId + in: path + required: true + style: simple + explode: false + schema: + type: integer + responses: + '202': + description: Deleted record successfully + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /customers/{customerNumber}/ovpaytokens: + get: + tags: + - ABTCustomers + summary: Get a OV paytoken for a customerProfile. + description: Get a new OV paytoken in the database for a given customer. + parameters: + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + - name: ovPayTokenId + in: query + required: false + style: form + explode: false + schema: + type: integer + - name: xbot + in: query + required: false + style: form + explode: false + schema: + type: string + - name: xtat + in: query + required: false + style: form + explode: false + schema: + type: string + - name: ovPasNumber + in: query + required: false + style: form + explode: false + schema: + type: string + responses: + '200': + description: Successfully retrieved an OVPay token + content: + application/json: + schema: + $ref: '#/components/schemas/getCustomerProfileOvPayTokenResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + post: + tags: + - ABTCustomers + summary: Create a new OV paytoken for a customerProfile. + description: Create a new OV paytoken in the database for a given customer. + parameters: + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/postOvPayToken' + examples: + postNewOvPayTokenCard: + value: + ovPayToken: + tokenTypeId: 2 + xTat: twioq73033 + xBot: hjihwqui27 + alias: alias + lastDigits: '5678' + ovpasNumber: OV34567 + tokenStatusId: 2 + expirationDate: '2025-04-20T17:05:52.000+02:00' + replacedByTokenId: 1 + responses: + '201': + description: Successful created an OVPay token + content: + application/json: + schema: + $ref: '#/components/schemas/postCustomerProfileOvPayTokenResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /customers/{customerNumber}/statuses: + post: + tags: + - ABTCustomers + summary: Create a new customer status for a customerProfile. + description: >- + Create a new customer status for a customerProfile. The call will do the + following in the given order: a new status will be created with + fromInclusive equal to the time of the call. ToInclusive in the old, now + historic, status will also be set equal to the time of the call, deeming + it 'not currently active'. + parameters: + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/postCustomerStatus' + examples: + postNewStatus: + value: + customerStatus: + name: blocked + responses: + '201': + description: Successful updated the customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/defaultCustomerProfileResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '422': + description: Unprocessable entity + content: + application/json: + schema: + $ref: '#/components/schemas/422Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /customers/{customerNumber}/persons: + patch: + tags: + - ABTCustomers + summary: Partial update customer person details + description: Partial update a customer person details in the ABT database + parameters: + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/patchPerson' + examples: + updatePerson: + value: + person: + birthname: Jan + surname: Jansen + prefix: dhr + suffix: jr + dateOfBirth: '1970-01-01' + emailAddress: TEST@TEST1.NL + updatePersonBirthname: + value: + person: + birthname: Jan + updatePersonSurname: + value: + person: + surname: Jansen + updatePersonPrefix: + value: + person: + prefix: dhr + updatePersonSuffix: + value: + person: + suffix: jr + updatePersonDateOfBirth: + value: + person: + dateOfBirth: '1970-01-01' + updatePersonEmailAddress: + value: + person: + emailAddress: TEST@TEST1.NL + responses: + '202': + description: Successful updated the customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/defaultCustomerProfileResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /customers/{customerNumber}/ovpaytokens/{ovPayTokenId}: + delete: + tags: + - ABTCustomers + summary: Delete a OV PayToken for a customerProfile. + description: Delete a OV PayToken in the database for a given customer. + parameters: + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + - name: ovPayTokenId + in: path + required: true + style: simple + explode: false + schema: + type: integer + responses: + '202': + description: Deleted record successfully + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + patch: + tags: + - ABTCustomers + summary: Partial update customer ovpaytokens + description: Partial update of a customer ovpaytokens in the ABT database + parameters: + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + - name: ovPayTokenId + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/patchOvPayToken' + examples: + updateOvPayTokens: + value: + ovPayToken: + tokenTypeId: 2 + xTat: twioq73033 + xBot: hjihwqui27 + alias: alias + lastDigits: '5678' + ovpasNumber: OV34567 + tokenStatusId: 2 + expirationDate: '2025-04-20T17:05:52.000+02:00' + replacedByTokenId: 1 + updateOvPayTokenTypeId: + value: + ovPayToken: + tokenTypeId: 2 + updateOvPayTokenXTat: + value: + ovPayToken: + xTat: twioq73033 + updateOvPayTokenXBot: + value: + ovPayToken: + xBot: hjihwqui27 + updateOvPayTokenAlias: + value: + ovPayToken: + alias: alias + updateOvPayTokenLastDigits: + value: + ovPayToken: + lastDigits: '5678' + updateOvPayTokenOvpasNumber: + value: + ovPayToken: + ovpasNumber: OV34567 + updateOvPayTokenStatusId: + value: + ovPayToken: + tokenStatusId: 1 + updateOvPayTokenExpirationDate: + value: + ovPayToken: + expirationDate: '2025-04-20T17:05:52.000+02:00' + updateOvPayTokenReplacedByTokenId: + value: + ovPayToken: + replacedByTokenId: 1 + responses: + '202': + description: Successful updated the customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/defaultCustomerProfileResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /customers/{customerNumber}/addresses: + post: + tags: + - ABTCustomers + summary: Create a single customer address + description: Create a single customer address in the ABT database + parameters: + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/postAddress' + examples: + addFullAddress: + value: + address: + street: Laan van Meerdervoort + houseNumber: 5 + houseNumberSuffix: B + postalCode: 2500AA + city: Den Haag + country: NL + isPreferred: true + addressTypeId: 1 + addMinimumAddress: + value: + address: + street: Laan van Meerdervoort + houseNumber: 5 + postalCode: 2500AA + city: Den Haag + country: NL + isPreferred: true + addressTypeId: 1 + responses: + '201': + description: Successful updated the customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/postCustomerProfileAddressResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + examples: + InvalidPostalCodeFormatForAddressCountryNLError: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter for country validation (NL). + description: >- + ECMA 262 regex \"^(?:\\d{4}[A-Z]{2})?$\" does not match + input string \"2500 AA\ + MissingRequiredParameterError: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter. + description: >- + object has missing required properties + ([\"addressTypeId\"]) + InvalidDataTypeError: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter. + description: >- + Bad Request - please verify the value for the following + field \"id\ + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /customers/{customerNumber}/phones: + post: + tags: + - ABTCustomers + summary: Create a single customer phonenumber + description: Create a single customer phonenumber in the ABT database + parameters: + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/postPhone' + examples: + addPhone: + value: + phone: + number: '06123456789' + countryCode: '0031' + phoneTypeId: 1 + isPreferred: true + responses: + '201': + description: Successful updated the customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/postCustomerProfilePhoneResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /customers/{customerNumber}/addresses/{addressId}: + delete: + tags: + - ABTCustomers + summary: Delete a customer address + description: Delete a customer address from the ABT database + parameters: + - name: addressId + in: path + required: true + style: simple + explode: false + schema: + type: integer + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + responses: + '202': + description: Deleted record successfully + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + patch: + tags: + - ABTCustomers + summary: Partial update customer addresses + description: Partial update a customer address in the ABT database + parameters: + - name: addressId + in: path + required: true + style: simple + explode: false + schema: + type: integer + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/patchAddress' + examples: + updateAddress: + value: + address: + street: Laan van Meerdervoort + houseNumber: 5 + houseNumberSuffix: B + postalCode: 2500AA + city: Den Haag + country: NL + addressTypeId: 2 + isPreferred: true + updateStreet: + value: + address: + street: Nieuwe Parklaan + updateHouseNumber: + value: + address: + houseNumber: 10 + updateHouseNumberSuffix: + value: + address: + houseNumberSuffix: C + updatePostalCode: + value: + address: + postalCode: 2597LG + updateCity: + value: + address: + city: Amsterdam + updateCountry: + value: + address: + country: UK + updateAddressTypeId: + value: + address: + addressTypeId: 3 + updateIsPreferred: + value: + address: + isPreferred: false + responses: + '202': + description: Successful updated the customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/addressPatchOKResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + examples: + InvalidPostalCodeFormatForAddressCountryNLError: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter for country validation (NL). + description: >- + ECMA 262 regex \"^(?:\\d{4}[A-Z]{2})?$\" does not match + input string \"2500 AA\ + InvalidDataTypeError: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter. + description: >- + Bad Request - please verify the value for the following + field \"id\ + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/409Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /customers/{customerNumber}/phones/{phoneId}: + delete: + tags: + - ABTCustomers + summary: Delete a customer phone + description: Delete a customer phone from the ABT database + parameters: + - name: phoneId + in: path + required: true + style: simple + explode: false + schema: + type: integer + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + responses: + '202': + description: Deleted record successfully + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + patch: + tags: + - ABTCustomers + summary: Partial update customer phones + description: Partial update a customer phone in the ABT database + parameters: + - name: phoneId + in: path + required: true + style: simple + explode: false + schema: + type: integer + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/patchPhone' + examples: + updatePhone: + value: + phone: + number: '06123456789' + countryCode: '0031' + phoneTypeId: 2 + isPreferred: true + updatePhoneNumber: + value: + phone: + number: '06987654321' + updateCountryCode: + value: + phone: + countryCode: '0044' + updatePhoneTypeId: + value: + phone: + phoneTypeId: 2 + updateisPreferred: + value: + phone: + isPreferred: true + responses: + '202': + description: Successful updated the customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/phonePatchOKResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/409Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /selfservice/customers: + get: + tags: + - ABTCustomersSelfService + summary: Search for customer profile + description: Search for a customer profile based on the sub element from JWT + parameters: + - name: X-HTM-JWT-AUTH-HEADER + in: header + required: true + style: simple + explode: false + schema: + type: string + responses: + '200': + description: Successful retrieved a customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/getCustomerProfile' + examples: + fullCustomerProfile: + value: + customerNumber: 1000001 + debtorNumber: TEST001 + vascustomerNumber: CST005 + debtorStateId: 1 + customerPreference: + languageId: 1 + customerStatus: + - name: active + fromInclusive: '2022-08-04 15:01:00.000' + toInclusive: '2022-08-05 15:01:00.000' + - name: blocked + fromInclusive: '2022-08-05 15:01:00.000' + toInclusive: null + person: + birthname: Pieter + surname: De valen + prefix: dhr + suffix: De + dateOfBirth: '2002-10-29' + emailAddress: TEST@HTM.NL + address: + - addressId: 1 + street: mystreet + houseNumber: 1 + houseNumberSuffix: null + postalCode: 0000AA + city: Den Haag + country: NL + isPreferred: true + addressType: Office + - addressId: 2 + street: mystreet 33 + houseNumber: 1 + houseNumberSuffix: null + postalCode: 4455CA + city: Den BOSCH + country: NL + isPreferred: true + addressType: Office + phone: + - phoneId: 1 + number: '3112345678' + countryCode: NL + phoneType: TestNaam + isPreferred: true + - phoneId: 2 + number: '333225588' + countryCode: ES + phoneType: TestNaam + isPreferred: false + ovChipCard: + - ovChipCardId: 1 + chipCardNumber: 1234123412341234 + validUntil: '2023-01-01' + alias: alias + - ovChipCardId: 2 + chipCardNumber: 1234123412341235 + validUntil: '2025-01-01' + alias: alias + ovPayToken: + - ovPayTokenId: 126 + tokenTypeId: 1 + xTat: twioq73033 + xBot: hjihwqui27 + alias: alias + lastDigits: '5678' + ovpasNumber: OV34567 + tokenStatusId: 1 + expirationDate: '2025-04-20T17:05:52.000+02:00' + replacedByTokenId: 1 + - ovPayTokenId: 127 + tokenTypeId: 1 + xTat: hhe2830283 + xBot: jdhd828033 + alias: alias + lastDigits: '5674' + ovpasNumber: OV34568 + tokenStatusId: 1 + expirationDate: '2024-04-20T17:05:52.000+02:00' + replacedByTokenId: 2 + audit: + - auditTrailId: 1 + customerProfileId: 1 + action: insert + user: user + timestamp: '2023-10-20T17:05:52.000+02:00' + correlationId: 01c6d8b4-1cd3-4f9b-85ea-c9adca53ce95 + minimumCustomerProfile: + value: + customerNumber: 1000008 + debtorNumber: null + debtorStateId: null + vascustomerNumber: null + customerPreference: + languageId: 1 + customerStatus: + - name: active + fromInclusive: '2022-08-04 15:01:00.000' + toInclusive: null + person: + birthname: null + surname: null + prefix: null + suffix: null + dateOfBirth: null + emailAddress: TEST@TEST1.NL + address: [] + phone: [] + ovChipCard: [] + ovPayToken: [] + audit: [] + missingPersonDetailsCustomerProfile: + value: + emailAddress: TEST04@HTM.NL + customerNumber: 1000005 + debtorNumber: TEST004 + debtorStateId: 1 + vascustomerNumber: CST008 + customerPreference: + languageId: 1 + customerStatus: + - name: inactive + fromInclusive: '2022-08-04 15:01:00.000' + toInclusive: null + person: + birthname: Sophie + surname: Haardenburg + prefix: Mw + suffix: null + dateOfBirth: '1955-09-05' + emailAddress: TEST@TEST1.NL + address: [] + phone: [] + ovChipCard: + - ovChipCardId: 1 + chipCardNumber: 1234123412341234 + validUntil: '2023-01-01' + alias: alias + - ovChipCardId: 2 + chipCardNumber: 1234123412341235 + validUntil: '2025-01-01' + alias: alias + ovPayToken: + - ovPayTokenId: 126 + tokenTypeId: 1 + xTat: twioq73033 + xBot: hjihwqui27 + alias: alias + lastDigits: '5678' + ovpasNumber: OV34567 + tokenStatusId: 1 + expirationDate: '2025-04-20T17:05:52.000+02:00' + replacedByTokenId: 1 + - ovPayTokenId: 127 + tokenTypeId: 1 + xTat: hhe2830283 + xBot: jdhd828033 + alias: alias + lastDigits: '5674' + ovpasNumber: OV34568 + tokenStatusId: 1 + expirationDate: '2024-04-20T17:05:52.000+02:00' + replacedByTokenId: 2 + audit: + - auditTrailId: 1 + customerProfileId: 1 + action: insert + user: user + timestamp: '2023-10-20T17:05:52.000+02:00' + correlationId: 01c6d8b4-1cd3-4f9b-85ea-c9adca53ce95 + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + post: + tags: + - ABTCustomersSelfService + summary: Create for customer profile + description: Create a customer profile based on the sub element from JWT + parameters: + - name: X-HTM-JWT-AUTH-HEADER + in: header + required: true + style: simple + explode: false + schema: + type: string + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/postCustomerProfile' + examples: + minimumProfile: + value: {} + basicCustomerProfile: + value: + debtorStatusId: 2 + person: + birthname: Jan + surname: Jansen + emailAddress: j.jansen@hatseflats.nl + fullCustomerProfile: + value: + customerPreference: + languageId: 1 + debtorStatusId: 2 + person: + birthname: Jan + surname: Jansen + prefix: dhr + suffix: jr + dateOfBirth: '1970-01-01' + emailAddress: j.jansen@hatseflats.nl + addresses: + - street: Laan van Meerdervoort + houseNumber: 5 + houseNumberSuffix: B + postalCode: 2500AA + city: Den Haag + country: NL + isPreferred: true + addressTypeId: 1 + - street: Beeklaan + houseNumber: 30 + houseNumberSuffix: B + postalCode: 2500AA + city: Den Haag + country: NL + isPreferred: false + addressTypeId: 2 + phones: + - number: '6123456789' + countryCode: '0031' + phoneTypeId: 1 + isPreferred: true + - number: '7012345678' + countryCode: '0031' + phoneTypeId: 2 + isPreferred: false + required: true + responses: + '201': + description: Successful created a customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/postCustomerProfileCustomerNumberResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/409Response' + examples: + emailAddressAlreadyPresent: + value: + code: '409' + type: Conflict + message: emailAddress already exists. + description: '' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + /selfservice/customers/{customerNumber}: + patch: + tags: + - ABTCustomersSelfService + summary: Modify customer profile elements + description: Modify customer profile fields + parameters: + - name: X-HTM-JWT-AUTH-HEADER + in: header + required: true + style: simple + explode: false + schema: + type: string + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/patchCustomerProfile' + examples: + PatchCustomerProfile: + value: + debtorStatusId: 2 + responses: + '202': + description: Successful modified the customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/patchCustomerProfileResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + examples: + InvalidDataTypeError: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter. + description: >- + Bad Request - please verify the value for the following + field \"debtorStatusId\ + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /selfservice/customers/{customerNumber}/customerpreferences: + patch: + tags: + - ABTCustomersSelfService + summary: Modify customer preference elements + description: Modify customer preference fields + parameters: + - name: X-HTM-JWT-AUTH-HEADER + in: header + required: true + style: simple + explode: false + schema: + type: string + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/patchCustomerPreferences' + examples: + PatchCustomerPreferences: + value: + customerPreference: + languageId: 2 + responses: + '202': + description: Successful modified the customer preferences + content: + application/json: + schema: + $ref: '#/components/schemas/patchCustomerPreferencesResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + examples: + InvalidDataTypeError: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter. + description: >- + Bad Request - please verify the value for the following + field \"languageId\ + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /selfservice/customers/{customerNumber}/ovchipcards: + post: + tags: + - ABTCustomersSelfService + summary: Create a new OV chipcard for a customerProfile. + description: Create a new OV chipcard in the database for a given customer. + parameters: + - name: X-HTM-JWT-AUTH-HEADER + in: header + required: true + style: simple + explode: false + schema: + type: string + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/postOvChipCard' + examples: + postNewOvChipCard: + value: + ovChipCard: + chipCardNumber: 1234123412341234 + validUntil: '2024-01-01' + alias: alias + responses: + '201': + description: Successful created an OV chipcard + content: + application/json: + schema: + $ref: '#/components/schemas/postCustomerProfileOvChipCardResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + examples: + chipCardNumberInvalidTooSmall: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter. + description: >- + numeric instance is lower than the required minimum + (minimum: 1000000000000000, found: 999999999999999) + chipCardNumberInvalidTooLarge: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter. + description: >- + numeric instance is greater than the required maximum + (maximum: 9999999999999999, found: 10000000000000000) + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /selfservice/customers/{customerNumber}/ovchipcards/{ovChipCardId}: + delete: + tags: + - ABTCustomersSelfService + summary: Delete a OV chipcard for a customerProfile. + description: Delete a OV chipcard in the database for a given customer. + parameters: + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + - name: ovChipCardId + in: path + required: true + style: simple + explode: false + schema: + type: integer + responses: + '202': + description: Deleted record successfully + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /selfservice/customers/{customerNumber}/ovpaytokens: + post: + tags: + - ABTCustomersSelfService + summary: Create a new OV paytoken for a customerProfile. + description: Create a new OV paytoken in the database for a given customer. + parameters: + - name: X-HTM-JWT-AUTH-HEADER + in: header + required: true + style: simple + explode: false + schema: + type: string + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/postOvPayToken' + examples: + postNewOvPayTokenCard: + value: + ovPayToken: + tokenTypeId: 2 + xTat: twioq73033 + xBot: hjihwqui27 + alias: alias + lastDigits: '5678' + ovpasNumber: OV34567 + tokenStatusId: 2 + expirationDate: '2025-04-20T17:05:52.000+02:00' + replacedByTokenId: 1 + responses: + '201': + description: Successful created an OV paytoken + content: + application/json: + schema: + $ref: '#/components/schemas/postCustomerProfileOvPayTokenResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /selfservice/customers/{customerNumber}/statuses: + post: + tags: + - ABTCustomersSelfService + summary: Create a new customer status for a customerProfile. + description: >- + Create a new customer status for a customerProfile. The call will do the + following in the given order: a new status will be created with + fromInclusive equal to the time of the call. ToInclusive in the old, now + historic, status will also be set equal to the time of the call, deeming + it 'not currently active'. + parameters: + - name: X-HTM-JWT-AUTH-HEADER + in: header + required: true + style: simple + explode: false + schema: + type: string + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/postCustomerStatus' + examples: + postNewStatus: + value: + customerStatus: + name: blocked + responses: + '201': + description: Successful updated the customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/postCustomerProfileCustomerNumberResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '422': + description: Unprocessable entity + content: + application/json: + schema: + $ref: '#/components/schemas/422Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /selfservice/customers/{customerNumber}/persons: + patch: + tags: + - ABTCustomersSelfService + summary: Partial update customer person details + description: Partial update a customer person details in the ABT database + parameters: + - name: X-HTM-JWT-AUTH-HEADER + in: header + required: true + style: simple + explode: false + schema: + type: string + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/patchPerson' + examples: + updatePerson: + value: + person: + birthname: Jan + surname: Jansen + prefix: dhr + suffix: jr + dateOfBirth: '1970-01-01' + emailAddress: TEST@TEST1.NL + updatePersonBirthname: + value: + person: + birthname: Jan + updatePersonSurname: + value: + person: + surname: Jansen + updatePersonPrefix: + value: + person: + prefix: dhr + updatePersonSuffix: + value: + person: + suffix: jr + updatePersonDateOfBirth: + value: + person: + dateOfBirth: '1970-01-01' + updatePersonEmailAddress: + value: + person: + emailAddress: TEST@TEST1.NL + responses: + '202': + description: Successful updated the customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/defaultCustomerProfileResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /selfservice/customers/{customerNumber}/ovpaytokens/{ovPayTokenId}: + delete: + tags: + - ABTCustomersSelfService + summary: Delete a OV PayToken for a customerProfile. + description: Delete a OV PayToken in the database for a given customer. + parameters: + - name: X-HTM-JWT-AUTH-HEADER + in: header + required: true + style: simple + explode: false + schema: + type: string + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + - name: ovPayTokenId + in: path + required: true + style: simple + explode: false + schema: + type: integer + responses: + '202': + description: Deleted record successfully + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + patch: + tags: + - ABTCustomersSelfService + summary: Partial update customer ovpaytokens + description: Partial update of a customer ovpaytokens in the ABT database + parameters: + - name: X-HTM-JWT-AUTH-HEADER + in: header + required: true + style: simple + explode: false + schema: + type: string + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + - name: ovPayTokenId + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/patchOvPayToken' + examples: + updateOvPayTokens: + value: + ovPayToken: + tokenTypeId: 2 + xTat: twioq73033 + xBot: hjihwqui27 + alias: alias + lastDigits: '5678' + ovpasNumber: OV34567 + tokenStatusId: 2 + expirationDate: '2025-04-20T17:05:52.000+02:00' + replacedByTokenId: 1 + updateOvPayTokenTypeId: + value: + ovPayToken: + tokenTypeId: 2 + updateOvPayTokenXTat: + value: + ovPayToken: + xTat: twioq73033 + updateOvPayTokenXBot: + value: + ovPayToken: + xBot: hjihwqui27 + updateOvPayTokenAlias: + value: + ovPayToken: + alias: alias + updateOvPayTokenLastDigits: + value: + ovPayToken: + lastDigits: '5678' + updateOvPayTokenOvpasNumber: + value: + ovPayToken: + ovpasNumber: OV34567 + updateOvPayTokenStatusId: + value: + ovPayToken: + tokenStatusId: 1 + updateOvPayTokenExpirationDate: + value: + ovPayToken: + expirationDate: '2025-04-20T17:05:52.000+02:00' + updateOvPayTokenReplacedByTokenId: + value: + ovPayToken: + replacedByTokenId: 1 + responses: + '202': + description: Successful updated the customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/defaultCustomerProfileResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /selfservice/customers/{customerNumber}/addresses: + post: + tags: + - ABTCustomersSelfService + summary: Create a single customer address + description: Create a single customer address in the ABT database + parameters: + - name: X-HTM-JWT-AUTH-HEADER + in: header + required: true + style: simple + explode: false + schema: + type: string + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/postAddress' + examples: + addFullAddress: + value: + address: + street: Laan van Meerdervoort + houseNumber: 5 + houseNumberSuffix: B + postalCode: 2500AA + city: Den Haag + country: NL + isPreferred: true + addressTypeId: 1 + addMinimumAddress: + value: + address: + street: Laan van Meerdervoort + houseNumber: 5 + postalCode: 2500AA + city: Den Haag + country: NL + isPreferred: true + addressTypeId: 1 + responses: + '201': + description: Successful updated the customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/postCustomerProfileAddressResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + examples: + InvalidPostalCodeFormatForAddressCountryNLError: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter for country validation (NL). + description: >- + ECMA 262 regex \"^(?:\\d{4}[A-Z]{2})?$\" does not match + input string \"2500 AA\ + MissingRequiredParameterError: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter. + description: >- + object has missing required properties + ([\"addressTypeId\"]) + InvalidDataTypeError: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter. + description: >- + Bad Request - please verify the value for the following + field \"id\ + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /selfservice/customers/{customerNumber}/phones: + post: + tags: + - ABTCustomersSelfService + summary: Create a single customer phonenumber + description: Create a single customer phonenumber in the ABT database + parameters: + - name: X-HTM-JWT-AUTH-HEADER + in: header + required: true + style: simple + explode: false + schema: + type: string + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/postPhone' + examples: + addPhone: + value: + phone: + number: '06123456789' + countryCode: '0031' + phoneTypeId: 1 + isPreferred: true + responses: + '201': + description: Successful updated the customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/postCustomerProfilePhoneResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /selfservice/customers/{customerNumber}/addresses/{addressId}: + delete: + tags: + - ABTCustomersSelfService + summary: Delete a customer address + description: Delete a customer address from the ABT database + parameters: + - name: X-HTM-JWT-AUTH-HEADER + in: header + required: true + style: simple + explode: false + schema: + type: string + - name: addressId + in: path + required: true + style: simple + explode: false + schema: + type: integer + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + responses: + '202': + description: Deleted record successfully + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + patch: + tags: + - ABTCustomersSelfService + summary: Partial update customer addresses + description: Partial update a customer address in the ABT database + parameters: + - name: addressId + in: path + required: true + style: simple + explode: false + schema: + type: integer + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/patchAddress' + examples: + updateAddress: + value: + address: + street: Laan van Meerdervoort + houseNumber: 5 + houseNumberSuffix: B + postalCode: 2500AA + city: Den Haag + country: NL + addressTypeId: 2 + isPreferred: true + updateStreet: + value: + address: + street: Nieuwe Parklaan + updateHouseNumber: + value: + address: + houseNumber: 10 + updateHouseNumberSuffix: + value: + address: + houseNumberSuffix: C + updatePostalCode: + value: + address: + postalCode: 2597LG + updateCity: + value: + address: + city: Amsterdam + updateCountry: + value: + address: + country: UK + updateAddressTypeId: + value: + address: + addressTypeId: 3 + updateIsPreferred: + value: + address: + isPreferred: false + responses: + '202': + description: Successful updated the customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/addressPatchOKResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + examples: + InvalidPostalCodeFormatForAddressCountryNLError: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter for country validation (NL). + description: >- + ECMA 262 regex \"^(?:\\d{4}[A-Z]{2})?$\" does not match + input string \"2500 AA\ + InvalidDataTypeError: + value: + code: '400' + type: Bad Request - Input parameters + message: Invalid input parameter. + description: >- + Bad Request - please verify the value for the following + field \"id\ + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/409Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /selfservice/customers/{customerNumber}/phones/{phoneId}: + delete: + tags: + - ABTCustomersSelfService + summary: Delete a customer phone + description: Delete a customer phone from the ABT database + parameters: + - name: X-HTM-JWT-AUTH-HEADER + in: header + required: true + style: simple + explode: false + schema: + type: string + - name: phoneId + in: path + required: true + style: simple + explode: false + schema: + type: integer + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + responses: + '202': + description: Deleted record successfully + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + patch: + tags: + - ABTCustomersSelfService + summary: Partial update customer phones + description: Partial update a customer phone in the ABT database + parameters: + - name: phoneId + in: path + required: true + style: simple + explode: false + schema: + type: integer + - name: customerNumber + in: path + required: true + style: simple + explode: false + schema: + type: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/patchPhone' + examples: + updatePhone: + value: + phone: + number: '06123456789' + countryCode: '0031' + phoneTypeId: 2 + isPreferred: true + updatePhoneNumber: + value: + phone: + number: '06987654321' + updateCountryCode: + value: + phone: + countryCode: '0044' + updatePhoneTypeId: + value: + phone: + phoneTypeId: 2 + updateisPreferred: + value: + phone: + isPreferred: true + responses: + '202': + description: Successful updated the customer profile + content: + application/json: + schema: + $ref: '#/components/schemas/phonePatchOKResponse' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '409': + description: Conflict + content: + application/json: + schema: + $ref: '#/components/schemas/409Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited +components: + schemas: + audit: + type: object + properties: + auditTrailId: + type: integer + customerProfileId: + type: integer + action: + type: string + user: + type: string + timestamp: + type: string + format: datetime + correlationId: + type: string + ovPayToken: + type: object + properties: + ovPayTokenId: + type: integer + tokenTypeId: + type: integer + xTat: + type: string + xBot: + type: string + alias: + type: string + lastDigits: + type: integer + ovpasNumber: + type: string + tokenStatusId: + type: integer + expirationDate: + type: string + replacedByTokenId: + type: integer + getOvChipCard: + type: object + properties: + ovChipCardId: + type: integer + chipCardNumber: + type: integer + validUntil: + type: string + format: date + alias: + type: string + getCustomerStatus: + type: object + properties: + name: + type: string + fromInclusive: + type: string + format: date + toInclusive: + type: string + format: date + getPerson: + type: object + properties: + birthname: + type: string + surname: + type: string + prefix: + type: string + suffix: + type: string + dateOfBirth: + type: string + format: date + emailAddress: + type: string + format: email + address: + type: array + items: + $ref: '#/components/schemas/getAddress' + phone: + type: array + items: + $ref: '#/components/schemas/getPhone' + getAddress: + type: object + properties: + addressId: + type: integer + street: + type: string + houseNumber: + type: integer + houseNumberSuffix: + type: string + postalCode: + type: string + city: + type: string + country: + type: string + isPreferred: + type: boolean + addressType: + type: string + getPhone: + type: object + properties: + phoneId: + type: integer + number: + type: string + countryCode: + type: string + phoneType: + type: string + isPreferred: + type: boolean + getCustomerPreference: + type: object + properties: + languageId: + type: integer + getCustomerProfileList: + type: object + properties: + Entries: + type: array + items: + $ref: '#/components/schemas/getCustomerProfile' + getCustomerProfile: + type: object + properties: + customerNumber: + type: integer + debtorNumber: + type: integer + debtorStateId: + type: integer + vascustomerNumber: + type: integer + customerPreference: + $ref: '#/components/schemas/getCustomerPreference' + customerStatus: + type: array + items: + $ref: '#/components/schemas/getCustomerStatus' + person: + $ref: '#/components/schemas/getPerson' + ovChipCard: + type: array + items: + $ref: '#/components/schemas/getOvChipCard' + ovPayToken: + type: array + items: + $ref: '#/components/schemas/ovPayToken' + audit: + type: array + items: + $ref: '#/components/schemas/audit' + directDebitMandatePostEntity: + required: + - billingInformationId + - created + - directDebitMandateTypeName + - mandateAddressId + - mandateReference + type: object + properties: + directDebitMandateTypeName: + type: string + billingInformationId: + type: integer + mandateAddressId: + type: integer + created: + type: string + mandateReference: + type: string + directDebitMandatePost: + type: object + properties: + directDebitMandate: + $ref: '#/components/schemas/directDebitMandatePostEntity' + directDebitMandatePatchEntity: + type: object + properties: + directDebitMandateTypeName: + type: string + billingInformationId: + type: integer + mandateAddressId: + type: integer + mandateReference: + type: string + mandateState: + type: string + enum: + - SIGNED + - CANCELLED + - PREPARED + directDebitMandatePatch: + type: object + properties: + directDebitMandate: + $ref: '#/components/schemas/directDebitMandatePatchEntity' + directDebitMandateGETEntity: + type: object + properties: + directDebitMandateId: + type: integer + directDebitMandateTypeId: + type: integer + billingInformationId: + type: integer + mandateAddressId: + type: integer + created: + type: string + mandateReference: + type: string + mandateState: + type: string + updateTimestamp: + type: string + billingInformationGETEntity: + required: + - alias + - ascription + - bic + - billingAddressId + - billingInformationId + - iban + - issuerCountry + - swift + type: object + properties: + billingInformationId: + type: integer + issuerCountry: + type: string + iban: + type: string + bic: + type: string + swift: + type: string + ascription: + type: string + alias: + type: string + billingAddressId: + type: integer + billingInformationPostEntity: + required: + - alias + - ascription + - billingAddressId + - iban + - issuerCountry + type: object + properties: + issuerCountry: + type: string + iban: + type: string + bic: + type: string + swift: + type: string + ascription: + type: string + alias: + type: string + billingAddressId: + type: integer + billingInformationPost: + type: object + properties: + billingInformation: + $ref: '#/components/schemas/billingInformationPostEntity' + billingInformationPatchEntity: + type: object + properties: + issuerCountry: + type: string + iban: + type: string + bic: + type: string + swift: + type: string + ascription: + type: string + alias: + type: string + billingAddressId: + type: integer + billingInformationPatch: + type: object + properties: + billingInformation: + $ref: '#/components/schemas/billingInformationPatchEntity' + getCustomerProfileFinancials: + type: object + properties: + customerNumber: + type: integer + billingInformation: + type: array + items: + $ref: '#/components/schemas/billingInformationGETEntity' + directDebitMandate: + type: array + items: + $ref: '#/components/schemas/directDebitMandateGETEntity' + customerPreferencesEntity: + type: object + properties: + languageId: + type: string + postCustomerProfile: + type: object + properties: + debtorStatusId: + type: integer + customerPreference: + $ref: '#/components/schemas/customerPreferencesEntity' + person: + $ref: '#/components/schemas/personEntity' + addresses: + type: array + items: + $ref: '#/components/schemas/addressPostEntity' + phones: + type: array + items: + $ref: '#/components/schemas/phonePostEntity' + postCustomerStatusEntity: + type: object + properties: + name: + type: string + postCustomerStatus: + type: object + properties: + customerStatus: + $ref: '#/components/schemas/postCustomerStatusEntity' + postOvChipCardEntity: + required: + - chipCardNumber + type: object + properties: + chipCardNumber: + type: integer + validUntil: + type: string + format: date + alias: + type: string + patchCustomerProfile: + type: object + properties: + debtorStatusId: + type: integer + patchCustomerPreferencesEntity: + type: object + properties: + languageId: + type: string + patchCustomerPreferences: + type: object + properties: + customerPreference: + $ref: '#/components/schemas/patchCustomerPreferencesEntity' + postOvChipCard: + type: object + properties: + ovChipCard: + $ref: '#/components/schemas/postOvChipCardEntity' + postOvPayToken: + required: + - alias + - lastDigits + - tokenTypeId + - xBot + - xTat + type: object + properties: + ovPayToken: + type: object + properties: + tokenTypeId: + type: string + xTat: + type: string + xBot: + type: string + alias: + type: string + lastDigits: + type: integer + ovpasNumber: + type: string + tokenStatusId: + type: integer + expirationDate: + type: string + replacedByTokenId: + type: integer + ovPayTokenEntity: + type: object + properties: + tokenTypeId: + type: string + xTat: + type: string + xBot: + type: string + alias: + type: string + lastDigits: + type: integer + ovpasNumber: + type: string + tokenStatusId: + type: integer + expirationDate: + type: string + replacedByTokenId: + type: integer + patchOvPayToken: + type: object + properties: + ovPayToken: + $ref: '#/components/schemas/ovPayTokenEntity' + patchPerson: + type: object + properties: + person: + $ref: '#/components/schemas/personEntity' + patchAddress: + type: object + properties: + address: + $ref: '#/components/schemas/addressPatchEntity' + patchPhone: + type: object + properties: + phone: + $ref: '#/components/schemas/phonePatchEntity' + postAddress: + type: object + properties: + address: + $ref: '#/components/schemas/addressPostEntity' + postPhone: + type: object + properties: + phone: + $ref: '#/components/schemas/phonePostEntity' + personEntity: + type: object + properties: + birthname: + type: string + surname: + type: string + prefix: + type: string + suffix: + type: string + dateOfBirth: + type: string + format: date + emailAddress: + type: string + addressPostEntity: + required: + - addressTypeId + - city + - country + - houseNumber + - postalCode + - street + type: object + properties: + street: + type: string + houseNumber: + type: integer + houseNumberSuffix: + type: string + postalCode: + type: string + city: + type: string + country: + type: string + isPreferred: + type: boolean + addressTypeId: + type: integer + addressPatchEntity: + type: object + properties: + street: + type: string + houseNumber: + type: integer + houseNumberSuffix: + type: string + postalCode: + type: string + city: + type: string + country: + type: string + addressTypeId: + type: integer + isPreferred: + type: boolean + phonePostEntity: + required: + - countryCode + - number + - phoneTypeId + type: object + properties: + number: + type: string + countryCode: + type: string + phoneTypeId: + type: integer + isPreferred: + type: boolean + phonePatchEntity: + type: object + properties: + number: + type: string + countryCode: + type: string + phoneTypeId: + type: integer + isPreferred: + type: boolean + defaultCustomerProfileResponse: + type: object + properties: + customerNumber: + type: integer + example: 10000001 + phonePatchOKResponse: + type: object + properties: + id: + type: integer + example: 1 + addressPatchOKResponse: + type: object + properties: + id: + type: integer + example: 1 + postCustomerProfileCustomerNumberResponse: + type: object + properties: + customerNumber: + type: integer + example: 10000001 + postCustomerProfileAddressResponse: + type: object + properties: + customerNumber: + type: integer + example: 10000001 + addressId: + type: integer + example: 1 + postCustomerProfilePhoneResponse: + type: object + properties: + customerNumber: + type: integer + example: 10000001 + phoneId: + type: integer + example: 1 + postCustomerProfileBillingInformationResponse: + type: object + properties: + customerNumber: + type: integer + example: 10000001 + billingInformationId: + type: integer + example: 1 + postCustomerProfileDirectDebitMandateResponse: + type: object + properties: + customerNumber: + type: integer + example: 10000001 + directDebitMandateId: + type: integer + example: 1 + postCustomerProfileOvChipCardResponse: + type: object + properties: + customerNumber: + type: integer + example: 10000001 + ovChipCardId: + type: integer + example: 1 + patchCustomerProfileResponse: + type: object + properties: + customerNumber: + type: integer + example: 10000001 + patchCustomerPreferencesResponse: + type: object + properties: + customerNumber: + type: integer + example: 10000001 + ovPayTokenGetEntity: + type: object + properties: + ovPayTokenId: + type: integer + example: 1 + tokenTypeId: + type: integer + example: 1 + xTat: + type: string + example: 0044831b-8e80c-4f82-r989a-8d85ee1996 + xBot: + type: string + example: 0044831b-8e80c-4f82-r989a-8d85ee1996 + lastDigits: + type: string + example: '0001' + ovpasNumber: + type: integer + example: 1 + alias: + type: string + example: alias + tokenStatusId: + type: integer + expirationDate: + type: string + replacedByTokenId: + type: integer + getCustomerProfileOvPayTokenResponse: + type: object + properties: + ovPayToken: + type: array + items: + $ref: '#/components/schemas/ovPayTokenGetEntity' + postCustomerProfileOvPayTokenResponse: + type: object + properties: + ovPaytoken: + type: object + example: 10000001 + ovPayTokenId: + type: integer + example: 1 + patchCustomerProfileCustomerNumberResponse: + type: object + properties: + customerNumber: + type: integer + example: 10000001 + 400Response: + type: object + properties: + code: + type: string + example: '400' + type: + type: string + message: + type: string + example: Bad Request + description: + type: string + example: >- + 'Bad Request: Input parameters missing! Please fill in at least 1 + valid input parameter. + 401Response: + type: object + properties: + code: + type: string + example: '900901' + type: + type: string + message: + type: string + example: Invalid Credentials + description: + type: string + example: >- + Invalid Credentials. Make sure you have provided the correct + security credentials + 404Response: + type: object + properties: + code: + type: string + example: '404' + type: + type: string + example: Status report + message: + type: string + example: Not Found + description: + type: string + example: The requested resource is not available. + 409Response: + type: object + properties: + code: + type: string + example: '409' + type: + type: string + example: Conflict + message: + type: string + example: Entry already exists + description: + type: string + 422Response: + type: object + properties: + code: + type: string + example: '422' + type: + type: string + example: Unprocessable entity + message: + type: string + example: >- + Forbidden state transition requested! From Active to Cleared not + allowed. + description: + type: string + 500Response: + type: object + properties: + code: + type: string + example: '500' + type: + type: string + message: + type: string + example: Internal Server Error + description: + type: string + securitySchemes: + default: + type: oauth2 + flows: + implicit: + authorizationUrl: https://services.acc.api.htm.nl/authorize + scopes: {} diff --git a/src/openapi/customers/customers_reference-crud.yaml b/src/openapi/customers/customers_reference-crud.yaml new file mode 100644 index 0000000..ffb2500 --- /dev/null +++ b/src/openapi/customers/customers_reference-crud.yaml @@ -0,0 +1,1047 @@ +openapi: 3.0.1 +info: + title: ABTCustomerReference + version: '1.0' +servers: + - url: https://services.dev.api.htm.nl/abt/customerreference/1.0 + - url: http://services.dev.api.htm.nl/abt/customerreference/1.0 +security: + - default: [] +tags: + - name: ABTCustomerReference +paths: + /directdebitmandatetype: + get: + tags: + - ABTCustomerReference + summary: List of direct debit mandate types + description: gives list of direct debit mandate types + parameters: [] + responses: + '200': + description: Successful retrieved list of direct debit mandate types + content: + application/json: + schema: + $ref: '#/components/schemas/directDebitMandateTypes' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /phonetype: + get: + tags: + - ABTCustomerReference + summary: List of phone types + description: gives list of phone types + parameters: [] + responses: + '200': + description: Successful retrieved list of phoneTypes + content: + application/json: + schema: + $ref: '#/components/schemas/phoneTypes' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + post: + tags: + - ABTCustomerReference + summary: Create a phone type + description: Create a phone type with a specific value + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/phoneType' + required: true + responses: + '201': + description: Successful created a new phone type + content: + application/json: + schema: + type: object + properties: + id: + type: integer + example: 1 + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /phonetype/{phoneTypeId}: + put: + tags: + - ABTCustomerReference + summary: Update a phone type + description: Update an existing phone type with a specific value + parameters: + - name: phoneTypeId + in: path + required: true + style: simple + explode: false + schema: + type: integer + format: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/phoneType' + required: true + responses: + '202': + description: Successful updated an existing a phone type + content: + application/json: + schema: + type: object + properties: + id: + type: integer + example: 1 + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + delete: + tags: + - ABTCustomerReference + summary: Remove a phone type + description: Remove an existing phone type with a specific value + parameters: + - name: phoneTypeId + in: path + required: true + style: simple + explode: false + schema: + type: integer + format: integer + responses: + '202': + description: Successful removed a phone type + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/404ResponseId' + - $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /addresstype: + get: + tags: + - ABTCustomerReference + summary: List of address types + description: gives list of address types + parameters: [] + responses: + '200': + description: Successful retrieved list of addressTypes + content: + application/json: + schema: + $ref: '#/components/schemas/addressTypes' + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + post: + tags: + - ABTCustomerReference + summary: Create a address type + description: Create a address type with a specific value + parameters: [] + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/addressType' + required: true + responses: + '201': + description: Successful created a new address type + content: + application/json: + schema: + type: object + properties: + id: + type: integer + example: 1 + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /addresstype/{addressTypeId}: + put: + tags: + - ABTCustomerReference + summary: Update a address type + description: Update an existing address type with a specific value + parameters: + - name: addressTypeId + in: path + required: true + style: simple + explode: false + schema: + type: integer + format: integer + requestBody: + content: + application/json: + schema: + $ref: '#/components/schemas/addressType' + required: true + responses: + '202': + description: Successful updated an existing a address type + content: + application/json: + schema: + type: object + properties: + id: + type: integer + example: 1 + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + delete: + tags: + - ABTCustomerReference + summary: Remove a address type + description: Remove an existing address type with a specific value + parameters: + - name: addressTypeId + in: path + required: true + style: simple + explode: false + schema: + type: integer + format: integer + responses: + '202': + description: Successful removed a address type + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + oneOf: + - $ref: '#/components/schemas/404ResponseId' + - $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /customerstatus: + get: + tags: + - ABTCustomerReference + summary: List of customer status + description: gives list of customer status + parameters: [] + responses: + '200': + description: Successful retrieved list of customer status + content: + application/json: + schema: + $ref: '#/components/schemas/customerStatus' + example: + Entries: + - customerStatusId: 1 + name: Inactive + - customerStatusId: 2 + name: Active + - customerStatusId: 3 + name: Blocked + - customerStatusId: 4 + name: Frozen + - customerStatusId: 5 + name: Cleared + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /tokentype: + get: + tags: + - ABTCustomerReference + summary: List of token types + description: gives list of token types + parameters: [] + responses: + '200': + description: Successful retrieved list of customer status + content: + application/json: + schema: + $ref: '#/components/schemas/tokenType' + example: + Entries: + - tokenTypeId: 1 + name: Debit card + - tokenTypeId: 2 + name: Credit card + - tokenTypeId: 3 + name: OVPas physical + - tokenTypeId: 4 + name: OVPas digital + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /customerreferences: + get: + tags: + - ABTCustomerReference + summary: List of all possible customer reference values + description: gives list of all possible customer reference values availbale + parameters: [] + responses: + '200': + description: Successful retrieved list of all possible customer reference values + content: + application/json: + schema: + allOf: + - $ref: '#/components/schemas/customerReferences' + example: + Entries: + phoneTypes: + - name: mobile + id: 1 + - name: fixed line + id: 2 + addressTypes: + - name: home + id: 1 + - name: office + id: 2 + customerStatuses: + - name: active + id: 1 + - name: blocked + id: 2 + - name: inactive + id: 3 + - name: new + id: 4 + tokenTypes: + - name: Debit card + id: 1 + - name: Credit card + id: 2 + - name: OVPas physical + id: 3 + - name: OVPas digital + id: 4 + directDebitMandateTypes: + - name: Paper Contract + id: 1 + - name: PIN transaction + id: 2 + tokenStatuses: + - name: Expired + id: 1 + - name: Active + id: 2 + - name: Replaced + id: 3 + - name: Inactive + id: 4 + - name: Suspended + id: 5 + - name: Removed by customer + id: 6 + debtorStatuses: + - name: Inactive + id: 1 + - name: Active + id: 2 + languages: + - id: 1 + name: Nederlands + ietfCode: nl-Nl + iso639Code: nl + - id: 2 + name: English + ietfCode: en-US + iso639Code: en + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /tokenstatus: + get: + tags: + - ABTCustomerReference + summary: List of all token status + description: gives list of all token statuses + parameters: [] + responses: + '200': + description: Successful retrieved list of customer status + content: + application/json: + schema: + $ref: '#/components/schemas/language' + example: + Entries: + - tokenStatusId: 1 + name: Expired + - tokenStatusId: 2 + name: Active + - tokenStatusId: 3 + name: Replaced + - tokenStatusId: 4 + name: Inactive + - tokenStatusId: 5 + name: Suspended + - tokenStatusId: 6 + name: Removed by customer + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /language: + get: + tags: + - ABTCustomerReference + summary: List of all languages + description: gives list of all languages + parameters: [] + responses: + '200': + description: Successful retrieved list of languages + content: + application/json: + schema: + $ref: '#/components/schemas/language' + example: + Entries: + - languageId: 1 + name: Expired + ietfCode: nl-NL + iso639Code: nl + - languageId: 2 + name: Expired + ietfCode: en-US + iso639Code: en + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited + /debtorstatus: + get: + tags: + - ABTCustomerReference + summary: List of all debtorstatuses + description: gives list of all debtorstatuses + parameters: [] + responses: + '200': + description: Successful retrieved list of debtorstatuses + content: + application/json: + schema: + $ref: '#/components/schemas/tokenStatus' + example: + Entries: + - debtorStatusId: 1 + name: Inactive + - debtorStatusId: 2 + name: Active + '400': + description: Bad Request + content: + application/json: + schema: + $ref: '#/components/schemas/400Response' + '401': + description: Unauthorized + content: + application/json: + schema: + $ref: '#/components/schemas/401Response' + '404': + description: Not Found + content: + application/json: + schema: + $ref: '#/components/schemas/404Response' + '500': + description: Internal Server Error + content: + application/json: + schema: + $ref: '#/components/schemas/500Response' + security: + - default: [] + x-auth-type: Application & Application User + x-throttling-tier: Unlimited +components: + schemas: + directDebitMandateTypeList: + type: array + items: + properties: + directDebitMandateTypeId: + type: integer + example: 1 + name: + type: string + example: name + directDebitMandateType: + properties: + name: + type: string + example: name + id: + type: integer + example: 1 + directDebitMandateTypes: + type: object + properties: + Entries: + $ref: '#/components/schemas/directDebitMandateTypeList' + phoneType: + properties: + name: + type: string + example: name + phoneTypeIdList: + type: array + items: + properties: + phoneTypeId: + type: integer + example: 123 + name: + type: string + example: name + phoneTypes: + type: object + properties: + Entries: + $ref: '#/components/schemas/phoneTypeIdList' + addressType: + properties: + name: + type: string + example: name + addressTypeIdList: + type: array + items: + properties: + addressTypeId: + type: integer + example: 123 + name: + type: string + example: name + addressTypes: + type: object + properties: + Entries: + $ref: '#/components/schemas/addressTypeIdList' + customerStatuses: + type: object + properties: + Entries: + $ref: '#/components/schemas/customerStatusIdList' + customerStatusIdList: + type: array + items: + properties: + customerStatusId: + type: integer + name: + type: string + customerStatus: + properties: + name: + type: string + example: name + tokenTypes: + type: object + properties: + Entries: + $ref: '#/components/schemas/customerStatusIdList' + tokenTypeIdList: + type: array + items: + properties: + tokenTypeId: + type: integer + name: + type: string + tokenType: + properties: + name: + type: string + example: name + tokenStatuses: + type: object + properties: + Entries: + $ref: '#/components/schemas/customerStatusIdList' + tokenStatusIdList: + type: array + items: + properties: + tokenStatusId: + type: integer + name: + type: string + tokenStatus: + properties: + tokenStatusId: + type: integer + example: 1 + name: + type: string + example: name + debtorStatus: + properties: + debtorStatusId: + type: integer + example: 1 + name: + type: string + example: name + language: + properties: + languageId: + type: integer + example: 1 + name: + type: string + example: name + ietfCode: + type: string + example: nl-NL + iso639Code: + type: string + example: nl + customerReferences: + type: object + properties: + Entries: + oneOf: + - $ref: '#/components/schemas/addressType' + - $ref: '#/components/schemas/phoneType' + - $ref: '#/components/schemas/customerStatus' + - $ref: '#/components/schemas/tokenType' + - $ref: '#/components/schemas/directDebitMandateType' + - $ref: '#/components/schemas/tokenStatus' + 400Response: + type: object + properties: + code: + type: string + example: '400' + type: + type: string + message: + type: string + example: Bad Request + description: + type: string + example: '''2023-02-01 00:00:00'' is not a valid Datetime' + 401Response: + type: object + properties: + code: + type: string + example: '900901' + type: + type: string + message: + type: string + example: Invalid Credentials + description: + type: string + example: >- + Invalid Credentials. Make sure you have provided the correct + security credentials + 404Response: + type: object + properties: + code: + type: string + example: '404' + type: + type: string + example: Status report + message: + type: string + example: Not Found + description: + type: string + example: The requested resource is not available. + 404ResponseId: + type: object + properties: + error: + type: string + example: 'No record found for id: 5' + 500Response: + type: object + properties: + code: + type: string + example: '500' + type: + type: string + message: + type: string + example: Internal Server Error + description: + type: string + securitySchemes: + default: + type: oauth2 + flows: + implicit: + authorizationUrl: https://services.dev.api.htm.nl/authorize + scopes: {}