openapi: "3.0.3" info: title: FIKO CRUD APIs v2.2 version: "1.0" description: | CRUD APIs for FIKO resource model v2.2. This version of the API corresponds with version 2.2 of the data model in [Lucid Chart](https://lucid.app/lucidchart/50c0ff9d-48ba-4ea9-8182-10bede07d3b1/edit?page=LL7PJg1Y_GOA>). servers: - url: https://api.integratielaag.nl/fiko/1.0 paths: /transactionitems: get: summary: Find transaction items. description: Find transaction items. tags: - Transactions v2.2 parameters: - in: query name: transactionItemId schema: type: string format: uuid example: 75174a9d-fff4-4682-b66b-ebd93cbe7ea3 description: The id of the transaction item. - in: query name: transactionType schema: type: array items: type: string example: [sales] explode: false description: Possible types of the transaction ('sales'). - in: query name: sourceName schema: type: string example: Verkoopengine description: Source name of the transaction. - in: query name: transactionId schema: type: string example: 1001236 description: The id of the transaction. - in: query name: transactionLineId schema: type: string example: 1 description: The line id of the transaction. - in: query name: name schema: type: string example: HTM Maandkorting 20% description: The name of the product on the transaction. - in: query name: quantity schema: type: integer example: 1 description: The quantity of the transaction. - in: query name: taxCode schema: type: string example: V21 description: The tax code of the transaction. - in: query name: amountExclTax schema: type: integer example: 100 description: The amount of the transaction excluding tax in cents. - in: query name: amountInclTax schema: type: integer example: 121 description: The amount of the transaction including tax in cents. - in: query name: amountTax schema: type: integer example: 21 description: The tax amount of the transaction in cents. - in: query name: occurredBefore schema: type: string format: date-time example: 2024-10-04T00:00:00Z description: Timestamp before which the transaction occurred. - in: query name: occurredAfter schema: type: string format: date-time example: 2024-10-04T00:00:00Z description: Timestamp after which the transaction occurred. - in: query name: type schema: type: array items: type: string example: [debit, credit] explode: false description: Possible types of the transaction ('debit' or 'credit'). - in: query name: articleNumber schema: type: string example: 4031 description: The article number of the transaction. - in: query name: status schema: type: array items: type: string example: [ created, succeeded, failed, returned to trx-db, returned to src, re-entered, ] explode: false description: Possible statuses of the transaction ('created', 'succeeded', 'failed', 'returned to trx-db', 'returned to src', 're-entered'). - in: query name: aggregationReference schema: type: string example: FIKO-123456 description: The aggregation reference of the transaction. %00 is searching for NULL-values. - in: query name: accountingSystemReference schema: type: string example: U4F-123456 description: The accounting system reference of the transaction. %00 is searching for NULL-values. - in: query name: sort schema: type: string example: occurredOn description: The field by which the transaction items in the result body are sorted. - in: query name: limit schema: type: integer example: 15 description: The limit of the transaction items in the result body. - in: query name: offset schema: type: integer example: 15 description: The offset of the transaction items in the result body. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/TransactionItemsGetResponseBody" examples: No transaction items: summary: No transaction items were found description: No transaction items that match the search criteria were found. value: transactionItems: [] href: null List containing multiple sales transaction items: summary: List containing multiple sales transaction items description: List containing multiple sales transaction items of transaction type 'sales' with different statuses. value: transactionItems: - transactionItemId: afce35b2-1dff-4ace-98d0-4b9ac405c87d transactionType: sales sourceName: Verkoopengine transactionId: 1001236 transactionLineId: 1 name: HTM Maandkorting 20% quantity: 1 taxCode: V21 amountExclTax: 100 amountInclTax: 121 amountTax: 21 occurredOn: 2024-10-04T00:00:00Z type: debit articleNumber: 4031 status: created aggregationReference: null accountingSystemReference: null - transactionItemId: 1c1fc1c8-57f4-4336-9b43-a974eae5afbf transactionType: sales sourceName: Verkoopengine transactionId: 1002001 transactionLineId: 1 name: Reisproduct HTM 3 dag Anoniem quantity: 1 taxCode: V21 amountExclTax: 100 amountInclTax: 121 amountTax: 21 occurredOn: 2024-10-04T00:00:00Z type: debit articleNumber: 4051 status: failed aggregationReference: null accountingSystemReference: null - transactionItemId: 3f58441e-dc8f-4956-9bc5-c952312476db transactionType: sales sourceName: Verkoopengine transactionId: 1001871 transactionLineId: 1 name: Reisproduct HTM 3 dag Anoniem quantity: 1 taxCode: V21 amountExclTax: 100 amountInclTax: 121 amountTax: 21 occurredOn: 2024-10-04T00:00:00Z type: debit articleNumber: 4051 status: returned to src aggregationReference: FIKO-171f40609e accountingSystemReference: null - transactionItemId: 4418825f-3f9b-45bc-b662-dc3cd4ce6599 transactionType: sales sourceName: Verkoopengine transactionId: 1001131 transactionLineId: 1 name: Reisproduct HTM 3 dag Anoniem quantity: 1 taxCode: V21 amountExclTax: 100 amountInclTax: 121 amountTax: 21 occurredOn: 2024-10-04T00:00:00Z type: debit articleNumber: 4051 status: returned to trx-db aggregationReference: null accountingSystemReference: null - transactionItemId: 2ddc1831-cf7b-4a77-8aa1-11aaf8e98d9f transactionType: sales sourceName: Verkoopengine transactionId: 1001885 transactionLineId: 1 name: Reisproduct HTM 3 dag Anoniem quantity: 1 taxCode: V21 amountExclTax: 100 amountInclTax: 121 amountTax: 21 occurredOn: 2024-10-04T00:00:00Z type: debit articleNumber: 4051 status: re-entered aggregationReference: null accountingSystemReference: null - transactionItemId: 5ab2513d-f334-4cf8-8895-4e7269374a4b transactionType: sales sourceName: Verkoopengine transactionId: 1001679 transactionLineId: 1 name: Reisproduct HTM 1 dag Anoniem quantity: 1 taxCode: V21 amountExclTax: 100 amountInclTax: 121 amountTax: 21 occurredOn: 2024-10-04T00:00:00Z type: debit articleNumber: 1737 status: succeeded aggregationReference: FIKO-6a4fca8cd6 accountingSystemReference: U4F-123456 href: null post: summary: Add one ore more finanicial transaction items in bulk. description: Add one ore more finanicial transaction items in bulk. tags: - Transactions v2.2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/TransactionItemsPostRequestBody" examples: Add single transaction item: summary: Add single transaction item description: Add single transaction item of type sales. value: transactionItems: - transactionType: sales sourceName: Verkoopengine transactionId: 1001236 transactionLineId: 1 name: HTM Maandkorting 20% quantity: 1 taxCode: V21 amountExclTax: 100 amountInclTax: 121 amountTax: 21 occurredOn: 2024-10-04T00:00:00Z type: debit articleNumber: 4031 Add multiple transaction items: summary: Add multiple transaction items description: Add multiple transaction items of type sales. value: transactionItems: - transactionType: sales sourceName: Verkoopengine transactionId: 1001236 transactionLineId: 1 name: HTM Maandkorting 20% quantity: 1 taxCode: V21 amountExclTax: 100 amountInclTax: 121 amountTax: 21 occurredOn: 2024-10-04T00:00:00Z type: debit articleNumber: 4031 - transactionType: sales sourceName: Verkoopengine transactionId: 1001237 transactionLineId: 1 name: HTM Maandkorting 20% quantity: 1 taxCode: V21 amountExclTax: 100 amountInclTax: 121 amountTax: 21 occurredOn: 2024-10-04T00:00:00Z type: debit articleNumber: 4031 responses: "202": description: Accepted content: application/json: schema: $ref: "#/components/schemas/TransactionItemsPostResponseBody" examples: Array of transaction items accepted: summary: Array of transaction items accepted description: | The array of transaction items was accepted successfully. The transaction items 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/transactionitems/responsestatus/runtime/webhooks/workflow/scaleUnits/prod-00/workflows/6fd466916c retryAfter: 10 /transactionitems/{transactionItemId}: parameters: - in: path name: transactionItemId schema: type: string format: uuid example: 9834b346-d68c-438d-9bd5-6716422c2657 required: true description: The id of the transaction item. patch: summary: Update a transaction item. description: Update a transaction item. tags: - Transactions v2.2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/TransactionItemsPatchRequestBody" examples: Return transaction item to transaction database: summary: Return transaction item to transaction database description: | FMT updates the transaction item so that it is returned to the transaction database. This is done by changing the status to 'returned to trx-db' and emptying the aggregationReference and accountingSystemReference. value: status: returned to trx-db aggregationReference: null accountingSystemReference: null Return transaction item to source: summary: Return transaction item to source description: | FMT updates the transaction item so that it is returned to the source. This is done by changing the status to 'returned to src' and emptying the aggregationReference and accountingSystemReference. value: status: returned to src aggregationReference: null accountingSystemReference: null responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/TransactionItemsPatchResponseBody" examples: Transaction item successfully updated: summary: Transaction item successfully updated description: The transaction item was successfully updated in the database. value: transactionItemId: 7c3a5b0f-b89e-4f02-8b09-d11c5a050a07 /transactionitems/responsestatus/{clientTrackingId}: get: tags: - Transactions v2.2 summary: Get the status of the transaction items POST. description: Get the status of the asynchronous transaction items POST processing. parameters: - in: path name: clientTrackingId schema: type: string required: true description: The clientTrackingId of the transaction items POST. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/TransactionItemsResponseStatusGetResponseBody" examples: Batch successfully processed: summary: Batch successfully processed description: | Body of a batch of transaction items that was successfully processed. A number of transaction items were inserted and another number was updated. value: summary: created: 15 updated: 2 total: 17 "409": description: Conflict content: application/json: schema: $ref: "#/components/schemas/409Response" examples: A transaction item already exists: summary: A transaction item already exists description: | In this batch of transaction items, a transaction with same transactionId and transactionLineId already exists. Therefore, the whole batch is rolled back and rejected. value: code: "409" type: error message: conflict description: A transaction with the same TransactionId and TransactionLineId already exists. errors: - detail: Transaction is a duplicate of a transaction already in the system. pointer: "#/transactionItems/0" transactionId: 1ad109d3-fd7d-4b6f-872b-220d492f385f transactionLineId: fee907dd-e59d-44f5-a63b-bbdec38f79b7 /transactionitems/{transactionItemId}/processingfailures: parameters: - in: path name: transactionItemId schema: type: string format: uuid example: 9834b346-d68c-438d-9bd5-6716422c2657 required: true description: The id of the transaction item to process. post: summary: Add a processing failure. description: Add a processing failure. tags: - Failures v2.2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/ProcessingFailuresPostRequestBody" examples: Add new processing failure for a transaction item: summary: Add new processing failure for a transaction item description: | Add a new processing failure for a transaction item. This usually happens when a transaction item has failed validation. In this specific example, the transaction item has a timestamp in the future. value: timestamp: 2025-01-01 12:34:00 element: occuredOn value: 2027-01-01 12:34:00 reasonCode: "012" reasonDescription: Transaction date is in the future. resolved: false responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/ProcessingFailuresPostResponseBody" examples: Processing failure successfully added: summary: Processing failure successfully added description: The processing failure was successfully added to the database. value: processingFailureId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /transactionitems/{transactionItemId}/transactionaudittrails: parameters: - in: path name: transactionItemId schema: type: string format: uuid example: 9834b346-d68c-438d-9bd5-6716422c2657 required: true description: The id of the transaction item to process. post: summary: Add an audit trail entry. description: Add an audit trail entry. tags: - Audit Trail v2.2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/TransactionAuditTrailsPostRequestBody" examples: Add new transaction audit trail for created transaction item: summary: Add new transaction audit trail for created transaction item description: Add a new audit trail record for a newly created transaction item. value: user: fiko timestamp: 2022-01-01 12:34:00 action: create status: created description: Transaction item created. correlationId: null Add new transaction audit trail for updated transaction item: summary: Add new transaction audit trail for updated transaction item description: Add a new audit trail record for an updated transaction item. value: user: ad.vogelaar timestamp: 2022-01-02 12:34:00 action: update status: return to src description: Transaction item returned to source. correlationId: 0dc216ea-58e7-4a5e-aa18-449f0304209c responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/TransactionAuditTrailsPostResponseBody" examples: Transaction audit trail record created: summary: Transaction audit trail record created description: | A new audit trail record for this transaction item was successfully created. The transactionAuditTrailId is returned as a reference for the consumer. value: transactionAuditTrailId: 37a8095b-19db-498f-9349-5f37d21c5bdf /transactionaudittrails: get: summary: Find audit trail entries. description: Find audit trail entries. tags: - Audit Trail v2.2 parameters: - in: query name: transactionAuditTrailId schema: type: string format: uuid example: 498e11fd-86c7-4e26-8ca9-c5ed9049da9e description: The id of the audit trail. - in: query name: transactionItemId schema: type: string format: uuid example: 9834b346-d68c-438d-9bd5-6716422c2657 description: The id of the transaction item. - in: query name: user schema: type: string example: fiko description: The user who created the audit trail. - in: query name: timestampBefore schema: type: string example: 2022-01-01 00:00:00 description: The timestamp before the event occured. - in: query name: timestampAfter schema: type: string example: 2022-01-01 00:00:00 description: The timestamp after the event occured. - in: query name: action schema: type: array items: type: string example: [create, update] explode: false description: The action of the event. - in: query name: status schema: type: array items: type: string example: [ created, succeeded, failed, returned to trx-db, returned to src, re-entered, ] explode: false description: The status of the transaction item. - in: query name: description schema: type: string example: Transaction created. description: The description of the event. - in: query name: correlationId schema: type: string example: a3891560-3084-42cb-867c-f289e7cda47d description: The correlation id of the event. - in: query name: sort schema: type: string example: timestamp description: The field by which the transaction audit trails in the result body are sorted. - in: query name: limit schema: type: integer example: 15 description: The limit of the transaction audit trails in the result body. - in: query name: offset schema: type: integer example: 15 description: The offset of the transaction audit trails in the result body. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/TransactionAuditTrailsGetResponseBody" examples: No transaction items: summary: No transaction audit trails were found description: No transaction audit trails that match the search criteria were found. value: transactionAuditTrails: [] href: null List containing multiple transaction audit trails: summary: List containing multiple transaction audit trails description: List containing multiple transaction audit trails of different transaction items (no filters applied). value: transactionAuditTrails: - transactionAuditTrailId: afce35b2-1dff-4ace-98d0-4b9ac405c87d transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 user: fiko timestamp: 2025-01-01 12:34:51 action: create status: created description: Transaction created. correlationId: null - transactionAuditTrailId: 1d234fc1-eb16-41d3-b2e0-e400e17b017f transactionItemId: urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b user: fiko timestamp: 2025-01-01 12:34:50 action: create status: created description: Transaction created. correlationId: null - transactionAuditTrailId: f4798a84-489d-4533-9dfe-42423c70f6b6 transactionItemId: e8891be1-1b8a-4a0f-91e2-6b523b6497dd user: ad.vogelaar timestamp: 2025-01-01 12:34:48 action: update status: return to src description: Transaction retunred to source. correlationId: a3891560-3084-42cb-867c-f289e7cda47d - transactionAuditTrailId: cc80d58d-6ee7-409a-8c14-b1f807e67c10 transactionItemId: 34ba3d7c-3ca1-4fa4-aa42-23d4c4fc767b user: fiko timestamp: 2025-01-01 12:34:47 action: update status: failed description: Validation XYZ failed. correlationId: null href: null ? List containing multiple transaction audit trails of one transaction item : summary: List containing multiple audit trails of one transaction item description: List containing multiple audit trail records of one transaction item (with id `d667d293-aa82-4c9e-9b10-77cffc9058a1`). value: transactionAuditTrails: - transactionAuditTrailId: d571ff7c-eaa5-428a-9bc3-5a0fa3e5ee2e transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 user: fiko timestamp: 2025-01-07 12:34:59 action: update status: re-entered description: Transaction re-entered. correlationId: null - transactionAuditTrailId: b2192e6c-ab79-4000-a04d-d8f4d574a82f transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 user: ad.vogelaar timestamp: 2025-01-04 12:34:54 action: update status: return to src description: Transaction retunred to source. correlationId: a3891560-3084-42cb-867c-f289e7cda47d - transactionAuditTrailId: 1d759985-7f1a-48bd-8dd1-efa30ce26423 transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 user: fiko timestamp: 2025-01-02 00:34:50 action: update status: failed description: Validation XYZ failed. correlationId: null - transactionAuditTrailId: afce35b2-1dff-4ace-98d0-4b9ac405c87d transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 user: fiko timestamp: 2025-01-01 12:34:47 action: create status: created description: Transaction created. correlationId: null href: null List containing multiple audit trails of failed transactions: summary: List containing multiple audit trails of failed transactions description: List containing multiple audit trails of just failed transactions (status = failed). value: transactionAuditTrails: - transactionAuditTrailId: afce35b2-1dff-4ace-98d0-4b9ac405c87d transactionItemId: d667d293-aa82-4c9e-9b10-77cffc9058a1 user: fiko timestamp: 2025-01-01 00:34:51 action: update status: failed description: Validation XYZ failed. correlationId: null - transactionAuditTrailId: 1d234fc1-eb16-41d3-b2e0-e400e17b017f transactionItemId: urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b user: fiko timestamp: 2025-01-01 00:34:50 action: update status: failed description: Validation XYZ failed. correlationId: null - transactionAuditTrailId: f4798a84-489d-4533-9dfe-42423c70f6b6 transactionItemId: e8891be1-1b8a-4a0f-91e2-6b523b6497dd user: fiko timestamp: 2025-01-01 00:34:48 action: update status: failed description: Validation XYZ failed. correlationId: null - transactionAuditTrailId: cc80d58d-6ee7-409a-8c14-b1f807e67c10 transactionItemId: 34ba3d7c-3ca1-4fa4-aa42-23d4c4fc767b user: fiko timestamp: 2025-01-01 00:34:47 action: update status: failed description: Validation XYZ failed. correlationId: null href: null /processingfailures: get: summary: Find processing failures. description: Find processing failures. tags: - Failures v2.2 parameters: - in: query name: processingFailureId schema: type: string format: uuid example: 9834b346-d68c-438d-9bd5-6716422c2657 description: The id of the processing failure. - in: query name: transactionItemId schema: type: string format: uuid example: 9834b346-d68c-438d-9bd5-6716422c2657 description: The id of the transaction item. - in: query name: timestampBefore schema: type: string example: 2022-01-01 00:00:00 description: The timestamp before the event occured. - in: query name: timestampAfter schema: type: string example: 2022-01-01 00:00:00 description: The timestamp after the event occured. - in: query name: element schema: type: string example: contraAccount description: The element on which the validation failed. - in: query name: value schema: type: string example: 84955 description: The value of th element on which the validation failed. - in: query name: reasonCode schema: type: string example: "002" description: The code of the validation failure reason. - in: query name: reasonDescription schema: type: string example: Contra account does not exist. description: The description of the validation failure reason. - in: query name: resolved schema: type: boolean example: true description: Whether the failure is resolved. - in: query name: change schema: type: string example: Adapt config description: Description of what was changed to resolve the failure. - in: query name: sort schema: type: string example: timestamp description: The field by which the processing failures in the result body are sorted. - in: query name: limit schema: type: integer example: 15 description: The limit of the processing failures in the result body. - in: query name: offset schema: type: integer example: 15 description: The offset of the processing failures in the result body. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ProcessingFailuresGetResponseBody" examples: No processing failures: summary: No processing failures description: No processing failures were found (for example for a single transaction item). value: processingFailures: [] href: null Multiple processing failures for a single transaction item: summary: Multiple processing failures for a single transaction item description: | In this example multiple processing failures were found for a single transaction item. This example shows how a single transaction items has failed validation two times, in which the the first failure has two validation errors, which have been resolved, and the second failure hasn't been. Which makes three processing failures total. value: processingFailures: - processingFailureId: 37a8095b-19db-498f-9349-5f37d21c5bdf transactionItemId: 2d77d978-7141-499a-84ad-93fad8ee03ce timestamp: 2022-01-01 00:00:00 element: costType value: 901 reasonCode: "004" reasonDescription: Cost type does not exist. resolved: false change: null - processingFailureId: ccc06dc9-956d-47d8-bde7-9644ddde2193 transactionItemId: 2d77d978-7141-499a-84ad-93fad8ee03ce timestamp: 2025-01-01 00:43:01 element: costCenter value: 84955 reasonCode: "002" reasonDescription: Cost center does not exist. resolved: true change: Adapt config - processingFailureId: 96bf8d44-0030-4509-b24e-2d62299779c5 transactionItemId: 2d77d978-7141-499a-84ad-93fad8ee03ce timestamp: 2025-01-01 00:43:01 element: department value: 1337 reasonCode: "001" reasonDescription: Department does not exist. resolved: true change: Adapt config href: null List of unfiltered processing failures: summary: List of unfiltered processing failures description: | In this example there is a list of processing failures where no filters have been applied. This results in a list of all processing failures, for different transaction items. value: processingFailures: - processingFailureId: 1d0f237e-5fbe-4107-8bdf-a41f43307ac0 transactionItemId: d0425652-07a3-4b95-bb37-8bb15ea1b9b5 timestamp: 2022-01-01 00:00:00 element: occuredOn value: 2027-01-01 reasonCode: "009" reasonDescription: Transaction date is in the future resolved: false change: null - processingFailureId: 76aa82e1-a10f-4664-a84f-1f30d60884b3 transactionItemId: 3f0a8a74-c642-441e-a187-d32fedb77fdf timestamp: 2025-01-01 00:43:01 element: costCenter value: 84955 reasonCode: "002" reasonDescription: Cost center does not exist. resolved: false change: null - processingFailureId: 25d2dd6f-ae17-44a7-b7a5-43eaf6de78e1 transactionItemId: 446ad396-41f6-4c1f-942c-a131e620075d timestamp: 2025-01-01 00:43:01 element: department value: 1337 reasonCode: "001" reasonDescription: Department does not exist. resolved: false change: null href: null /processingfailures/{processingFailureId}: parameters: - in: path name: processingFailureId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: true description: The id of the processing failure. patch: summary: Update processing failure. description: Update processing failure. tags: - Failures v2.2 requestBody: content: application/json: schema: $ref: "#/components/schemas/ProcessingFailuresPatchRequestBody" examples: Resolve an existing processing failure: summary: Resolve an existing processing failure description: | In this example, the processing failure with the id `37a8095b-19db-498f-9349-5f37d21c5bdf` has been resolved by chaning the config. value: resolved: true change: Adapt config responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ProcessingFailuresPatchResponseBody" examples: Processing failure updated successfully: summary: Processing failure updated successfully description: The processing failure has been updated successfully. value: processingFailureId: 37a8095b-19db-498f-9349-5f37d21c5bdf /bookingprocesses: get: summary: Find booking processes. description: Find booking processes. tags: - Booking Processes v2.2 parameters: - in: query name: bookingProcessId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf description: The id of the booking process. - in: query name: name schema: type: string example: Verkooptransacties description: The name of the booking process. - in: query name: transactionType schema: type: array items: type: string example: [sales, purchase] explode: false description: The transaction type of the booking process. - in: query name: identifyingFieldName schema: type: string example: articleNumber description: The identifying field name of the booking process. - in: query name: sort schema: type: string example: name description: The field by which the booking processes in the result body are sorted. - in: query name: limit schema: type: integer example: 15 description: The limit of the booking processes in the result body. - in: query name: offset schema: type: integer example: 15 description: The offset of the booking processes in the result body. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/BookingProcessesGetResponseBody" examples: List containing all booking processes: summary: List containing all booking processes description: Returns a list containing all booking processes (no filters applied). value: bookingProcesses: - bookingProcessId: 37a8095b-19db-498f-9349-5f37d21c5bdf name: Verkooptransacties transactionType: sales identifyingFieldName: articleNumber - bookingProcessId: 03105285-3c4c-477a-821c-0fae801d9d26 name: Inkooptransacties transactionType: purchase identifyingFieldName: null href: null post: summary: Add a booking process. description: Add a booking process. tags: - Booking Processes v2.2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/BookingProcessesPostRequestBody" examples: Add a new booking process: summary: Add a new booking process description: | This example shows how a new booking process for purchase orders can be added. value: name: Inkooptransacties transactionType: purchase identifyingFieldName: articleNumber responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/BookingProcessesPostResponseBody" examples: New booking process added successfully: summary: New booking process added successfully description: The new booking process was successfully added to the database. value: bookingProcessId: 03105285-3c4c-477a-821c-0fae801d9d26 /bookingprocesses/{bookingProcessId}: parameters: - in: path name: bookingProcessId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: true description: The id of the booking process. patch: summary: Update a booking process. description: Update a booking process. tags: - Booking Processes v2.2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/BookingProcessesPatchRequestBody" examples: Update a booking process: summary: Update a booking process description: | This example shows how a booking process can be updated. value: identifyingFieldName: orderNumber responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/BookingProcessesPatchResponseBody" examples: Booking process successfully updated: summary: Booking process successfully updated description: The booking process was successfully updated in the database. value: bookingProcessId: 37a8095b-19db-498f-9349-5f37d21c5bdf /bookingprocesses/{bookingProcessId}/bookingmetadata: parameters: - in: path name: bookingProcessId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: true description: The id of the booking process. post: summary: Add booking metadata. description: Add booking metadata. tags: - Booking Processes v2.2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/BookingMetadataPostRequestBody" examples: Add a new booking metadata: summary: Add a new booking metadata description: | This example shows how a new booking metadata for a booking process can be added. value: description: Saldoreizen department: 900 costType: 84955 documentCode: OPBR-FIKO hasSeparateTaxLine: true hasLinePerIdentifyingField: false hasLinePerSource: true hasLinePerConcession: true validFrom: 2024-03-22T09:00:00 validUntil: null responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/BookingMetadataPostResponseBody" examples: New booking metadata added successfully: summary: New booking metadata added successfully description: The new booking metadata was successfully added to the database. value: bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /bookingmetadata: get: summary: Find booking metadata. description: Find booking metadata. tags: - Booking Processes v2.2 parameters: - in: query name: bookingMetadataId schema: type: string format: uuid example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 description: The id of the booking metadata. - in: query name: bookingProcessId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf description: The id of the parent booking process. - in: query name: description schema: type: string example: Dagkaart description: The description of the booking. - in: query name: department schema: type: string example: 900 description: The department of the booking. - in: query name: costType schema: type: string example: 84956 description: The cost type of the booking. - in: query name: documentCode schema: type: string example: FIKO-OPBR description: The document code of the booking. - in: query name: hasSeparateTaxLine schema: type: boolean example: true description: Whether the booking has a separate tax line. - in: query name: hasLinePerIdentifyingField schema: type: boolean example: true description: Whether the booking has a line per identifying field. - in: query name: hasLinePerSource schema: type: boolean example: true description: Whether the booking has a line per source. - in: query name: hasLinePerConcession schema: type: boolean example: true description: Whether the booking has a line per concession. - in: query name: validAt schema: type: string example: 2024-01-01T00:00:00.000 description: Timestamp that the booking metadata is valid. - in: query name: sort schema: type: string example: validFrom description: The field by which the booking metadata in the result body are sorted. - in: query name: limit schema: type: integer example: 15 description: The limit of the booking metadata in the result body. - in: query name: offset schema: type: integer example: 15 description: The offset of the booking metadata in the result body. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/BookingMetadataGetResponseBody" examples: List containing all booking metadata: summary: List containing all booking metadata description: Returns a list containing all booking metadata (no filters applied). value: bookingMetadata: - bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 bookingProcessId: 37a8095b-19db-498f-9349-5f37d21c5bdf description: Dagkaart department: 900 costType: 84956 documentCode: FIKO-OPBR hasSeparateTaxLine: true hasLinePerIdentifyingField: true hasLinePerSource: true hasLinePerConcession: true validFrom: 2022-01-01 00:00:00 validUntil: null - bookingMetadataId: bd290c3f-4a27-4898-911e-1aadacc4a034 bookingProcessId: 37a8095b-19db-498f-9349-5f37d21c5bdf description: Saldoreizen department: 900 costType: 84955 documentCode: FIKO-OPBR hasSeparateTaxLine: true hasLinePerIdentifyingField: true hasLinePerSource: true hasLinePerConcession: true validFrom: 2022-01-01 00:00:00 validUntil: null href: null /bookingmetadata/{bookingMetadataId}: parameters: - in: path name: bookingMetadataId schema: type: string format: uuid example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 required: true description: The id of the booking metadata. patch: summary: Update booking metadata. description: Update booking metadata. tags: - Booking Processes v2.2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/BookingMetadataPatchRequestBody" examples: Update booking metadata: summary: Update booking metadata description: | In this example the booking metadata is updated. The validUntil field is updated to 2024-03-22T09:00:00. value: validUntil: 2024-03-22T09:00:00 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/BookingMetadataPatchResponseBody" examples: Booking metadata updated successfully: summary: Booking metadata updated successfully description: The booking metadata was successfully updated in the database. value: bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /bookingmetadata/{bookingMetadataId}/bookinggroupfields: parameters: - in: path name: bookingMetadataId schema: type: string format: uuid example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 required: true description: The id of the booking metadata. post: summary: Add booking group fields. description: Add booking group fields. tags: - Booking Processes v2.2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/BookingGroupFieldsPostRequestBody" examples: Add a new booking group field: summary: Add a new booking group field description: Add a new booking group field to an existing booking. value: identifyingFieldValue: 4135 responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/BookingGroupFieldsPostResponseBody" examples: New booking group field added successfully: summary: New booking group field added successfully description: The new booking group field was successfully added to the database. value: bookingGroupFieldId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /bookingmetadata/{bookingMetadataId}/bookinglinemetadata: parameters: - in: path name: bookingMetadataId schema: type: string format: uuid example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 required: true description: The id of the booking metadata. post: summary: Add booking line metadata. description: Add booking line metadata. tags: - Booking Processes v2.2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/BookingLineMetadataPostRequestBody" examples: Add a new tax booking line metadata: summary: Add a new tax booking line metadata description: In this example a new tax booking line metadata is added to an existing booking. value: name: Saldoreizen - BTW sourceMetadataId: null identifyingFieldValue: null concessionId: null lineType: tax lineSense: credit costCenter: 603031 articleName: null extRef1: null extRef2: null extRef3: null extRef4: null extRef5: TLS extRef6: null Add a new yield booking line metadata: summary: Add a new yield booking line metadata description: In this example a new yield booking line metadata is added to an existing booking. value: name: Opbrengst Saldoreizen - RAIL sourceMetadataId: null identifyingFieldValue: null concessionId: 1 lineType: analysis lineSense: credit costCenter: 603031 articleName: Saldoreizen extRef1: null extRef2: null extRef3: 2025-02-17 extRef4: null extRef5: TLS extRef6: null responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/BookingLineMetadataPostResponseBody" examples: New booking line metadata added successfully: summary: New booking line metadata added successfully description: The new booking line metadata was successfully added to the database. value: bookingLineMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /bookinggroupfields: get: summary: Find booking group fields. description: Find booking group fields. tags: - Booking Processes v2.2 parameters: - in: query name: bookingGroupFieldId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf description: The id of the booking group field. - in: query name: bookingMetadataId schema: type: string format: uuid example: 63d4a7e2-62c3-428b-a4bb-e4ee45516f2a description: The id of the parent booking metadata. - in: query name: identifyingFieldValue schema: type: string example: 1737 description: The identifying field value. - in: query name: sort schema: type: string example: bookingMetadataId description: The field by which the booking group fields in the result body are sorted. - in: query name: limit schema: type: integer example: 15 description: The limit of the booking group fields in the result body. - in: query name: offset schema: type: integer example: 15 description: The offset of the booking group fields in the result body. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/BookingGroupFieldsGetResponseBody" examples: List containing all booking group fields: summary: List containing all booking group fields description: Returns a list containing all booking group fields for all booking metadata (no filters applied). value: bookingGroupFields: - bookingGroupFieldId: b34d0fc2-96fc-409b-93b6-ae51fb8c694a bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 identifyingFieldValue: 1737 - bookingGroupFieldId: 3b9005f4-42c4-4e2b-b472-ba7d0926fe77 bookingMetadataId: bd290c3f-4a27-4898-911e-1aadacc4a034 identifyingFieldValue: 1748 - bookingGroupFieldId: ae773282-ac9b-4a0b-a487-b4061ea2a42f bookingMetadataId: bd290c3f-4a27-4898-911e-1aadacc4a034 identifyingFieldValue: 1750 - bookingGroupFieldId: fe1aca8c-3ef5-4e15-962b-202d28d3d761 bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 identifyingFieldValue: 1757 href: null List containing all booking group fields for a single booking: summary: List containing all booking group fields for a single booking description: | Returns a list containing all booking group fields for a single booking booking metadata 'Dagkaart' (identified by the same bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617). value: bookingGroupFields: - bookingGroupFieldId: b34d0fc2-96fc-409b-93b6-ae51fb8c694a bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 identifyingFieldValue: 1737 - bookingGroupFieldId: fe1aca8c-3ef5-4e15-962b-202d28d3d761 bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 identifyingFieldValue: 1757 - bookingGroupFieldId: fede01e0-86c5-47d0-9466-3093132148e5 bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 identifyingFieldValue: 4031 - bookingGroupFieldId: d7c25182-b64e-4e47-8998-19ddb65b8f2c bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 identifyingFieldValue: 4032 - bookingGroupFieldId: ea02d3eb-29e6-42fd-b7eb-dfbfd2231090 bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 identifyingFieldValue: 4033 - bookingGroupFieldId: a73407a6-ff8c-4924-a7ac-5cd605e1793c bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 identifyingFieldValue: 4034 - bookingGroupFieldId: d9af4bf1-4e85-4eb6-ae5d-d2020b18d63c bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 identifyingFieldValue: 4051 - bookingGroupFieldId: c1ba494b-249a-475b-a542-19918aa36778 bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 identifyingFieldValue: 4053 - bookingGroupFieldId: 69be1be0-c600-492d-aec1-8490409371da bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 identifyingFieldValue: 4054 - bookingGroupFieldId: d7d00ec1-6d53-44e9-bcd8-01f6a523f771 bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 identifyingFieldValue: 4055 href: null /bookinggroupfields/{bookingGroupFieldId}: parameters: - in: path name: bookingGroupFieldId schema: type: string format: uuid example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 required: true description: The id of the booking group field. delete: summary: Delete booking group field. description: Delete booking group field. tags: - Booking Processes v2.2 responses: "200": description: OK /bookinglinemetadata: get: summary: Find booking line metadata. description: Find booking line metadata. tags: - Booking Processes v2.2 parameters: - in: query name: bookingLineMetadataId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf description: The id of the booking line metadata. - in: query name: bookingMetadataId schema: type: string format: uuid example: 63d4a7e2-62c3-428b-a4bb-e4ee45516f2a description: The id of the parent booking metadata. - in: query name: name schema: type: string example: Dakaart - BUS description: The name of the booking line metadata. - in: query name: sourceMetadataId schema: type: string example: 9b371ab4-2c47-4aa5-bcf8-6642385278ac description: The source of the booking line metadata. - in: query name: identifyingFieldValue schema: type: string example: 1737 description: The identifying field value. - in: query name: concessionId schema: type: array items: type: integer example: [1, 2] explode: false description: The name of the concession. - in: query name: lineType schema: type: array items: type: string example: [summary, analysis, tax] explode: false description: The type of the line. - in: query name: lineSense schema: type: array items: type: string example: [debit, credit] explode: false description: The sense of the line. - in: query name: costCenter schema: type: string example: 603031 description: The cost center of the booking line metadata. - in: query name: artcleName schema: type: string example: Dagkaart description: The article name of the booking line metadata. - in: query name: extRef1 schema: type: string example: extRef1 description: External reference 1. - in: query name: extRef2 schema: type: string example: extRef2 description: External reference 2. - in: query name: extRef3 schema: type: string example: extRef3 description: External reference 3. - in: query name: extRef4 schema: type: string example: extRef4 description: External reference 4. - in: query name: extRef5 schema: type: string example: extRef5 description: External reference 5. - in: query name: extRef6 schema: type: string example: extRef6 description: External reference 6. - in: query name: sort schema: type: string example: lineType description: The field by which the booking line metadata in the result body are sorted. - in: query name: limit schema: type: integer example: 15 description: The limit of the booking line metadata in the result body. - in: query name: offset schema: type: integer example: 15 description: The offset of the booking line metadata in the result body. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/BookingLineMetadataGetResponseBody" examples: List containing all booking line metadata: summary: List containing all booking line metadata description: Returns a list containing all booking line metadata for all bookings (no filters applied). value: bookingLineMetadata: - bookingLineMetadataId: 98dccb4c-f24f-4acd-a036-f4b465124842 bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 name: Webshop - Dagkaart - BUS sourceMetadata: sourceMetadataId: bc4ea24a-27a5-40e8-bbbc-57a105afaaa0 incomingName: HTM-website incomingEntity: OrderLine outgoingName: Webshop businessOwner: Koos Verweg rejectionProcessing: system rejectionInfo: api.htm.nl/v2/account/12345/msgs/abc identifyingFieldValue: null concession: concessionId: 2 name: BUS lineType: summary lineSense: credit costCenter: 603031 articleName: dagkaart extRef1: null extRef2: null extRef3: 2025-02-17 extRef4: null extRef5: Webshop extRef6: null - bookingLineMetadataId: 1bca01db-40d3-4447-9f28-41475ec6877d bookingMetadataId: bd290c3f-4a27-4898-911e-1aadacc4a034 name: TLS - Saldoreizen - RAIL sourceMetadata: sourceMetadataId: 4b06a325-1078-4a2f-b63e-1d81eae8e5c3 incomingName: Translink incomingEntity: Trip outgoingName: TLS businessOwner: Koos Verweg rejectionProcessing: mail rejectionInfo: helpdesk@translink.nl identifyingFieldValue: null concession: concessionId: 1 name: RAIL lineType: summary lineSense: credit costCenter: 603007 articleName: Opbrengst TLS extRef1: null extRef2: null extRef3: 2025-02-17 extRef4: null extRef5: TLS extRef6: null href: null List containing booking line metadata of one booking: summary: List containing booking line metadata of one booking description: | Returns a list containing all booking line metadata a single booking. This example contains all the booking lines for a 'Dagkaart' booking (bookingMetadataId: "6ce10520-9a73-4cb4-b8dd-39ee46ceb617"). value: bookingLineMetadata: - bookingLineMetadataId: 98dccb4c-f24f-4acd-a036-f4b465124842 bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 name: Webshop Dagkaart - BUS sourceMetadata: sourceMetadataId: bc4ea24a-27a5-40e8-bbbc-57a105afaaa0 incomingName: HTM-website incomingEntity: OrderLine outgoingName: Webshop businessOwner: Koos Verweg rejectionProcessing: system rejectionInfo: api.htm.nl/v2/account/12345/msgs/abc identifyingFieldValue: null concession: concessionId: 2 name: BUS lineType: summary lineSense: credit costCenter: 619031 articleName: dagkaart extRef1: null extRef2: null extRef3: 2025-02-17 extRef4: null extRef5: Webshop extRef6: null - bookingLineMetadataId: a4464b5c-9a8e-4e48-a0a0-5500b1ca0885 bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 name: Webshop Dagkaart - RAIL sourceMetadata: sourceMetadataId: bc4ea24a-27a5-40e8-bbbc-57a105afaaa0 incomingName: HTM-website incomingEntity: OrderLine outgoingName: Webshop businessOwner: Koos Verweg rejectionProcessing: system rejectionInfo: api.htm.nl/v2/account/12345/msgs/abc identifyingFieldValue: null concession: concessionId: 1 name: RAIL lineType: summary lineSense: credit costCenter: 603031 articleName: dagkaart extRef1: null extRef2: null extRef3: 2025-02-17 extRef4: null extRef5: Webshop extRef6: null - bookingLineMetadataId: feaa7b33-ba49-40a2-90f3-5dd70d591f17 bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 name: Ticketapp Dagkaart - BUS sourceMetadata: sourceMetadataId: c3a9ef01-06c6-4c05-8fc7-df825f676dfc incomingName: HTM-app incomingEntity: OrderLine outgoingName: ticketapp businessOwner: Danny Negen rejectionProcessing: mail rejectionInfo: d.negen@htm.nl identifyingFieldValue: null concession: concessionId: 2 name: BUS lineType: summary lineSense: credit costCenter: 619031 articleName: dagkaart extRef1: null extRef2: null extRef3: 2025-02-17 extRef4: null extRef5: Webshop extRef6: null - bookingLineMetadataId: ea6ce4e7-4d52-4b89-bbea-ffe0ef6c48ff bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 name: Ticketapp Dagkaart - RAIL sourceMetadata: sourceMetadataId: c3a9ef01-06c6-4c05-8fc7-df825f676dfc incomingName: HTM-app incomingEntity: OrderLine outgoingName: ticketapp businessOwner: Danny Negen rejectionProcessing: mail rejectionInfo: d.negen@htm.nl identifyingFieldValue: null concession: concessionId: 1 name: RAIL lineType: summary lineSense: credit costCenter: 603031 articleName: dagkaart extRef1: null extRef2: null extRef3: 2025-02-17 extRef4: null extRef5: Webshop extRef6: null - bookingLineMetadataId: 0a8dbb7d-73c8-451e-9028-e4613283c7bd bookingMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 name: Dagkaart - BTW sourceMetadata: null identifyingFieldValue: null concession: null lineType: tax lineSense: credit costCenter: 1337 articleName: dagkaart extRef1: null extRef2: null extRef3: 2025-02-17 extRef4: null extRef5: null extRef6: null href: null /bookinglinemetadata/{bookingLineMetadataId}: parameters: - in: path name: bookingLineMetadataId schema: type: string format: uuid example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 required: true description: The id of the booking line metadata. patch: summary: Update booking line metadata. description: Update booking line metadata. tags: - Booking Processes v2.2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/BookingLineMetadataPatchRequestBody" examples: Update cost center of a booking line: summary: Update cost center of a booking line description: | In this example the cost center of an existing booking line metadata is updated. value: costCenter: 84957 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/BookingLineMetadataPatchResponseBody" examples: Booking line metadata updated successfully: summary: Booking line metadata updated successfully description: The booking line metadata was successfully updated in the database. value: bookingLineMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 delete: summary: Delete booking line metadata. description: Delete booking line metadata. tags: - Booking Processes v2.2 responses: "200": description: OK /taxmetadata: get: summary: Find tax metadata. description: Find tax metadata. tags: - Metadata v2.2 parameters: - in: query name: taxMetadataId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf description: The id of the tax metadata. - in: query name: taxCode schema: type: string example: V21 description: The tax code. - in: query name: taxPercentageAmount schema: type: number example: 21 description: The tax percentage amount. - in: query name: description schema: type: string example: BTW VERKOOP HOOG 21% description: The description of the tax metadata. - in: query name: validAt schema: type: string format: date-time example: 2024-03-22T09:00:00 description: Timestamp that the metadata is valid. - in: query name: sort schema: type: string example: validFrom description: The field by which the tax metadata in the result body are sorted. - in: query name: limit schema: type: integer example: 15 description: The limit of the tax metadata in the result body. - in: query name: offset schema: type: integer example: 15 description: The offset of the tax metadata in the result body. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/TaxMetadataGetResponseBody" examples: List containing all tax metadata: summary: List containing all tax metadata description: Returns a list containing all tax metadata (no filters applied). value: taxMetadata: - taxMetadataId: 2d444740-4131-4169-bb47-2d125641dc87 taxCode: V0 texPercantageAmount: 0 description: BTW VERKOOP NUL validFrom: 2024-03-22T09:00:00 validUntil: null - taxMetadataId: b5f879d1-043d-4357-9655-2eeca8ebe9bf taxCode: V09 taxPercentageAmount: 9 description: BTW VERKOOP LAAG 9% validFrom: 2024-03-22T09:00:00 validUntil: null - taxMetadataId: 62e1abe7-d76f-4364-9207-591c0601ba55 taxCode: V21 taxPercentageAmount: 21 description: BTW VERKOOP HOOG 21% validFrom: 2024-03-22T09:00:00 validUntil: null - taxMetadataId: 9a253fc3-e562-4c4a-925c-d9caf0dcc549 taxCode: ?0 taxPercentageAmount: 0 description: BTW DEBIT NUL validFrom: 2024-03-22T09:00:00 validUntil: null - taxMetadataId: 6243b848-5ca3-44e0-9860-4fb3a817f148 taxCode: ?09 taxPercentageAmount: 9 description: BTW DEBIT laag 9% validFrom: 2024-03-22T09:00:00 validUntil: null - taxMetadataId: 0240d6e4-6037-4da0-ac10-1fde0229d439 taxCode: ?21 taxPercentageAmount: 21 description: BTW DEBIT hoog 21% validFrom: 2024-03-22T09:00:00 validUntil: null href: null post: summary: Add tax metadata. description: Add tax metadata. tags: - Metadata v2.2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/TaxMetadataPostRequestBody" examples: Add new tax metadata: summary: Add new tax metadata description: This example adds a new tax metadata record to the database. value: taxCode: V21.4 taxPercentageAmount: 21.4 description: BTW VERKOOP HOOG 21.4% validFrom: 2025-03-22T09:00:00 validUntil: null responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/TaxMetadataPostResponseBody" examples: Tax metadata created successfully: summary: Tax metadata created successfully description: The tax metadata was successfully added to the database. value: taxMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /taxmetadata/{taxMetadataId}: parameters: - in: path name: taxMetadataId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: true description: The id of the tax metadata. patch: summary: Update tax metadata. description: Update tax metadata. tags: - Metadata v2.2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/TaxMetadataPatchRequestBody" examples: Update tax metadata: summary: Update tax metadata description: In this example the tax metadata is updated. The validUntil field is updated to 2025-03-22T09:00:00. value: validUntil: 2025-03-22T09:00:00 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/TaxMetadataPatchResponseBody" examples: Tax metadata updated successfully: summary: Tax metadata updated successfully description: The tax metadata was successfully updated in the database. value: taxMetadataId: 7c3a5b0f-b89e-4f02-8b09-d11c5a050a07 /sourcemetadata: get: summary: Find source metadata. description: Find source metadata. tags: - Metadata v2.2 parameters: - in: query name: sourceMetadataId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf description: The id of the source metadata. - in: query name: incomingName schema: type: string example: VerkoopEngine description: The name of the source. - in: query name: incomingEntity schema: type: string example: OrderLine description: The entity of the source. - in: query name: outgoingName schema: type: string example: Website Verkopen description: The name of the destination. - in: query name: businessOwner schema: type: string example: Koos Verweg description: The business owner of the source. - in: query name: rejectionProcessing schema: type: array items: type: string example: [mail, system] explode: false description: The rejection processing of the source. - in: query name: rejectionInfo schema: type: string example: api.htm.nl/v2/account/12345/msgs/abc description: The rejection info of the source. - in: query name: sort schema: type: string example: incomingName description: The field by which the source metadata in the result body are sorted. - in: query name: limit schema: type: integer example: 15 description: The limit of the source metadata in the result body. - in: query name: offset schema: type: integer example: 15 description: The offset of the source metadata in the result body. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/SourceMetadataGetResponseBody" examples: List containing all source metadata: summary: List containing all source metadata description: Returns a list containing all source metadata (no filters applied). value: sourceMetadata: - sourceMetadataId: bc4ea24a-27a5-40e8-bbbc-57a105afaaa0 incomingName: HTM-web incomingEntity: OrderLine outgoingName: webshop businessOwner: Koos Verweg rejectionProcessing: system rejectionInfo: api.htm.nl/v2/account/12345/msgs/abc - sourceMetadataId: c3a9ef01-06c6-4c05-8fc7-df825f676dfc incomingName: HTM-app incomingEntity: OrderLine outgoingName: ticketapp businessOwner: Danny Negen rejectionProcessing: mail rejectionInfo: d.negen@htm.nl - sourceMetadataId: 0b6e3e07-c4e0-42bf-86f2-9c9522b71209 incomingName: SMP incomingEntity: OrderLine outgoingName: balieverkoop businessOwner: Guus Geluk rejectionProcessing: mail rejectionInfo: ao@htm.nl href: null post: summary: Add source metadata. description: Add source metadata. tags: - Metadata v2.2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/SourceMetadataPostRequestBody" examples: Add a new source to the metadata: summary: Add a new source to the metadata description: Add a new record to the source metadata in the database. value: incomingName: HTM-app incomingEntity: OrderLine outgoingName: ticketapp businessOwner: Danny Negen rejectionProcessing: mail rejectionInfo: d.negen@htm.nl responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/SourceMetadataPostResponseBody" examples: Source metadata created successfully: summary: Source metadata created successfully description: The source metadata was successfully added to the database. value: sourceMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /sourcemetadata/{sourceMetadataId}: parameters: - in: path name: sourceMetadataId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: true description: The id of the source metadata. patch: summary: Update source metadata. description: Update source metadata. tags: - Metadata v2.2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/SourceMetadataPatchRequestBody" examples: Update a source in the metadata: summary: Update a source in the metadata description: In this example we update the business owner of a single source meta data value: businessOwner: Chef Erwin responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/SourceMetadataPatchResponseBody" examples: Source metadata updated successfully: summary: Source metadata updated successfully description: The source metadata was successfully updated in the database. value: sourceMetadataId: 37a8095b-19db-498f-9349-5f37d21c5bdf /accountingperiodmetadata: get: summary: Find accounting period metadata. description: Find accounting period metadata. tags: - Metadata v2.2 parameters: - in: query name: accountingPeriodMetadataId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf description: The id of the accounting period metadata. - in: query name: accountingPeriod schema: type: string example: 2024/01 description: The accounting period. - in: query name: isOpen schema: type: boolean example: true description: Whether the accounting period is open. - in: query name: sort schema: type: string example: accountingPeriod description: The field by which the accounting period metadata in the result body are sorted. - in: query name: limit schema: type: integer example: 15 description: The limit of the accounting period metadata in the result body. - in: query name: offset schema: type: integer example: 15 description: The offset of the accounting period metadata in the result body. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/AccountingPeriodMetadataGetResponseBody" examples: List containing all accounting period metadata: summary: List containing all accounting period metadata description: Returns a list containing all accounting period metadata (no filters applied). value: accountingPeriodMetadata: - accountingPeriodMetadataId: e0af8c8f-d421-4567-a14e-48e2a1bb86fb accountingPeriod: 2025/01 isOpen: true - accountingPeriodMetadataId: 36a34bd8-2b84-4c89-87a4-22e809f6ed4a accountingPeriod: 2024/12 isOpen: false - accountingPeriodMetadataId: 33b4889b-0036-4870-87df-be43f9316cdf accountingPeriod: 2024/11 isOpen: false href: null post: summary: Add accounting period metadata. description: Add accounting period metadata. tags: - Metadata v2.2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/AccountingPeriodMetadataPostRequestBody" examples: Add a new accounting period metadata: summary: Add a new accounting period metadata description: In this example we add a new accounting period metadata. value: accountingPeriod: 2025/03 isOpen: true responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/AccountingPeriodMetadataPostResponseBody" examples: Accounting period metadata created successfully: summary: Accounting period metadata created successfully description: The accounting period metadata was successfully added to the database. value: accountingPeriodMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /accountingperiodmetadata/{accountingPeriodMetadataId}: parameters: - in: path name: accountingPeriodMetadataId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: true description: The id of the accounting period metadata. patch: summary: Update accounting period metadata. description: Update accounting period metadata. tags: - Metadata v2.2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/AccountingPeriodMetadataPatchRequestBody" examples: Update an accounting period metadata: summary: Update an accounting period metadata description: In this example we close an existing accounting period in the metadata. value: isOpen: false responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/AccountingPeriodMetadataPatchResponseBody" examples: Accounting period metadata updated successfully: summary: Accounting period metadata updated successfully description: The accounting period metadata was successfully updated in the database. value: accountingPeriodMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /concessionmetadata: get: summary: Find concession metadata. description: Find concession metadata. tags: - Metadata v2.2 parameters: - in: query name: concessionMetadataId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf description: The id of the concession metadata. - in: query name: concessionId schema: type: array items: type: integer example: [1, 2] explode: false description: The name of the concession. - in: query name: percentage schema: type: number example: 84.021 description: The percentage of the concession. - in: query name: validAt schema: type: string example: 2024-01-01T00:00:00.000 description: Timestamp that the metadata is valid. - in: query name: sort schema: type: string example: validFrom description: The field by which the concession metadata in the result body are sorted. - in: query name: limit schema: type: integer example: 15 description: The limit of the concession metadata in the result body. - in: query name: offset schema: type: integer example: 15 description: The offset of the concession metadata in the result body. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ConcessionMetadataGetResponseBody" examples: List containing all concession metadata: summary: List containing all concession metadata description: Returns a list containing all concession metadata (no filters applied). value: concessionMetadata: - concessionMetadataId: e0af8c8f-d421-4567-a14e-48e2a1bb86fb concession: concessionId: 1 name: RAIL percentage: 84.021 validFrom: 2025-01-01T00:00:00.000 validUntil: null - concessionMetadataId: 39720be0-af88-486a-b5e2-faea7eb5b352 concession: concessionId: 2 name: BUS percentage: 15.979 validFrom: 2025-01-01T00:00:00.000 validUntil: null - concessionMetadataId: 274db383-96dd-410e-a07e-0b9e3040ac91 concession: concessionId: 1 name: RAIL percentage: 83.021 validFrom: 2024-12-01T00:00:00.000 validUntil: 2024-12-31T23:59:59.999 - concessionMetadataId: 03959bc5-83f2-4ac7-9bf5-67e0f2a6eace concession: concessionId: 2 name: BUS percentage: 16.979 validFrom: 2024-12-01T00:00:00.000 validUntil: 2024-12-31T23:59:59.999 - concessionMetadataId: d5b7d8f6-5cb8-482e-9d9a-68909dc7b5d3 concession: concessionId: 1 name: RAIL percentage: 85.021 validFrom: 2024-11-01T00:00:00.000 validUntil: 2024-11-30T23:59:59.999 - concessionMetadataId: 5ee5f86f-ab00-4630-b130-4714fd060d1a concession: concessionId: 2 name: BUS percentage: 14.979 validFrom: 2024-11-01T00:00:00.000 validUntil: 2024-11-30T23:59:59.999 href: null post: summary: Add concession metadata. description: Add concession metadata. tags: - Metadata v2.2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/ConcessionMetadataPostRequestBody" examples: Add a new concession distribution: summary: Add a new concession distribution description: | Every month, the administrator determines the concession distribution for the next month. In this example, a new concession distribution for RAIL is added to the metadata. value: concessionId: 1 percentage: 83.041 validFrom: 2025-03-01T00:00:00.000 validUntil: null responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/ConcessionMetadataPostResponseBody" examples: Concession metadata added succesfully: summary: Concession metadata added succesfully description: The new concession metadata was successfully added to the database. value: concessionMetadataId: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 /concessionmetadata/{concessionMetadataId}: parameters: - in: path name: concessionMetadataId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: true description: The id of the concession metadata. patch: summary: Update concession metadata. description: Update concession metadata. tags: - Metadata v2.2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/ConcessionMetadataPatchRequestBody" examples: Update a concession distribution: summary: Update a concession distribution description: | Every month, the administrator determines the concession distribution for the next month. In this example, the concession distribution for last month gets an end date. value: validUntil: 2025-02-28T23:59:59.999 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ConcessionMetadataPatchResponseBody" examples: Concession metadata updated successfully: summary: Concession metadata updated successfully description: The concession metadata was successfully updated in the database. value: concessionMetadataId: 37a8095b-19db-498f-9349-5f37d21c5bdf /metadataaudittrails: get: summary: Find metadata audit trails. description: Find metadata audit trails. deprecated: true tags: - Audit Trail v2.2 parameters: - in: query name: metadataAuditTrailId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf description: The id of the metadata audit trail. - in: query name: source schema: type: string example: FMT description: The source of the metadata change. - in: query name: endpoint schema: type: string format: url example: https://dev.api.htm.nl/v2/productmetadata description: The endpoint of the metadata change. - in: query name: operation schema: type: array items: type: string enum: - GET - POST - PATCH - DELETE example: POST explode: false description: The operation of the metadata change. - in: query name: responseCode schema: type: integer example: 200 description: The HTTP response code of the metadata change. - in: query name: requestBody schema: type: string format: json example: { "json": "data" } description: The request body of the metadata change. - in: query name: responseBody schema: type: string format: json example: { "json": "data" } description: The response body of the metadata change. - in: query name: user schema: type: string example: ad.vogelaar description: The id of the user who performed the metadata change. - in: query name: timestampBefore schema: type: string format: date-time example: 2024-01-01T00:00:00.000 description: The timestamp before the metadata change was made. - in: query name: timestampAfter schema: type: string format: date-time example: 2024-01-01T00:00:00.000 description: The timestamp after the metadata change was made. - in: query name: correlationId schema: type: string example: 37a8095b-19db-498f-9349-5f37d21c5bdf description: The correlation id of the metadata change. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/MetadataAuditTrailsGetResponseBody" post: summary: Add metadata audit trail. description: Add metadata audit trail. deprecated: true tags: - Audit Trail v2.2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/MetadataAuditTrailsPostRequestBody" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/MetadataAuditTrailsPostResponseBody" /concessions: get: summary: Get all concessions. description: Get all concessions. tags: - References v2.2 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ConcessionsGetResponseBody" examples: List containing all concessions: summary: List containing all concessions description: Returns a list containing all concessions (no filters applied). value: concessions: - concessionId: 1 name: RAIL - concessionId: 2 name: BUS href: null components: securitySchemes: bearerToken: type: http scheme: bearer bearerFormat: JWT schemas: unavailable: type: object TransactionItemsGetResponseBody: type: object properties: transactionItems: type: array items: type: object properties: transactionItemId: type: string example: afce35b2-1dff-4ace-98d0-4b9ac405c87d transactionType: type: string enum: - sales example: sales sourceName: type: string example: Verkoopengine transactionId: type: string example: 1001236 transactionLineId: type: string nullable: true example: 1 name: type: string example: HTM Maandkorting 20% quantity: type: integer example: 1 taxCode: type: string example: V21 amountExclTax: type: integer example: 100 amountInclTax: type: integer example: 121 amountTax: type: integer example: 21 occurredOn: type: string format: date-time example: 2024-10-04T00:00:00Z type: type: string enum: - debit - credit example: debit articleNumber: type: string nullable: true example: 4031 status: type: string enum: - created - succeeded - failed - returned to trx-db - returned to src - re-entered example: created aggregationReference: type: string nullable: true example: FIKO-123456 accountingSystemReference: type: string nullable: true example: U4F-123456 required: - transactionItemId - transactionType - sourceName - transactionId - name - quantity - taxCode - amountExclTax - amountInclTax - amountTax - occurredOn - type - status href: type: string nullable: true description: URI for pagination. example: null TransactionItemsPostRequestBody: type: object properties: transactionItems: type: array items: type: object properties: transactionType: type: string enum: - sales example: sales sourceName: type: string example: Verkoopengine transactionId: type: string example: 1001236 transactionLineId: type: string nullable: true example: 1 name: type: string example: HTM Maandkorting 20% quantity: type: integer example: 1 taxCode: type: string example: V21 amountExclTax: type: integer example: 100 amountInclTax: type: integer example: 121 amountTax: type: integer example: 21 occurredOn: type: string format: date-time example: 2024-10-04T00:00:00Z type: type: string enum: - debit - credit example: debit articleNumber: type: string nullable: true example: 4031 required: - sourceName - transactionType - transactionId - name - quantity - taxCode - amountExclTax - amountInclTax - amountTax - occurredOn - type TransactionItemsPostResponseBody: 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/transactionitems/responsestatus/runtime/webhooks/workflow/scaleUnits/prod-00/workflows/6fd466916c retryAfter: type: integer example: 10 required: - startTime - status - clientTrackingId - callbackurl - retryAfter TransactionItemsBulkBadRequestResponseBody: type: object properties: type: type: string format: url example: https://htm.nl/api/v1/probs/fiko/validationerror title: type: string example: Transaction validation failed. detail: type: string example: One ore more transactions in the request are invalid. instance: type: string example: urn:uuid:4017fabc-1b28-11e8-accf-0ed5f89f718b errors: type: array items: type: object properties: detail: type: string example: Transaction is a duplicate of a transaction already in the system. pointer: type: string example: "#/transactionItems/0" transactionId: type: string example: 1ad109d3-fd7d-4b6f-872b-220d492f385f transactionLineId: type: string example: fee907dd-e59d-44f5-a63b-bbdec38f79b7 required: - detail - pointer - transactionId required: - type - title - detail - instance TransactionItemsPatchRequestBody: type: object properties: name: type: string nullable: true example: HTM Maandkorting 20% quantity: type: integer nullable: true example: 1 taxCode: type: string nullable: true example: V21 amountExclTax: type: integer nullable: true example: 100 amountInclTax: type: integer nullable: true example: 121 amountTax: type: integer nullable: true example: 21 occurredOn: type: string nullable: true format: date-time example: 2024-10-04T00:00:00Z type: type: string nullable: true enum: - debit - credit example: debit articleNumber: type: string nullable: true example: 4031 status: type: string enum: - created - succeeded - failed - returned to trx-db - returned to src - re-entered example: created aggregationReference: type: string nullable: true example: FIKO-123456 accountingSystemReference: type: string nullable: true example: U4F-123456 TransactionItemsPatchResponseBody: type: object properties: transactionItemId: type: string format: uuid example: afce35b2-1dff-4ace-98d0-4b9ac405c87d required: - transactionItemId ProcessingFailuresPostRequestBody: type: object properties: timestamp: type: string format: date-time example: 2022-01-01 00:00:00 element: type: string example: costCenter value: type: string example: 84955 reasonCode: type: string example: "002" reasonDescription: type: string example: Contra account does not exist. resolved: type: boolean example: false change: type: string nullable: true example: Adapt config required: - timestamp - element - value - reasonCode - reasonDescription - resolved ProcessingFailuresPostResponseBody: type: object properties: processingFailureId: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: - processingFailureId ProcessingFailuresGetResponseBody: type: object properties: processingFailures: type: array items: type: object properties: processingFailureId: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf transactionItemId: type: string format: uuid example: 2d77d978-7141-499a-84ad-93fad8ee03ce timestamp: type: string format: date-time example: 2022-01-01 00:00:00 element: type: string example: costCenter value: type: string example: 84955 reasonCode: type: string example: "002" reasonDescription: type: string example: Contra account does not exist. resolved: type: boolean example: false change: type: string nullable: true example: Adapt config required: - processingFailureId - transactionItemId - timestamp - element - value - reasonCode - reasonDescription - resolved href: type: string nullable: true description: URI for pagination. example: null ProcessingFailuresPatchRequestBody: type: object properties: resolved: type: boolean nullable: true example: true change: type: string nullable: true example: Adapt config ProcessingFailuresPatchResponseBody: type: object properties: processingFailureId: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: - processingFailureId TransactionAuditTrailsPostRequestBody: type: object properties: user: type: string example: fiko timestamp: type: string format: date-time example: 2022-01-01 00:00:00 action: type: string enum: - create - update example: create status: type: string enum: - created - succeeded - failed - returned to trx-db - returned to src - re-entered example: created description: type: string nullable: true example: Transaction created. correlationId: type: string format: uuid nullable: true example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: - user - timestamp - action - status TransactionAuditTrailsPostResponseBody: type: object properties: transactionAuditTrailId: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: - transactionAuditTrailId TransactionAuditTrailsGetResponseBody: type: object properties: transactionAuditTrails: type: array items: type: object properties: transactionAuditTrailId: type: string format: uuid example: afce35b2-1dff-4ace-98d0-4b9ac405c87d transactionItemId: type: string format: uuid example: d667d293-aa82-4c9e-9b10-77cffc9058a1 user: type: string example: fiko timestamp: type: string format: date-time example: 2022-01-01 00:00:00 action: type: string enum: - create - update example: create status: type: string enum: - created - succeeded - failed - returned to trx-db - returned to src - re-entered example: created description: type: string nullable: true example: Transaction created. correlationId: type: string format: uuid nullable: true example: a3891560-3084-42cb-867c-f289e7cda47d required: - transactionAuditTrailId - transactionItemId - user - timestamp - action - status href: type: string nullable: true example: null required: - transactionAuditTrails BookingProcessesGetResponseBody: type: object properties: bookingProcesses: type: array items: type: object properties: bookingProcessId: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf name: type: string example: Verkooptransacties transactionType: type: string enum: - sales example: sales identifyingFieldName: type: string nullable: true example: articleNumber required: - bookingProcessId - name - transactionType href: type: string nullable: true description: URI for pagination. example: null required: - bookingProcesses BookingProcessesPostRequestBody: type: object properties: name: type: string example: Verkooptransacties transactionType: type: string enum: - sales example: sales identifyingFieldName: type: string nullable: true example: articleNumber required: - name - transactionType BookingProcessesPostResponseBody: type: object properties: bookingProcessId: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: - bookingProcessId BookingProcessesPatchRequestBody: type: object properties: name: type: string nullable: true example: Verkooptransacties transactionType: type: string nullable: true enum: - sales example: sales identifyingFieldName: type: string nullable: true example: articleNumber BookingProcessesPatchResponseBody: type: object properties: bookingProcessId: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: - bookingProcessId BookingMetadataGetResponseBody: type: object properties: bookingMetadata: type: array items: type: object properties: bookingMetadataId: type: string format: uuid example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 bookingProcessId: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf description: type: string example: Dagkaart department: type: string example: 900 costType: type: string example: 84956 documentCode: type: string example: FIKO-OPBR hasSeparateTaxLine: type: boolean example: true hasLinePerIdentifyingField: type: boolean example: true hasLinePerSource: type: boolean example: true hasLinePerConcession: type: boolean example: true validFrom: type: string format: date-time example: 2022-01-01 00:00:00 validUntil: type: string format: date-time nullable: true example: null required: - bookingMetadataId - bookingProcessId - description - department - costType - documentCode - hasSeparateTaxLine - hasLinePerIdentifyingField - hasLinePerSource - hasLinePerConcession - validFrom href: type: string nullable: true example: null required: - bookingMetadata BookingMetadataPostRequestBody: type: object properties: description: type: string example: Dagkaart department: type: string example: 900 costType: type: string example: 84956 documentCode: type: string example: FIKO-OPBR hasSeparateTaxLine: type: boolean example: true hasLinePerIdentifyingField: type: boolean example: true hasLinePerSource: type: boolean example: true hasLinePerConcession: type: boolean example: true validFrom: type: string format: date-time example: 2022-01-01 00:00:00 validUntil: type: string format: date-time nullable: true example: null required: - description - department - costType - documentCode - hasSeparateTaxLine - hasLinePerIdentifyingField - hasLinePerSource - hasLinePerConcession - validFrom BookingMetadataPostResponseBody: type: object properties: bookingMetadataId: type: string format: uuid example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 required: - bookingMetadataId BookingMetadataPatchRequestBody: type: object properties: description: type: string nullable: true example: Dagkaart department: type: string nullable: true example: 900 costType: type: string nullable: true example: 84956 documentCode: type: string nullable: true example: FIKO-OPBR hasSeparateTaxLine: type: boolean nullable: true example: true hasLinePerIdentifyingField: type: boolean nullable: true example: true hasLinePerSource: type: boolean nullable: true example: true hasLinePerConcession: type: boolean nullable: true example: true validFrom: type: string format: date-time nullable: true example: 2022-01-01 00:00:00 validUntil: type: string format: date-time nullable: true example: null BookingMetadataPatchResponseBody: type: object properties: bookingMetadataId: type: string format: uuid example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 required: - bookingMetadataId BookingGroupFieldsPostRequestBody: type: object properties: identifyingFieldValue: type: string example: 1737 required: - identifyingFieldValue BookingGroupFieldsPostResponseBody: type: object properties: bookingGroupFieldId: type: string format: uuid example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 required: - bookingGroupFieldId BookingGroupFieldsGetResponseBody: type: object properties: bookingGroupFields: type: array items: type: object properties: bookingGroupFieldId: type: string format: uuid example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 bookingMetadataId: type: string format: uuid example: 12b4d128-0ab8-4a4a-944d-25b83de38b27 identifyingFieldValue: type: string example: 1737 required: - bookingGroupFieldId - bookingMetadataId - identifyingFieldValue href: type: string nullable: true example: null required: - bookingGroupFields BookingLineMetadataPostRequestBody: type: object properties: name: type: string example: Dagkaart - BUS sourceMetadataId: type: string format: uuid example: null nullable: true identifyingFieldValue: type: string example: null nullable: true concessionId: type: integer example: 1 nullable: true lineType: type: string enum: - summary - analysis - tax example: summary lineSense: type: string enum: - debit - credit example: credit costCenter: type: string example: 603031 nullable: true articleName: type: string example: dagkaart nullable: true extRef1: type: string example: null nullable: true extRef2: type: string example: null nullable: true extRef3: type: string example: 2025-02-17 nullable: true extRef4: type: string example: null nullable: true extRef5: type: string example: Webshop nullable: true extRef6: type: string example: null nullable: true required: - name - lineType - lineSense BookingLineMetadataPostResponseBody: type: object properties: bookingLineMetadataId: type: string format: uuid example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 required: - bookingLineMetadataId BookingLineMetadataGetResponseBody: type: object properties: bookingLineMetadata: type: array items: type: object properties: bookingLineMetadataId: type: string format: uuid example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 bookingMetadataId: type: string format: uuid example: 12b4d128-0ab8-4a4a-944d-25b83de38b27 name: type: string example: Dagkaart - RAIL sourceMetadata: type: object $ref: "#/components/schemas/SourceMetadata" identifyingFieldValue: type: string example: null nullable: true concession: type: object $ref: "#/components/schemas/Concession" lineType: type: string enum: - summary - analysis - tax example: summary lineSense: type: string enum: - debit - credit example: credit costCenter: type: string example: 603031 nullable: true articleName: type: string example: dagkaart nullable: true extRef1: type: string example: null nullable: true extRef2: type: string example: null nullable: true extRef3: type: string example: 2025-02-17 nullable: true extRef4: type: string example: null nullable: true extRef5: type: string example: Webshop nullable: true extRef6: type: string example: null nullable: true required: - bookingLineMetadataId - bookingMetadataId - name - lineType - lineSense href: type: string nullable: true example: null required: - bookingLineMetadata BookingLineMetadataPatchRequestBody: type: object properties: name: type: string nullable: true example: Dagkaart - RAIL sourceMetadataId: type: string format: uuid nullable: true example: null identifyingFieldValue: type: string nullable: true example: null concessionId: type: integer nullable: true example: 1 lineType: type: string nullable: true enum: - summary - analysis - tax example: summary lineSense: type: string nullable: true enum: - debit - credit example: credit costCenter: type: string nullable: true example: 603031 articleName: type: string nullable: true example: dagkaart extRef1: type: string nullable: true example: null extRef2: type: string nullable: true example: null extRef3: type: string nullable: true example: 2025-02-17 extRef4: type: string nullable: true example: null extRef5: type: string nullable: true example: Webshop extRef6: type: string nullable: true example: null BookingLineMetadataPatchResponseBody: type: object properties: bookingLineMetadataId: type: string format: uuid example: 6ce10520-9a73-4cb4-b8dd-39ee46ceb617 required: - bookingLineMetadataId MetadataAuditTrailsGetResponseBody: type: object properties: metadataAuditTrails: type: array items: type: object properties: metadataAuditTrailId: type: string format: uuid example: b6161270-eb08-4242-90ec-967d5db62070 source: type: string example: FMT endpoint: type: string format: url example: https://dev.api.htm.nl/v2/productmetadata operation: type: string enum: - GET - POST - PATCH - DELETE example: POST requestBody: type: string format: json example: { "json": "data" } responseCode: type: integer example: 200 responseBody: type: string format: json example: { "json": "data" } user: type: string example: ad.vogelaar timestamp: type: string format: date-time example: 2022-01-01 00:00:00 correlationId: type: string format: uuid nullable: true example: 662de47c-d809-41bd-b3f6-5c7e1dc5c030 required: - metadataAuditTrailId - source - endpoint - operation - requestBody - responseCode - responseBody - user - timestamp href: type: string nullable: true example: null required: - metadataAuditTrails MetadataAuditTrailsPostRequestBody: type: object properties: source: type: string example: FMT endpoint: type: string format: url example: https://dev.api.htm.nl/v2/productmetadata operation: type: string enum: - GET - POST - PATCH - DELETE example: POST requestBody: type: string format: json example: { "json": "data" } responseCode: type: integer example: 200 responseBody: type: string format: json example: { "json": "data" } user: type: string example: ad.vogelaar timestamp: type: string format: date-time example: 2022-01-01 00:00:00 correlationId: type: string format: uuid nullable: true example: 662de47c-d809-41bd-b3f6-5c7e1dc5c030 required: - source - endpoint - operation - requestBody - responseCode - responseBody - user - timestamp MetadataAuditTrailsPostResponseBody: type: object properties: metadataAuditTrailId: type: string format: uuid example: b6161270-eb08-4242-90ec-967d5db62070 required: - metadataAuditTrailId TaxMetadataGetResponseBody: type: object properties: taxMetadata: type: array items: type: object properties: taxMetadataId: type: string format: uuid example: 192882fe-3f51-46bb-bfdb-2e4cb31ef925 taxCode: type: string example: V21 taxPercentageAmount: type: number example: 21 description: type: string example: BTW VERKOOP HOOG 21% validFrom: type: string format: date-time example: 2024-03-22T09:00:00 validUntil: type: string format: date-time nullable: true example: null required: - taxMetadataId - taxCode - taxPercentageAmount - description - validFrom href: type: string nullable: true description: URI for pagination. example: null TaxMetadataPostRequestBody: type: object properties: taxCode: type: string example: V21 taxPercentageAmount: type: integer example: 21 description: type: string example: BTW VERKOOP HOOG 21% validFrom: type: string format: date-time example: 2024-03-22T09:00:00 validUntil: type: string format: date-time nullable: true example: null required: - taxCode - taxPercentageAmount - description - validFrom TaxMetadataPostResponseBody: type: object properties: taxMetadataId: type: string format: uuid example: 192882fe-3f51-46bb-bfdb-2e4cb31ef925 required: - taxMetadataId TaxMetadataPatchRequestBody: type: object properties: taxCode: type: string example: V21 taxPercentageAmount: type: integer example: 21 description: type: string example: BTW VERKOOP HOOG 21% validFrom: type: string format: date-time example: 2024-03-22T09:00:00 validUntil: type: string format: date-time nullable: true example: null TaxMetadataPatchResponseBody: type: object properties: taxMetadataId: type: string format: uuid example: 192882fe-3f51-46bb-bfdb-2e4cb31ef925 required: - taxMetadataId SourceMetadataGetResponseBody: type: object properties: sourceMetadata: type: array items: $ref: "#/components/schemas/SourceMetadata" href: type: string nullable: true description: URI for pagination. example: null SourceMetadataPostRequestBody: type: object properties: incomingName: type: string example: VerkoopEngine incomingEntity: type: string example: OrderLine outgoingName: type: string example: Website Verkopen businessOwner: type: string example: Koos Verweg rejectionProcessing: type: string example: system rejectionInfo: type: string example: api.htm.nl/v2/account/12345/msgs/abc required: - incomingName - incomingEntity - outgoingName - businessOwner - rejectionProcessing - rejectionInfo SourceMetadataPostResponseBody: type: object properties: sourceMetadataId: type: string format: uuid example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb required: - sourceMetadataId SourceMetadataPatchRequestBody: type: object properties: incomingName: type: string example: VerkoopEngine incomingEntity: type: string example: OrderLine outgoingName: type: string example: Website Verkopen businessOwner: type: string example: Koos Verweg rejectionProcessing: type: string example: system rejectionInfo: type: string example: api.htm.nl/v2/account/12345/msgs/abc SourceMetadataPatchResponseBody: type: object properties: sourceMetadataId: type: string format: uuid example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb required: - sourceMetadataId AccountingPeriodMetadataGetResponseBody: type: object properties: accountingPeriodMetadata: type: array items: type: object properties: accountingPeriodMetadataId: type: string format: uuid example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb accountingPeriod: type: string example: 2024/01 isOpen: type: boolean example: true required: - accountingPeriodMetadataId - accountingPeriod - isOpen href: type: string nullable: true description: URI for pagination. example: null AccountingPeriodMetadataPostRequestBody: type: object properties: accountingPeriod: type: string example: 2024/01 isOpen: type: boolean example: true required: - accountingPeriod - isOpen AccountingPeriodMetadataPostResponseBody: type: object properties: accountingPeriodMetadataId: type: string format: uuid example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb required: - accountingPeriodMetadataId AccountingPeriodMetadataPatchRequestBody: type: object properties: accountingPeriod: type: string example: 2024/01 isOpen: type: boolean example: true AccountingPeriodMetadataPatchResponseBody: type: object properties: accountingPeriodMetadataId: type: string format: uuid example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb required: - accountingPeriodMetadataId ConcessionMetadataGetResponseBody: type: object properties: concessionMetadata: type: array items: type: object properties: concessionMetadataId: type: string format: en example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb concession: type: object $ref: "#/components/schemas/Concession" percentage: type: number example: 84.021 validFrom: type: string format: date-time example: 2024-01-01T00:00:00.000 validUntil: type: string format: date-time nullable: true example: null required: - concessionMetadataId - concession - percentage - validFrom href: type: string nullable: true description: URI for pagination. example: null ConcessionMetadataPostRequestBody: type: object properties: concessionId: type: integer example: 1 percentage: type: number example: 84.021 validFrom: type: string format: date-time example: 2024-01-01T00:00:00.000 validUntil: type: string format: date-time nullable: true example: null required: - concessionId - percentage - validFrom ConcessionMetadataPostResponseBody: type: object properties: concessionMetadataId: type: string format: uuid example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb required: - concessionMetadataId ConcessionMetadataPatchRequestBody: type: object properties: concessionId: type: integer example: 1 percentage: type: number example: 84.021 validFrom: type: string format: date-time example: 2024-01-01T00:00:00.000 validUntil: type: string format: date-time nullable: true example: null ConcessionMetadataPatchResponseBody: type: object properties: concessionMetadataId: type: string format: uuid example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb required: - concessionMetadataId ConcessionsGetResponseBody: type: object properties: concessions: type: array items: $ref: "#/components/schemas/Concession" href: type: string nullable: true description: URI for pagination. example: null Concession: type: object properties: concessionId: type: integer example: 1 name: type: string example: RAIL required: - concessionId - name SourceMetadata: type: object properties: sourceMetadataId: type: string format: uuid example: bc4ea24a-27a5-40e8-bbbc-57a105afaaa0 incomingName: type: string example: VerkoopEngine incomingEntity: type: string example: OrderLine outgoingName: type: string example: Website Verkopen businessOwner: type: string example: Koos Verweg rejectionProcessing: type: string example: system rejectionInfo: type: string example: api.htm.nl/v2/account/12345/msgs/abc required: - sourceMetadataId - incomingName - incomingEntity - outgoingName - businessOwner - rejectionProcessing - rejectionInfo - validFrom TransactionItemsResponseStatusGetResponseBody: 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 409Response: type: object properties: code: type: string example: "409" type: type: string example: error message: type: string example: conflict description: type: string example: >- A transaction with the same TransactionId and TransactionLineId already exists. errors: type: array items: type: object properties: detail: type: string example: >- Transaction is a duplicate of a transaction already in the system. pointer: type: string example: "#/transactionItems/0" transactionId: type: string example: 1ad109d3-fd7d-4b6f-872b-220d492f385f transactionLineId: type: string example: fee907dd-e59d-44f5-a63b-bbdec38f79b7 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"