ovpay/src/openapi/fiko/fiko-crud.yaml

2426 lines
74 KiB
YAML

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