openapi: "3.0.3"
info:
  title: ABT Purchased Products CRUD APIs
  version: "1.0"
  description: CRUD APIs for ABT Purchased Products database. These are NOT the functional APIs from Service Engine.
servers:
  - url: https://services.acc.api.htm.nl/abt/abtproducts/1.0
paths:
  /purchasedproducts:
    get:
      tags:
        - Purchased Product
      summary: Find purchased products.
      description: Find purchased products.
      parameters:
        - in: query
          name: productId
          schema:
            type: integer
            example: 1
          required: false
          description: The technical id of the product.
        - in: query
          name: createdOnBefore
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          required: false
          description: The purchased product should be created before this timestamp.
        - in: query
          name: createdOnAfter
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          required: false
          description: The purchased product should be created after this timestamp.
        - in: query
          name: lastUpdatedOnBefore
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          required: false
          description: The purchased product should be last updated before this timestamp.
        - in: query
          name: lastUpdatedOnAfter
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          required: false
          description: The purchased product should be last updated after this timestamp.
        - in: query
          name: resourceNameId
          schema:
            type: integer
            example: 2
          required: false
          description: The id of the resource.
        - in: query
          name: resourceName
          schema:
            type: string
            example: orders
          required: false
          description: The name of the resource.
        - in: query
          name: resourceIdentifier
          schema:
            type: string
            example: f461004f-d98e-4323-aa26-f09bf8ea2f2d
          required: false
          description: The identifier of the resource.
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/unavailable"
              examples:
                Empty list:
                  value: { "purchasedProducts": [], "href": null }
                List with multiple purchased products:
                  value:
                    {
                      "purchasedProducts":
                        [
                          {
                            "purchasedProductId": "45573af8-a9aa-4f7c-95f4-b1971bf2c3c6",
                            "productId": 12,
                            "createdOn": "2024-10-04T12:34:56.000",
                            "lastUpdatedOn": "2024-10-04T12:34:56.000",
                            "purchasedProductResources":
                              [
                                {
                                  "purchasedProductResourceId": "c7900130-0637-41d7-83fe-6fe283a0a1f1",
                                  "resourceName":
                                    {
                                      "resourceNameId": 1,
                                      "name": "contracts",
                                    },
                                  "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7",
                                },
                                {
                                  "purchasedProductResourceId": "06dae996-cdfe-45f1-833a-720201c35114",
                                  "resourceName":
                                    { "resourceNameId": 2, "name": "orders" },
                                  "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e",
                                },
                              ],
                            "purchasedGboProducts":
                              [
                                {
                                  "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd",
                                  "salesTimestamp": "2024-10-04T12:34:56.000",
                                  "refundTimestamp": "2024-10-04T12:34:56.000",
                                  "fromInclusive": "2024-10-04T12:34:56.000",
                                  "untilInclusive": "2024-10-04T12:34:56.000",
                                  "packageTemplateId": "30003",
                                  "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b",
                                  "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8",
                                  "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b",
                                  "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f",
                                  "ovPayTokenId": 13,
                                  "createdOn": "2024-10-04T12:34:56.000",
                                  "lastUpdatedOn": "2024-10-04T12:34:56.000",
                                  "createdBy": "someuser",
                                  "lastUpdatedBy": null,
                                },
                              ],
                            "purchasedTapconnectTickets": [],
                            "issuedVouchers": [],
                          },
                          {
                            "purchasedProductId": "599f1296-ed56-4b90-a518-5c8e917a7dd6",
                            "productId": 12,
                            "createdOn": "2024-10-04T12:34:56.000",
                            "lastUpdatedOn": "2024-10-04T12:34:56.000",
                            "purchasedProductResources":
                              [
                                {
                                  "purchasedProductResourceId": "c7900130-0637-41d7-83fe-6fe283a0a1f1",
                                  "resourceName":
                                    {
                                      "resourceNameId": 1,
                                      "name": "contracts",
                                    },
                                  "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7",
                                },
                                {
                                  "purchasedProductResourceId": "06dae996-cdfe-45f1-833a-720201c35114",
                                  "resourceName":
                                    { "resourceNameId": 2, "name": "orders" },
                                  "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e",
                                },
                              ],
                            "purchasedGboProducts": [],
                            "purchasedTapconnectTickets":
                              [
                                {
                                  "purchasedTapconnectTicketId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90",
                                  "issuedAt": "2024-10-04T12:34:56.000",
                                  "activatedAt": "2024-10-04T12:34:56.000",
                                  "cancelledAt": null,
                                  "ticketReference": "KJj43nejhbTxhr897287",
                                  "createdOn": "2024-10-04T12:34:56.000",
                                  "lastUpdatedOn": "2024-10-04T12:34:56.000",
                                  "createdBy": "user",
                                  "lastUpdatedBy": "user",
                                },
                              ],
                            "issuedVouchers": [],
                          },
                          {
                            "purchasedProductId": "2c97c451-3bd5-467b-8db0-fd3a04fe5bc6",
                            "productId": 12,
                            "createdOn": "2024-10-04T12:34:56.000",
                            "lastUpdatedOn": "2024-10-04T12:34:56.000",
                            "purchasedProductResources":
                              [
                                {
                                  "purchasedProductResourceId": "c7900130-0637-41d7-83fe-6fe283a0a1f1",
                                  "resourceName":
                                    {
                                      "resourceNameId": 1,
                                      "name": "contracts",
                                    },
                                  "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7",
                                },
                                {
                                  "purchasedProductResourceId": "06dae996-cdfe-45f1-833a-720201c35114",
                                  "resourceName":
                                    { "resourceNameId": 2, "name": "orders" },
                                  "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e",
                                },
                              ],
                            "purchasedGboProducts": [],
                            "purchasedTapconnectTickets": [],
                            "issuedVouchers":
                              [
                                {
                                  "issuedVoucherId": "e1f2g3h4-i5j6-k7l8-m9n0-o1p2q3r4s5t6",
                                  "voucherCode": "VOUCHER12345",
                                  "voucherStatusInstances":
                                    [
                                      {
                                        "voucherStatusInstanceId": "ac8c54d1-79f7-4167-8817-c66b9575d679",
                                        "voucherStatus":
                                          {
                                            "voucherStatusId": 1,
                                            "name": "New",
                                          },
                                        "createdOn": "2024-10-04T12:34:56.000",
                                      },
                                      {
                                        "voucherStatusInstanceId": "b01412e6-70fb-4c05-9bef-e65bf2747ca1",
                                        "voucherStatus":
                                          {
                                            "voucherStatusId": 2,
                                            "name": "Issued",
                                          },
                                        "createdOn": "2024-10-04T12:37:14.000",
                                      },
                                    ],
                                  "voucherClaims":
                                    [
                                      {
                                        "voucherClaimId": "b1c2d3e4-f5g6-h7i8-j9k0-l1m2n3o4p5q6",
                                        "mandatoryCustomerDataItem":
                                          {
                                            "mandatoryCustomerDataItemId": 8,
                                            "name": "PadBirthdate",
                                          },
                                        "value": "1990-01-01",
                                      },
                                    ],
                                },
                              ],
                          },
                        ],
                      "href": null,
                    }
  /purchasedproducts/{purchasedProductId}:
    parameters:
      - in: path
        name: purchasedProductId
        schema:
          type: string
          format: uuid
          example: 058a1af7-897f-45d5-b691-9cc9161e387f
        required: true
        description: The id of the purchased product to process.
    get:
      tags:
        - Purchased Product
      summary: Get a single purchased product.
      description: Get a single purchased product.
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/unavailable"
              examples:
                Get Purchased GBO Product:
                  value:
                    {
                      "purchasedProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd",
                      "productId": 14,
                      "createdOn": "2024-10-04T12:34:56.000",
                      "lastUpdatedOn": "2024-10-04T12:34:56.000",
                      "purchasedProductResources":
                        [
                          {
                            "resourceName":
                              { "resourceNameId": 1, "name": "contracts" },
                            "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7",
                          },
                          {
                            "resourceName":
                              { "resourceNameId": 2, "name": "orders" },
                            "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e",
                          },
                        ],
                      "purchasedGboProducts":
                        [
                          {
                            "salesTimestamp": "2024-10-04T12:34:56.000",
                            "refundTimestamp": "2024-10-04T12:34:56.000",
                            "fromInclusive": "2024-10-04T12:34:56.000",
                            "untilInclusive": "2024-10-04T12:34:56.000",
                            "packageTemplateId": "30003",
                            "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b",
                            "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8",
                            "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b",
                            "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f",
                            "ovPayTokenId": 13,
                            "createdOn": "2024-10-04T12:34:56.000",
                            "lastUpdatedOn": "2024-10-04T12:34:56.000",
                            "createdBy": "someuser",
                            "lastUpdatedBy": null,
                          },
                        ],
                      "purchasedTapconnectTickets": [],
                      "issuedVouchers": [],
                    }
                Get Purchased Tapconnect Ticket:
                  value:
                    {
                      "purchasedProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd",
                      "productId": 14,
                      "createdOn": "2024-10-04T12:34:56.000",
                      "lastUpdatedOn": "2024-10-04T12:34:56.000",
                      "purchasedProductResources":
                        [
                          {
                            "resourceName":
                              { "resourceNameId": 1, "name": "contracts" },
                            "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7",
                          },
                          {
                            "resourceName":
                              { "resourceNameId": 2, "name": "orders" },
                            "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e",
                          },
                        ],
                      "purchasedGboProducts": [],
                      "purchasedTapconnectTickets":
                        [
                          {
                            "purchasedTapconnectTicketId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90",
                            "issuedAt": "2024-10-04T12:34:56.000",
                            "activatedAt": "2024-10-04T12:34:56.000",
                            "cancelledAt": null,
                            "ticketReference": "KJj43nejhbTxhr897287",
                            "createdOn": "2024-10-04T12:34:56.000",
                            "lastUpdatedOn": "2024-10-04T12:34:56.000",
                            "createdBy": "user",
                            "lastUpdatedBy": "user",
                          },
                        ],
                      "issuedVouchers": [],
                    }
                Get Issued Voucher:
                  value:
                    {
                      "purchasedProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd",
                      "productId": 14,
                      "createdOn": "2024-10-04T12:34:56.000",
                      "lastUpdatedOn": "2024-10-04T12:34:56.000",
                      "purchasedProductResources":
                        [
                          {
                            "resourceName":
                              { "resourceNameId": 1, "name": "contracts" },
                            "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7",
                          },
                          {
                            "resourceName":
                              { "resourceNameId": 2, "name": "orders" },
                            "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e",
                          },
                        ],
                      "purchasedGboProducts": [],
                      "purchasedTapconnectTickets": [],
                      "issuedVouchers":
                        [
                          {
                            "issuedVoucherId": "e1f2g3h4-i5j6-k7l8-m9n0-o1p2q3r4s5t6",
                            "voucherCode": "VOUCHER12345",
                            "voucherStatusInstances":
                              [
                                {
                                  "voucherStatusInstanceId": "ac8c54d1-79f7-4167-8817-c66b9575d679",
                                  "voucherStatus":
                                    { "voucherStatusId": 1, "name": "New" },
                                  "createdOn": "2024-10-04T12:34:56.000",
                                },
                                {
                                  "voucherStatusInstanceId": "b01412e6-70fb-4c05-9bef-e65bf2747ca1",
                                  "voucherStatus":
                                    { "voucherStatusId": 2, "name": "Issued" },
                                  "createdOn": "2024-10-04T12:37:14.000",
                                },
                              ],
                            "voucherClaims":
                              [
                                {
                                  "voucherClaimId": "b1c2d3e4-f5g6-h7i8-j9k0-l1m2n3o4p5q6",
                                  "mandatoryCustomerDataItem":
                                    {
                                      "mandatoryCustomerDataItemId": 8,
                                      "name": "PadBirthdate",
                                    },
                                  "value": "1990-01-01",
                                },
                              ],
                          },
                        ],
                    }
    patch:
      tags:
        - Purchased Product
      summary: Update a purchased product.
      description: Update a purchased product.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/unavailable"
            example: { "lastUpdatedOn": "2024-10-04T12:34:56.000" }
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/unavailable"
              example:
                { "purchasedProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd" }
  /purchasedproducts/{purchasedProductId}/resources:
    parameters:
      - in: path
        name: purchasedProductId
        schema:
          type: string
          format: uuid
          example: 058a1af7-897f-45d5-b691-9cc9161e387f
        required: true
        description: The id of the purchased product to process.
    post:
      tags:
        - Purchased Product
      summary: Add a resource to a purchased product.
      description: Add a resource to a purchased product.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/unavailable"
            example:
              {
                "resourceNameId": 1,
                "resourceIdentifier": "502d2e0d-4e3b-4a7e-9f6e-0d0b1e1e1e1e",
              }
      responses:
        "201":
          description: Created
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/unavailable"
              example:
                {
                  "purchasedProductResourceId": "ff572952-b16e-43ee-919c-a6edb620079e",
                }
  /purchasedproducts/{purchasedProductId}/gboproducts:
    parameters:
      - in: path
        name: purchasedProductId
        schema:
          type: string
          format: uuid
          example: 058a1af7-897f-45d5-b691-9cc9161e387f
        required: true
        description: The id of the purchased product to process.
    post:
      tags:
        - Purchased GBO Product
      summary: Add a GBO purchased product.
      description: Add a GBO purchased product.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/unavailable"
            example:
              {
                "salesTimestamp": "2024-10-04T12:34:56.000",
                "refundTimestamp": "2024-10-04T12:34:56.000",
                "fromInclusive": "2024-10-04T12:34:56.000",
                "untilInclusive": "2024-10-04T12:34:56.000",
                "packageTemplateId": "30003",
                "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b",
                "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8",
                "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b",
                "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f",
                "ovPayTokenId": 13,
                "createdOn": "2024-10-04T12:34:56.000",
                "lastUpdatedOn": "2024-10-04T12:34:56.000",
                "createdBy": "someuser",
                "lastUpdatedBy": null,
              }
      responses:
        "201":
          description: Created
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/unavailable"
              example:
                {
                  "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd",
                }
  /purchasedgboproducts:
    get:
      tags:
        - Purchased GBO Product
      summary: Find GBO purchased products.
      description: Find GBO purchased products.
      parameters:
        - in: query
          name: purchasedGboProductId
          schema:
            type: string
            format: uuid
            example: c99dea33-a1be-4336-ad25-ec0869693ef3
          description: The id of the purchased GBO product.
        - in: query
          name: purchasedProductId
          schema:
            type: string
            format: uuid
            example: 058a1af7-897f-45d5-b691-9cc9161e387f
          description: The id of the purchased product.
        - in: query
          name: salesTimestampBefore
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The purchased GBO product should be sold before this timestamp.
        - in: query
          name: salesTimestampAfter
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The purchased GBO product should be sold after this timestamp.
        - in: query
          name: refundTimestampBefore
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The purchased GBO product should be refunded before this timestamp.
        - in: query
          name: refundTimestampAfter
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The purchased GBO product should be refunded after this timestamp.
        - in: query
          name: fromInclusiveBefore
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The purchased GBO product should be valid before this timestamp.
        - in: query
          name: fromInclusiveAfter
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The purchased GBO product should be valid after this timestamp.
        - in: query
          name: untilInclusiveBefore
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The purchased GBO product should be valid before this timestamp.
        - in: query
          name: untilInclusiveAfter
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The purchased GBO product should be valid after this timestamp.
        - in: query
          name: packageTemplateId
          schema:
            type: string
            format: uuid
            example: 30003
          description: The id of the package template.
        - in: query
          name: xBot
          schema:
            type: string
            format: uuid
            example: f15efe6f-7353-4968-b134-60ba6fc2da8b
          description: The id of the XBOT.
        - in: query
          name: xTat
          schema:
            type: string
            format: uuid
            example: 42efebf7-132e-4ee0-9cbb-4037a9a54ad8
          description: The id of the XTAT.
        - in: query
          name: xSpit
          schema:
            type: string
            format: uuid
            example: d67b2f72-918a-4e6c-957d-a39ed9c9e16b
          description: The id of the XSPIT.
        - in: query
          name: customerTokenId
          schema:
            type: string
            format: uuid
            example: b6492322-c458-4857-9ac3-a109c1887b9f
          description: The id of the customer token.
        - in: query
          name: ovPayTokenId
          schema:
            type: integer
            example: 13
          description: The id of the ov pay token.
        - in: query
          name: createdOnBefore
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The purchased GBO product should be created before this timestamp.
        - in: query
          name: createdOnAfter
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The purchased GBO product should be created after this timestamp.
        - in: query
          name: lastUpdatedOnBefore
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The purchased GBO product should be updated before this timestamp.
        - in: query
          name: lastUpdatedOnAfter
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The purchased GBO product should be updated after this timestamp.
        - in: query
          name: createdBy
          schema:
            type: string
            example: someuser
          description: The user that created the purchased GBO product.
        - in: query
          name: lastUpdatedBy
          schema:
            type: string
            example: someuser
          description: The user that last updated the purchased GBO product.
      responses:
        "201":
          description: Created
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/unavailable"
              example:
                {
                  "purchasedGboProducts":
                    [
                      {
                        "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd",
                        "purchasedProductId": "9e166bb3-806a-4f43-a7a2-0d5b1e90e0c3",
                        "salesTimestamp": "2024-10-04T12:34:56.000",
                        "refundTimestamp": "2024-10-05T12:34:56.000",
                        "fromInclusive": "2024-10-04T12:34:56.000",
                        "untilInclusive": "2024-10-05T12:34:56.000",
                        "packageTemplateId": "30003",
                        "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b",
                        "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8",
                        "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b",
                        "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f",
                        "ovPayTokenId": 13,
                        "createdOn": "2024-10-04T12:34:56.000",
                        "lastUpdatedOn": "2024-10-04T12:34:56.000",
                        "createdBy": "someuser",
                        "lastUpdatedBy": null,
                      },
                      {
                        "purchasedGboProductId": 431e481f-4330-4ad4-be47-393db38cfe38,
                        "purchasedProductId": "9e166bb3-806a-4f43-a7a2-0d5b1e90e0c3",
                        "salesTimestamp": "2024-10-05T12:34:56.000",
                        "refundTimestamp": "2024-10-06T12:34:56.000",
                        "fromInclusive": "2024-10-05T12:34:56.000",
                        "untilInclusive": "2024-10-06T12:34:56.000",
                        "packageTemplateId": "30003",
                        "xBot": "f8f13d64-fd07-44e8-9c85-968857da5d68",
                        "xTat": "01a82ebe-5d07-45d8-a897-66152e8954dd",
                        "xSpit": "c3868858-b250-4480-9cb4-725d2e9198f3",
                        "customerTokenId": "6c7a6d4b-7e6c-4f6a-9b1e-0a9b1e6c7a6d",
                        "ovPayTokenId": 14,
                        "createdOn": "2024-10-05T12:34:56.000",
                        "lastUpdatedOn": "2024-10-05T12:34:56.000",
                        "createdBy": "someuser",
                        "lastUpdatedBy": null,
                      },
                    ],
                  "href": null,
                }
  /purchasedgboproducts/{purchasedGboProductId}:
    parameters:
      - in: path
        name: purchasedGboProductId
        schema:
          type: string
          format: uuid
          example: 058a1af7-897f-45d5-b691-9cc9161e387f
        required: true
        description: The id of the purchased product to process.
    patch:
      tags:
        - Purchased GBO Product
      summary: Update a GBO purchased product.
      description: Update a GBO purchased product.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/unavailable"
            example:
              {
                "refundTimestamp": "2024-10-05T12:34:56.000",
                "lastUpdatedOn": "2024-10-05T12:34:56.000",
                "lastUpdatedBy": "someuser",
              }
      responses:
        "201":
          description: Created
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/unavailable"
              example:
                {
                  "purchasedGboProductId": "a9b3dea5-fb8a-4b1e-9fe6-90cad31c0cfd",
                }
  /purchasedproducts/{purchasedProductId}/purchasedTapconnectTicket:
    parameters:
      - in: path
        name: purchasedProductId
        schema:
          type: string
          format: uuid
          example: 058a1af7-897f-45d5-b691-9cc9161e387f
        required: true
        description: The id of the purchased product to process.
    post:
      tags:
        - Purchased Tapconnect Ticket
      summary: Add a purchased Tapconnect ticket.
      description: Add a purchased Tapconnect ticket.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/unavailable"
            example:
              {
                "issuedAt": "2024-10-04T12:34:56.000",
                "activatedAt": "2024-10-04T12:34:56.000",
                "cancelledAt": null,
                "ticketReference": "KJj43nejhbTxhr897287",
                "createdOn": "2024-10-04T12:34:56.000",
                "lastUpdatedOn": "2024-10-04T12:34:56.000",
                "createdBy": "user",
                "lastUpdatedBy": "user",
              }
      responses:
        "201":
          description: Created
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/unavailable"
              example:
                {
                  "purchasedTapconnectTicketId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90",
                }
  /purchasedtapconnecttickets:
    get:
      tags:
        - Purchased Tapconnect Ticket
      summary: Find purchased Tapconnect tickets.
      description: Find purchased Tapconnect tickets.
      parameters:
        - in: query
          name: purchasedTapconnectTicketId
          schema:
            type: string
            format: uuid
            example: d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90
          description: The id of the purchased Tapconnect ticket.
        - in: query
          name: purchasedProductId
          schema:
            type: string
            format: uuid
            example: 058a1af7-897f-45d5-b691-9cc9161e387f
          description: The id of the purchased product.
        - in: query
          name: issuedBefore
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The Tapconnect ticket should be issued before this timestamp.
        - in: query
          name: issuedAfter
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The Tapconnect ticket should be issued after this timestamp.
        - in: query
          name: activatedBefore
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The Tapconnect ticket should be activated before this timestamp.
        - in: query
          name: activatedAfter
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The Tapconnect ticket should be activated after this timestamp.
        - in: query
          name: cancelledBefore
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The Tapconnect ticket should be cancelled before this timestamp.
        - in: query
          name: cancelledAfter
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The Tapconnect ticket should be cancelled after this timestamp.
        - in: query
          name: ticketReference
          schema:
            type: string
            example: KJj43nejhbTxhr897287
          description: The reference of the Tapconnect ticket.
        - in: query
          name: createdBefore
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The purchased Tapconnect ticket should be created before this timestamp.
        - in: query
          name: createdAfter
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The purchased Tapconnect ticket should be created after this timestamp.
        - in: query
          name: lastUpdatedBefore
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The purchased Tapconnect ticket should be updated before this timestamp.
        - in: query
          name: lastUpdatedAfter
          schema:
            type: string
            format: date-time
            example: 2024-10-04T12:34:56.000
          description: The purchased Tapconnect ticket should be updated after this timestamp.
        - in: query
          name: createdBy
          schema:
            type: string
            example: user
          description: The user that created the purchased Tapconnect ticket.
        - in: query
          name: lastUpdatedBy
          schema:
            type: string
            example: user
          description: The user that last updated the purchased Tapconnect ticket.
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/unavailable"
              example:
                {
                  "purchasedTapconnectTickets":
                    [
                      {
                        "purchasedTapconnectTicketId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90",
                        "purchasedProductId": "058a1af7-897f-45d5-b691-9cc9161e387f",
                        "issuedAt": "2024-10-04T12:34:56.000",
                        "activatedAt": "2024-10-04T12:34:56.000",
                        "cancelledAt": null,
                        "ticketReference": "KJj43nejhbTxhr897287",
                        "createdOn": "2024-10-04T12:34:56.000",
                        "lastUpdatedOn": "2024-10-04T12:34:56.000",
                        "createdBy": "user",
                        "lastUpdatedBy": "user",
                      },
                    ],
                }
  /purchasedtapconnecttickets/{purchasedTapconnectTicketId}:
    parameters:
      - in: path
        name: purchasedTapconnectTicketId
        schema:
          type: string
          format: uuid
          example: d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90
        required: true
        description: The id of the purchased Tapconnect ticket to process.
    patch:
      tags:
        - Purchased Tapconnect Ticket
      summary: Update a purchased Tapconnect ticket.
      description: Update a purchased Tapconnect ticket.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/unavailable"
            example:
              {
                "activatedAt": "2024-10-05T12:34:56.000",
                "cancelledAt": "2024-10-06T12:34:56.000",
                "lastUpdatedOn": "2024-10-05T12:34:56.000",
              }
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/unavailable"
              example:
                {
                  "purchasedTapconnectTicketId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90",
                }
  /purchasedproducts/{purchasedProductId}/issuedvouchers:
    parameters:
      - in: path
        name: purchasedProductId
        schema:
          type: string
          format: uuid
          example: 058a1af7-897f-45d5-b691-9cc9161e387f
        required: true
        description: The id of the purchased product to process.
    post:
      tags:
        - Issued Voucher
      summary: Add an issued voucher.
      description: Add an issued voucher.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/unavailable"
            example:
              {
                "voucherCode": "VOUCHER123",
                "voucherStatusInstances":
                  [
                    {
                      "voucherStatusId": 1,
                      "createdOn": "2024-10-04T12:34:56.000",
                    },
                  ],
                "voucherClaims":
                  [
                    { "mandatoryCustomerDataItemId": 8, "value": "1999-12-31" },
                    {
                      "mandatoryCustomerDataItemId": 4,
                      "value": "vlad.harkonnen@househarkonnen.net",
                    },
                  ],
              }
      responses:
        "201":
          description: Created
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/unavailable"
              example:
                { "issuedVoucherId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90" }
  /issuedvouchers:
    get:
      tags:
        - Issued Voucher
      summary: Find issued vouchers.
      description: Find issued vouchers.
      parameters:
        - in: query
          name: issuedVoucherId
          schema:
            type: string
            format: uuid
            example: d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90
          description: The id of the issued voucher.
        - in: query
          name: purchasedProductId
          schema:
            type: string
            format: uuid
            example: 058a1af7-897f-45d5-b691-9cc9161e387f
          description: The id of the purchased product.
        - in: query
          name: voucherCode
          schema:
            type: string
            example: VOUCHER123
          description: The code of the voucher.
        - in: query
          name: voucherStatusId
          schema:
            type: array
            items:
              type: integer
          explode: false
          required: false
          description: The moest recent status id of the voucher.
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/unavailable"
              example:
                {
                  "issuedVouchers":
                    [
                      {
                        "issuedVoucherId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90",
                        "purchasedProductId": "058a1af7-897f-45d5-b691-9cc9161e387f",
                        "voucherCode": "VOUCHER123",
                        "voucherStatusInstances":
                          [
                            {
                              "voucherStatusInstanceId": "ac8c54d1-79f7-4167-8817-c66b9575d679",
                              "voucherStatus":
                                { "voucherStatusId": 1, "name": "New" },
                              "createdOn": "2024-10-04T12:34:56.000",
                            },
                            {
                              "voucherStatusInstanceId": "b01412e6-70fb-4c05-9bef-e65bf2747ca1",
                              "voucherStatus":
                                { "voucherStatusId": 2, "name": "Issued" },
                              "createdOn": "2024-10-04T12:37:14.000",
                            },
                          ],
                        "voucherClaims":
                          [
                            {
                              "mandatoryCustomerDataItem":
                                {
                                  "mandatoryCustomerDataItemId": 8,
                                  "customerDataItem": "padBirthDate",
                                },
                              "value": "1999-12-31",
                            },
                            {
                              "mandatoryCustomerDataItem":
                                {
                                  "mandatoryCustomerDataItemId": 4,
                                  "customerDataItem": "emailAddress",
                                },
                              "value": "vlad.harkonnen@househarkonnen.net",
                            },
                          ],
                      },
                    ],
                }
  /issuedvouchers/{issuedVoucherId}/voucherstatusinstances:
    parameters:
      - in: path
        name: issuedVoucherId
        schema:
          type: string
          format: uuid
          example: d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90
        required: true
        description: The id of the issued voucher to process.
    post:
      tags:
        - Issued Voucher
      summary: Update the status of an issued voucher.
      description: Update the status of an issued voucher.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/unavailable"
            example:
              { "voucherStatusId": 2, "createdOn": "2024-10-04T12:34:56.000" }
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/unavailable"
              example:
                {
                  "voucherStatusInstanceId": "d4e5f6a7-b8c9-0d1e-2f3a-4b5c6d7e8f90",
                }
  /voucherstatuses:
    get:
      tags:
        - References
      summary: Get voucher statuses.
      description: Get voucher statuses.
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/unavailable"
              example:
                {
                  "voucherStatuses":
                    [
                      { "voucherStatusId": 1, "name": "New" },
                      { "voucherStatusId": 2, "name": "Issued" },
                      { "voucherStatusId": 3, "name": "Redeemed" },
                      { "voucherStatusId": 4, "name": "Revoked" },
                      { "voucherStatusId": 5, "name": "Expired" },
                    ],
                }
  /purchasedproducts/bulk:
    post:
      tags:
        - Bulk processing
      summary: Create one or more purchased product(s) in bulk.
      description: Create a new purchased product.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/unavailable"
            examples:
              Create Single Purchased GBO Product:
                value:
                  {
                    "purchasedProducts":[
                      {
                        "productId": 11,
                        "createdOn": "2024-10-04T12:34:56.000",
                        "lastUpdatedOn": "2024-10-04T12:34:56.000",
                        "purchasedProductResources":
                          [
                            {
                              "resourceNameId": 1,
                              "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7",
                            },
                            {
                              "resourceNameId": 2,
                              "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e",
                            },
                          ],
                        "purchasedGboProducts":
                          [
                            {
                              "salesTimestamp": "2024-10-04T12:34:56.000",
                              "refundTimestamp": "2024-10-04T12:34:56.000",
                              "fromInclusive": "2024-10-04T12:34:56.000",
                              "untilInclusive": "2024-10-04T12:34:56.000",
                              "packageTemplateId": "30003",
                              "xBot": "f15efe6f-7353-4968-b134-60ba6fc2da8b",
                              "xTat": "42efebf7-132e-4ee0-9cbb-4037a9a54ad8",
                              "xSpit": "d67b2f72-918a-4e6c-957d-a39ed9c9e16b",
                              "customerTokenId": "b6492322-c458-4857-9ac3-a109c1887b9f",
                              "ovPayTokenId": 13,
                              "createdOn": "2024-10-04T12:34:56.000",
                              "lastUpdatedOn": "2024-10-04T12:34:56.000",
                              "createdBy": "someuser",
                              "lastUpdatedBy": null,
                            },
                          ],
                        "purchasedTapconnectTickets": [],
                        "issuedVouchers": [],
                      }
                    ]
                  }
              Create Single Purchased TapConnet Ticket:
                value:                
                  {
                    "purchasedProducts":[
                      {
                        "productId": 11,
                        "createdOn": "2024-10-04T12:34:56.000",
                        "lastUpdatedOn": "2024-10-04T12:34:56.000",
                        "purchasedProductResources":
                          [
                            {
                              "resourceNameId": 1,
                              "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7",
                            },
                            {
                              "resourceNameId": 2,
                              "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e",
                            },
                          ],
                        "purchasedGboProducts": [],
                        "purchasedTapconnectTickets":
                          [
                            {
                              "issuedAt": "2024-10-04T12:34:56.000",
                              "activatedAt": "2024-10-04T12:34:56.000",
                              "cancelledAt": null,
                              "ticketReference": "KJj43nejhbTxhr897287",
                              "createdOn": "2024-10-04T12:34:56.000",
                              "lastUpdatedOn": "2024-10-04T12:34:56.000",
                              "createdBy": "user",
                              "lastUpdatedBy": "user",
                            },
                          ],
                        "issuedVouchers": [],
                      }
                    ]
                  }
              Create Single Issued Voucher:
                value:
                  {
                    "purchasedProducts":[
                      {
                        "productId": 11,
                        "createdOn": "2024-10-04T12:34:56.000",
                        "lastUpdatedOn": "2024-10-04T12:34:56.000",
                        "purchasedProductResources":
                          [
                            {
                              "resourceNameId": 1,
                              "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7",
                            },
                            {
                              "resourceNameId": 2,
                              "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e",
                            },
                          ],
                        "purchasedGboProducts": [],
                        "purchasedTapconnectTickets": [],
                        "issuedVouchers":
                          [
                            {
                              "voucherCode": "VOUCHER123",
                              "voucherStatusInstances":
                                [
                                  {
                                    "voucherStatusId": 1,
                                    "createdOn": "2024-10-04T12:34:56.000",
                                  },
                                ],
                              "voucherClaims":
                                [
                                  {
                                    "mandatoryCustomerDataItemId": 8,
                                    "value": "1999-12-31",
                                  },
                                  {
                                    "mandatoryCustomerDataItemId": 4,
                                    "value": "vlad.harkonnen@househarkonnen.net",
                                  },
                                ],
                            },
                          ],
                      }
                    ]
                  }
              Create Multiple Issued Vouchers:
                value:
                  {
                    "purchasedProducts":[
                      {
                        "productId": 11,
                        "createdOn": "2024-10-04T12:34:56.000",
                        "lastUpdatedOn": "2024-10-04T12:34:56.000",
                        "purchasedProductResources":
                          [
                            {
                              "resourceNameId": 1,
                              "resourceIdentifier": "408eefa9-b393-4bb3-8439-b2e51833abc7",
                            },
                            {
                              "resourceNameId": 2,
                              "resourceIdentifier": "f809a6e1-1c8d-4f8e-8a6e-0d0b1e1e1e1e",
                            },
                          ],
                        "purchasedGboProducts": [],
                        "purchasedTapconnectTickets": [],
                        "issuedVouchers":
                          [
                            {
                              "voucherCode": "VOUCHER123",
                              "voucherStatusInstances":
                                [
                                  {
                                    "voucherStatusId": 1,
                                    "createdOn": "2024-10-04T12:34:56.000",
                                  },
                                ],
                              "voucherClaims":
                                [
                                  {
                                    "mandatoryCustomerDataItemId": 8,
                                    "value": "1999-12-31",
                                  },
                                  {
                                    "mandatoryCustomerDataItemId": 4,
                                    "value": "vlad.harkonnen@househarkonnen.net",
                                  },
                                ],
                            },
                          ],
                      },
                      {
                        "productId": 11,
                        "createdOn": "2024-10-04T12:34:56.000",
                        "lastUpdatedOn": "2024-10-04T12:34:56.000",
                        "purchasedProductResources":
                          [
                            {
                              "resourceNameId": 1,
                              "resourceIdentifier": "7ce32f9b-52f0-4e80-a527-0c6184b57f52",
                            },
                            {
                              "resourceNameId": 2,
                              "resourceIdentifier": "02047745-f03e-4c00-8e1b-8dc5c86a786e",
                            },
                          ],
                        "purchasedGboProducts": [],
                        "purchasedTapconnectTickets": [],
                        "issuedVouchers":
                          [
                            {
                              "voucherCode": "VOUCHER123",
                              "voucherStatusInstances":
                                [
                                  {
                                    "voucherStatusId": 1,
                                    "createdOn": "2024-10-04T12:34:56.000",
                                  },
                                ],
                              "voucherClaims":
                                [
                                  {
                                    "mandatoryCustomerDataItemId": 8,
                                    "value": "1940-01-18",
                                  },
                                  {
                                    "mandatoryCustomerDataItemId": 4,
                                    "value": "valdemar.hoskanner@househarkonnen.net",
                                  },
                                ],
                            },
                          ],
                      },
                      {
                        "productId": 11,
                        "createdOn": "2024-10-04T12:34:56.000",
                        "lastUpdatedOn": "2024-10-04T12:34:56.000",
                        "purchasedProductResources":
                          [
                            {
                              "resourceNameId": 1,
                              "resourceIdentifier": "7c71ec8a-3326-451f-9464-3e36d10260e3",
                            },
                            {
                              "resourceNameId": 2,
                              "resourceIdentifier": "73c7a805-2edf-4616-a04c-267e88e0931c",
                            },
                          ],
                        "purchasedGboProducts": [],
                        "purchasedTapconnectTickets": [],
                        "issuedVouchers":
                          [
                            {
                              "voucherCode": "VOUCHER123",
                              "voucherStatusInstances":
                                [
                                  {
                                    "voucherStatusId": 1,
                                    "createdOn": "2024-10-04T12:34:56.000",
                                  },
                                ],
                              "voucherClaims":
                                [
                                  {
                                    "mandatoryCustomerDataItemId": 8,
                                    "value": "2016-06-08",
                                  },
                                  {
                                    "mandatoryCustomerDataItemId": 4,
                                    "value": "alia.artreides@housearteides.net",
                                  },
                                ],
                            },
                          ],
                      }
                    ]
                  }
      responses:
        "202":
          description: Accepted
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BulkResponseBody"
              examples:
                Array of purchased products accepted:
                  summary: Array of purchased products accepted
                  description: |
                    The array of purchased products was accepted successfully.
                    The purchased products will be processed asynchronously.
                    In the response body the consumer will find information on how to retrieve the processing status.
                  value:
                    startTime: 2025-02-14T05:32:47.0672237Z
                    status: Running
                    clientTrackingId: 08584620957189579629541919368CU00
                    callbackurl: https://api.integratielaag.nl/purchasedproducts/responsestatus/runtime/webhooks/workflow/scaleUnits/prod-00/workflows/6fd466916c
                    retryAfter: 10
                    summary: null
  /purchasedproducts/bulk/{clientTrackingId}:
    get:
      tags:
        - Bulk processing
      summary: Get the status of the purchased products bulk post.
      description: Get the status of the asynchronous purchased products bulk post.
      parameters:
        - in: path
          name: clientTrackingId
          schema:
            type: string
          required: true
          description: The clientTrackingId of the purchased products bulk post.
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BulkResponseBody"
              examples:
                Batch successfully processed:
                  summary: Batch successfully processed
                  description: |
                    Body of a batch of purchased products that was successfully created. 
                    A number of purchased products were created.
                  value:                   
                    startTime: "2025-02-14T05:32:47.067Z"
                    status: "Finished"
                    clientTrackingId: "08584620957189579629541919368CU00"
                    callbackurl: https://api.integratielaag.nl/purchasedproducts/bulk/responsestatus/webhooks/workflow/scaleUnits/prod-00/workflows/6fd466916c
                    retryAfter: 0
                    summary:
                      created: 13
                      updated: 0
                      total: 13
  /voucherstatusinstances/bulk:
    post: 
      summary: Post voucher status instances in bulk.
      description: Post voucher status instances in bulk.
      tags:
        - Bulk processing
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: "#/components/schemas/unavailable"
            examples:
              List of issued vouchers to set status to revoked:
                summary: List of issued vouchers to set status to revoked
                description: List of issued vouchers to set status to revoked
                value:
                 {
                  "voucherStatusInstances":[
                    {
                      "issuedVoucherId": "8a63552f-faf5-43f3-b22d-bebc976a8a5e",
                      "voucherStatusId": 4,
                      "createdOn": "2024-10-04T12:34:56.000"
                    },
                    {
                      "issuedVoucherId": "a9ff40ec-2940-413a-9957-dfd471c4caf3",
                      "voucherStatusId": 4,
                      "createdOn": "2024-10-04T12:34:56.000"
                    },
                    {
                      "issuedVoucherId": "9e7363e6-beaa-4c38-9ed6-c8afed459bd5",
                      "voucherStatusId": 4,
                      "createdOn": "2024-10-04T12:34:56.000"
                    },
                    {
                      "issuedVoucherId": "9d7332d6-1949-4c20-aa99-d87096b035fa",
                      "voucherStatusId": 4,
                      "createdOn": "2024-10-04T12:34:56.000"
                    },
                    {
                      "issuedVoucherId": "43ca757b-8370-4cb0-92b9-717948383d5e",
                      "voucherStatusId": 4,
                      "createdOn": "2024-10-04T12:34:56.000"
                    },
                  ]
                 }
      responses:
        "202":
          description: Accepted
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BulkResponseBody"
              examples:
                Array of issued vouchers accepted:
                  summary: Array of issued vouchers status instances accepted
                  description: |
                    The array of issued vouchers status instances was accepted successfully.
                    The issued vouchers status instances will be processed asynchronously.
                    In the response body the consumer will find information on how to retrieve the processing status.
                  value:
                    startTime: 2025-02-14T05:32:47.0672237Z
                    status: Running
                    clientTrackingId: 08584620957189579629541919368CU00
                    callbackurl: https://api.integratielaag.nl/voucherstatusinstances/bulk/responsestatus/webhooks/workflow/scaleUnits/prod-00/workflows/6fd466916c
                    retryAfter: 10
                    summary: null
  /voucherstatusinstances/bulk/responsestatus/{clientTrackingId}:
    get:
      tags:
        - Bulk processing
      summary: Get the status of the voucher status instances bulk post.
      description: Get the status of the asynchronous voucher status instances bulk post.
      parameters:
        - in: path
          name: clientTrackingId
          schema:
            type: string
          required: true
          description: The clientTrackingId of the voucher status instances bulk post.
      responses:
        "200":
          description: OK
          content:
            application/json:
              schema:
                $ref: "#/components/schemas/BulkResponseBody"
              examples:
                Batch successfully processed:
                  summary: Batch successfully processed
                  description: |
                    Body of a batch of voucher status instances that was successfully created. 
                    A number of voucher status instances were created.
                  value:                   
                    startTime: "2025-02-14T05:32:47.067Z"
                    status: "Finished"
                    clientTrackingId: "08584620957189579629541919368CU00"
                    callbackurl: https://api.integratielaag.nl/voucherstatusinstances/bulk/responsestatus/webhooks/workflow/scaleUnits/prod-00/workflows/6fd466916c
                    retryAfter: 0
                    summary:
                      created: 5
                      updated: 0
                      total: 5 
components:
  securitySchemes:
    bearerToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
  schemas:
    unavailable:
      type: object
    BulkResponseBody:
      type: object
      properties:
        startTime:
          type: string
          format: date-time
          example: 2025-02-14T05:32:47.0672237Z
        status:
          type: string
          example: Running
        clientTrackingId:
          type: string
          example: 08584620957189579629541919368CU00
        callbackurl:
          type: string
          format: uri
          example: https://services.api.htm.nl/purchasedproducts/responsestatus/runtime/webhooks/workflow/scaleUnits/prod-00/workflows/6fd466916c
        retryAfter:
          type: integer
          example: 10
        summary: 
          $ref: "#/components/schemas/summaryBody"        
      required:
        - startTime
        - status
        - clientTrackingId
        - callbackurl
        - retryAfter
        - summary
    summaryBody:
      type: object
      properties:
        summary:
          type: object
          properties:
            created:
              type: integer
              example: 15
            updated:
              type: integer
              example: 2
            total:
              type: integer
              example: 17
          required:
            - created
            - total
            - updated
      required:
        - summary    
    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
