openapi: "3.0.3" info: title: ABT FIKO CRUD APIs v2 version: "1.0" description: CRUD APIs for ABT FIKO database v2. servers: - url: https://api.integratielaag.nl/v1 paths: /transactionitems: get: summary: Find transaction items. description: Find transaction items. tags: - Transactions v2 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: 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: productCode schema: type: string example: HTM-MND-20 description: The product code of the transaction. - 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: highestProcessingFailureStatus schema: type: array items: type: string example: [open] explode: false description: Find the highest processing failure status of the transaction. %00 is searching for NULL-values. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/TransactionItemsGetResponseBody" post: summary: Add a finanicial transaction item. description: Add a finanicial transaction item. tags: - Transactions v2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/TransactionItemsPostRequestBody" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/TransactionItemsPostResponseBody" /transactionitems/bulk: post: summary: Add one ore more finanicial transaction items in bulk. description: Add one ore more finanicial transaction items in bulk. tags: - Transactions v2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/TransactionItemsBulkPostRequestBody" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/TransactionItemsBulkPostResponseBody" /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 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/TransactionItemsPatchRequestBody" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/TransactionItemsPatchResponseBody" /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 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/ProcessingFailuresPostRequestBody" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/ProcessingFailuresPostResponseBody" /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 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/TransactionAuditTrailsPostRequestBody" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/TransactionAuditTrailsPostResponseBody" /transactionaudittrails: get: summary: Find audit trail entries. description: Find audit trail entries. tags: - Audit Trail v2 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: [created, succeeded, failed] explode: false description: The action of the event. - 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. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/TransactionAuditTrailsGetResponseBody" /processingfailures: get: summary: Find processing failures. description: Find processing failures. tags: - Failures v2 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: department schema: type: string example: 900 description: The department (element 1) of the processing failure. - in: query name: costCenter schema: type: string example: 84955 description: The cost center (element 3) of the processing failure. - in: query name: costType schema: type: string example: 619031 description: The cost type (element 2) of the processing failure. - in: query name: documentDate schema: type: string format: date example: 2024-10-04 description: The document date of the processing failure. - in: query name: documentCode schema: type: string example: VERK_FACTUUR description: The document code of the processing failure. - in: query name: accountingPeriod schema: type: string example: 2024/10 description: The accounting period of the processing failure. - in: query name: transactionDescription schema: type: string example: Dagkaart description: The transaction description of the processing failure. - in: query name: contraAccount schema: type: string example: 220.10419 description: The contra account of the processing failure. - in: query name: status schema: type: array items: type: string example: [open, rejected] explode: false description: The status of the processing failure. - in: query name: minOccurences schema: type: integer example: 1 description: Minimum number of occurences. - in: query name: maxOccurences schema: type: integer example: 3 description: Maximum number of occurences. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ProcessingFailuresGetResponseBody" /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 requestBody: content: application/json: schema: $ref: "#/components/schemas/ProcessingFailuresPatchRequestBody" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ProcessingFailuresPatchResponseBody" /processingfailures/{processingFailureId}/processingfailureinstances: 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. post: summary: Add a processing failure instance to a processing failure. description: Add a processing failure instance to a processing failure. tags: - Failures v2 requestBody: content: application/json: schema: $ref: "#/components/schemas/ProcessingFailureInstancesPostRequestBody" responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/ProcessingFailureInstancesPostResponseBody" /processingfailureinstances/{processingFailureInstanceId}: parameters: - in: path name: processingFailureInstanceId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: true description: The id of the processing failure instance. patch: summary: Update processing failure instance. description: Update processing failure instance. tags: - Failures v2 requestBody: content: application/json: schema: $ref: "#/components/schemas/ProcessingFailureInstancesPatchRequestBody" responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/ProcessingFailureInstancesPatchResponseBody" /productmetadata: get: summary: Find product metadata. description: Find product metadata. tags: - Metadata v2 parameters: - in: query name: productMetadataId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf description: The id of the product metadata. - in: query name: productCode schema: type: string example: 4031 description: The product code. - in: query name: department schema: type: string example: 900 description: The department. - in: query name: costType schema: type: string example: 619031 description: The cost type. - in: query name: description schema: type: string example: O4031_Reisproduct HTM 1 dag Anoniem description: The description. - in: query name: documentCode schema: type: string example: VERK_FACTUUR description: The document code. - in: query name: updatedBefore schema: type: string example: 2022-01-01 00:00:00 description: Timestamp that the metadata was updated before. - in: query name: updatedAfter schema: type: string example: 2022-01-01 00:00:00 description: Timestamp that the metadata was updated after. - in: query name: validAt schema: type: string example: 2024-03-22T09:00:00 description: Timestamp that the metadata is valid. - in: query name: contraAccountMetadataId schema: type: string format: uuid example: e0af8c8f-d421-4567-a14e-48e2a1bb86fb description: Find product metadata that is linked to this contra account. - in: query name: concessionId schema: type: array items: type: integer example: [1, 2] explode: false description: Find product metadata that is linked to this concession. - in: query name: sourceMetadataId schema: type: string format: uuid example: 08d96f94-f468-467e-9068-c86c34f43097 description: Find product metadata that is linked to this source metadata. - in: query name: costCenter schema: type: string example: 84955 description: Find product metadata that is linked to this cost center. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "productMetadata": [ { "productMetadataId": "39a87c2a-9011-4dfd-b35e-1245a98c2e61", "productCode": "4031", "department": "900", "costType": "619031", "description": "O4031_Reisproduct HTM 1 dag Anoniem", "documentCode": "VERK_FACTUUR", "timestampUpdated": "2022-01-01T00:00:00", "validFrom": "2024-03-22T09:00:00", "validUntil": null, "productContraAccounts": [ { "contraAccountMetadata": { "contraAccountMetadataId": "e0af8c8f-d421-4567-a14e-48e2a1bb86fb", "contraAccountCode": "123456", "contraAccountNumber": "220.10419", "validFrom": "2024-03-22T09:00:00", "validUntil": null, }, "concession": { "concessionId": 2, "name": "bus" }, "sourceMetadata": { "sourceMetadataId": "bc4ea24a-27a5-40e8-bbbc-57a105afaaa0", "incomingName": "VerkoopEngine", "incomingEntity": "OrderLine", "outgoingName": "Website Verkopen", "businessOwner": "Corneel Verstoep", "rejectionProcessing": "system", "rejectionInfo": "api.htm.nl/v2/account/12345/msgs/abc", "validFrom": "2024-01-01T00:00:00.000", "validUntil": null, }, "costCenter": "84955", "validFrom": "2024-03-22T09:00:00", "validUntil": null, }, { "contraAccountMetadata": { "contraAccountMetadataId": "69c562ca-5299-4585-ac92-46fb54aeb99e", "contraAccountCode": "123456", "contraAccountNumber": "220.10419", "validFrom": "2024-03-22T09:00:00", "validUntil": null, }, "concession": { "concessionId": 1, "name": "bus" }, "sourceMetadata": { "sourceMetadataId": "bc4ea24a-27a5-40e8-bbbc-57a105afaaa0", "incomingName": "VerkoopEngine", "incomingEntity": "OrderLine", "outgoingName": "Website Verkopen", "businessOwner": "Corneel Verstoep", "rejectionProcessing": "system", "rejectionInfo": "api.htm.nl/v2/account/12345/msgs/abc", "validFrom": "2024-01-01T00:00:00.000", "validUntil": null, }, "validFrom": "2024-03-22T09:00:00", "validUntil": null, }, ], }, ], "href": null, } post: summary: Add product metadata. description: Add product metadata. tags: - Metadata v2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "productCode": "4031", "department": "900", "costCenter": "84955", "costType": "619031", "description": "O4031_Reisproduct HTM 1 dag Anoniem", "documentCode": "VERK_FACTUUR", "timestampUpdated": "2022-01-01 00:00:00", "validFrom": "2024-03-22T09:00:00", "validUntil": null, "productContraAccounts": [ { "contraAccountMetadataId": "e0af8c8f-d421-4567-a14e-48e2a1bb86fb", "concessionId": 1, "sourceMetadataId": "08d96f94-f468-467e-9068-c86c34f43097", "costCenter": "84955", "validFrom": "2024-03-22T09:00:00", "validUntil": null, }, { "contraAccountMetadataId": "02e458ce-f77a-4262-8b38-490e54f52856", "concessionId": 2, "sourceMetadataId": "08d96f94-f468-467e-9068-c86c34f43097", "costCenter": "84955", "validFrom": "2024-03-22T09:00:00", "validUntil": null, }, ], } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "productMetadataId": "39a87c2a-9011-4dfd-b35e-1245a98c2e61" } /productmetadata/{productMetadataId}: parameters: - in: path name: productMetadataId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: true description: The id of the product metadata. patch: summary: Update product metadata. description: Update product metadata. tags: - Metadata v2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "productCode": "4031", "department": "900", "costType": "619031", "description": "O4031_Reisproduct HTM 1 dag Anoniem", "documentCode": "VERK_FACTUUR", "timestampUpdated": "2022-01-01 00:00:00", "validFrom": "2024-03-22T09:00:00", "validUntil": null, } responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "productMetadataId": "39a87c2a-9011-4dfd-b35e-1245a98c2e61" } /productmetadata/{productMetadataId}/productcontraaccounts: parameters: - in: path name: productMetadataId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: true description: The id of the product metadata. post: summary: Add product contra account. description: Add product contra account. tags: - Metadata v2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "contraAccountMetadataId": "e0af8c8f-d421-4567-a14e-48e2a1bb86fb", "concessionId": 1, "sourceMetadataId": "08d96f94-f468-467e-9068-c86c34f43097", "costCenter": "84955", "validFrom": "2024-03-22T09:00:00", "validUntil": null, } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "productContraAccountId": "39a87c2a-9011-4dfd-b35e-1245a98c2e61", } /productcontraaccounts/{productContraAccountId}: parameters: - in: path name: productContraAccountId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: true description: The id of the product contra account. patch: summary: Update product contra account. description: Update product contra account. tags: - Metadata v2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "contraAccountMetadataId": "e0af8c8f-d421-4567-a14e-48e2a1bb86fb", "concessionId": 1, "sourceMetadataId": "08d96f94-f468-467e-9068-c86c34f43097", "costCenter": "84955", "validFrom": "2024-03-22T09:00:00", "validUntil": null, } responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "productContraAccountId": "39a87c2a-9011-4dfd-b35e-1245a98c2e61", } /contraaccountmetadata: get: summary: Find contra account metadata. description: Find contra account metadata. tags: - Metadata v2 parameters: - in: query name: contraAccountMetadataId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf description: The id of the contra account metadata. - in: query name: contraAccountCode schema: type: string example: 123456 description: The code of the contra account. - in: query name: contraAccountNumber schema: type: string example: 220.10419 description: The number of the contra account. - in: query name: validAt schema: type: string format: date-time example: 2024-03-22T09:00:00 description: Timestamp that the metadata is valid. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "contraAccountMetadata": [ { "contraAccountMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", "contraAccountCode": "123456", "contraAccountNumber": "220.10419", "validFrom": "2024-03-22T09:00:00", "validUntil": null, }, ], "href": null, } post: summary: Add contra account metadata. description: Add contra account metadata. tags: - Metadata v2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "contraAccountCode": "123456", "contraAccountNumber": "220.10419", "validFrom": "2024-03-22T09:00:00", "validUntil": null, } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "contraAccountMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", } /contraaccountmetadata/{contraAccountMetadataId}: parameters: - in: path name: contraAccountMetadataId schema: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: true description: The id of the contra account metadata. patch: summary: Update contra account metadata. description: Update contra account metadata. tags: - Metadata v2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "contraAccountNumber": "220.10419", "validFrom": "2024-03-22T09:00:00", "validUntil": null, } responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "contraAccountMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", } /taxmetadata: get: summary: Find tax metadata. description: Find tax metadata. tags: - Metadata v2 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: string 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. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "taxMetadata": [ { "taxMetadataId": "bc4ea24a-27a5-40e8-bbbc-57a105afaaa0", "taxCode": "V21", "taxPercentageAmount": 21, "description": "BTW VERKOOP HOOG 21%", "validFrom": "2024-01-01T00:00:00.000", "validUntil": null, }, { "taxMetadataId": "73c47af3-7c8b-44d3-b599-9b6f5a587a82", "taxCode": "V09", "taxPercentageAmount": 9, "description": "BTW VERKOOP LAAG 9%", "validFrom": "2024-01-01T00:00:00.000", "validUntil": null, }, { "taxMetadataId": "423b879c-e8db-4ba2-a2b4-0adfe037043d", "taxCode": "V0", "taxPercentageAmount": 0, "description": "BTW VERKOOP NUL", "validFrom": "2024-01-01T00:00:00.000", "validUntil": null, }, ], "href": null, } post: summary: Add tax metadata. description: Add tax metadata. tags: - Metadata v2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "taxCode": "V21", "taxPercentageAmount": 21, "description": "BTW VERKOOP HOOG 21%", "validFrom": "2024-03-22T09:00:00", "validUntil": null, } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "taxMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf" } /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 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "taxCode": "V21", "taxPercentageAmount": 21, "description": "BTW VERKOOP HOOG 21%", "validFrom": "2024-03-22T09:00:00", "validUntil": "2025-12-31T23:59:59", } responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "taxMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf" } /sourcemetadata: get: summary: Find source metadata. description: Find source metadata. tags: - Metadata v2 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: Corneel Verstoep 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: validAt schema: type: string example: 2024-01-01T00:00:00.000 description: Timestamp that the metadata is valid. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "sourceMetadata": [ { "sourceMetadataId": "bc4ea24a-27a5-40e8-bbbc-57a105afaaa0", "incomingName": "VerkoopEngine", "incomingEntity": "OrderLine", "outgoingName": "Website Verkopen", "businessOwner": "Corneel Verstoep", "rejectionProcessing": "system", "rejectionInfo": "api.htm.nl/v2/account/12345/msgs/abc", "validFrom": "2024-01-01T00:00:00.000", "validUntil": null, }, ], "href": null, } post: summary: Add source metadata. description: Add source metadata. tags: - Metadata v2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "incomingName": "VerkoopEngine", "incomingEntity": "OrderLine", "outgoingName": "Website Verkopen", "businessOwner": "Corneel Verstoep", "rejectionProcessing": "system", "rejectionInfo": "api.htm.nl/v2/account/12345/msgs/abc", "validFrom": "2024-03-22T09:00:00", "validUntil": null, } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "sourceMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf" } /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 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "incomingName": "VerkoopEngine", "incomingEntity": "OrderLine", "outgoingName": "Website Verkopen", "businessOwner": "Corneel Verstoep", "rejectionProcessing": "system", "rejectionInfo": "api.htm.nl/v2/account/12345/msgs/abc", "validFrom": "2024-03-22T09:00:00", "validUntil": null, } responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "sourceMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf" } /accountingperiodmetadata: get: summary: Find accounting period metadata. description: Find accounting period metadata. tags: - Metadata v2 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. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "accountingPeriodMetadata": [ { "accountingPeriodMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", "accountingPeriod": "2024-01", "isOpen": false, }, { "accountingPeriodMetadataId": "0302c651-f040-4cbc-8a4d-90dc82f29a32", "accountingPeriod": "2024-02", "isOpen": true, }, ], "href": null, } post: summary: Add accounting period metadata. description: Add accounting period metadata. tags: - Metadata v2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "accountingPeriod": "2024-01", "isOpen": true } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "accountingPeriodMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", } /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 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "accountingPeriod": "2024-01", "isOpen": true } responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "accountingPeriodMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", } /concessionmetadata: get: summary: Find concession metadata. description: Find concession metadata. tags: - Metadata v2 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 id 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. responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "concessionMetadata": [ { "concessionMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", "concession": { "concessionId": 1, "name": "rail" }, "percentage": 84.021, "validFrom": "2024-01-01T00:00:00.000", "validUntil": null, }, { "concessionMetadataId": "5ac3a5a8-4b9b-4a6a-9b1f-86ae8d6d4a9b", "concession": { "concessionId": 2, "name": "bus" }, "percentage": 15.979, "validFrom": "2024-01-01T00:00:00.000", "validUntil": null, }, ], "href": null, } post: summary: Add concession metadata. description: Add concession metadata. tags: - Metadata v2 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "concessionId": 2, "percentage": 15.979, "validFrom": "2024-01-01T00:00:00.000", "validUntil": null, } responses: "201": description: Created content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "concessionMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", } /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 requestBody: required: true content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "concessionId": 2, "percentage": 15.979, "validFrom": "2024-01-01T00:00:00.000", "validUntil": null, } responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "concessionMetadataId": "37a8095b-19db-498f-9349-5f37d21c5bdf", } /metadataaudittrails: get: summary: Find metadata audit trails. description: Find metadata audit trails. tags: - Audit Trail v2 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: r.meeuws 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. tags: - Audit Trail v2 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 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "concessions": [ { "concessionId": 1, "name": "rail" }, { "concessionId": 2, "name": "bus" }, { "concessionId": 3, "name": "not_applicable" }, ], "href": null, } /failurereasons: get: summary: Get all failure reasons. description: Get all failure reasons. tags: - References v2 responses: "200": description: OK content: application/json: schema: $ref: "#/components/schemas/unavailable" example: { "failureReasons": [ { "failureReasonId": 1, "reasonCode": "002", "reasonDesc": "Contra account does not exist", }, { "failureReasonId": 2, "reasonCode": "003", "reasonDesc": "Accouting period closed", }, ], "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 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 productCode: type: string example: HTM-MND-20 aggregationReference: type: string nullable: true example: FIKO-123456 accountingSystemReference: type: string nullable: true example: U4F-123456 required: - transactionItemId - sourceName - transactionId - name - quantity - taxCode - amountExclTax - amountInclTax - amountTax - occurredOn - type - productCode href: type: string nullable: true description: URI for pagination. example: null TransactionItemsPostRequestBody: type: object properties: 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 productCode: type: string example: HTM-MND-20 required: - sourceName - transactionId - name - quantity - taxCode - amountExclTax - amountInclTax - amountTax - occurredOn - type - productCode TransactionItemsPostResponseBody: type: object properties: transactionItemId: type: string format: uuid example: afce35b2-1dff-4ace-98d0-4b9ac405c87d required: - transactionItemId TransactionItemsBulkPostRequestBody: type: object properties: transactionItems: type: array items: type: object properties: 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 productCode: type: string example: HTM-MND-20 required: - sourceName - transactionId - name - quantity - taxCode - amountExclTax - amountInclTax - amountTax - occurredOn - type - productCode TransactionItemsBulkPostResponseBody: type: array items: type: object properties: transactionItemId: type: string format: uuid example: afce35b2-1dff-4ace-98d0-4b9ac405c87d required: - transactionItemId TransactionItemsPatchRequestBody: type: object properties: 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: department: type: string nullable: true example: 900 costCenter: type: string nullable: true example: 84955 costType: type: string nullable: true example: 619031 documentDate: type: string format: date nullable: true example: 2022-01-01 documentCode: type: string nullable: true example: VERK_FACTUUR accountingPeriod: type: string nullable: true example: 2024/10 transactionDescription: type: string nullable: true example: Dagkaart contraAccountNumber: type: string nullable: true example: 220.10419 status: type: string enum: - open - returned to trx-db - returned to src example: open occurence: type: integer example: 1 processingFailureInstances: type: array items: $ref: "#/components/schemas/ProcessingFailureInstancesPostRequestBody" required: - status - occurence - processingFailureInstances 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 department: type: string nullable: true example: 900 costCenter: type: string nullable: true example: 84955 costType: type: string nullable: true example: 619031 documentDate: type: string format: date nullable: true example: 2022-01-01 documentCode: type: string nullable: true example: VERK_FACTUUR accountingPeriod: type: string nullable: true example: 2024/10 transactionDescription: type: string nullable: true example: Dagkaart contraAccountNumber: type: string nullable: true example: 220.10419 status: type: string enum: - open - returned to trx-db - returned to src example: open occurence: type: integer example: 1 processingFailureInstances: type: array items: type: object properties: processingFailureInstanceId: type: string format: uuid example: 9afa9a6b-5b6a-4b0a-9c9e-4b0a5b6a4b0a timestamp: type: string format: date-time example: 2022-01-01 00:00:00 failureReason: type: object properties: failureReasonId: type: integer example: 1 reasonCode: type: string example: 002 reasonDesc: type: string example: Contra account does not exist required: - failureReasonId - reasonCode - reasonDesc element: type: string example: costCenter occurence: type: integer example: 1 change: type: string nullable: true example: Adapt config required: - processingFailureInstanceId - timestamp - failureReason - element - occurence required: - processingFailureId - transactionItemId - status - occurence - processingFailureInstances href: type: string nullable: true description: URI for pagination. example: null ProcessingFailuresPatchRequestBody: type: object properties: status: type: string enum: - open - returned to trx-db - returned to src nullable: true example: returned to trx-db occurence: type: integer nullable: true example: 2 ProcessingFailuresPatchResponseBody: type: object properties: processingFailureId: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: - processingFailureId ProcessingFailureInstancesPostRequestBody: type: object properties: timestamp: type: string format: date-time example: 2022-01-01 00:00:00 failureReasonId: type: integer example: 1 element: type: string example: costCenter occurence: type: integer example: 1 change: type: string nullable: true example: Adapt config required: - timestamp - failureReason - element - occurence ProcessingFailureInstancesPostResponseBody: type: object properties: processingFailureInstanceId: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: - processingFailureInstanceId ProcessingFailureInstancesPatchRequestBody: type: object properties: timestamp: type: string format: date-time nullable: true example: 2022-01-01 00:00:00 occurence: type: integer nullable: true example: 1 change: type: string nullable: true example: Adapt config ProcessingFailureInstancesPatchResponseBody: type: object properties: processingFailureInstanceId: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf required: - processingFailureInstanceId 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: - created - succeeded - failed - returned to trx-db - returned to src 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 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: - created - succeeded - failed - returned to trx-db - returned to src 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 href: type: string nullable: true example: null required: - transactionAuditTrails 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: r.meeuws 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: r.meeuws 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 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" postMetadataAuditTrailResponse: type: object properties: metadataAuditTrailId: type: string format: uuid example: 37a8095b-19db-498f-9349-5f37d21c5bdf