{
  "openapi": "3.1.1",
  "info": {
    "title": "e-Boekhouden API",
    "description": "### Quick Start\r\n\r\n1. If you haven't already, first create an API-token on the website.\r\n   API-tokens can be managed in the settings of your account.  \r\n   Make sure to save your token somewhere secure, as it will not be shown again after creation.\r\n2. Send a POST request to the `/v1/session` endpoint with your API-token. This creates a short-lived session token.  \r\n   <em>Tip: A unique source can help us troubleshoot problems quicker when contacting support.  </em>\r\n   ```json\r\n   {\r\n     \"accessToken\": \"API_TOKEN\",\r\n     \"source\": \"Postman\"\r\n   }\r\n   ```\r\n3. Include the session token from the response in your request headers to access the rest of the API.  \r\n   ```\r\n   Authorization: SESSION_TOKEN\r\n   ```\r\n\r\n### Filters\r\n\r\nVarious parameters support filters. These can be identified with the format `($filter-type)`, where `type` is a known [OAS type format](https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.0.md#data-types).  \r\nCurrently only one filter can be applied to a parameter.\r\n\r\n<details>\r\n<summary>Strings</summary>\r\n\r\n#### Strings (`$filter-string`)\r\n\r\n<div data-table-slim>\r\n\r\n| Filter | Syntax | Example |\r\n|---|---|---|\r\n| Equal* | `[eq]` | `?parameter=value` |\r\n| Not equal | `[not_eq]` | `?parameter[not_eq]=value` |\r\n| Like** | `[like]` | `?parameter[like]=%25value%25` |\r\n| Not like** | `[not_like]` | `?parameter[not_like]=%25value%25` |\r\n\r\n</div>\r\n\r\n<sub>\\* Equal is used as the default filter if none is given.</sub><br/>\r\n<sub>\\*\\* Wildcards `?` (one character) and `%` (multiple characters) may be used. Keep in mind these must be escaped when used in a query.</sub>\r\n\r\n</details>\r\n\r\n<details>\r\n<summary>Numbers</summary>\r\n\r\n#### Numbers (`$filter-int32`, `$filter-int64`)\r\n\r\n<div data-table-slim>\r\n\r\n| Filter | Syntax | Example |\r\n|---|---|---|\r\n| Equal* | `[eq]` | `?parameter=5` |\r\n| Not equal | `[not_eq]` | `?parameter[not_eq]=5` |\r\n| Greater than | `[gt]` | `?parameter[gt]=5` |\r\n| Greater than or equal to | `[gte]` | `?parameter[gte]=5` |\r\n| Less than | `[lt]` | `?parameter[lt]=5` |\r\n| Less than or equal to | `[lte]` | `?parameter[lte]=5` |\r\n| Range** | `[range]` | `?parameter[range]=5,10` |\r\n\r\n</div>\r\n\r\n<sub>\\* Equal is used as the default filter if none is given.</sub>  \r\n<sub>\\*\\* Values are inclusive.</sub>\r\n\r\n</details>\r\n\r\n<details>\r\n<summary>Dates</summary>\r\n\r\n#### Dates (`$filter-date`)\r\n\r\n<div data-table-slim>\r\n\r\n| Filter | Syntax | Example |\r\n|---|---|---|\r\n| Equal* | `[eq]` | `?parameter=2025-01-01` |\r\n| Not equal | `[not_eq]` | `?parameter[not_eq]=2025-01-01` |\r\n| Greater than | `[gt]` | `?parameter[gt]=2025-01-01` |\r\n| Greater than or equal to | `[gte]` | `?parameter[gte]=2025-01-01` |\r\n| Less than | `[lt]` | `?parameter[lt]=2025-01-01` |\r\n| Less than or equal to | `[lte]` | `?parameter[lte]=2025-01-01` |\r\n| Range** | `[range]` | `?parameter[range]=2025-01-01,2025-12-31` |\r\n\r\n</div>\r\n\r\n<sub>\\* Equal is used as the default filter if none is given.</sub>  \r\n<sub>\\*\\* Values are inclusive.</sub>\r\n\r\n</details>\r\n\r\n### Paging\r\n\r\nMost search endpoints have an optional `limit` and `offset` parameter.  \r\nThe parameter `limit` defaults to 100 and must be an integer between 1 and 2000.  \r\nThe parameter `offset` defaults to 0 and must be a positive integer.\r\n\r\n\r\n### Dates\r\n\r\nSome endpoints accept or return date properties. These should always follow the ISO 8601 format.  \r\nThe format is `YYYY-MM-DD` for dates.\r\n\r\n\r\n### VAT codes\r\n\r\nSome endpoints accept or return VAT codes. Please ensure that you only use VAT codes relevant to the country your company is registered in. </br>\r\nThe available VAT codes are as follows.\r\n\r\n<details>\r\n<summary>NL</summary>\r\n\r\n| Code | Description | Rate | Type | Cut-off date |\r\n|---|---|---|---|---|\r\n| LAAG_VERK | VAT 6% | 6% | Sale | **2019-01-01** |\r\n| LAAG_VERK_9 | VAT 9% | 9% | Sale | |\r\n| HOOG_VERK_21 | VAT 21% | 21% | Sale | |\r\n| AFW_VERK | Divergent | | Sale | |\r\n| VERL_VERK | Reverse charge 21% | 21% | Sale | |\r\n| VERL_VERK_L9 | Reverse charge 9% | 9% | Sale | |\r\n| BU_EU_VERK | Delivery outside the EU 0% | 0% | Sale | |\r\n| AFST_VERK | Distance selling within the EU 0% | 0% | Sale | |\r\n| BI_EU_VERK_D | Services within the EU 0% | 0% | Sale | |\r\n| LAAG_INK | VAT 6% | 6% | Purchase | **2019-01-01** |\r\n| LAAG_INK_9 | VAT 9% | 9% | Purchase | |\r\n| HOOG_INK_21 | VAT 21% | 21% | Purchase | |\r\n| AFW | Divergent | | Purchase | |\r\n| VERL_INK_L9 | Reverse charge 9% | 9% | Purchase | |\r\n| VERL_INK_L | Reverse charge 6% | 6% | Purchase | **2019-01-01** |\r\n| VERL_INK | Reverse charge 21% | 21% | Purchase | |\r\n| BU_EU_INK | Delivery/services outside the EU 0% | 0% | Purchase | |\r\n| BI_EU_VERK | Delivery within the EU 0% | 0% | Purchase | |\r\n| BI_EU_INK | Delivery/services within the EU 0% | 0% | Purchase | |\r\n| GEEN | No VAT | 0% | | |\r\n\r\n</details>\r\n\r\n<details>\r\n<summary>BE</summary>\r\n\r\n| Code | Description | Rate | Type | Cut-off date |\r\n|---|---|---|---|---|\r\n| BE_0_INK | Domestic purchase (0%) | 0% | Purchase | |\r\n| BE_6_INK | Domestic purchase (6%) | 6% | Purchase | |\r\n| BE_12_INK | Domestic purchase (12%) | 12% | Purchase | |\r\n| BE_21_INK | Domestic purchase (21%) | 21% | Purchase | |\r\n| BE_VERL_0_INK | Reverse charge (co-contractor 0%) | 0% | Purchase | |\r\n| BE_VERL_6_INK | Reverse charge (co-contractor 6%) | 6% | Purchase | |\r\n| BE_VERL_12_INK | Reverse charge (co-contractor 12%) | 12% | Purchase | |\r\n| BE_VERL_21_INK | Reverse charge (co-contractor 21%) | 21% | Purchase | |\r\n| BE_IC_D_0_INK | Intra-comm. service (EU 0%) | 0% | Purchase | |\r\n| BE_IC_D_6_INK | Intra-comm. service (EU 6%) | 6% | Purchase | |\r\n| BE_IC_D_12_INK | Intra-comm. service (EU 12%) | 12% | Purchase | |\r\n| BE_IC_D_21_INK | Intra-comm. service (EU 21%) | 21% | Purchase | |\r\n| BE_IC_0_INK | Intra-comm. goods (EU 0%) | 0% | Purchase | |\r\n| BE_IC_6_INK | Intra-comm. goods (EU 6%) | 6% | Purchase | |\r\n| BE_IC_12_INK | Intra-comm. goods (EU 12%) | 12% | Purchase | |\r\n| BE_IC_21_INK | Intra-comm. goods (EU 21%) | 21% | Purchase | |\r\n| BE_IMP_0_INK | Import reverse charge (0%) | 0% | Purchase | |\r\n| BE_IMP_6_INK | Import reverse charge (6%) | 6% | Purchase | |\r\n| BE_IMP_12_INK | Import reverse charge (12%) | 12% | Purchase | |\r\n| BE_IMP_21_INK | Import reverse charge (21%) | 21% | Purchase | |\r\n| BE_0_VERK | Domestic sale (0%) | 0% | Sale | |\r\n| BE_6_VERK | Domestic sale (6%) | 6% | Sale | |\r\n| BE_12_VERK | Domestic sale (12%) | 12% | Sale | |\r\n| BE_21_VERK | Domestic sale (21%) | 21% | Sale | |\r\n| BE_IC_D_VERK | Intra-comm. service (EU 0%) | 0% | Sale | |\r\n| BE_VERL_VERK | Reverse charge (co-contractor 0%) | 0% | Sale | |\r\n| BE_IC_VERK | Intra-comm. goods (EU 0%) | 0% | Sale | |\r\n| BE_EXP_VERK | Export sale (0%) | 0% | Sale | |\r\n| GEEN | No VAT | 0% | | |\r\n\r\n</details>\r\n\r\n\r\n### Company registration number\r\n\r\nThe company registration number is a unique identifier for a company.\r\nIn the Netherlands this is the \"KVK-nummer\". In Belgium this is the \"ondernemingsnummer\".\r\n### Error Codes\r\nPossible error codes thrown by endpoints. If the property `code` is present on an error response, it will contain one of these codes.\r\n<details>\r\n<summary>Error codes</summary>\r\n<div data-table-slim><table>\r\n<tr><td><a name=\"ERR_001\">ERR_001</a></td><td>Something went wrong.</td>\r\n<tr><td><a name=\"ERR_002\">ERR_002</a></td><td>Your request contains an invalid value.</td>\r\n<tr><td><a name=\"DATA_01\">DATA_01</a></td><td>No content body provided.</td>\r\n<tr><td><a name=\"MODULE_001\">MODULE_001</a></td><td>The limit for the free trial of the accounting module has been reached.</td>\r\n<tr><td><a name=\"MODULE_002\">MODULE_002</a></td><td>The limit for the free trial of the invoicing module has been reached.</td>\r\n<tr><td><a name=\"PAGE_001\">PAGE_001</a></td><td>Limit must be between 1 and 2000.</td>\r\n<tr><td><a name=\"PAGE_002\">PAGE_002</a></td><td>Offset must be greater than or equal to 0.</td>\r\n<tr><td><a name=\"SECURITY_001\">SECURITY_001</a></td><td>No permission to access the requested resource.</td>\r\n<tr><td><a name=\"SECURITY_002\">SECURITY_002</a></td><td>No administration has been opened in the current session.</td>\r\n<tr><td><a name=\"SECURITY_003\">SECURITY_003</a></td><td>No access to the requested administration.</td>\r\n<tr><td><a name=\"SECURITY_004\">SECURITY_004</a></td><td>The requested administration has not been activated.</td>\r\n<tr><td><a name=\"SECURITY_005\">SECURITY_005</a></td><td>The requested administration is not available due to an overdue payment.</td>\r\n<tr><td><a name=\"SECURITY_006\">SECURITY_006</a></td><td>The requested administration is not accessible. Please contact the adminstration or log in on the website.</td>\r\n<tr><td><a name=\"SECURITY_007\">SECURITY_007</a></td><td>The period has been closed by your accountant and can not be changed.</td>\r\n<tr><td><a name=\"SECURITY_008\">SECURITY_008</a></td><td>The period has been closed by your accountant and can not be reopened.</td>\r\n<tr><td><a name=\"SECURITY_009\">SECURITY_009</a></td><td>Connections with other parties can only be managed when the administration has customer access enabled.</td>\r\n<tr><td><a name=\"SECURITY_010\">SECURITY_010</a></td><td>Not authenticated. Check your Authorization header.</td>\r\n<tr><td><a name=\"SECURITY_011\">SECURITY_011</a></td><td>This account is registered under a different domain. Please make sure you're using the API on the correct domain.</td>\r\n<tr><td><a name=\"SECURITY_999\">SECURITY_999</a></td><td>Something went wrong during authentication.</td>\r\n<tr><td><a name=\"SMTP_001\">SMTP_001</a></td><td>Sending the e-mail failed. Check your SMTP settings.</td>\r\n<tr><td><a name=\"SMTP_002\">SMTP_002</a></td><td>Sending the e-mail failed. Check your SMTP settings.</td>\r\n<tr><td><a name=\"SMTP_003\">SMTP_003</a></td><td>Sending the e-mail failed. Check your SMTP settings.</td>\r\n<tr><td><a name=\"PAKKET_001\">PAKKET_001</a></td><td>Product limit reached.</td>\r\n<tr><td><a name=\"PAKKET_002\">PAKKET_002</a></td><td>Product limit reached.</td>\r\n<tr><td><a name=\"FACT_001\">FACT_001</a></td><td>Relation ID is missing.</td>\r\n<tr><td><a name=\"FACT_002\">FACT_002</a></td><td>Relation not found.</td>\r\n<tr><td><a name=\"FACT_003\">FACT_003</a></td><td>Relation is inactive.</td>\r\n<tr><td><a name=\"FACT_004\">FACT_004</a></td><td>Total invoice amount too high.</td>\r\n<tr><td><a name=\"FACT_005\">FACT_005</a></td><td>Total invoice amount too low.</td>\r\n<tr><td><a name=\"FACT_006\">FACT_006</a></td><td>Invoice number is missing.</td>\r\n<tr><td><a name=\"FACT_007\">FACT_007</a></td><td>Invoice number is too long.</td>\r\n<tr><td><a name=\"FACT_008\">FACT_008</a></td><td>Invoice number is invalid.</td>\r\n<tr><td><a name=\"FACT_009\">FACT_009</a></td><td>Invoice number does not end with a digit.</td>\r\n<tr><td><a name=\"FACT_010\">FACT_010</a></td><td>Invoice VAT must be IN or EX.</td>\r\n<tr><td><a name=\"FACT_011\">FACT_011</a></td><td>Invoice date is missing.</td>\r\n<tr><td><a name=\"FACT_012\">FACT_012</a></td><td>Invoice date invalid.</td>\r\n<tr><td><a name=\"FACT_013\">FACT_013</a></td><td>Invoice date out of range.</td>\r\n<tr><td><a name=\"FACT_014\">FACT_014</a></td><td>Payment reference is too long.</td>\r\n<tr><td><a name=\"FACT_015\">FACT_015</a></td><td>Term of payment is missing.</td>\r\n<tr><td><a name=\"FACT_016\">FACT_016</a></td><td>Term of payment out of range.</td>\r\n<tr><td><a name=\"FACT_017\">FACT_017</a></td><td>Invoice text is too long.</td>\r\n<tr><td><a name=\"FACT_018\">FACT_018</a></td><td>Invoice template not found.</td>\r\n<tr><td><a name=\"FACT_019\">FACT_019</a></td><td>Invoice items are missing.</td>\r\n<tr><td><a name=\"FACT_020\">FACT_020</a></td><td>Email template not found.</td>\r\n<tr><td><a name=\"FACT_021\">FACT_021</a></td><td>Invoice not found.</td>\r\n<tr><td><a name=\"FACT_022\">FACT_022</a></td><td>Send to Peppol for relation without Peppol Id.</td>\r\n<tr><td><a name=\"FACT_023\">FACT_023</a></td><td>Already sent to Peppol.</td>\r\n<tr><td><a name=\"FACT_024\">FACT_024</a></td><td>Administration has no Peppol integration configured</td>\r\n<tr><td><a name=\"FACT_025\">FACT_025</a></td><td>Too many items.</td>\r\n<tr><td><a name=\"FACT_101\">FACT_101</a></td><td>Invoice number is in use.</td>\r\n<tr><td><a name=\"FACT_102\">FACT_102</a></td><td>The limit for the free trial of the invoicing module has been reached. Upgrade your subscription to continue invoicing without restrictions.</td>\r\n<tr><td><a name=\"FACT_EMAIL_001\">FACT_EMAIL_001</a></td><td>Relation email is missing.</td>\r\n<tr><td><a name=\"FACT_EMAIL_002\">FACT_EMAIL_002</a></td><td>Relation email is invalid.</td>\r\n<tr><td><a name=\"FACT_EMAIL_003\">FACT_EMAIL_003</a></td><td>Relation email for invoices is invalid.</td>\r\n<tr><td><a name=\"FACT_EMAIL_004\">FACT_EMAIL_004</a></td><td>Relation email for reminders is invalid.</td>\r\n<tr><td><a name=\"FACT_EMAIL_005\">FACT_EMAIL_005</a></td><td>Something went wrong while attaching files to the email.</td>\r\n<tr><td><a name=\"FACT_EMAIL_006\">FACT_EMAIL_006</a></td><td>Sender email is invalid.</td>\r\n<tr><td><a name=\"FACT_EMAIL_007\">FACT_EMAIL_007</a></td><td>Relation email is missing.</td>\r\n<tr><td><a name=\"FACT_EMAIL_008\">FACT_EMAIL_008</a></td><td>Relation email is invalid.</td>\r\n<tr><td><a name=\"FACT_EMAIL_009\">FACT_EMAIL_009</a></td><td>CC email is invalid.</td>\r\n<tr><td><a name=\"FACT_EMAIL_010\">FACT_EMAIL_010</a></td><td>BCC email is invalid.</td>\r\n<tr><td><a name=\"FACT_EMAIL_011\">FACT_EMAIL_011</a></td><td>Email body is too long</td>\r\n<tr><td><a name=\"FACT_EMAIL_012\">FACT_EMAIL_012</a></td><td>CC or BCC contains a duplicate address.</td>\r\n<tr><td><a name=\"FACT_EMAIL_013\">FACT_EMAIL_013</a></td><td>Subject is missing.</td>\r\n<tr><td><a name=\"FACT_EMAIL_014\">FACT_EMAIL_014</a></td><td>Body is missing.</td>\r\n<tr><td><a name=\"FACT_INCASSO_001\">FACT_INCASSO_001</a></td><td>Mandate type is missing.</td>\r\n<tr><td><a name=\"FACT_INCASSO_002\">FACT_INCASSO_002</a></td><td>Mandate type is invalid.</td>\r\n<tr><td><a name=\"FACT_INCASSO_003\">FACT_INCASSO_003</a></td><td>Mandate ID is missing.</td>\r\n<tr><td><a name=\"FACT_INCASSO_004\">FACT_INCASSO_004</a></td><td>Mandate ID is too long.</td>\r\n<tr><td><a name=\"FACT_INCASSO_005\">FACT_INCASSO_005</a></td><td>Mandate signed date is missing.</td>\r\n<tr><td><a name=\"FACT_INCASSO_006\">FACT_INCASSO_006</a></td><td>Mandate signed date is invalid.</td>\r\n<tr><td><a name=\"FACT_INCASSO_007\">FACT_INCASSO_007</a></td><td>Mandate signed date out of range.</td>\r\n<tr><td><a name=\"FACT_INCASSO_008\">FACT_INCASSO_008</a></td><td>IBAN is missing.</td>\r\n<tr><td><a name=\"FACT_INCASSO_009\">FACT_INCASSO_009</a></td><td>IBAN is too long.</td>\r\n<tr><td><a name=\"FACT_INCASSO_010\">FACT_INCASSO_010</a></td><td>IBAN is invalid.</td>\r\n<tr><td><a name=\"FACT_INCASSO_011\">FACT_INCASSO_011</a></td><td>Name is too long.</td>\r\n<tr><td><a name=\"FACT_INCASSO_012\">FACT_INCASSO_012</a></td><td>City is too long.</td>\r\n<tr><td><a name=\"FACT_INCASSO_013\">FACT_INCASSO_013</a></td><td>Description line 1 is too long.</td>\r\n<tr><td><a name=\"FACT_INCASSO_014\">FACT_INCASSO_014</a></td><td>Description line 2 is too long.</td>\r\n<tr><td><a name=\"FACT_INCASSO_015\">FACT_INCASSO_015</a></td><td>Description line 3 is too long.</td>\r\n<tr><td><a name=\"FACT_VERWERK_001\">FACT_VERWERK_001</a></td><td>Invoice date resides in a closed period.</td>\r\n<tr><td><a name=\"FACT_VERWERK_002\">FACT_VERWERK_002</a></td><td>Description is too long.</td>\r\n<tr><td><a name=\"FACT_VERWERK_003\">FACT_VERWERK_003</a></td><td>Payment reference is too long.</td>\r\n<tr><td><a name=\"FACT_VERWERK_004\">FACT_VERWERK_004</a></td><td>Payment reference already exists.</td>\r\n<tr><td><a name=\"FACT_SJAB_001\">FACT_SJAB_001</a></td><td>Name is missing.</td>\r\n<tr><td><a name=\"FACT_SJAB_002\">FACT_SJAB_002</a></td><td>Name is too long.</td>\r\n<tr><td><a name=\"FACT_SJAB_003\">FACT_SJAB_003</a></td><td>Type is missing.</td>\r\n<tr><td><a name=\"FACT_SJAB_004\">FACT_SJAB_004</a></td><td>Type is invalid.</td>\r\n<tr><td><a name=\"ADM_001\">ADM_001</a></td><td>Email administration is missing.</td>\r\n<tr><td><a name=\"ADM_002\">ADM_002</a></td><td>Email administration is invalid.</td>\r\n<tr><td><a name=\"EP_001\">EP_001</a></td><td>This endpoint is only available to accountants.</td>\r\n<tr><td><a name=\"EP_002\">EP_002</a></td><td>This endpoint is not available for accountants.</td>\r\n<tr><td><a name=\"FACT_ITEM_001\">FACT_ITEM_001</a></td><td>Description invoice item is missing.</td>\r\n<tr><td><a name=\"FACT_ITEM_002\">FACT_ITEM_002</a></td><td>Description invoice item is too long.</td>\r\n<tr><td><a name=\"FACT_ITEM_003\">FACT_ITEM_003</a></td><td>Code invoice item is too long.</td>\r\n<tr><td><a name=\"FACT_ITEM_004\">FACT_ITEM_004</a></td><td>Price per unit excl. VAT is missing.</td>\r\n<tr><td><a name=\"FACT_ITEM_005\">FACT_ITEM_005</a></td><td>Price per unit incl. VAT is missing.</td>\r\n<tr><td><a name=\"FACT_ITEM_006\">FACT_ITEM_006</a></td><td>VAT code is missing.</td>\r\n<tr><td><a name=\"FACT_ITEM_007\">FACT_ITEM_007</a></td><td>Ledger ID is missing</td>\r\n<tr><td><a name=\"FACT_ITEM_008\">FACT_ITEM_008</a></td><td>Total price is too high.</td>\r\n<tr><td><a name=\"FACT_ITEM_009\">FACT_ITEM_009</a></td><td>Total price is too low.</td>\r\n<tr><td><a name=\"FACT_ITEM_010\">FACT_ITEM_010</a></td><td>Unit not found.</td>\r\n<tr><td><a name=\"FACT_ITEM_011\">FACT_ITEM_011</a></td><td>Product not found.</td>\r\n<tr><td><a name=\"FACT_ITEM_012\">FACT_ITEM_012</a></td><td>Ledger account not found.</td>\r\n<tr><td><a name=\"FACT_ITEM_013\">FACT_ITEM_013</a></td><td>Discount amount cannot have a value when discount percentage is passed.</td>\r\n<tr><td><a name=\"FACT_ITEM_014\">FACT_ITEM_014</a></td><td>Invalid VAT code.</td>\r\n<tr><td><a name=\"FACT_ITEM_015\">FACT_ITEM_015</a></td><td>VAT amount must be used with VAT code: 'AFW_VERK'</td>\r\n<tr><td><a name=\"REL_001\">REL_001</a></td><td>Relation type is invalid (B,P).</td>\r\n<tr><td><a name=\"REL_002\">REL_002</a></td><td>Name is mandatory.</td>\r\n<tr><td><a name=\"REL_003\">REL_003</a></td><td>Name is too long.</td>\r\n<tr><td><a name=\"REL_004\">REL_004</a></td><td>Gender is invalid (m,v,a).</td>\r\n<tr><td><a name=\"REL_005\">REL_005</a></td><td>Code is invalid.</td>\r\n<tr><td><a name=\"REL_006\">REL_006</a></td><td>Code is too long.</td>\r\n<tr><td><a name=\"REL_007\">REL_007</a></td><td>Iban is invalid.</td>\r\n<tr><td><a name=\"REL_008\">REL_008</a></td><td>Company registration number must be numeric.</td>\r\n<tr><td><a name=\"REL_009\">REL_009</a></td><td>Contact is too long.</td>\r\n<tr><td><a name=\"REL_010\">REL_010</a></td><td>Salutation is too long.</td>\r\n<tr><td><a name=\"REL_011\">REL_011</a></td><td>Address is too long.</td>\r\n<tr><td><a name=\"REL_012\">REL_012</a></td><td>Postal code is too long.</td>\r\n<tr><td><a name=\"REL_013\">REL_013</a></td><td>City is too long.</td>\r\n<tr><td><a name=\"REL_014\">REL_014</a></td><td>Country is too long.</td>\r\n<tr><td><a name=\"REL_015\">REL_015</a></td><td>Address 2 is too long.</td>\r\n<tr><td><a name=\"REL_016\">REL_016</a></td><td>Postal code 2 is too long.</td>\r\n<tr><td><a name=\"REL_017\">REL_017</a></td><td>City 2 is too long.</td>\r\n<tr><td><a name=\"REL_018\">REL_018</a></td><td>Country 2 is too long.</td>\r\n<tr><td><a name=\"REL_019\">REL_019</a></td><td>Phone is too long.</td>\r\n<tr><td><a name=\"REL_020\">REL_020</a></td><td>Mobile is too long.</td>\r\n<tr><td><a name=\"REL_021\">REL_021</a></td><td>Fax is too long.</td>\r\n<tr><td><a name=\"REL_022\">REL_022</a></td><td>Email is too long.</td>\r\n<tr><td><a name=\"REL_023\">REL_023</a></td><td>Email is invalid.</td>\r\n<tr><td><a name=\"REL_024\">REL_024</a></td><td>Email invoice is too long.</td>\r\n<tr><td><a name=\"REL_025\">REL_025</a></td><td>Email invoice is invalid.</td>\r\n<tr><td><a name=\"REL_026\">REL_026</a></td><td>Email reminder is too long.</td>\r\n<tr><td><a name=\"REL_027\">REL_027</a></td><td>Email reminder is invalid.</td>\r\n<tr><td><a name=\"REL_028\">REL_028</a></td><td>Website is too long.</td>\r\n<tr><td><a name=\"REL_029\">REL_029</a></td><td>Iban is too long.</td>\r\n<tr><td><a name=\"REL_030\">REL_030</a></td><td>Term of payment too low.</td>\r\n<tr><td><a name=\"REL_031\">REL_031</a></td><td>Term of payment too high.</td>\r\n<tr><td><a name=\"REL_032\">REL_032</a></td><td>BIC is too long.</td>\r\n<tr><td><a name=\"REL_033\">REL_033</a></td><td>Mandate type is too long.</td>\r\n<tr><td><a name=\"REL_034\">REL_034</a></td><td>Mandate ID is too long.</td>\r\n<tr><td><a name=\"REL_035\">REL_035</a></td><td>VAT number is too long.</td>\r\n<tr><td><a name=\"REL_037\">REL_037</a></td><td>Free text 1 is too long.</td>\r\n<tr><td><a name=\"REL_038\">REL_038</a></td><td>Free text 2 is too long.</td>\r\n<tr><td><a name=\"REL_039\">REL_039</a></td><td>Free text 3 is too long.</td>\r\n<tr><td><a name=\"REL_040\">REL_040</a></td><td>Free text 4 is too long.</td>\r\n<tr><td><a name=\"REL_041\">REL_041</a></td><td>Free text 5 is too long.</td>\r\n<tr><td><a name=\"REL_042\">REL_042</a></td><td>Free text 6 is too long.</td>\r\n<tr><td><a name=\"REL_043\">REL_043</a></td><td>Free text 7 is too long.</td>\r\n<tr><td><a name=\"REL_044\">REL_044</a></td><td>Free text 8 is too long.</td>\r\n<tr><td><a name=\"REL_045\">REL_045</a></td><td>Free text 9 is too long.</td>\r\n<tr><td><a name=\"REL_046\">REL_046</a></td><td>Free text 10 is too long.</td>\r\n<tr><td><a name=\"REL_047\">REL_047</a></td><td>Note too long.</td>\r\n<tr><td><a name=\"REL_048\">REL_048</a></td><td>Ledger not found.</td>\r\n<tr><td><a name=\"REL_049\">REL_049</a></td><td>Code already exists.</td>\r\n<tr><td><a name=\"REL_050\">REL_050</a></td><td>Company registration number is too long.</td>\r\n<tr><td><a name=\"REL_051\">REL_051</a></td><td>Mandate type is invalid (E,D).</td>\r\n<tr><td><a name=\"REL_052\">REL_052</a></td><td>Mandate value is missing.</td>\r\n<tr><td><a name=\"REL_054\">REL_054</a></td><td>Relation ID is missing.</td>\r\n<tr><td><a name=\"REL_055\">REL_055</a></td><td>Relation not found.</td>\r\n<tr><td><a name=\"REL_056\">REL_056</a></td><td>Peppol ID is only for companies.</td>\r\n<tr><td><a name=\"REL_057\">REL_057</a></td><td>Peppol ID is invalid.</td>\r\n<tr><td><a name=\"REL_058\">REL_058</a></td><td>Company registration number is invalid. A Belgian company registration number consists of 9 or 10 digits; with 10 digits it starts with 0 or 1.</td>\r\n<tr><td><a name=\"REL_059\">REL_059</a></td><td>Ledger must be active and of category 'BAL' or 'VW'.</td>\r\n<tr><td><a name=\"LEDG_001\">LEDG_001</a></td><td>Code is missing.</td>\r\n<tr><td><a name=\"LEDG_002\">LEDG_002</a></td><td>Code is too long.</td>\r\n<tr><td><a name=\"LEDG_003\">LEDG_003</a></td><td>Description is missing.</td>\r\n<tr><td><a name=\"LEDG_004\">LEDG_004</a></td><td>Description is too long.</td>\r\n<tr><td><a name=\"LEDG_005\">LEDG_005</a></td><td>Category is missing.</td>\r\n<tr><td><a name=\"LEDG_007\">LEDG_007</a></td><td>Group is missing.</td>\r\n<tr><td><a name=\"LEDG_009\">LEDG_009</a></td><td>Ledger ID is missing.</td>\r\n<tr><td><a name=\"LEDG_010\">LEDG_010</a></td><td>Ledger category doesn't exist.</td>\r\n<tr><td><a name=\"LEDG_011\">LEDG_011</a></td><td>Ledger not found.</td>\r\n<tr><td><a name=\"LEDG_012\">LEDG_012</a></td><td>Ledger group doesn't exist.</td>\r\n<tr><td><a name=\"LEDG_013\">LEDG_013</a></td><td>Ledger code already exists.</td>\r\n<tr><td><a name=\"LEDG_014\">LEDG_014</a></td><td>The category of a ledger with booked mutations can not be changed.</td>\r\n<tr><td><a name=\"LEDG_015\">LEDG_015</a></td><td>This ledger has booked mutations. The category can only be changed to 'BAL' or 'VW'.</td>\r\n<tr><td><a name=\"LEDG_016\">LEDG_016</a></td><td>There has to be at least one ledger of each category.</td>\r\n<tr><td><a name=\"LEDG_017\">LEDG_017</a></td><td>Ledger code is already in use as a group code.</td>\r\n<tr><td><a name=\"LEDG_018\">LEDG_018</a></td><td>Ledger category is not allowed.</td>\r\n<tr><td><a name=\"LEDG_019\">LEDG_019</a></td><td>Ledger category may not be modified.</td>\r\n<tr><td><a name=\"LEDG_020\">LEDG_020</a></td><td>The request took too long to execute. Use `from` and `to` to filter a more specific period.</td>\r\n<tr><td><a name=\"COST_001\">COST_001</a></td><td>Cost center not found.</td>\r\n<tr><td><a name=\"COST_002\">COST_002</a></td><td>Cost center could not be deleted.</td>\r\n<tr><td><a name=\"COST_003\">COST_003</a></td><td>Cost center description is required.</td>\r\n<tr><td><a name=\"COST_004\">COST_004</a></td><td>Cost center description is too long.</td>\r\n<tr><td><a name=\"COST_005\">COST_005</a></td><td>Cost center with this name already exists on this level of the tree.</td>\r\n<tr><td><a name=\"COST_006\">COST_006</a></td><td>Cost center parent id cannot be changed.</td>\r\n<tr><td><a name=\"COST_007\">COST_007</a></td><td>Cost center parent is not active.</td>\r\n<tr><td><a name=\"COST_008\">COST_008</a></td><td>Cost center parent not found.</td>\r\n<tr><td><a name=\"COST_009\">COST_009</a></td><td>Cost center cannot be deleted. A cost center exists below this cost center.</td>\r\n<tr><td><a name=\"COST_010\">COST_010</a></td><td>Cost center cannot be deleted. This cost center is in use by an other cost center.</td>\r\n<tr><td><a name=\"COST_011\">COST_011</a></td><td>Cost center fullPath is too long.</td>\r\n<tr><td><a name=\"COST_012\">COST_012</a></td><td>Cost center description has invalid characters.</td>\r\n<tr><td><a name=\"UUR_FACT_001\">UUR_FACT_001</a></td><td>Term of payment is missing.</td>\r\n<tr><td><a name=\"MUTA_001\">MUTA_001</a></td><td>Ledger id is missing.</td>\r\n<tr><td><a name=\"MUTA_002\">MUTA_002</a></td><td>Type is missing</td>\r\n<tr><td><a name=\"MUTA_003\">MUTA_003</a></td><td>Vat amount must be used with vatCode: 'AFW' or 'AFW_VERK'</td>\r\n<tr><td><a name=\"MUTA_004\">MUTA_004</a></td><td>Ledger ID for row is missing.</td>\r\n<tr><td><a name=\"MUTA_005\">MUTA_005</a></td><td>In/Ex VAT is missing.</td>\r\n<tr><td><a name=\"MUTA_006\">MUTA_006</a></td><td>Credit/Debit is missing.</td>\r\n<tr><td><a name=\"MUTA_007\">MUTA_007</a></td><td>Credit/Debit must be 'C' or 'D'.</td>\r\n<tr><td><a name=\"MUTA_008\">MUTA_008</a></td><td>Payment reference already exists.</td>\r\n<tr><td><a name=\"MUTA_009\">MUTA_009</a></td><td>Type is unknown.</td>\r\n<tr><td><a name=\"API_SESSION_001\">API_SESSION_001</a></td><td>Source is missing.</td>\r\n<tr><td><a name=\"API_SESSION_002\">API_SESSION_002</a></td><td>Source does not match pattern.</td>\r\n<tr><td><a name=\"API_SESSION_003\">API_SESSION_003</a></td><td>Access token is missing or empty.</td>\r\n<tr><td><a name=\"API_SESSION_004\">API_SESSION_004</a></td><td>Access token has expired.</td>\r\n<tr><td><a name=\"ART_001\">ART_001</a></td><td>Product not found.</td>\r\n<tr><td><a name=\"ART_002\">ART_002</a></td><td>Product ID is missing.</td>\r\n<tr><td><a name=\"ART_003\">ART_003</a></td><td>Product could not be deleted</td>\r\n<tr><td><a name=\"ART_004\">ART_004</a></td><td>Product Code is missing.</td>\r\n<tr><td><a name=\"ART_005\">ART_005</a></td><td>Product Description is missing.</td>\r\n<tr><td><a name=\"ART_006\">ART_006</a></td><td>Product Ledger ID is missing.</td>\r\n<tr><td><a name=\"ART_007\">ART_007</a></td><td>Product Code is too long.</td>\r\n<tr><td><a name=\"ART_008\">ART_008</a></td><td>Product Description is too long.</td>\r\n<tr><td><a name=\"ART_009\">ART_009</a></td><td>Product Ledger could not be found.</td>\r\n<tr><td><a name=\"ART_010\">ART_010</a></td><td>Product Cost center is inactive.</td>\r\n<tr><td><a name=\"ART_011\">ART_011</a></td><td>Product Unit could not be found.</td>\r\n<tr><td><a name=\"ART_012\">ART_012</a></td><td>Product Group could not be found.</td>\r\n<tr><td><a name=\"ART_013\">ART_013</a></td><td>Product VAT code could not be found.</td>\r\n<tr><td><a name=\"ART_014\">ART_014</a></td><td>Invalid value provided for the Product UpdateSubscriptions option.</td>\r\n<tr><td><a name=\"ART_015\">ART_015</a></td><td>Product cost center could not be found.</td>\r\n<tr><td><a name=\"ART_016\">ART_016</a></td><td>priceIncl cannot have a value when priceExcl is passed.</td>\r\n<tr><td><a name=\"ART_017\">ART_017</a></td><td>Product VAT code is required.</td>\r\n<tr><td><a name=\"ART_018\">ART_018</a></td><td>Either priceExcl or priceIncl is required.</td>\r\n<tr><td><a name=\"ART_019\">ART_019</a></td><td>Both priceExcl and priceIncl are required with current VAT code.</td>\r\n<tr><td><a name=\"ART_020\">ART_020</a></td><td>priceIncl cannot be null or empty.</td>\r\n<tr><td><a name=\"ART_021\">ART_021</a></td><td>priceExcl cannot be null or empty.</td>\r\n<tr><td><a name=\"ART_022\">ART_022</a></td><td>VAT code cannot be null or empty.</td>\r\n<tr><td><a name=\"ART_023\">ART_023</a></td><td>This VAT code cannot be used.</td>\r\n<tr><td><a name=\"ART_024\">ART_024</a></td><td>The value of PriceExcl exceeds the maximum value of 999999999999.00.</td>\r\n<tr><td><a name=\"ART_025\">ART_025</a></td><td>The value of PriceIncl exceeds the maximum value of 999999999999.00.</td>\r\n<tr><td><a name=\"ART_026\">ART_026</a></td><td>The value of PriceIncl after applying VAT exceeds the maximum value of 999999999999.00.</td>\r\n<tr><td><a name=\"ART_027\">ART_027</a></td><td>The value of PurchasePriceExcl exceeds the maximum value of 999999999999.00.</td>\r\n<tr><td><a name=\"ART_028\">ART_028</a></td><td>Ledger category must be 'BAL' or 'VW'.</td>\r\n<tr><td><a name=\"ART_029\">ART_029</a></td><td>The value of PriceExcl is below the minimum value of -999999999999.00.</td>\r\n<tr><td><a name=\"ART_030\">ART_030</a></td><td>The value of PriceIncl is below the minimum value of -999999999999.00.</td>\r\n<tr><td><a name=\"ART_031\">ART_031</a></td><td>The value of PriceIncl after applying VAT is below the minimum value of -999999999999.00.</td>\r\n<tr><td><a name=\"ART_032\">ART_032</a></td><td>The value of PurchasePriceExcl is below the minimum value of -999999999999.00.</td>\r\n<tr><td><a name=\"MUT_001\">MUT_001</a></td><td>Type is invalid.</td>\r\n<tr><td><a name=\"MUT_002\">MUT_002</a></td><td>Invoice number is missing.</td>\r\n<tr><td><a name=\"MUT_003\">MUT_003</a></td><td>Date is missing.</td>\r\n<tr><td><a name=\"MUT_004\">MUT_004</a></td><td>Date is invalid.</td>\r\n<tr><td><a name=\"MUT_005\">MUT_005</a></td><td>Period is closed.</td>\r\n<tr><td><a name=\"MUT_007\">MUT_007</a></td><td>Unknown ledger for mutation.</td>\r\n<tr><td><a name=\"MUT_008\">MUT_008</a></td><td>Unknown ledger category for mutation.</td>\r\n<tr><td><a name=\"MUT_009\">MUT_009</a></td><td>Invalid ledger category for mutation.</td>\r\n<tr><td><a name=\"MUT_010\">MUT_010</a></td><td>Ledger must be of category creditor.</td>\r\n<tr><td><a name=\"MUT_011\">MUT_011</a></td><td>Ledger must be of category debtor.</td>\r\n<tr><td><a name=\"MUT_012\">MUT_012</a></td><td>Relation is missing.</td>\r\n<tr><td><a name=\"MUT_013\">MUT_013</a></td><td>Relation not found.</td>\r\n<tr><td><a name=\"MUT_014\">MUT_014</a></td><td>Relation is prohibited.</td>\r\n<tr><td><a name=\"MUT_015\">MUT_015</a></td><td>Term of payment is not permitted.</td>\r\n<tr><td><a name=\"MUT_016\">MUT_016</a></td><td>Term of payment is prohibited.</td>\r\n<tr><td><a name=\"MUT_017\">MUT_017</a></td><td>In/Ex VAT must be 'IN' or 'EX'.</td>\r\n<tr><td><a name=\"MUT_018\">MUT_018</a></td><td>Invoice number is too long.</td>\r\n<tr><td><a name=\"MUT_019\">MUT_019</a></td><td>Invoice number already exists.</td>\r\n<tr><td><a name=\"MUT_020\">MUT_020</a></td><td>Combination relation/invoice number already exists.</td>\r\n<tr><td><a name=\"MUT_021\">MUT_021</a></td><td>Date of opening balance must be before the first mutation.</td>\r\n<tr><td><a name=\"MUT_022\">MUT_022</a></td><td>Date of mutation must be after the date of opening balance.</td>\r\n<tr><td><a name=\"MUT_025\">MUT_025</a></td><td>Opening balance mutation must always be ID 0.</td>\r\n<tr><td><a name=\"MUT_026\">MUT_026</a></td><td>In/Ex VAT must always be 'EX' on purchases with reverse-charging VAT.</td>\r\n<tr><td><a name=\"MUT_050\">MUT_050</a></td><td>Unknown administration.</td>\r\n<tr><td><a name=\"MUT_100\">MUT_100</a></td><td>Rows are missing.</td>\r\n<tr><td><a name=\"MUT_101\">MUT_101</a></td><td>Too many rows.</td>\r\n<tr><td><a name=\"MUT_104\">MUT_104</a></td><td>Unknown ledger for row.</td>\r\n<tr><td><a name=\"MUT_105\">MUT_105</a></td><td>Unknown ledger category for row.</td>\r\n<tr><td><a name=\"MUT_106\">MUT_106</a></td><td>Invalid ledger category for row.</td>\r\n<tr><td><a name=\"MUT_107\">MUT_107</a></td><td>Ledger of row must be of category creditor.</td>\r\n<tr><td><a name=\"MUT_108\">MUT_108</a></td><td>Ledger of row must be of category debtor.</td>\r\n<tr><td><a name=\"MUT_109\">MUT_109</a></td><td>Invalid VAT code.</td>\r\n<tr><td><a name=\"MUT_110\">MUT_110</a></td><td>VAT code must be of type purchase.</td>\r\n<tr><td><a name=\"MUT_111\">MUT_111</a></td><td>VAT code must be of type sale.</td>\r\n<tr><td><a name=\"MUT_112\">MUT_112</a></td><td>Relation is missing.</td>\r\n<tr><td><a name=\"MUT_113\">MUT_113</a></td><td>Relation not found.</td>\r\n<tr><td><a name=\"MUT_114\">MUT_114</a></td><td>Relation is not permitted.</td>\r\n<tr><td><a name=\"MUT_115\">MUT_115</a></td><td>Invoice not found.</td>\r\n<tr><td><a name=\"MUT_116\">MUT_116</a></td><td>Invoice is not permitted.</td>\r\n<tr><td><a name=\"MUT_117\">MUT_117</a></td><td>Cost center not found.</td>\r\n<tr><td><a name=\"MUT_118\">MUT_118</a></td><td>Ledger is not in balance.</td>\r\n<tr><td><a name=\"MUT_120\">MUT_120</a></td><td>Invoice number is missing.</td>\r\n<tr><td><a name=\"MUT_300\">MUT_300</a></td><td>Mutation not found.</td>\r\n<tr><td><a name=\"MUT_901\">MUT_901</a></td><td>Not all ledgers exist.</td>\r\n<tr><td><a name=\"MEM_001\">MEM_001</a></td><td>Member not found.</td>\r\n<tr><td><a name=\"MEM_002\">MEM_002</a></td><td>Name is mandatory.</td>\r\n<tr><td><a name=\"MEM_003\">MEM_003</a></td><td>Name is too long.</td>\r\n<tr><td><a name=\"MEM_004\">MEM_004</a></td><td>Gender is invalid (m,v,a).</td>\r\n<tr><td><a name=\"MEM_005\">MEM_005</a></td><td>Member number is invalid.</td>\r\n<tr><td><a name=\"MEM_006\">MEM_006</a></td><td>Member number is too long.</td>\r\n<tr><td><a name=\"MEM_007\">MEM_007</a></td><td>Iban is invalid.</td>\r\n<tr><td><a name=\"MEM_010\">MEM_010</a></td><td>Salutation is too long.</td>\r\n<tr><td><a name=\"MEM_011\">MEM_011</a></td><td>Address is too long.</td>\r\n<tr><td><a name=\"MEM_012\">MEM_012</a></td><td>Postal code is too long.</td>\r\n<tr><td><a name=\"MEM_013\">MEM_013</a></td><td>City is too long.</td>\r\n<tr><td><a name=\"MEM_014\">MEM_014</a></td><td>Country is too long.</td>\r\n<tr><td><a name=\"MEM_019\">MEM_019</a></td><td>Phone is too long.</td>\r\n<tr><td><a name=\"MEM_020\">MEM_020</a></td><td>Mobile is too long.</td>\r\n<tr><td><a name=\"MEM_021\">MEM_021</a></td><td>Fax is too long.</td>\r\n<tr><td><a name=\"MEM_022\">MEM_022</a></td><td>Email is too long.</td>\r\n<tr><td><a name=\"MEM_023\">MEM_023</a></td><td>Email is invalid.</td>\r\n<tr><td><a name=\"MEM_024\">MEM_024</a></td><td>Email invoice is too long.</td>\r\n<tr><td><a name=\"MEM_025\">MEM_025</a></td><td>Email invoice is invalid.</td>\r\n<tr><td><a name=\"MEM_026\">MEM_026</a></td><td>Email reminder is too long.</td>\r\n<tr><td><a name=\"MEM_027\">MEM_027</a></td><td>Email reminder is invalid.</td>\r\n<tr><td><a name=\"MEM_029\">MEM_029</a></td><td>Iban is too long.</td>\r\n<tr><td><a name=\"MEM_030\">MEM_030</a></td><td>Term of payment too low.</td>\r\n<tr><td><a name=\"MEM_031\">MEM_031</a></td><td>Term of payment too high.</td>\r\n<tr><td><a name=\"MEM_032\">MEM_032</a></td><td>BIC is too long.</td>\r\n<tr><td><a name=\"MEM_033\">MEM_033</a></td><td>Mandate type is too long.</td>\r\n<tr><td><a name=\"MEM_034\">MEM_034</a></td><td>Mandate ID is too long.</td>\r\n<tr><td><a name=\"MEM_037\">MEM_037</a></td><td>Free text 1 is too long.</td>\r\n<tr><td><a name=\"MEM_038\">MEM_038</a></td><td>Free text 2 is too long.</td>\r\n<tr><td><a name=\"MEM_039\">MEM_039</a></td><td>Free text 3 is too long.</td>\r\n<tr><td><a name=\"MEM_040\">MEM_040</a></td><td>Free text 4 is too long.</td>\r\n<tr><td><a name=\"MEM_041\">MEM_041</a></td><td>Free text 5 is too long.</td>\r\n<tr><td><a name=\"MEM_042\">MEM_042</a></td><td>Free text 6 is too long.</td>\r\n<tr><td><a name=\"MEM_043\">MEM_043</a></td><td>Free text 7 is too long.</td>\r\n<tr><td><a name=\"MEM_044\">MEM_044</a></td><td>Free text 8 is too long.</td>\r\n<tr><td><a name=\"MEM_045\">MEM_045</a></td><td>Free text 9 is too long.</td>\r\n<tr><td><a name=\"MEM_046\">MEM_046</a></td><td>Free text 10 is too long.</td>\r\n<tr><td><a name=\"MEM_047\">MEM_047</a></td><td>Note too long.</td>\r\n<tr><td><a name=\"MEM_048\">MEM_048</a></td><td>Ledger not found.</td>\r\n<tr><td><a name=\"MEM_049\">MEM_049</a></td><td>Member number already exists.</td>\r\n<tr><td><a name=\"MEM_051\">MEM_051</a></td><td>Mandate type is invalid (E,D).</td>\r\n<tr><td><a name=\"MEM_052\">MEM_052</a></td><td>Mandate value is missing.</td>\r\n<tr><td><a name=\"MEM_054\">MEM_054</a></td><td>Member ID is missing.</td>\r\n<tr><td><a name=\"MEM_055\">MEM_055</a></td><td>Member not found.</td>\r\n<tr><td><a name=\"MEM_056\">MEM_056</a></td><td>This endpoint is only available to clubs or associations.</td>\r\n<tr><td><a name=\"MEM_057\">MEM_057</a></td><td>Ledger must be active and of category 'BAL' or 'VW'.</td>\r\n</table></div></details>\r\n",
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://api.e-boekhouden.nl/"
    }
  ],
  "paths": {
    "/v1/session": {
      "post": {
        "tags": [
          "Session"
        ],
        "description": "Start a new session. The response session token can be used as the `Authorization` header.",
        "operationId": "StartSession",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "title": "SessionRequest",
                "required": [
                  "accessToken",
                  "source"
                ],
                "properties": {
                  "accessToken": {
                    "type": "string",
                    "description": "Your secret API-token.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#API_SESSION_003\">API_SESSION_003</a></td><td>Access token is missing or empty.</td><tr><td><a href=\"#API_SESSION_004\">API_SESSION_004</a></td><td>Access token has expired.</td></table></div>",
                    "format": "string"
                  },
                  "source": {
                    "maxLength": 10,
                    "pattern": "^[\\w_ ]{1,10}$",
                    "type": "string",
                    "description": "Code to identify your integration.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#API_SESSION_001\">API_SESSION_001</a></td><td>Source is missing.</td><tr><td><a href=\"#API_SESSION_002\">API_SESSION_002</a></td><td>Source does not match pattern.</td></table></div>",
                    "format": "string"
                  }
                }
              }
            },
            "application/json": {
              "schema": {
                "title": "SessionRequest",
                "required": [
                  "accessToken",
                  "source"
                ],
                "properties": {
                  "accessToken": {
                    "type": "string",
                    "description": "Your secret API-token.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#API_SESSION_003\">API_SESSION_003</a></td><td>Access token is missing or empty.</td><tr><td><a href=\"#API_SESSION_004\">API_SESSION_004</a></td><td>Access token has expired.</td></table></div>",
                    "format": "string"
                  },
                  "source": {
                    "maxLength": 10,
                    "pattern": "^[\\w_ ]{1,10}$",
                    "type": "string",
                    "description": "Code to identify your integration.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#API_SESSION_001\">API_SESSION_001</a></td><td>Source is missing.</td><tr><td><a href=\"#API_SESSION_002\">API_SESSION_002</a></td><td>Source does not match pattern.</td></table></div>",
                    "format": "string"
                  }
                }
              }
            },
            "application/*+json": {
              "schema": {
                "title": "SessionRequest",
                "required": [
                  "accessToken",
                  "source"
                ],
                "properties": {
                  "accessToken": {
                    "type": "string",
                    "description": "Your secret API-token.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#API_SESSION_003\">API_SESSION_003</a></td><td>Access token is missing or empty.</td><tr><td><a href=\"#API_SESSION_004\">API_SESSION_004</a></td><td>Access token has expired.</td></table></div>",
                    "format": "string"
                  },
                  "source": {
                    "maxLength": 10,
                    "pattern": "^[\\w_ ]{1,10}$",
                    "type": "string",
                    "description": "Code to identify your integration.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#API_SESSION_001\">API_SESSION_001</a></td><td>Source is missing.</td><tr><td><a href=\"#API_SESSION_002\">API_SESSION_002</a></td><td>Source does not match pattern.</td></table></div>",
                    "format": "string"
                  }
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "title": "Session",
                  "required": [
                    "token",
                    "expiresIn"
                  ],
                  "properties": {
                    "token": {
                      "type": "string",
                      "description": "Your session token. Add this as the \"Authorization\" header to your requests.",
                      "format": "string"
                    },
                    "expiresIn": {
                      "type": "integer",
                      "description": "The number of seconds until the token expires.",
                      "format": "int32"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SecurityError"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Session"
        ],
        "description": "Revokes the session token.",
        "operationId": "EndSession",
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": { }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/administration": {
      "get": {
        "tags": [
          "Administration"
        ],
        "description": "Get all administrations managed by the authorized accountant.",
        "operationId": "GetAdministrations",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The number of items to retrieve.",
            "schema": {
              "maximum": 2000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The number of items to skip.",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDtoOfAdministrationResponseDto"
                },
                "example": {
                  "Items": [
                    {
                      "Guid": "00000000-0000-0000-0000-000000000000",
                      "Company": "Company Name"
                    }
                  ],
                  "Count": 1
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/administration/linked": {
      "get": {
        "tags": [
          "Administration"
        ],
        "description": "Get all administrations that are linked to the authorized administration.<br/>Please note that this endpoint will always return administrations linked to the administration of the user that created the API credentials.",
        "operationId": "GetLinkedAdministrations",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The number of items to retrieve.",
            "schema": {
              "maximum": 2000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The number of items to skip.",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDtoOfAdministrationResponseDto"
                },
                "example": {
                  "Items": [
                    {
                      "Guid": "00000000-0000-0000-0000-000000000000",
                      "Company": "Company Name"
                    }
                  ],
                  "Count": 1
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/costcenter": {
      "get": {
        "tags": [
          "CostCenter"
        ],
        "description": "Get all cost centers.",
        "operationId": "GetCostCenters",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The number of items to retrieve.",
            "schema": {
              "maximum": 2000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The number of items to skip.",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "parentId",
            "in": "query",
            "description": "The parent ID of the cost center.",
            "schema": {
              "type": "string",
              "format": "filter-string"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "The description of the cost center.",
            "schema": {
              "type": "string",
              "format": "filter-string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDtoOfCostCenterSearchResponseDto"
                },
                "example": {
                  "Items": [
                    {
                      "Id": 1,
                      "Description": "Buy",
                      "ParentId": 12,
                      "Active": true
                    }
                  ],
                  "Count": 1
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "CostCenter"
        ],
        "description": "Create a new cost center.",
        "operationId": "CreateCostCenter",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "title": "CostCenter",
                "properties": {
                  "description": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The description of the cost center.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#COST_003\">COST_003</a></td><td>Cost center description is required.</td><tr><td><a href=\"#COST_004\">COST_004</a></td><td>Cost center description is too long.</td><tr><td><a href=\"#COST_005\">COST_005</a></td><td>Cost center with this name already exists on this level of the tree.</td><tr><td><a href=\"#COST_011\">COST_011</a></td><td>Cost center fullPath is too long.</td><tr><td><a href=\"#COST_012\">COST_012</a></td><td>Cost center description has invalid characters.</td></table></div>",
                    "format": "string"
                  },
                  "parentId": {
                    "type": "integer",
                    "description": "The parent ID of the cost center.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#COST_005\">COST_005</a></td><td>Cost center with this name already exists on this level of the tree.</td><tr><td><a href=\"#COST_006\">COST_006</a></td><td>Cost center parent id cannot be changed.</td><tr><td><a href=\"#COST_007\">COST_007</a></td><td>Cost center parent is not active.</td><tr><td><a href=\"#COST_008\">COST_008</a></td><td>Cost center parent not found.</td></table></div>",
                    "format": "int32"
                  },
                  "active": {
                    "type": "boolean",
                    "description": "Whether the cost center is active.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#COST_007\">COST_007</a></td><td>Cost center parent is not active.</td></table></div>"
                  }
                }
              },
              "example": {
                "Id": null,
                "Description": "Buy",
                "ParentId": 12,
                "Active": true
              }
            },
            "application/json": {
              "schema": {
                "title": "CostCenter",
                "properties": {
                  "description": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The description of the cost center.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#COST_003\">COST_003</a></td><td>Cost center description is required.</td><tr><td><a href=\"#COST_004\">COST_004</a></td><td>Cost center description is too long.</td><tr><td><a href=\"#COST_005\">COST_005</a></td><td>Cost center with this name already exists on this level of the tree.</td><tr><td><a href=\"#COST_011\">COST_011</a></td><td>Cost center fullPath is too long.</td><tr><td><a href=\"#COST_012\">COST_012</a></td><td>Cost center description has invalid characters.</td></table></div>",
                    "format": "string"
                  },
                  "parentId": {
                    "type": "integer",
                    "description": "The parent ID of the cost center.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#COST_005\">COST_005</a></td><td>Cost center with this name already exists on this level of the tree.</td><tr><td><a href=\"#COST_006\">COST_006</a></td><td>Cost center parent id cannot be changed.</td><tr><td><a href=\"#COST_007\">COST_007</a></td><td>Cost center parent is not active.</td><tr><td><a href=\"#COST_008\">COST_008</a></td><td>Cost center parent not found.</td></table></div>",
                    "format": "int32"
                  },
                  "active": {
                    "type": "boolean",
                    "description": "Whether the cost center is active.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#COST_007\">COST_007</a></td><td>Cost center parent is not active.</td></table></div>"
                  }
                }
              },
              "example": {
                "Id": null,
                "Description": "Buy",
                "ParentId": 12,
                "Active": true
              }
            },
            "application/*+json": {
              "schema": {
                "title": "CostCenter",
                "properties": {
                  "description": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The description of the cost center.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#COST_003\">COST_003</a></td><td>Cost center description is required.</td><tr><td><a href=\"#COST_004\">COST_004</a></td><td>Cost center description is too long.</td><tr><td><a href=\"#COST_005\">COST_005</a></td><td>Cost center with this name already exists on this level of the tree.</td><tr><td><a href=\"#COST_011\">COST_011</a></td><td>Cost center fullPath is too long.</td><tr><td><a href=\"#COST_012\">COST_012</a></td><td>Cost center description has invalid characters.</td></table></div>",
                    "format": "string"
                  },
                  "parentId": {
                    "type": "integer",
                    "description": "The parent ID of the cost center.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#COST_005\">COST_005</a></td><td>Cost center with this name already exists on this level of the tree.</td><tr><td><a href=\"#COST_006\">COST_006</a></td><td>Cost center parent id cannot be changed.</td><tr><td><a href=\"#COST_007\">COST_007</a></td><td>Cost center parent is not active.</td><tr><td><a href=\"#COST_008\">COST_008</a></td><td>Cost center parent not found.</td></table></div>",
                    "format": "int32"
                  },
                  "active": {
                    "type": "boolean",
                    "description": "Whether the cost center is active.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#COST_007\">COST_007</a></td><td>Cost center parent is not active.</td></table></div>"
                  }
                }
              },
              "example": {
                "Id": null,
                "Description": "Buy",
                "ParentId": 12,
                "Active": true
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "title": "CostCenterCreateResponse",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the cost center.",
                      "format": "int32"
                    },
                    "active": {
                      "type": "boolean",
                      "description": "Whether the cost center is active."
                    }
                  }
                },
                "example": {
                  "Id": 1,
                  "Description": null,
                  "ParentId": null,
                  "Active": true,
                  "FullPath": null
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/costcenter/{id}": {
      "get": {
        "tags": [
          "CostCenter"
        ],
        "description": "Get a cost center.",
        "operationId": "GetCostCenter",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "title": "CostCenterResponse",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the cost center.",
                      "format": "int32"
                    },
                    "description": {
                      "type": "string",
                      "description": "The description of the cost center.",
                      "format": "string"
                    },
                    "parentId": {
                      "type": "integer",
                      "description": "The parent ID of the cost center.",
                      "format": "int32"
                    },
                    "active": {
                      "type": "boolean",
                      "description": "Whether the cost center is active."
                    },
                    "fullPath": {
                      "type": "string",
                      "description": "The full path to the cost center, including parents.",
                      "format": "string"
                    }
                  }
                },
                "example": {
                  "Id": 1,
                  "Description": "Buy",
                  "ParentId": 12,
                  "Active": true,
                  "FullPath": "Buy>Inventory"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "CostCenter"
        ],
        "description": "Update a cost center.",
        "operationId": "UpdateCostCenter",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "title": "CostCenter",
                "properties": {
                  "description": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The description of the cost center.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#COST_003\">COST_003</a></td><td>Cost center description is required.</td><tr><td><a href=\"#COST_004\">COST_004</a></td><td>Cost center description is too long.</td><tr><td><a href=\"#COST_005\">COST_005</a></td><td>Cost center with this name already exists on this level of the tree.</td><tr><td><a href=\"#COST_011\">COST_011</a></td><td>Cost center fullPath is too long.</td><tr><td><a href=\"#COST_012\">COST_012</a></td><td>Cost center description has invalid characters.</td></table></div>",
                    "format": "string"
                  },
                  "active": {
                    "type": "boolean",
                    "description": "Whether the cost center is active.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#COST_007\">COST_007</a></td><td>Cost center parent is not active.</td></table></div>"
                  }
                }
              },
              "example": {
                "Id": null,
                "Description": "Buy",
                "ParentId": null,
                "Active": true
              }
            },
            "application/json": {
              "schema": {
                "title": "CostCenter",
                "properties": {
                  "description": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The description of the cost center.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#COST_003\">COST_003</a></td><td>Cost center description is required.</td><tr><td><a href=\"#COST_004\">COST_004</a></td><td>Cost center description is too long.</td><tr><td><a href=\"#COST_005\">COST_005</a></td><td>Cost center with this name already exists on this level of the tree.</td><tr><td><a href=\"#COST_011\">COST_011</a></td><td>Cost center fullPath is too long.</td><tr><td><a href=\"#COST_012\">COST_012</a></td><td>Cost center description has invalid characters.</td></table></div>",
                    "format": "string"
                  },
                  "active": {
                    "type": "boolean",
                    "description": "Whether the cost center is active.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#COST_007\">COST_007</a></td><td>Cost center parent is not active.</td></table></div>"
                  }
                }
              },
              "example": {
                "Id": null,
                "Description": "Buy",
                "ParentId": null,
                "Active": true
              }
            },
            "application/*+json": {
              "schema": {
                "title": "CostCenter",
                "properties": {
                  "description": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The description of the cost center.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#COST_003\">COST_003</a></td><td>Cost center description is required.</td><tr><td><a href=\"#COST_004\">COST_004</a></td><td>Cost center description is too long.</td><tr><td><a href=\"#COST_005\">COST_005</a></td><td>Cost center with this name already exists on this level of the tree.</td><tr><td><a href=\"#COST_011\">COST_011</a></td><td>Cost center fullPath is too long.</td><tr><td><a href=\"#COST_012\">COST_012</a></td><td>Cost center description has invalid characters.</td></table></div>",
                    "format": "string"
                  },
                  "active": {
                    "type": "boolean",
                    "description": "Whether the cost center is active.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#COST_007\">COST_007</a></td><td>Cost center parent is not active.</td></table></div>"
                  }
                }
              },
              "example": {
                "Id": null,
                "Description": "Buy",
                "ParentId": null,
                "Active": true
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": { }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "CostCenter"
        ],
        "description": "Delete a cost center.",
        "operationId": "DeleteCostCenter",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": { }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/emailtemplate": {
      "get": {
        "tags": [
          "EmailTemplate"
        ],
        "description": "Get all email templates.",
        "operationId": "GetEmailTemplates",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The number of items to retrieve.",
            "schema": {
              "maximum": 2000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The number of items to skip.",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDtoOfEmailTemplateDto"
                },
                "example": {
                  "Items": [
                    {
                      "Id": 1,
                      "Name": "EmailSjabloon",
                      "UseInvoice": true,
                      "UseQuote": false,
                      "UseMailing": false
                    }
                  ],
                  "Count": 1
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/invoice": {
      "post": {
        "tags": [
          "Invoice"
        ],
        "description": "Create a new invoice.",
        "operationId": "CreateInvoice",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "title": "CreateInvoice",
                "required": [
                  "relationId",
                  "termOfPayment",
                  "templateId",
                  "items"
                ],
                "properties": {
                  "invoiceNumber": {
                    "maxLength": 50,
                    "type": [
                      "null",
                      "string"
                    ],
                    "description": "Invoice number. Must end with a number.<br/>If empty, we will create a new number.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_006\">FACT_006</a></td><td>Invoice number is missing.</td><tr><td><a href=\"#FACT_007\">FACT_007</a></td><td>Invoice number is too long.</td><tr><td><a href=\"#FACT_008\">FACT_008</a></td><td>Invoice number is invalid.</td><tr><td><a href=\"#FACT_009\">FACT_009</a></td><td>Invoice number does not end with a digit.</td><tr><td><a href=\"#FACT_101\">FACT_101</a></td><td>Invoice number is in use.</td></table></div>",
                    "format": "string",
                    "example": "F00001"
                  },
                  "relationId": {
                    "type": "integer",
                    "description": "The ID of a relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_001\">FACT_001</a></td><td>Relation ID is missing.</td><tr><td><a href=\"#FACT_002\">FACT_002</a></td><td>Relation not found.</td><tr><td><a href=\"#FACT_003\">FACT_003</a></td><td>Relation is inactive.</td><tr><td><a href=\"#FACT_EMAIL_001\">FACT_EMAIL_001</a></td><td>Relation email is missing.</td><tr><td><a href=\"#FACT_EMAIL_002\">FACT_EMAIL_002</a></td><td>Relation email is invalid.</td><tr><td><a href=\"#FACT_EMAIL_003\">FACT_EMAIL_003</a></td><td>Relation email for invoices is invalid.</td><tr><td><a href=\"#FACT_EMAIL_004\">FACT_EMAIL_004</a></td><td>Relation email for reminders is invalid.</td><tr><td><a href=\"#FACT_EMAIL_007\">FACT_EMAIL_007</a></td><td>Relation email is missing.</td></table></div>",
                    "format": "int32",
                    "example": "12345"
                  },
                  "date": {
                    "type": "string",
                    "description": "Invoice date.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_011\">FACT_011</a></td><td>Invoice date is missing.</td><tr><td><a href=\"#FACT_012\">FACT_012</a></td><td>Invoice date invalid.</td><tr><td><a href=\"#FACT_013\">FACT_013</a></td><td>Invoice date out of range.</td></table></div>",
                    "format": "date"
                  },
                  "termOfPayment": {
                    "minimum": 0,
                    "type": "integer",
                    "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_015\">FACT_015</a></td><td>Term of payment is missing.</td><tr><td><a href=\"#FACT_016\">FACT_016</a></td><td>Term of payment out of range.</td></table></div>",
                    "format": "int32",
                    "default": 0,
                    "example": 7
                  },
                  "inExVat": {
                    "enum": [
                      "IN",
                      "EX"
                    ],
                    "type": "string",
                    "description": "Indicates if the amount on the invoice is including (`IN`) or excluding (`EX`) VAT. The corresponding value will be calculated based on the VAT code. If left empty the 'EX' option will be used<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_010\">FACT_010</a></td><td>Invoice VAT must be IN or EX.</td></table></div>",
                    "format": "string"
                  },
                  "templateId": {
                    "type": "integer",
                    "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_018\">FACT_018</a></td><td>Invoice template not found.</td></table></div>",
                    "format": "int32",
                    "example": "12345"
                  },
                  "emailTemplateId": {
                    "type": "integer",
                    "description": "The ID of an email template.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_020\">FACT_020</a></td><td>Email template not found.</td></table></div>",
                    "format": "int32",
                    "example": "12345"
                  },
                  "reference": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "Reference of the invoice.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_014\">FACT_014</a></td><td>Payment reference is too long.</td></table></div>",
                    "format": "string",
                    "example": ""
                  },
                  "text": {
                    "maxLength": 35000,
                    "type": "string",
                    "description": "Text of the invoice.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_017\">FACT_017</a></td><td>Invoice text is too long.</td></table></div>",
                    "format": "string",
                    "example": ""
                  },
                  "print": {
                    "type": "boolean",
                    "description": "Determines whether the invoice should be prepared for printing."
                  },
                  "email": {
                    "title": "CreateInvoiceEmail",
                    "properties": {
                      "fromEmail": {
                        "type": "string",
                        "description": "Email address of the sender.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_EMAIL_006\">FACT_EMAIL_006</a></td><td>Sender email is invalid.</td></table></div>",
                        "format": "string"
                      },
                      "fromName": {
                        "type": "string",
                        "description": "Name of the sender.",
                        "format": "string"
                      },
                      "subject": {
                        "type": "string",
                        "description": "Email subject.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_EMAIL_013\">FACT_EMAIL_013</a></td><td>Subject is missing.</td></table></div>",
                        "format": "string"
                      },
                      "body": {
                        "type": "string",
                        "description": "Email body. Supports HTML.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_EMAIL_011\">FACT_EMAIL_011</a></td><td>Email body is too long</td><tr><td><a href=\"#FACT_EMAIL_014\">FACT_EMAIL_014</a></td><td>Body is missing.</td></table></div>",
                        "format": "string"
                      },
                      "attachUbl": {
                        "type": "boolean",
                        "description": "Also attach the invoice UBL-file.",
                        "default": false
                      },
                      "invoiceUbl": {
                        "type": "boolean",
                        "description": "Obsolete; please use `attachUbl` instead. This field will be removed in the future."
                      }
                    },
                    "description": "If this object is provided, the invoice will be e-mailed to the relation immediately.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_EMAIL_005\">FACT_EMAIL_005</a></td><td>Something went wrong while attaching files to the email.</td></table></div>"
                  },
                  "directDebit": {
                    "title": "CreateInvoiceDebit",
                    "required": [
                      "iban"
                    ],
                    "properties": {
                      "iban": {
                        "maxLength": 150,
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_008\">FACT_INCASSO_008</a></td><td>IBAN is missing.</td><tr><td><a href=\"#FACT_INCASSO_009\">FACT_INCASSO_009</a></td><td>IBAN is too long.</td><tr><td><a href=\"#FACT_INCASSO_010\">FACT_INCASSO_010</a></td><td>IBAN is invalid.</td></table></div>",
                        "format": "string"
                      },
                      "mandateType": {
                        "maxLength": 1,
                        "enum": [
                          "O",
                          "E",
                          "R",
                          "D"
                        ],
                        "type": "string",
                        "description": "`O` or `E` (one-time debit), `R` or `D` (recurrent debit)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_001\">FACT_INCASSO_001</a></td><td>Mandate type is missing.</td><tr><td><a href=\"#FACT_INCASSO_002\">FACT_INCASSO_002</a></td><td>Mandate type is invalid.</td></table></div>",
                        "format": "string",
                        "default": "E"
                      },
                      "mandateId": {
                        "maxLength": 35,
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_003\">FACT_INCASSO_003</a></td><td>Mandate ID is missing.</td><tr><td><a href=\"#FACT_INCASSO_004\">FACT_INCASSO_004</a></td><td>Mandate ID is too long.</td></table></div>",
                        "format": "string"
                      },
                      "mandateSignedDate": {
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_005\">FACT_INCASSO_005</a></td><td>Mandate signed date is missing.</td><tr><td><a href=\"#FACT_INCASSO_006\">FACT_INCASSO_006</a></td><td>Mandate signed date is invalid.</td><tr><td><a href=\"#FACT_INCASSO_007\">FACT_INCASSO_007</a></td><td>Mandate signed date out of range.</td></table></div>",
                        "format": "date"
                      },
                      "name": {
                        "maxLength": 150,
                        "type": "string",
                        "description": "In the name of.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_011\">FACT_INCASSO_011</a></td><td>Name is too long.</td></table></div>",
                        "format": "string"
                      },
                      "city": {
                        "maxLength": 150,
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_012\">FACT_INCASSO_012</a></td><td>City is too long.</td></table></div>",
                        "format": "string"
                      },
                      "descriptionLine1": {
                        "maxLength": 50,
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_013\">FACT_INCASSO_013</a></td><td>Description line 1 is too long.</td></table></div>",
                        "format": "string"
                      },
                      "descriptionLine2": {
                        "maxLength": 50,
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_014\">FACT_INCASSO_014</a></td><td>Description line 2 is too long.</td></table></div>",
                        "format": "string"
                      },
                      "descriptionLine3": {
                        "maxLength": 50,
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_015\">FACT_INCASSO_015</a></td><td>Description line 3 is too long.</td></table></div>",
                        "format": "string"
                      }
                    },
                    "description": "If this object is provided, the invoice will be marked for direct debit with the provided details."
                  },
                  "mutation": {
                    "title": "CreateInvoiceMutation",
                    "properties": {
                      "description": {
                        "maxLength": 200,
                        "type": "string",
                        "description": "Description of the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_VERWERK_002\">FACT_VERWERK_002</a></td><td>Description is too long.</td></table></div>",
                        "format": "string"
                      },
                      "checkPaymentReference": {
                        "type": "boolean",
                        "description": "If true, the provided `paymentReference` will be validated for uniqueness."
                      },
                      "paymentReference": {
                        "maxLength": 50,
                        "type": "string",
                        "description": "A reference that uniquely identifies the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_VERWERK_003\">FACT_VERWERK_003</a></td><td>Payment reference is too long.</td><tr><td><a href=\"#FACT_VERWERK_004\">FACT_VERWERK_004</a></td><td>Payment reference already exists.</td><tr><td><a href=\"#MUTA_008\">MUTA_008</a></td><td>Payment reference already exists.</td></table></div>",
                        "format": "string"
                      },
                      "ledgerId": {
                        "type": "integer",
                        "description": "Ledger of the invoice entry.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_007\">MUT_007</a></td><td>Unknown ledger for mutation.</td></table></div>",
                        "format": "int32"
                      }
                    },
                    "description": "If this object is provided, the invoice will also be processed as a new mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_VERWERK_001\">FACT_VERWERK_001</a></td><td>Invoice date resides in a closed period.</td></table></div>"
                  },
                  "items": {
                    "maxItems": 500,
                    "type": "array",
                    "items": {
                      "title": "CreateInvoiceItem",
                      "required": [
                        "description",
                        "vatCode",
                        "ledgerId"
                      ],
                      "properties": {
                        "quantity": {
                          "type": "number",
                          "description": "The item quantity, with up to 4 decimal places.",
                          "default": 0
                        },
                        "amount": {
                          "type": "number",
                          "description": "The item quantity. To keep your code ready for future API versions it is recommended to use `quantity` instead.",
                          "deprecated": true
                        },
                        "unitId": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "description": "The ID of an existing unit.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_010\">FACT_ITEM_010</a></td><td>Unit not found.</td></table></div>",
                          "format": "int32"
                        },
                        "code": {
                          "maxLength": 50,
                          "type": "string",
                          "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_003\">FACT_ITEM_003</a></td><td>Code invoice item is too long.</td></table></div>",
                          "format": "string"
                        },
                        "productId": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "description": "The ID of an existing product. If given, `Code` is ignored.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_011\">FACT_ITEM_011</a></td><td>Product not found.</td></table></div>",
                          "format": "int32"
                        },
                        "description": {
                          "type": "string",
                          "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_001\">FACT_ITEM_001</a></td><td>Description invoice item is missing.</td><tr><td><a href=\"#FACT_ITEM_002\">FACT_ITEM_002</a></td><td>Description invoice item is too long.</td></table></div>",
                          "format": "string"
                        },
                        "pricePerUnit": {
                          "type": "number",
                          "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_004\">FACT_ITEM_004</a></td><td>Price per unit excl. VAT is missing.</td><tr><td><a href=\"#FACT_ITEM_008\">FACT_ITEM_008</a></td><td>Total price is too high.</td><tr><td><a href=\"#FACT_ITEM_009\">FACT_ITEM_009</a></td><td>Total price is too low.</td></table></div>"
                        },
                        "vatCode": {
                          "$ref": "#/components/schemas/VatCode"
                        },
                        "vatAmount": {
                          "type": "number",
                          "description": "The VAT amount of the invoice item. Only use in combination with vatCode: 'AFW_VERK'. Only applicable for NL.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_015\">FACT_ITEM_015</a></td><td>VAT amount must be used with VAT code: 'AFW_VERK'</td></table></div>",
                          "example": "20"
                        },
                        "ledgerId": {
                          "type": "integer",
                          "description": "The ID of an existing ledger account<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_007\">FACT_ITEM_007</a></td><td>Ledger ID is missing</td><tr><td><a href=\"#FACT_ITEM_012\">FACT_ITEM_012</a></td><td>Ledger account not found.</td></table></div>",
                          "format": "int32"
                        },
                        "costCenterId": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "discountAmount": {
                          "type": [
                            "null",
                            "number"
                          ],
                          "description": "A fixed discount on the `pricePerUnit`. This field can not be combined with `discountPercentage`."
                        },
                        "discountPercentage": {
                          "type": [
                            "null",
                            "number"
                          ],
                          "description": "A percentage discount on the `pricePerUnit`. This field can not be combined with `discountAmount`."
                        }
                      }
                    },
                    "description": "At least one invoice item is required.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_004\">FACT_004</a></td><td>Total invoice amount too high.</td><tr><td><a href=\"#FACT_005\">FACT_005</a></td><td>Total invoice amount too low.</td><tr><td><a href=\"#FACT_019\">FACT_019</a></td><td>Invoice items are missing.</td><tr><td><a href=\"#FACT_025\">FACT_025</a></td><td>Too many items.</td></table></div>"
                  }
                }
              },
              "example": {
                "Id": null,
                "InvoiceNumber": "F00001",
                "Relation": null,
                "RelationId": 1500,
                "Date": "2026-10-23",
                "TermOfPayment": 14,
                "InExVat": "EX",
                "TemplateId": 2100,
                "EmailTemplateId": 1700,
                "Reference": "Reference",
                "Text": "Text",
                "Print": false,
                "Email": {
                  "FromEmail": "",
                  "FromName": "",
                  "Subject": "",
                  "Body": "",
                  "AttachUbl": false,
                  "InvoiceUbl": null
                },
                "DirectDebit": {
                  "DirectDebit": null,
                  "Iban": "",
                  "MandateType": "",
                  "MandateId": "",
                  "MandateSignedDate": "2026-10-23",
                  "Name": "",
                  "City": "",
                  "DescriptionLine1": "",
                  "DescriptionLine2": "",
                  "DescriptionLine3": ""
                },
                "Mutation": {
                  "Description": "",
                  "CheckPaymentReference": true,
                  "PaymentReference": "REF00123",
                  "LedgerId": 1100
                },
                "InvoiceEntry": null,
                "Items": [
                  {
                    "Quantity": 0.0,
                    "Amount": 0.0,
                    "UnitId": 0,
                    "Code": "",
                    "ProductId": 0,
                    "Description": "",
                    "PricePerUnit": 0.0,
                    "VatCode": "HOOG_VERK_21",
                    "VatAmount": null,
                    "LedgerId": 0,
                    "CostCenterId": 0,
                    "DiscountAmount": 0.0,
                    "DiscountPercentage": 0.0
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "title": "CreateInvoice",
                "required": [
                  "relationId",
                  "termOfPayment",
                  "templateId",
                  "items"
                ],
                "properties": {
                  "invoiceNumber": {
                    "maxLength": 50,
                    "type": [
                      "null",
                      "string"
                    ],
                    "description": "Invoice number. Must end with a number.<br/>If empty, we will create a new number.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_006\">FACT_006</a></td><td>Invoice number is missing.</td><tr><td><a href=\"#FACT_007\">FACT_007</a></td><td>Invoice number is too long.</td><tr><td><a href=\"#FACT_008\">FACT_008</a></td><td>Invoice number is invalid.</td><tr><td><a href=\"#FACT_009\">FACT_009</a></td><td>Invoice number does not end with a digit.</td><tr><td><a href=\"#FACT_101\">FACT_101</a></td><td>Invoice number is in use.</td></table></div>",
                    "format": "string",
                    "example": "F00001"
                  },
                  "relationId": {
                    "type": "integer",
                    "description": "The ID of a relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_001\">FACT_001</a></td><td>Relation ID is missing.</td><tr><td><a href=\"#FACT_002\">FACT_002</a></td><td>Relation not found.</td><tr><td><a href=\"#FACT_003\">FACT_003</a></td><td>Relation is inactive.</td><tr><td><a href=\"#FACT_EMAIL_001\">FACT_EMAIL_001</a></td><td>Relation email is missing.</td><tr><td><a href=\"#FACT_EMAIL_002\">FACT_EMAIL_002</a></td><td>Relation email is invalid.</td><tr><td><a href=\"#FACT_EMAIL_003\">FACT_EMAIL_003</a></td><td>Relation email for invoices is invalid.</td><tr><td><a href=\"#FACT_EMAIL_004\">FACT_EMAIL_004</a></td><td>Relation email for reminders is invalid.</td><tr><td><a href=\"#FACT_EMAIL_007\">FACT_EMAIL_007</a></td><td>Relation email is missing.</td></table></div>",
                    "format": "int32",
                    "example": "12345"
                  },
                  "date": {
                    "type": "string",
                    "description": "Invoice date.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_011\">FACT_011</a></td><td>Invoice date is missing.</td><tr><td><a href=\"#FACT_012\">FACT_012</a></td><td>Invoice date invalid.</td><tr><td><a href=\"#FACT_013\">FACT_013</a></td><td>Invoice date out of range.</td></table></div>",
                    "format": "date"
                  },
                  "termOfPayment": {
                    "minimum": 0,
                    "type": "integer",
                    "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_015\">FACT_015</a></td><td>Term of payment is missing.</td><tr><td><a href=\"#FACT_016\">FACT_016</a></td><td>Term of payment out of range.</td></table></div>",
                    "format": "int32",
                    "default": 0,
                    "example": 7
                  },
                  "inExVat": {
                    "enum": [
                      "IN",
                      "EX"
                    ],
                    "type": "string",
                    "description": "Indicates if the amount on the invoice is including (`IN`) or excluding (`EX`) VAT. The corresponding value will be calculated based on the VAT code. If left empty the 'EX' option will be used<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_010\">FACT_010</a></td><td>Invoice VAT must be IN or EX.</td></table></div>",
                    "format": "string"
                  },
                  "templateId": {
                    "type": "integer",
                    "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_018\">FACT_018</a></td><td>Invoice template not found.</td></table></div>",
                    "format": "int32",
                    "example": "12345"
                  },
                  "emailTemplateId": {
                    "type": "integer",
                    "description": "The ID of an email template.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_020\">FACT_020</a></td><td>Email template not found.</td></table></div>",
                    "format": "int32",
                    "example": "12345"
                  },
                  "reference": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "Reference of the invoice.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_014\">FACT_014</a></td><td>Payment reference is too long.</td></table></div>",
                    "format": "string",
                    "example": ""
                  },
                  "text": {
                    "maxLength": 35000,
                    "type": "string",
                    "description": "Text of the invoice.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_017\">FACT_017</a></td><td>Invoice text is too long.</td></table></div>",
                    "format": "string",
                    "example": ""
                  },
                  "print": {
                    "type": "boolean",
                    "description": "Determines whether the invoice should be prepared for printing."
                  },
                  "email": {
                    "title": "CreateInvoiceEmail",
                    "properties": {
                      "fromEmail": {
                        "type": "string",
                        "description": "Email address of the sender.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_EMAIL_006\">FACT_EMAIL_006</a></td><td>Sender email is invalid.</td></table></div>",
                        "format": "string"
                      },
                      "fromName": {
                        "type": "string",
                        "description": "Name of the sender.",
                        "format": "string"
                      },
                      "subject": {
                        "type": "string",
                        "description": "Email subject.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_EMAIL_013\">FACT_EMAIL_013</a></td><td>Subject is missing.</td></table></div>",
                        "format": "string"
                      },
                      "body": {
                        "type": "string",
                        "description": "Email body. Supports HTML.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_EMAIL_011\">FACT_EMAIL_011</a></td><td>Email body is too long</td><tr><td><a href=\"#FACT_EMAIL_014\">FACT_EMAIL_014</a></td><td>Body is missing.</td></table></div>",
                        "format": "string"
                      },
                      "attachUbl": {
                        "type": "boolean",
                        "description": "Also attach the invoice UBL-file.",
                        "default": false
                      },
                      "invoiceUbl": {
                        "type": "boolean",
                        "description": "Obsolete; please use `attachUbl` instead. This field will be removed in the future."
                      }
                    },
                    "description": "If this object is provided, the invoice will be e-mailed to the relation immediately.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_EMAIL_005\">FACT_EMAIL_005</a></td><td>Something went wrong while attaching files to the email.</td></table></div>"
                  },
                  "directDebit": {
                    "title": "CreateInvoiceDebit",
                    "required": [
                      "iban"
                    ],
                    "properties": {
                      "iban": {
                        "maxLength": 150,
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_008\">FACT_INCASSO_008</a></td><td>IBAN is missing.</td><tr><td><a href=\"#FACT_INCASSO_009\">FACT_INCASSO_009</a></td><td>IBAN is too long.</td><tr><td><a href=\"#FACT_INCASSO_010\">FACT_INCASSO_010</a></td><td>IBAN is invalid.</td></table></div>",
                        "format": "string"
                      },
                      "mandateType": {
                        "maxLength": 1,
                        "enum": [
                          "O",
                          "E",
                          "R",
                          "D"
                        ],
                        "type": "string",
                        "description": "`O` or `E` (one-time debit), `R` or `D` (recurrent debit)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_001\">FACT_INCASSO_001</a></td><td>Mandate type is missing.</td><tr><td><a href=\"#FACT_INCASSO_002\">FACT_INCASSO_002</a></td><td>Mandate type is invalid.</td></table></div>",
                        "format": "string",
                        "default": "E"
                      },
                      "mandateId": {
                        "maxLength": 35,
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_003\">FACT_INCASSO_003</a></td><td>Mandate ID is missing.</td><tr><td><a href=\"#FACT_INCASSO_004\">FACT_INCASSO_004</a></td><td>Mandate ID is too long.</td></table></div>",
                        "format": "string"
                      },
                      "mandateSignedDate": {
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_005\">FACT_INCASSO_005</a></td><td>Mandate signed date is missing.</td><tr><td><a href=\"#FACT_INCASSO_006\">FACT_INCASSO_006</a></td><td>Mandate signed date is invalid.</td><tr><td><a href=\"#FACT_INCASSO_007\">FACT_INCASSO_007</a></td><td>Mandate signed date out of range.</td></table></div>",
                        "format": "date"
                      },
                      "name": {
                        "maxLength": 150,
                        "type": "string",
                        "description": "In the name of.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_011\">FACT_INCASSO_011</a></td><td>Name is too long.</td></table></div>",
                        "format": "string"
                      },
                      "city": {
                        "maxLength": 150,
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_012\">FACT_INCASSO_012</a></td><td>City is too long.</td></table></div>",
                        "format": "string"
                      },
                      "descriptionLine1": {
                        "maxLength": 50,
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_013\">FACT_INCASSO_013</a></td><td>Description line 1 is too long.</td></table></div>",
                        "format": "string"
                      },
                      "descriptionLine2": {
                        "maxLength": 50,
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_014\">FACT_INCASSO_014</a></td><td>Description line 2 is too long.</td></table></div>",
                        "format": "string"
                      },
                      "descriptionLine3": {
                        "maxLength": 50,
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_015\">FACT_INCASSO_015</a></td><td>Description line 3 is too long.</td></table></div>",
                        "format": "string"
                      }
                    },
                    "description": "If this object is provided, the invoice will be marked for direct debit with the provided details."
                  },
                  "mutation": {
                    "title": "CreateInvoiceMutation",
                    "properties": {
                      "description": {
                        "maxLength": 200,
                        "type": "string",
                        "description": "Description of the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_VERWERK_002\">FACT_VERWERK_002</a></td><td>Description is too long.</td></table></div>",
                        "format": "string"
                      },
                      "checkPaymentReference": {
                        "type": "boolean",
                        "description": "If true, the provided `paymentReference` will be validated for uniqueness."
                      },
                      "paymentReference": {
                        "maxLength": 50,
                        "type": "string",
                        "description": "A reference that uniquely identifies the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_VERWERK_003\">FACT_VERWERK_003</a></td><td>Payment reference is too long.</td><tr><td><a href=\"#FACT_VERWERK_004\">FACT_VERWERK_004</a></td><td>Payment reference already exists.</td><tr><td><a href=\"#MUTA_008\">MUTA_008</a></td><td>Payment reference already exists.</td></table></div>",
                        "format": "string"
                      },
                      "ledgerId": {
                        "type": "integer",
                        "description": "Ledger of the invoice entry.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_007\">MUT_007</a></td><td>Unknown ledger for mutation.</td></table></div>",
                        "format": "int32"
                      }
                    },
                    "description": "If this object is provided, the invoice will also be processed as a new mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_VERWERK_001\">FACT_VERWERK_001</a></td><td>Invoice date resides in a closed period.</td></table></div>"
                  },
                  "items": {
                    "maxItems": 500,
                    "type": "array",
                    "items": {
                      "title": "CreateInvoiceItem",
                      "required": [
                        "description",
                        "vatCode",
                        "ledgerId"
                      ],
                      "properties": {
                        "quantity": {
                          "type": "number",
                          "description": "The item quantity, with up to 4 decimal places.",
                          "default": 0
                        },
                        "amount": {
                          "type": "number",
                          "description": "The item quantity. To keep your code ready for future API versions it is recommended to use `quantity` instead.",
                          "deprecated": true
                        },
                        "unitId": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "description": "The ID of an existing unit.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_010\">FACT_ITEM_010</a></td><td>Unit not found.</td></table></div>",
                          "format": "int32"
                        },
                        "code": {
                          "maxLength": 50,
                          "type": "string",
                          "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_003\">FACT_ITEM_003</a></td><td>Code invoice item is too long.</td></table></div>",
                          "format": "string"
                        },
                        "productId": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "description": "The ID of an existing product. If given, `Code` is ignored.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_011\">FACT_ITEM_011</a></td><td>Product not found.</td></table></div>",
                          "format": "int32"
                        },
                        "description": {
                          "type": "string",
                          "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_001\">FACT_ITEM_001</a></td><td>Description invoice item is missing.</td><tr><td><a href=\"#FACT_ITEM_002\">FACT_ITEM_002</a></td><td>Description invoice item is too long.</td></table></div>",
                          "format": "string"
                        },
                        "pricePerUnit": {
                          "type": "number",
                          "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_004\">FACT_ITEM_004</a></td><td>Price per unit excl. VAT is missing.</td><tr><td><a href=\"#FACT_ITEM_008\">FACT_ITEM_008</a></td><td>Total price is too high.</td><tr><td><a href=\"#FACT_ITEM_009\">FACT_ITEM_009</a></td><td>Total price is too low.</td></table></div>"
                        },
                        "vatCode": {
                          "$ref": "#/components/schemas/VatCode"
                        },
                        "vatAmount": {
                          "type": "number",
                          "description": "The VAT amount of the invoice item. Only use in combination with vatCode: 'AFW_VERK'. Only applicable for NL.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_015\">FACT_ITEM_015</a></td><td>VAT amount must be used with VAT code: 'AFW_VERK'</td></table></div>",
                          "example": "20"
                        },
                        "ledgerId": {
                          "type": "integer",
                          "description": "The ID of an existing ledger account<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_007\">FACT_ITEM_007</a></td><td>Ledger ID is missing</td><tr><td><a href=\"#FACT_ITEM_012\">FACT_ITEM_012</a></td><td>Ledger account not found.</td></table></div>",
                          "format": "int32"
                        },
                        "costCenterId": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "discountAmount": {
                          "type": [
                            "null",
                            "number"
                          ],
                          "description": "A fixed discount on the `pricePerUnit`. This field can not be combined with `discountPercentage`."
                        },
                        "discountPercentage": {
                          "type": [
                            "null",
                            "number"
                          ],
                          "description": "A percentage discount on the `pricePerUnit`. This field can not be combined with `discountAmount`."
                        }
                      }
                    },
                    "description": "At least one invoice item is required.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_004\">FACT_004</a></td><td>Total invoice amount too high.</td><tr><td><a href=\"#FACT_005\">FACT_005</a></td><td>Total invoice amount too low.</td><tr><td><a href=\"#FACT_019\">FACT_019</a></td><td>Invoice items are missing.</td><tr><td><a href=\"#FACT_025\">FACT_025</a></td><td>Too many items.</td></table></div>"
                  }
                }
              },
              "example": {
                "Id": null,
                "InvoiceNumber": "F00001",
                "Relation": null,
                "RelationId": 1500,
                "Date": "2026-10-23",
                "TermOfPayment": 14,
                "InExVat": "EX",
                "TemplateId": 2100,
                "EmailTemplateId": 1700,
                "Reference": "Reference",
                "Text": "Text",
                "Print": false,
                "Email": {
                  "FromEmail": "",
                  "FromName": "",
                  "Subject": "",
                  "Body": "",
                  "AttachUbl": false,
                  "InvoiceUbl": null
                },
                "DirectDebit": {
                  "DirectDebit": null,
                  "Iban": "",
                  "MandateType": "",
                  "MandateId": "",
                  "MandateSignedDate": "2026-10-23",
                  "Name": "",
                  "City": "",
                  "DescriptionLine1": "",
                  "DescriptionLine2": "",
                  "DescriptionLine3": ""
                },
                "Mutation": {
                  "Description": "",
                  "CheckPaymentReference": true,
                  "PaymentReference": "REF00123",
                  "LedgerId": 1100
                },
                "InvoiceEntry": null,
                "Items": [
                  {
                    "Quantity": 0.0,
                    "Amount": 0.0,
                    "UnitId": 0,
                    "Code": "",
                    "ProductId": 0,
                    "Description": "",
                    "PricePerUnit": 0.0,
                    "VatCode": "HOOG_VERK_21",
                    "VatAmount": null,
                    "LedgerId": 0,
                    "CostCenterId": 0,
                    "DiscountAmount": 0.0,
                    "DiscountPercentage": 0.0
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "title": "CreateInvoice",
                "required": [
                  "relationId",
                  "termOfPayment",
                  "templateId",
                  "items"
                ],
                "properties": {
                  "invoiceNumber": {
                    "maxLength": 50,
                    "type": [
                      "null",
                      "string"
                    ],
                    "description": "Invoice number. Must end with a number.<br/>If empty, we will create a new number.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_006\">FACT_006</a></td><td>Invoice number is missing.</td><tr><td><a href=\"#FACT_007\">FACT_007</a></td><td>Invoice number is too long.</td><tr><td><a href=\"#FACT_008\">FACT_008</a></td><td>Invoice number is invalid.</td><tr><td><a href=\"#FACT_009\">FACT_009</a></td><td>Invoice number does not end with a digit.</td><tr><td><a href=\"#FACT_101\">FACT_101</a></td><td>Invoice number is in use.</td></table></div>",
                    "format": "string",
                    "example": "F00001"
                  },
                  "relationId": {
                    "type": "integer",
                    "description": "The ID of a relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_001\">FACT_001</a></td><td>Relation ID is missing.</td><tr><td><a href=\"#FACT_002\">FACT_002</a></td><td>Relation not found.</td><tr><td><a href=\"#FACT_003\">FACT_003</a></td><td>Relation is inactive.</td><tr><td><a href=\"#FACT_EMAIL_001\">FACT_EMAIL_001</a></td><td>Relation email is missing.</td><tr><td><a href=\"#FACT_EMAIL_002\">FACT_EMAIL_002</a></td><td>Relation email is invalid.</td><tr><td><a href=\"#FACT_EMAIL_003\">FACT_EMAIL_003</a></td><td>Relation email for invoices is invalid.</td><tr><td><a href=\"#FACT_EMAIL_004\">FACT_EMAIL_004</a></td><td>Relation email for reminders is invalid.</td><tr><td><a href=\"#FACT_EMAIL_007\">FACT_EMAIL_007</a></td><td>Relation email is missing.</td></table></div>",
                    "format": "int32",
                    "example": "12345"
                  },
                  "date": {
                    "type": "string",
                    "description": "Invoice date.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_011\">FACT_011</a></td><td>Invoice date is missing.</td><tr><td><a href=\"#FACT_012\">FACT_012</a></td><td>Invoice date invalid.</td><tr><td><a href=\"#FACT_013\">FACT_013</a></td><td>Invoice date out of range.</td></table></div>",
                    "format": "date"
                  },
                  "termOfPayment": {
                    "minimum": 0,
                    "type": "integer",
                    "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_015\">FACT_015</a></td><td>Term of payment is missing.</td><tr><td><a href=\"#FACT_016\">FACT_016</a></td><td>Term of payment out of range.</td></table></div>",
                    "format": "int32",
                    "default": 0,
                    "example": 7
                  },
                  "inExVat": {
                    "enum": [
                      "IN",
                      "EX"
                    ],
                    "type": "string",
                    "description": "Indicates if the amount on the invoice is including (`IN`) or excluding (`EX`) VAT. The corresponding value will be calculated based on the VAT code. If left empty the 'EX' option will be used<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_010\">FACT_010</a></td><td>Invoice VAT must be IN or EX.</td></table></div>",
                    "format": "string"
                  },
                  "templateId": {
                    "type": "integer",
                    "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_018\">FACT_018</a></td><td>Invoice template not found.</td></table></div>",
                    "format": "int32",
                    "example": "12345"
                  },
                  "emailTemplateId": {
                    "type": "integer",
                    "description": "The ID of an email template.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_020\">FACT_020</a></td><td>Email template not found.</td></table></div>",
                    "format": "int32",
                    "example": "12345"
                  },
                  "reference": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "Reference of the invoice.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_014\">FACT_014</a></td><td>Payment reference is too long.</td></table></div>",
                    "format": "string",
                    "example": ""
                  },
                  "text": {
                    "maxLength": 35000,
                    "type": "string",
                    "description": "Text of the invoice.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_017\">FACT_017</a></td><td>Invoice text is too long.</td></table></div>",
                    "format": "string",
                    "example": ""
                  },
                  "print": {
                    "type": "boolean",
                    "description": "Determines whether the invoice should be prepared for printing."
                  },
                  "email": {
                    "title": "CreateInvoiceEmail",
                    "properties": {
                      "fromEmail": {
                        "type": "string",
                        "description": "Email address of the sender.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_EMAIL_006\">FACT_EMAIL_006</a></td><td>Sender email is invalid.</td></table></div>",
                        "format": "string"
                      },
                      "fromName": {
                        "type": "string",
                        "description": "Name of the sender.",
                        "format": "string"
                      },
                      "subject": {
                        "type": "string",
                        "description": "Email subject.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_EMAIL_013\">FACT_EMAIL_013</a></td><td>Subject is missing.</td></table></div>",
                        "format": "string"
                      },
                      "body": {
                        "type": "string",
                        "description": "Email body. Supports HTML.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_EMAIL_011\">FACT_EMAIL_011</a></td><td>Email body is too long</td><tr><td><a href=\"#FACT_EMAIL_014\">FACT_EMAIL_014</a></td><td>Body is missing.</td></table></div>",
                        "format": "string"
                      },
                      "attachUbl": {
                        "type": "boolean",
                        "description": "Also attach the invoice UBL-file.",
                        "default": false
                      },
                      "invoiceUbl": {
                        "type": "boolean",
                        "description": "Obsolete; please use `attachUbl` instead. This field will be removed in the future."
                      }
                    },
                    "description": "If this object is provided, the invoice will be e-mailed to the relation immediately.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_EMAIL_005\">FACT_EMAIL_005</a></td><td>Something went wrong while attaching files to the email.</td></table></div>"
                  },
                  "directDebit": {
                    "title": "CreateInvoiceDebit",
                    "required": [
                      "iban"
                    ],
                    "properties": {
                      "iban": {
                        "maxLength": 150,
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_008\">FACT_INCASSO_008</a></td><td>IBAN is missing.</td><tr><td><a href=\"#FACT_INCASSO_009\">FACT_INCASSO_009</a></td><td>IBAN is too long.</td><tr><td><a href=\"#FACT_INCASSO_010\">FACT_INCASSO_010</a></td><td>IBAN is invalid.</td></table></div>",
                        "format": "string"
                      },
                      "mandateType": {
                        "maxLength": 1,
                        "enum": [
                          "O",
                          "E",
                          "R",
                          "D"
                        ],
                        "type": "string",
                        "description": "`O` or `E` (one-time debit), `R` or `D` (recurrent debit)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_001\">FACT_INCASSO_001</a></td><td>Mandate type is missing.</td><tr><td><a href=\"#FACT_INCASSO_002\">FACT_INCASSO_002</a></td><td>Mandate type is invalid.</td></table></div>",
                        "format": "string",
                        "default": "E"
                      },
                      "mandateId": {
                        "maxLength": 35,
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_003\">FACT_INCASSO_003</a></td><td>Mandate ID is missing.</td><tr><td><a href=\"#FACT_INCASSO_004\">FACT_INCASSO_004</a></td><td>Mandate ID is too long.</td></table></div>",
                        "format": "string"
                      },
                      "mandateSignedDate": {
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_005\">FACT_INCASSO_005</a></td><td>Mandate signed date is missing.</td><tr><td><a href=\"#FACT_INCASSO_006\">FACT_INCASSO_006</a></td><td>Mandate signed date is invalid.</td><tr><td><a href=\"#FACT_INCASSO_007\">FACT_INCASSO_007</a></td><td>Mandate signed date out of range.</td></table></div>",
                        "format": "date"
                      },
                      "name": {
                        "maxLength": 150,
                        "type": "string",
                        "description": "In the name of.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_011\">FACT_INCASSO_011</a></td><td>Name is too long.</td></table></div>",
                        "format": "string"
                      },
                      "city": {
                        "maxLength": 150,
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_012\">FACT_INCASSO_012</a></td><td>City is too long.</td></table></div>",
                        "format": "string"
                      },
                      "descriptionLine1": {
                        "maxLength": 50,
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_013\">FACT_INCASSO_013</a></td><td>Description line 1 is too long.</td></table></div>",
                        "format": "string"
                      },
                      "descriptionLine2": {
                        "maxLength": 50,
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_014\">FACT_INCASSO_014</a></td><td>Description line 2 is too long.</td></table></div>",
                        "format": "string"
                      },
                      "descriptionLine3": {
                        "maxLength": 50,
                        "type": "string",
                        "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_INCASSO_015\">FACT_INCASSO_015</a></td><td>Description line 3 is too long.</td></table></div>",
                        "format": "string"
                      }
                    },
                    "description": "If this object is provided, the invoice will be marked for direct debit with the provided details."
                  },
                  "mutation": {
                    "title": "CreateInvoiceMutation",
                    "properties": {
                      "description": {
                        "maxLength": 200,
                        "type": "string",
                        "description": "Description of the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_VERWERK_002\">FACT_VERWERK_002</a></td><td>Description is too long.</td></table></div>",
                        "format": "string"
                      },
                      "checkPaymentReference": {
                        "type": "boolean",
                        "description": "If true, the provided `paymentReference` will be validated for uniqueness."
                      },
                      "paymentReference": {
                        "maxLength": 50,
                        "type": "string",
                        "description": "A reference that uniquely identifies the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_VERWERK_003\">FACT_VERWERK_003</a></td><td>Payment reference is too long.</td><tr><td><a href=\"#FACT_VERWERK_004\">FACT_VERWERK_004</a></td><td>Payment reference already exists.</td><tr><td><a href=\"#MUTA_008\">MUTA_008</a></td><td>Payment reference already exists.</td></table></div>",
                        "format": "string"
                      },
                      "ledgerId": {
                        "type": "integer",
                        "description": "Ledger of the invoice entry.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_007\">MUT_007</a></td><td>Unknown ledger for mutation.</td></table></div>",
                        "format": "int32"
                      }
                    },
                    "description": "If this object is provided, the invoice will also be processed as a new mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_VERWERK_001\">FACT_VERWERK_001</a></td><td>Invoice date resides in a closed period.</td></table></div>"
                  },
                  "items": {
                    "maxItems": 500,
                    "type": "array",
                    "items": {
                      "title": "CreateInvoiceItem",
                      "required": [
                        "description",
                        "vatCode",
                        "ledgerId"
                      ],
                      "properties": {
                        "quantity": {
                          "type": "number",
                          "description": "The item quantity, with up to 4 decimal places.",
                          "default": 0
                        },
                        "amount": {
                          "type": "number",
                          "description": "The item quantity. To keep your code ready for future API versions it is recommended to use `quantity` instead.",
                          "deprecated": true
                        },
                        "unitId": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "description": "The ID of an existing unit.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_010\">FACT_ITEM_010</a></td><td>Unit not found.</td></table></div>",
                          "format": "int32"
                        },
                        "code": {
                          "maxLength": 50,
                          "type": "string",
                          "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_003\">FACT_ITEM_003</a></td><td>Code invoice item is too long.</td></table></div>",
                          "format": "string"
                        },
                        "productId": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "description": "The ID of an existing product. If given, `Code` is ignored.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_011\">FACT_ITEM_011</a></td><td>Product not found.</td></table></div>",
                          "format": "int32"
                        },
                        "description": {
                          "type": "string",
                          "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_001\">FACT_ITEM_001</a></td><td>Description invoice item is missing.</td><tr><td><a href=\"#FACT_ITEM_002\">FACT_ITEM_002</a></td><td>Description invoice item is too long.</td></table></div>",
                          "format": "string"
                        },
                        "pricePerUnit": {
                          "type": "number",
                          "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_004\">FACT_ITEM_004</a></td><td>Price per unit excl. VAT is missing.</td><tr><td><a href=\"#FACT_ITEM_008\">FACT_ITEM_008</a></td><td>Total price is too high.</td><tr><td><a href=\"#FACT_ITEM_009\">FACT_ITEM_009</a></td><td>Total price is too low.</td></table></div>"
                        },
                        "vatCode": {
                          "$ref": "#/components/schemas/VatCode"
                        },
                        "vatAmount": {
                          "type": "number",
                          "description": "The VAT amount of the invoice item. Only use in combination with vatCode: 'AFW_VERK'. Only applicable for NL.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_015\">FACT_ITEM_015</a></td><td>VAT amount must be used with VAT code: 'AFW_VERK'</td></table></div>",
                          "example": "20"
                        },
                        "ledgerId": {
                          "type": "integer",
                          "description": "The ID of an existing ledger account<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_007\">FACT_ITEM_007</a></td><td>Ledger ID is missing</td><tr><td><a href=\"#FACT_ITEM_012\">FACT_ITEM_012</a></td><td>Ledger account not found.</td></table></div>",
                          "format": "int32"
                        },
                        "costCenterId": {
                          "type": [
                            "null",
                            "integer"
                          ],
                          "format": "int32"
                        },
                        "discountAmount": {
                          "type": [
                            "null",
                            "number"
                          ],
                          "description": "A fixed discount on the `pricePerUnit`. This field can not be combined with `discountPercentage`."
                        },
                        "discountPercentage": {
                          "type": [
                            "null",
                            "number"
                          ],
                          "description": "A percentage discount on the `pricePerUnit`. This field can not be combined with `discountAmount`."
                        }
                      }
                    },
                    "description": "At least one invoice item is required.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_004\">FACT_004</a></td><td>Total invoice amount too high.</td><tr><td><a href=\"#FACT_005\">FACT_005</a></td><td>Total invoice amount too low.</td><tr><td><a href=\"#FACT_019\">FACT_019</a></td><td>Invoice items are missing.</td><tr><td><a href=\"#FACT_025\">FACT_025</a></td><td>Too many items.</td></table></div>"
                  }
                }
              },
              "example": {
                "Id": null,
                "InvoiceNumber": "F00001",
                "Relation": null,
                "RelationId": 1500,
                "Date": "2026-10-23",
                "TermOfPayment": 14,
                "InExVat": "EX",
                "TemplateId": 2100,
                "EmailTemplateId": 1700,
                "Reference": "Reference",
                "Text": "Text",
                "Print": false,
                "Email": {
                  "FromEmail": "",
                  "FromName": "",
                  "Subject": "",
                  "Body": "",
                  "AttachUbl": false,
                  "InvoiceUbl": null
                },
                "DirectDebit": {
                  "DirectDebit": null,
                  "Iban": "",
                  "MandateType": "",
                  "MandateId": "",
                  "MandateSignedDate": "2026-10-23",
                  "Name": "",
                  "City": "",
                  "DescriptionLine1": "",
                  "DescriptionLine2": "",
                  "DescriptionLine3": ""
                },
                "Mutation": {
                  "Description": "",
                  "CheckPaymentReference": true,
                  "PaymentReference": "REF00123",
                  "LedgerId": 1100
                },
                "InvoiceEntry": null,
                "Items": [
                  {
                    "Quantity": 0.0,
                    "Amount": 0.0,
                    "UnitId": 0,
                    "Code": "",
                    "ProductId": 0,
                    "Description": "",
                    "PricePerUnit": 0.0,
                    "VatCode": "HOOG_VERK_21",
                    "VatAmount": null,
                    "LedgerId": 0,
                    "CostCenterId": 0,
                    "DiscountAmount": 0.0,
                    "DiscountPercentage": 0.0
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "title": "CreatedInvoice",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the invoice.",
                      "format": "int32"
                    },
                    "invoiceNumber": {
                      "type": "string",
                      "description": "The invoice number.",
                      "format": "string"
                    },
                    "inExVat": {
                      "enum": [
                        "IN",
                        "EX"
                      ],
                      "type": "string",
                      "description": "Indicates if the price per unit of the sub items on the invoice is including (`IN`) or excluding (`EX`) VAT.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_010\">FACT_010</a></td><td>Invoice VAT must be IN or EX.</td></table></div>",
                      "format": "string"
                    }
                  }
                },
                "example": {
                  "Id": 1000,
                  "InvoiceNumber": "F00001",
                  "RelationId": null,
                  "Date": null,
                  "Reference": null,
                  "Text": null,
                  "TermOfPayment": null,
                  "InExVat": null,
                  "TotalExcl": null,
                  "TotalAmount": null,
                  "VatAmount": null,
                  "UrlPdfFile": null
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      },
      "get": {
        "tags": [
          "Invoice"
        ],
        "description": "Search for invoices.",
        "operationId": "GetInvoices",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The number of items to retrieve.",
            "schema": {
              "maximum": 2000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The number of items to skip.",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "invoiceNumber",
            "in": "query",
            "description": "Only retrieve the invoice with this number.",
            "schema": {
              "type": "string",
              "format": "filter-string"
            }
          },
          {
            "name": "relationId",
            "in": "query",
            "description": "Only retrieve invoices from this relation.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Only retrieve invoices on this date.",
            "schema": {
              "type": "string",
              "format": "filter-date"
            },
            "example": "2021-01-01"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDtoOfInvoicesResponseDto"
                },
                "example": {
                  "Items": [
                    {
                      "Id": 1000,
                      "InvoiceNumber": "F00001",
                      "RelationId": 1500,
                      "Date": "2026-10-23",
                      "Reference": "Reference",
                      "Text": "Text",
                      "UrlPdfFile": "",
                      "TotalExcl": 121.0,
                      "TotalAmount": 131.89,
                      "VatAmount": 10.89,
                      "TermOfPayment": 14,
                      "TemplateId": 2100,
                      "Print": false
                    }
                  ],
                  "Count": 1
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/invoice/{id}": {
      "get": {
        "tags": [
          "Invoice"
        ],
        "description": "Get an invoice.",
        "operationId": "GetInvoice",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "title": "Invoice",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the invoice.",
                      "format": "int32"
                    },
                    "invoiceNumber": {
                      "type": "string",
                      "description": "The invoice number.",
                      "format": "string"
                    },
                    "relationId": {
                      "type": "integer",
                      "description": "The ID of a relation.",
                      "format": "int32"
                    },
                    "date": {
                      "type": "object",
                      "description": "Invoice date.",
                      "format": "date"
                    },
                    "reference": {
                      "type": "string",
                      "description": "Reference of the invoice.",
                      "format": "string"
                    },
                    "text": {
                      "type": "string",
                      "description": "Text of the invoice.",
                      "format": "string"
                    },
                    "termOfPayment": {
                      "type": "integer",
                      "description": "Term of payment from the invoice date, in days.",
                      "format": "int32"
                    },
                    "inExVat": {
                      "enum": [
                        "IN",
                        "EX"
                      ],
                      "type": "string",
                      "description": "Indicates if the price per unit of the sub items on the invoice is including (`IN`) or excluding (`EX`) VAT.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_010\">FACT_010</a></td><td>Invoice VAT must be IN or EX.</td></table></div>",
                      "format": "string"
                    },
                    "templateId": {
                      "type": "integer",
                      "description": "The ID of an invoice template.",
                      "format": "int32"
                    },
                    "emailTemplateId": {
                      "type": "integer",
                      "description": "The ID of an email template.",
                      "format": "int32"
                    },
                    "totalExcl": {
                      "type": "number",
                      "description": "The invoice amount, excluding VAT."
                    },
                    "totalAmount": {
                      "type": "number",
                      "description": "The invoice amount, including VAT."
                    },
                    "vatAmount": {
                      "type": "number",
                      "description": "The VAT amount."
                    },
                    "urlPdfFile": {
                      "type": "string",
                      "description": "A shareable url to download the invoice as a PDF file.",
                      "format": "string"
                    },
                    "items": {
                      "type": "array",
                      "items": {
                        "title": "InvoiceItem",
                        "required": [
                          "description",
                          "vatCode",
                          "ledgerId"
                        ],
                        "properties": {
                          "quantity": {
                            "type": "number",
                            "description": "The item quantity, with up to 4 decimal places.",
                            "default": 0
                          },
                          "amount": {
                            "type": "number",
                            "description": "The item quantity. To keep your code ready for future API versions it is recommended to use `quantity` instead.",
                            "deprecated": true
                          },
                          "unitId": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "description": "The ID of an existing unit.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_010\">FACT_ITEM_010</a></td><td>Unit not found.</td></table></div>",
                            "format": "int32"
                          },
                          "code": {
                            "maxLength": 50,
                            "type": "string",
                            "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_003\">FACT_ITEM_003</a></td><td>Code invoice item is too long.</td></table></div>",
                            "format": "string"
                          },
                          "productId": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "description": "The ID of an existing product. If given, `Code` is ignored.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_011\">FACT_ITEM_011</a></td><td>Product not found.</td></table></div>",
                            "format": "int32"
                          },
                          "description": {
                            "type": "string",
                            "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_001\">FACT_ITEM_001</a></td><td>Description invoice item is missing.</td><tr><td><a href=\"#FACT_ITEM_002\">FACT_ITEM_002</a></td><td>Description invoice item is too long.</td></table></div>",
                            "format": "string"
                          },
                          "pricePerUnit": {
                            "type": "number",
                            "description": "<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_004\">FACT_ITEM_004</a></td><td>Price per unit excl. VAT is missing.</td><tr><td><a href=\"#FACT_ITEM_008\">FACT_ITEM_008</a></td><td>Total price is too high.</td><tr><td><a href=\"#FACT_ITEM_009\">FACT_ITEM_009</a></td><td>Total price is too low.</td></table></div>"
                          },
                          "vatCode": {
                            "$ref": "#/components/schemas/VatCode"
                          },
                          "vatAmount": {
                            "type": "number",
                            "description": "The VAT amount of the invoice item. VAT amount is only shown when the setting 'btw-berekenig' has 'Btw per afzonderlijke factuurregel berekenen' enabled.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_015\">FACT_ITEM_015</a></td><td>VAT amount must be used with VAT code: 'AFW_VERK'</td></table></div>",
                            "example": "20"
                          },
                          "ledgerId": {
                            "type": "integer",
                            "description": "The ID of an existing ledger account<br><div><h3>Error codes</h3><table><tr><td><a href=\"#FACT_ITEM_007\">FACT_ITEM_007</a></td><td>Ledger ID is missing</td><tr><td><a href=\"#FACT_ITEM_012\">FACT_ITEM_012</a></td><td>Ledger account not found.</td></table></div>",
                            "format": "int32"
                          },
                          "costCenterId": {
                            "type": [
                              "null",
                              "integer"
                            ],
                            "format": "int32"
                          },
                          "discountAmount": {
                            "type": [
                              "null",
                              "number"
                            ],
                            "description": "A fixed discount on the `pricePerUnit`. This field can not be combined with `discountPercentage`."
                          },
                          "discountPercentage": {
                            "type": [
                              "null",
                              "number"
                            ],
                            "description": "A percentage discount on the `pricePerUnit`. This field can not be combined with `discountAmount`."
                          }
                        }
                      },
                      "description": "At least one invoice item is required."
                    }
                  }
                },
                "example": {
                  "Id": 1000,
                  "InvoiceNumber": "F00001",
                  "RelationId": 1500,
                  "Date": "2026-10-23",
                  "Reference": "Reference",
                  "Text": "Text",
                  "TermOfPayment": 14,
                  "InExVat": "EX",
                  "TemplateId": 2100,
                  "EmailTemplateId": 1100,
                  "TotalExcl": 121.0,
                  "TotalAmount": 131.89,
                  "VatAmount": 10.89,
                  "UrlPdfFile": "",
                  "Items": [
                    {
                      "Quantity": 2.0,
                      "Amount": 2.0,
                      "UnitId": 1,
                      "Code": "PRD001",
                      "ProductId": 101,
                      "Description": "Product A",
                      "PricePerUnit": 50.0,
                      "VatCode": "HOOG_VERK_21",
                      "VatAmount": 10.5,
                      "LedgerId": 3001,
                      "CostCenterId": 4001,
                      "DiscountAmount": 5.0,
                      "DiscountPercentage": null
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/invoicetemplate": {
      "get": {
        "tags": [
          "InvoiceTemplate"
        ],
        "description": "Get all invoice templates.",
        "operationId": "GetInvoiceTemplates",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The number of items to retrieve.",
            "schema": {
              "maximum": 2000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The number of items to skip.",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Name of the invoice template.",
            "schema": {
              "type": "string",
              "format": "filter-string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Template type. Editor (`E`) or advanced (`A`).",
            "schema": {
              "type": "string",
              "format": "string"
            }
          },
          {
            "name": "active",
            "in": "query",
            "description": "Whether the invoice template is active.",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDtoOfInvoiceTemplateDto"
                },
                "example": {
                  "Items": [
                    {
                      "Id": 1,
                      "Name": "Factuursjabloon",
                      "Active": true,
                      "Type": "E"
                    }
                  ],
                  "Count": 1
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/ledger": {
      "get": {
        "tags": [
          "Ledger"
        ],
        "description": "Get all ledgers.",
        "operationId": "GetLedgers",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The number of items to retrieve.",
            "schema": {
              "maximum": 2000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The number of items to skip.",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "code",
            "in": "query",
            "description": "The code of the ledger.",
            "schema": {
              "maxLength": 10,
              "type": "string",
              "format": "filter-string"
            }
          },
          {
            "name": "category",
            "in": "query",
            "description": "The category of the ledger.",
            "schema": {
              "maxLength": 10,
              "type": "string",
              "format": "filter-string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDtoOfLedgersResponseDto"
                },
                "example": {
                  "Items": [
                    {
                      "Id": 1,
                      "Code": "7000",
                      "Description": "Inkopen",
                      "Category": "VW",
                      "Group": null
                    }
                  ],
                  "Count": 1
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Ledger"
        ],
        "description": "Create a new ledger.",
        "operationId": "CreateLedger",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "title": "CreateLedger",
                "required": [
                  "code",
                  "description"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "The code of the ledger.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#LEDG_001\">LEDG_001</a></td><td>Code is missing.</td><tr><td><a href=\"#LEDG_002\">LEDG_002</a></td><td>Code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "description": {
                    "type": "string",
                    "description": "The description of the ledger.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#LEDG_003\">LEDG_003</a></td><td>Description is missing.</td><tr><td><a href=\"#LEDG_004\">LEDG_004</a></td><td>Description is too long.</td></table></div>",
                    "format": "string"
                  },
                  "category": {
                    "$ref": "#/components/schemas/Category"
                  },
                  "group": {
                    "type": "string",
                    "description": "The group of the ledger.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#LEDG_007\">LEDG_007</a></td><td>Group is missing.</td></table></div>",
                    "format": "string"
                  }
                }
              },
              "example": {
                "Id": 123,
                "Code": "E123",
                "Description": "This serves as an example.",
                "Category": "BAL",
                "Group": "01234"
              }
            },
            "application/json": {
              "schema": {
                "title": "CreateLedger",
                "required": [
                  "code",
                  "description"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "The code of the ledger.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#LEDG_001\">LEDG_001</a></td><td>Code is missing.</td><tr><td><a href=\"#LEDG_002\">LEDG_002</a></td><td>Code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "description": {
                    "type": "string",
                    "description": "The description of the ledger.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#LEDG_003\">LEDG_003</a></td><td>Description is missing.</td><tr><td><a href=\"#LEDG_004\">LEDG_004</a></td><td>Description is too long.</td></table></div>",
                    "format": "string"
                  },
                  "category": {
                    "$ref": "#/components/schemas/Category"
                  },
                  "group": {
                    "type": "string",
                    "description": "The group of the ledger.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#LEDG_007\">LEDG_007</a></td><td>Group is missing.</td></table></div>",
                    "format": "string"
                  }
                }
              },
              "example": {
                "Id": 123,
                "Code": "E123",
                "Description": "This serves as an example.",
                "Category": "BAL",
                "Group": "01234"
              }
            },
            "application/*+json": {
              "schema": {
                "title": "CreateLedger",
                "required": [
                  "code",
                  "description"
                ],
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "The code of the ledger.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#LEDG_001\">LEDG_001</a></td><td>Code is missing.</td><tr><td><a href=\"#LEDG_002\">LEDG_002</a></td><td>Code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "description": {
                    "type": "string",
                    "description": "The description of the ledger.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#LEDG_003\">LEDG_003</a></td><td>Description is missing.</td><tr><td><a href=\"#LEDG_004\">LEDG_004</a></td><td>Description is too long.</td></table></div>",
                    "format": "string"
                  },
                  "category": {
                    "$ref": "#/components/schemas/Category"
                  },
                  "group": {
                    "type": "string",
                    "description": "The group of the ledger.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#LEDG_007\">LEDG_007</a></td><td>Group is missing.</td></table></div>",
                    "format": "string"
                  }
                }
              },
              "example": {
                "Id": 123,
                "Code": "E123",
                "Description": "This serves as an example.",
                "Category": "BAL",
                "Group": "01234"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "title": "CreatedLedger",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the ledger.",
                      "format": "int32"
                    }
                  }
                },
                "example": {
                  "Id": 123,
                  "Code": null,
                  "Description": null,
                  "Category": null,
                  "Group": null
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/ledger/{id}": {
      "get": {
        "tags": [
          "Ledger"
        ],
        "description": "Get a ledger.",
        "operationId": "GetLedger",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "title": "Ledger",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the ledger.",
                      "format": "int32"
                    },
                    "code": {
                      "type": "string",
                      "description": "The code of the ledger.",
                      "format": "string"
                    },
                    "description": {
                      "type": "string",
                      "description": "The description of the ledger.",
                      "format": "string"
                    },
                    "category": {
                      "type": "string",
                      "description": "The category of the ledger.",
                      "format": "string"
                    },
                    "group": {
                      "type": "string",
                      "description": "The group of the ledger.",
                      "format": "string"
                    }
                  }
                },
                "example": {
                  "Id": 123,
                  "Code": "E123",
                  "Description": "This serves as an example.",
                  "Category": "BAL",
                  "Group": "01234"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "Ledger"
        ],
        "description": "Update a ledger.",
        "operationId": "UpdateLedger",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "title": "PatchLedger",
                "properties": {
                  "code": {
                    "maxLength": 10,
                    "type": "string",
                    "description": "The code of the ledger.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#LEDG_001\">LEDG_001</a></td><td>Code is missing.</td><tr><td><a href=\"#LEDG_002\">LEDG_002</a></td><td>Code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "description": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "The description of the ledger.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#LEDG_003\">LEDG_003</a></td><td>Description is missing.</td><tr><td><a href=\"#LEDG_004\">LEDG_004</a></td><td>Description is too long.</td></table></div>",
                    "format": "string"
                  },
                  "category": {
                    "$ref": "#/components/schemas/Category"
                  },
                  "group": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The group of the ledger.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#LEDG_007\">LEDG_007</a></td><td>Group is missing.</td></table></div>",
                    "format": "string"
                  }
                }
              },
              "example": {
                "Id": 123,
                "Code": "E123",
                "Description": "This serves as an example.",
                "Category": "BAL",
                "Group": "01234"
              }
            },
            "application/json": {
              "schema": {
                "title": "PatchLedger",
                "properties": {
                  "code": {
                    "maxLength": 10,
                    "type": "string",
                    "description": "The code of the ledger.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#LEDG_001\">LEDG_001</a></td><td>Code is missing.</td><tr><td><a href=\"#LEDG_002\">LEDG_002</a></td><td>Code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "description": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "The description of the ledger.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#LEDG_003\">LEDG_003</a></td><td>Description is missing.</td><tr><td><a href=\"#LEDG_004\">LEDG_004</a></td><td>Description is too long.</td></table></div>",
                    "format": "string"
                  },
                  "category": {
                    "$ref": "#/components/schemas/Category"
                  },
                  "group": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The group of the ledger.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#LEDG_007\">LEDG_007</a></td><td>Group is missing.</td></table></div>",
                    "format": "string"
                  }
                }
              },
              "example": {
                "Id": 123,
                "Code": "E123",
                "Description": "This serves as an example.",
                "Category": "BAL",
                "Group": "01234"
              }
            },
            "application/*+json": {
              "schema": {
                "title": "PatchLedger",
                "properties": {
                  "code": {
                    "maxLength": 10,
                    "type": "string",
                    "description": "The code of the ledger.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#LEDG_001\">LEDG_001</a></td><td>Code is missing.</td><tr><td><a href=\"#LEDG_002\">LEDG_002</a></td><td>Code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "description": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "The description of the ledger.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#LEDG_003\">LEDG_003</a></td><td>Description is missing.</td><tr><td><a href=\"#LEDG_004\">LEDG_004</a></td><td>Description is too long.</td></table></div>",
                    "format": "string"
                  },
                  "category": {
                    "$ref": "#/components/schemas/Category"
                  },
                  "group": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The group of the ledger.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#LEDG_007\">LEDG_007</a></td><td>Group is missing.</td></table></div>",
                    "format": "string"
                  }
                }
              },
              "example": {
                "Id": 123,
                "Code": "E123",
                "Description": "This serves as an example.",
                "Category": "BAL",
                "Group": "01234"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": { }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/ledger/{id}/balance": {
      "get": {
        "tags": [
          "Ledger"
        ],
        "description": "Get the balance on the given ledger with optional filters.",
        "operationId": "GetBalance",
        "parameters": [
          {
            "name": "costCenterId",
            "in": "query",
            "description": "The ID of the cost center.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "Show the balance starting from this date. When provided, the resulting balance is the difference over the period, rather than the actual balance.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "Shows the active balance at this date. This date is inclusive.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "title": "LedgerBalance",
                  "properties": {
                    "code": {
                      "type": "string",
                      "description": "The code of the ledger.",
                      "format": "string"
                    },
                    "type": {
                      "type": "string",
                      "description": "The type of the ledger.",
                      "format": "string"
                    },
                    "balance": {
                      "type": "number",
                      "description": "The balance based on the sum of all mutations on the ledger."
                    }
                  }
                },
                "example": {
                  "Code": "1001",
                  "Type": "DEB",
                  "Balance": 500.0
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/ledger/balances": {
      "get": {
        "tags": [
          "Ledger"
        ],
        "description": "Get the balances on all ledgers with optional filters.",
        "operationId": "GetBalances",
        "parameters": [
          {
            "name": "costCenterId",
            "in": "query",
            "description": "The ID of the cost center.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "Show the balance starting from this date. When provided, the resulting balance is the difference over the period, rather than the actual balance.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "Shows the active balance at this date. This date is inclusive.",
            "schema": {
              "type": "string",
              "format": "date"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDtoOfLedgerBalanceResponseDto"
                },
                "example": {
                  "Items": [
                    {
                      "Code": "1001",
                      "Type": "DEB",
                      "Balance": 500.0
                    }
                  ],
                  "Count": 1
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/member/{id}": {
      "get": {
        "tags": [
          "Member"
        ],
        "description": "Get a member (only available to clubs or associations).",
        "operationId": "GetMember",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "title": "Member",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the member.",
                      "format": "int32"
                    },
                    "memberNumber": {
                      "maxLength": 15,
                      "type": "string",
                      "description": "The number of the member.",
                      "format": "string"
                    },
                    "name": {
                      "maxLength": 100,
                      "type": "string",
                      "description": "The (company) name of the member.",
                      "format": "string"
                    },
                    "salutation": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The salutation of the member.",
                      "format": "string"
                    },
                    "gender": {
                      "maxLength": 1,
                      "enum": [
                        "m",
                        "v",
                        "a"
                      ],
                      "type": "string",
                      "description": "Male (`m`), female (`v`) or department ('a')",
                      "format": "string"
                    },
                    "address": {
                      "maxLength": 150,
                      "type": "string",
                      "description": "The primary address of the member.",
                      "format": "string"
                    },
                    "postalCode": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The primary postal code of the member.",
                      "format": "string"
                    },
                    "city": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The primary city of the member.",
                      "format": "string"
                    },
                    "country": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The primary country of the member.",
                      "format": "string"
                    },
                    "phoneNumber": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The phone number of the member.",
                      "format": "string"
                    },
                    "mobilePhoneNumber": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The mobile phone number of the member.",
                      "format": "string"
                    },
                    "faxNumber": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The fax number of the member.",
                      "format": "string"
                    },
                    "emailAddress": {
                      "maxLength": 150,
                      "type": "string",
                      "description": "The email address of the member.",
                      "format": "string"
                    },
                    "emailAddressInvoice": {
                      "maxLength": 150,
                      "type": "string",
                      "description": "The invoice email address of the member.",
                      "format": "string"
                    },
                    "emailAddressReminder": {
                      "maxLength": 150,
                      "type": "string",
                      "description": "The reminder email address of the member.",
                      "format": "string"
                    },
                    "note": {
                      "maxLength": 40000,
                      "type": "string",
                      "description": "The note of the member.",
                      "format": "string"
                    },
                    "termOfPayment": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "description": "The payment term of the member.",
                      "format": "int32"
                    },
                    "iban": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The IBAN number of the member.",
                      "format": "string"
                    },
                    "bic": {
                      "maxLength": 20,
                      "type": "string",
                      "description": "The BIC number of the member.",
                      "format": "string"
                    },
                    "freeText1": {
                      "maxLength": 100,
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Free text field for the member.",
                      "format": "string"
                    },
                    "freeText2": {
                      "maxLength": 100,
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Free text field for the member.",
                      "format": "string"
                    },
                    "freeText3": {
                      "maxLength": 100,
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Free text field for the member.",
                      "format": "string"
                    },
                    "freeText4": {
                      "maxLength": 100,
                      "type": "string",
                      "description": "Free text field for the member.",
                      "format": "string"
                    },
                    "freeText5": {
                      "maxLength": 100,
                      "type": "string",
                      "description": "Free text field for the member.",
                      "format": "string"
                    },
                    "freeText6": {
                      "maxLength": 100,
                      "type": "string",
                      "description": "Free text field for the member.",
                      "format": "string"
                    },
                    "freeText7": {
                      "maxLength": 100,
                      "type": "string",
                      "description": "Free text field for the member.",
                      "format": "string"
                    },
                    "freeText8": {
                      "maxLength": 100,
                      "type": "string",
                      "description": "Free text field for the member.",
                      "format": "string"
                    },
                    "freeText9": {
                      "maxLength": 100,
                      "type": "string",
                      "description": "Free text field for the member.",
                      "format": "string"
                    },
                    "freeText10": {
                      "maxLength": 100,
                      "type": "string",
                      "description": "Free text field for the member.",
                      "format": "string"
                    },
                    "doNotReceiveNewsletters": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "description": "Whether the member will receive newsletters or not.",
                      "format": "int32"
                    },
                    "ledgerId": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "description": "The ledger ID of this member.",
                      "format": "int32"
                    },
                    "mandate": {
                      "type": "boolean"
                    },
                    "mandateType": {
                      "maxLength": 1,
                      "enum": [
                        "E",
                        "D"
                      ],
                      "type": "string",
                      "description": "one-time (`E`) or continuous (`D`)",
                      "format": "string"
                    },
                    "mandateId": {
                      "maxLength": 35,
                      "type": "string",
                      "description": "The mandate ID of this member.",
                      "format": "string"
                    },
                    "mandateSignedDate": {
                      "type": [
                        "null",
                        "object"
                      ],
                      "description": "The signing date of the mandate for this member.",
                      "format": "date"
                    }
                  }
                },
                "example": {
                  "Id": 27,
                  "MemberNumber": "MEM001",
                  "Name": "Jane Doe",
                  "Salutation": "Ms.",
                  "Gender": "v",
                  "Address": "123 Main Street",
                  "PostalCode": "12345",
                  "City": "Example City",
                  "Country": "Example Country",
                  "PhoneNumber": "+123456789",
                  "MobilePhoneNumber": "+987654321",
                  "FaxNumber": "+1122334455",
                  "EmailAddress": "example@example.com",
                  "EmailAddressInvoice": "invoice@example.com",
                  "EmailAddressReminder": "reminder@example.com",
                  "Note": "This is a sample note.",
                  "TermOfPayment": 30,
                  "Iban": "NL91ABNA0417164300",
                  "Bic": "ABNANL2A",
                  "FreeText1": "",
                  "FreeText2": "",
                  "FreeText3": "",
                  "FreeText4": "",
                  "FreeText5": "",
                  "FreeText6": "",
                  "FreeText7": "",
                  "FreeText8": "",
                  "FreeText9": "",
                  "FreeText10": "",
                  "DoNotReceiveNewsletters": true,
                  "LedgerId": 1001,
                  "Mandate": true,
                  "MandateType": "D",
                  "MandateId": "MAND12345",
                  "MandateSignedDate": "2023-10-01"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "Member"
        ],
        "description": "Update an existing member (only available to clubs or associations).",
        "operationId": "UpdateMember",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "title": "Member",
                "required": [
                  "name"
                ],
                "properties": {
                  "memberNumber": {
                    "maxLength": 15,
                    "type": "string",
                    "description": "The code of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_049\">MEM_049</a></td><td>Member number already exists.</td><tr><td><a href=\"#MEM_005\">MEM_005</a></td><td>Member number is invalid.</td><tr><td><a href=\"#MEM_006\">MEM_006</a></td><td>Member number is too long.</td></table></div>",
                    "format": "string"
                  },
                  "name": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "The name of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_002\">MEM_002</a></td><td>Name is mandatory.</td><tr><td><a href=\"#MEM_003\">MEM_003</a></td><td>Name is too long.</td></table></div>",
                    "format": "string"
                  },
                  "salutation": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The salutation of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_010\">MEM_010</a></td><td>Salutation is too long.</td></table></div>",
                    "format": "string"
                  },
                  "gender": {
                    "maxLength": 1,
                    "enum": [
                      "m",
                      "v",
                      "a"
                    ],
                    "type": "string",
                    "description": "Male (`m`), female (`v`) or department ('a') <br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_004\">MEM_004</a></td><td>Gender is invalid (m,v,a).</td></table></div>",
                    "format": "string"
                  },
                  "address": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The primary address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_011\">MEM_011</a></td><td>Address is too long.</td></table></div>",
                    "format": "string"
                  },
                  "postalCode": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary postal code of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_012\">MEM_012</a></td><td>Postal code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "city": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary city of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_013\">MEM_013</a></td><td>City is too long.</td></table></div>",
                    "format": "string"
                  },
                  "country": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary country of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_014\">MEM_014</a></td><td>Country is too long.</td></table></div>",
                    "format": "string"
                  },
                  "phoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The phone number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_019\">MEM_019</a></td><td>Phone is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mobilePhoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The mobile phone number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_020\">MEM_020</a></td><td>Mobile is too long.</td></table></div>",
                    "format": "string"
                  },
                  "faxNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The fax number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_021\">MEM_021</a></td><td>Fax is too long.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddress": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The email address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_022\">MEM_022</a></td><td>Email is too long.</td><tr><td><a href=\"#MEM_023\">MEM_023</a></td><td>Email is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressInvoice": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The invoice email address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_024\">MEM_024</a></td><td>Email invoice is too long.</td><tr><td><a href=\"#MEM_025\">MEM_025</a></td><td>Email invoice is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressReminder": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The reminder email address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_026\">MEM_026</a></td><td>Email reminder is too long.</td><tr><td><a href=\"#MEM_027\">MEM_027</a></td><td>Email reminder is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "note": {
                    "maxLength": 40000,
                    "type": "string",
                    "description": "The note of the member.",
                    "format": "string"
                  },
                  "termOfPayment": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The payment term of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_030\">MEM_030</a></td><td>Term of payment too low.</td><tr><td><a href=\"#MEM_031\">MEM_031</a></td><td>Term of payment too high.</td></table></div>",
                    "format": "int32"
                  },
                  "iban": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The IBAN number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_007\">MEM_007</a></td><td>Iban is invalid.</td><tr><td><a href=\"#MEM_029\">MEM_029</a></td><td>Iban is too long.</td></table></div>",
                    "format": "string"
                  },
                  "bic": {
                    "maxLength": 20,
                    "type": "string",
                    "description": "The BIC number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_032\">MEM_032</a></td><td>BIC is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText1": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_037\">MEM_037</a></td><td>Free text 1 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText2": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_038\">MEM_038</a></td><td>Free text 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText3": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_039\">MEM_039</a></td><td>Free text 3 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText4": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_040\">MEM_040</a></td><td>Free text 4 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText5": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_041\">MEM_041</a></td><td>Free text 5 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText6": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_042\">MEM_042</a></td><td>Free text 6 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText7": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_043\">MEM_043</a></td><td>Free text 7 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText8": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_044\">MEM_044</a></td><td>Free text 8 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText9": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_045\">MEM_045</a></td><td>Free text 9 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText10": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_046\">MEM_046</a></td><td>Free text 10 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "doNotReceiveNewsletters": {
                    "type": [
                      "null",
                      "boolean"
                    ],
                    "description": "Whether the member will receive newsletters or not."
                  },
                  "ledgerId": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The ledger ID of this member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_048\">MEM_048</a></td><td>Ledger not found.</td><tr><td><a href=\"#MEM_057\">MEM_057</a></td><td>Ledger must be active and of category 'BAL' or 'VW'.</td></table></div>",
                    "format": "int32"
                  },
                  "mandate": {
                    "type": "boolean",
                    "description": "Enable or disable mandate."
                  },
                  "mandateType": {
                    "maxLength": 1,
                    "enum": [
                      "E",
                      "D"
                    ],
                    "type": "string",
                    "description": "one-time (`E`) or continuous (`D`)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_033\">MEM_033</a></td><td>Mandate type is too long.</td><tr><td><a href=\"#MEM_051\">MEM_051</a></td><td>Mandate type is invalid (E,D).</td></table></div>",
                    "format": "string"
                  },
                  "mandateId": {
                    "maxLength": 35,
                    "type": "string",
                    "description": "The mandate ID of this member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_034\">MEM_034</a></td><td>Mandate ID is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mandateSignedDate": {
                    "type": [
                      "null",
                      "object"
                    ],
                    "description": "The signing date of the mandate for this member.",
                    "format": "date"
                  }
                }
              },
              "example": {
                "Id": null,
                "MemberNumber": "MEM001",
                "Name": "Jane Doe",
                "Salutation": "Ms.",
                "Gender": "v",
                "Address": "123 Main Street",
                "PostalCode": "12345",
                "City": "Example City",
                "Country": "Example Country",
                "PhoneNumber": "+123456789",
                "MobilePhoneNumber": "+987654321",
                "FaxNumber": "+1122334455",
                "EmailAddress": "example@example.com",
                "EmailAddressInvoice": "invoice@example.com",
                "EmailAddressReminder": "reminder@example.com",
                "Note": "This is a sample note.",
                "TermOfPayment": 30,
                "Iban": "NL91ABNA0417164300",
                "Bic": "ABNANL2A",
                "FreeText1": "",
                "FreeText2": "",
                "FreeText3": "",
                "FreeText4": "",
                "FreeText5": "",
                "FreeText6": "",
                "FreeText7": "",
                "FreeText8": "",
                "FreeText9": "",
                "FreeText10": "",
                "DoNotReceiveNewsletters": true,
                "LedgerId": 1001,
                "Mandate": true,
                "MandateType": "D",
                "MandateId": "MAND12345",
                "MandateSignedDate": "2023-10-01"
              }
            },
            "application/json": {
              "schema": {
                "title": "Member",
                "required": [
                  "name"
                ],
                "properties": {
                  "memberNumber": {
                    "maxLength": 15,
                    "type": "string",
                    "description": "The code of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_049\">MEM_049</a></td><td>Member number already exists.</td><tr><td><a href=\"#MEM_005\">MEM_005</a></td><td>Member number is invalid.</td><tr><td><a href=\"#MEM_006\">MEM_006</a></td><td>Member number is too long.</td></table></div>",
                    "format": "string"
                  },
                  "name": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "The name of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_002\">MEM_002</a></td><td>Name is mandatory.</td><tr><td><a href=\"#MEM_003\">MEM_003</a></td><td>Name is too long.</td></table></div>",
                    "format": "string"
                  },
                  "salutation": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The salutation of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_010\">MEM_010</a></td><td>Salutation is too long.</td></table></div>",
                    "format": "string"
                  },
                  "gender": {
                    "maxLength": 1,
                    "enum": [
                      "m",
                      "v",
                      "a"
                    ],
                    "type": "string",
                    "description": "Male (`m`), female (`v`) or department ('a') <br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_004\">MEM_004</a></td><td>Gender is invalid (m,v,a).</td></table></div>",
                    "format": "string"
                  },
                  "address": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The primary address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_011\">MEM_011</a></td><td>Address is too long.</td></table></div>",
                    "format": "string"
                  },
                  "postalCode": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary postal code of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_012\">MEM_012</a></td><td>Postal code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "city": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary city of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_013\">MEM_013</a></td><td>City is too long.</td></table></div>",
                    "format": "string"
                  },
                  "country": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary country of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_014\">MEM_014</a></td><td>Country is too long.</td></table></div>",
                    "format": "string"
                  },
                  "phoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The phone number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_019\">MEM_019</a></td><td>Phone is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mobilePhoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The mobile phone number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_020\">MEM_020</a></td><td>Mobile is too long.</td></table></div>",
                    "format": "string"
                  },
                  "faxNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The fax number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_021\">MEM_021</a></td><td>Fax is too long.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddress": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The email address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_022\">MEM_022</a></td><td>Email is too long.</td><tr><td><a href=\"#MEM_023\">MEM_023</a></td><td>Email is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressInvoice": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The invoice email address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_024\">MEM_024</a></td><td>Email invoice is too long.</td><tr><td><a href=\"#MEM_025\">MEM_025</a></td><td>Email invoice is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressReminder": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The reminder email address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_026\">MEM_026</a></td><td>Email reminder is too long.</td><tr><td><a href=\"#MEM_027\">MEM_027</a></td><td>Email reminder is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "note": {
                    "maxLength": 40000,
                    "type": "string",
                    "description": "The note of the member.",
                    "format": "string"
                  },
                  "termOfPayment": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The payment term of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_030\">MEM_030</a></td><td>Term of payment too low.</td><tr><td><a href=\"#MEM_031\">MEM_031</a></td><td>Term of payment too high.</td></table></div>",
                    "format": "int32"
                  },
                  "iban": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The IBAN number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_007\">MEM_007</a></td><td>Iban is invalid.</td><tr><td><a href=\"#MEM_029\">MEM_029</a></td><td>Iban is too long.</td></table></div>",
                    "format": "string"
                  },
                  "bic": {
                    "maxLength": 20,
                    "type": "string",
                    "description": "The BIC number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_032\">MEM_032</a></td><td>BIC is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText1": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_037\">MEM_037</a></td><td>Free text 1 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText2": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_038\">MEM_038</a></td><td>Free text 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText3": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_039\">MEM_039</a></td><td>Free text 3 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText4": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_040\">MEM_040</a></td><td>Free text 4 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText5": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_041\">MEM_041</a></td><td>Free text 5 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText6": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_042\">MEM_042</a></td><td>Free text 6 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText7": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_043\">MEM_043</a></td><td>Free text 7 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText8": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_044\">MEM_044</a></td><td>Free text 8 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText9": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_045\">MEM_045</a></td><td>Free text 9 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText10": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_046\">MEM_046</a></td><td>Free text 10 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "doNotReceiveNewsletters": {
                    "type": [
                      "null",
                      "boolean"
                    ],
                    "description": "Whether the member will receive newsletters or not."
                  },
                  "ledgerId": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The ledger ID of this member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_048\">MEM_048</a></td><td>Ledger not found.</td><tr><td><a href=\"#MEM_057\">MEM_057</a></td><td>Ledger must be active and of category 'BAL' or 'VW'.</td></table></div>",
                    "format": "int32"
                  },
                  "mandate": {
                    "type": "boolean",
                    "description": "Enable or disable mandate."
                  },
                  "mandateType": {
                    "maxLength": 1,
                    "enum": [
                      "E",
                      "D"
                    ],
                    "type": "string",
                    "description": "one-time (`E`) or continuous (`D`)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_033\">MEM_033</a></td><td>Mandate type is too long.</td><tr><td><a href=\"#MEM_051\">MEM_051</a></td><td>Mandate type is invalid (E,D).</td></table></div>",
                    "format": "string"
                  },
                  "mandateId": {
                    "maxLength": 35,
                    "type": "string",
                    "description": "The mandate ID of this member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_034\">MEM_034</a></td><td>Mandate ID is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mandateSignedDate": {
                    "type": [
                      "null",
                      "object"
                    ],
                    "description": "The signing date of the mandate for this member.",
                    "format": "date"
                  }
                }
              },
              "example": {
                "Id": null,
                "MemberNumber": "MEM001",
                "Name": "Jane Doe",
                "Salutation": "Ms.",
                "Gender": "v",
                "Address": "123 Main Street",
                "PostalCode": "12345",
                "City": "Example City",
                "Country": "Example Country",
                "PhoneNumber": "+123456789",
                "MobilePhoneNumber": "+987654321",
                "FaxNumber": "+1122334455",
                "EmailAddress": "example@example.com",
                "EmailAddressInvoice": "invoice@example.com",
                "EmailAddressReminder": "reminder@example.com",
                "Note": "This is a sample note.",
                "TermOfPayment": 30,
                "Iban": "NL91ABNA0417164300",
                "Bic": "ABNANL2A",
                "FreeText1": "",
                "FreeText2": "",
                "FreeText3": "",
                "FreeText4": "",
                "FreeText5": "",
                "FreeText6": "",
                "FreeText7": "",
                "FreeText8": "",
                "FreeText9": "",
                "FreeText10": "",
                "DoNotReceiveNewsletters": true,
                "LedgerId": 1001,
                "Mandate": true,
                "MandateType": "D",
                "MandateId": "MAND12345",
                "MandateSignedDate": "2023-10-01"
              }
            },
            "application/*+json": {
              "schema": {
                "title": "Member",
                "required": [
                  "name"
                ],
                "properties": {
                  "memberNumber": {
                    "maxLength": 15,
                    "type": "string",
                    "description": "The code of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_049\">MEM_049</a></td><td>Member number already exists.</td><tr><td><a href=\"#MEM_005\">MEM_005</a></td><td>Member number is invalid.</td><tr><td><a href=\"#MEM_006\">MEM_006</a></td><td>Member number is too long.</td></table></div>",
                    "format": "string"
                  },
                  "name": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "The name of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_002\">MEM_002</a></td><td>Name is mandatory.</td><tr><td><a href=\"#MEM_003\">MEM_003</a></td><td>Name is too long.</td></table></div>",
                    "format": "string"
                  },
                  "salutation": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The salutation of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_010\">MEM_010</a></td><td>Salutation is too long.</td></table></div>",
                    "format": "string"
                  },
                  "gender": {
                    "maxLength": 1,
                    "enum": [
                      "m",
                      "v",
                      "a"
                    ],
                    "type": "string",
                    "description": "Male (`m`), female (`v`) or department ('a') <br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_004\">MEM_004</a></td><td>Gender is invalid (m,v,a).</td></table></div>",
                    "format": "string"
                  },
                  "address": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The primary address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_011\">MEM_011</a></td><td>Address is too long.</td></table></div>",
                    "format": "string"
                  },
                  "postalCode": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary postal code of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_012\">MEM_012</a></td><td>Postal code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "city": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary city of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_013\">MEM_013</a></td><td>City is too long.</td></table></div>",
                    "format": "string"
                  },
                  "country": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary country of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_014\">MEM_014</a></td><td>Country is too long.</td></table></div>",
                    "format": "string"
                  },
                  "phoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The phone number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_019\">MEM_019</a></td><td>Phone is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mobilePhoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The mobile phone number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_020\">MEM_020</a></td><td>Mobile is too long.</td></table></div>",
                    "format": "string"
                  },
                  "faxNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The fax number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_021\">MEM_021</a></td><td>Fax is too long.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddress": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The email address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_022\">MEM_022</a></td><td>Email is too long.</td><tr><td><a href=\"#MEM_023\">MEM_023</a></td><td>Email is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressInvoice": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The invoice email address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_024\">MEM_024</a></td><td>Email invoice is too long.</td><tr><td><a href=\"#MEM_025\">MEM_025</a></td><td>Email invoice is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressReminder": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The reminder email address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_026\">MEM_026</a></td><td>Email reminder is too long.</td><tr><td><a href=\"#MEM_027\">MEM_027</a></td><td>Email reminder is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "note": {
                    "maxLength": 40000,
                    "type": "string",
                    "description": "The note of the member.",
                    "format": "string"
                  },
                  "termOfPayment": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The payment term of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_030\">MEM_030</a></td><td>Term of payment too low.</td><tr><td><a href=\"#MEM_031\">MEM_031</a></td><td>Term of payment too high.</td></table></div>",
                    "format": "int32"
                  },
                  "iban": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The IBAN number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_007\">MEM_007</a></td><td>Iban is invalid.</td><tr><td><a href=\"#MEM_029\">MEM_029</a></td><td>Iban is too long.</td></table></div>",
                    "format": "string"
                  },
                  "bic": {
                    "maxLength": 20,
                    "type": "string",
                    "description": "The BIC number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_032\">MEM_032</a></td><td>BIC is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText1": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_037\">MEM_037</a></td><td>Free text 1 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText2": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_038\">MEM_038</a></td><td>Free text 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText3": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_039\">MEM_039</a></td><td>Free text 3 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText4": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_040\">MEM_040</a></td><td>Free text 4 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText5": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_041\">MEM_041</a></td><td>Free text 5 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText6": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_042\">MEM_042</a></td><td>Free text 6 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText7": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_043\">MEM_043</a></td><td>Free text 7 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText8": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_044\">MEM_044</a></td><td>Free text 8 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText9": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_045\">MEM_045</a></td><td>Free text 9 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText10": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_046\">MEM_046</a></td><td>Free text 10 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "doNotReceiveNewsletters": {
                    "type": [
                      "null",
                      "boolean"
                    ],
                    "description": "Whether the member will receive newsletters or not."
                  },
                  "ledgerId": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The ledger ID of this member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_048\">MEM_048</a></td><td>Ledger not found.</td><tr><td><a href=\"#MEM_057\">MEM_057</a></td><td>Ledger must be active and of category 'BAL' or 'VW'.</td></table></div>",
                    "format": "int32"
                  },
                  "mandate": {
                    "type": "boolean",
                    "description": "Enable or disable mandate."
                  },
                  "mandateType": {
                    "maxLength": 1,
                    "enum": [
                      "E",
                      "D"
                    ],
                    "type": "string",
                    "description": "one-time (`E`) or continuous (`D`)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_033\">MEM_033</a></td><td>Mandate type is too long.</td><tr><td><a href=\"#MEM_051\">MEM_051</a></td><td>Mandate type is invalid (E,D).</td></table></div>",
                    "format": "string"
                  },
                  "mandateId": {
                    "maxLength": 35,
                    "type": "string",
                    "description": "The mandate ID of this member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_034\">MEM_034</a></td><td>Mandate ID is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mandateSignedDate": {
                    "type": [
                      "null",
                      "object"
                    ],
                    "description": "The signing date of the mandate for this member.",
                    "format": "date"
                  }
                }
              },
              "example": {
                "Id": null,
                "MemberNumber": "MEM001",
                "Name": "Jane Doe",
                "Salutation": "Ms.",
                "Gender": "v",
                "Address": "123 Main Street",
                "PostalCode": "12345",
                "City": "Example City",
                "Country": "Example Country",
                "PhoneNumber": "+123456789",
                "MobilePhoneNumber": "+987654321",
                "FaxNumber": "+1122334455",
                "EmailAddress": "example@example.com",
                "EmailAddressInvoice": "invoice@example.com",
                "EmailAddressReminder": "reminder@example.com",
                "Note": "This is a sample note.",
                "TermOfPayment": 30,
                "Iban": "NL91ABNA0417164300",
                "Bic": "ABNANL2A",
                "FreeText1": "",
                "FreeText2": "",
                "FreeText3": "",
                "FreeText4": "",
                "FreeText5": "",
                "FreeText6": "",
                "FreeText7": "",
                "FreeText8": "",
                "FreeText9": "",
                "FreeText10": "",
                "DoNotReceiveNewsletters": true,
                "LedgerId": 1001,
                "Mandate": true,
                "MandateType": "D",
                "MandateId": "MAND12345",
                "MandateSignedDate": "2023-10-01"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": { }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/member": {
      "get": {
        "tags": [
          "Member"
        ],
        "description": "Get all members (only available to clubs or associations).",
        "operationId": "GetMembers",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The number of items to retrieve.",
            "schema": {
              "maximum": 2000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The number of items to skip.",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "memberNumber",
            "in": "query",
            "description": "The number of the member.",
            "schema": {
              "type": "string",
              "format": "filter-string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Only retrieves members with this name.",
            "schema": {
              "type": "string",
              "format": "filter-string"
            }
          },
          {
            "name": "email",
            "in": "query",
            "description": "Only retrieves members with this e-mailadress.",
            "schema": {
              "type": "string",
              "format": "filter-string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "description": "Only retrieves members from this city.",
            "schema": {
              "type": "string",
              "format": "filter-string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDtoOfMembersResponseDto"
                },
                "example": {
                  "Items": [
                    {
                      "Id": 1,
                      "MemberNumber": "MEM001",
                      "Name": "Jane Doe",
                      "Salutation": null,
                      "Gender": null,
                      "Address": null,
                      "PostalCode": null,
                      "City": null,
                      "Country": null,
                      "PhoneNumber": null,
                      "MobilePhoneNumber": null,
                      "FaxNumber": null,
                      "EmailAddress": null,
                      "EmailAddressInvoice": null,
                      "EmailAddressReminder": null,
                      "Note": null,
                      "TermOfPayment": null,
                      "Iban": null,
                      "Bic": null,
                      "FreeText1": null,
                      "FreeText2": null,
                      "FreeText3": null,
                      "FreeText4": null,
                      "FreeText5": null,
                      "FreeText6": null,
                      "FreeText7": null,
                      "FreeText8": null,
                      "FreeText9": null,
                      "FreeText10": null,
                      "DoNotReceiveNewsletters": null,
                      "LedgerId": null,
                      "Mandate": null,
                      "MandateType": null,
                      "MandateId": null,
                      "MandateSignedDate": null
                    }
                  ],
                  "Count": 1
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Member"
        ],
        "description": "Create a new member (only available to clubs or associations).",
        "operationId": "CreateMember",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "title": "Member",
                "required": [
                  "name"
                ],
                "properties": {
                  "memberNumber": {
                    "maxLength": 15,
                    "type": "string",
                    "description": "The code of the member. Auto-generated if empty.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_049\">MEM_049</a></td><td>Member number already exists.</td><tr><td><a href=\"#MEM_005\">MEM_005</a></td><td>Member number is invalid.</td><tr><td><a href=\"#MEM_006\">MEM_006</a></td><td>Member number is too long.</td></table></div>",
                    "format": "string"
                  },
                  "name": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "The name of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_002\">MEM_002</a></td><td>Name is mandatory.</td><tr><td><a href=\"#MEM_003\">MEM_003</a></td><td>Name is too long.</td></table></div>",
                    "format": "string"
                  },
                  "salutation": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The salutation of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_010\">MEM_010</a></td><td>Salutation is too long.</td></table></div>",
                    "format": "string"
                  },
                  "gender": {
                    "maxLength": 1,
                    "enum": [
                      "m",
                      "v",
                      "a"
                    ],
                    "type": "string",
                    "description": "Male (`m`), female (`v`) or department ('a') <br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_004\">MEM_004</a></td><td>Gender is invalid (m,v,a).</td></table></div>",
                    "format": "string"
                  },
                  "address": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The primary address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_011\">MEM_011</a></td><td>Address is too long.</td></table></div>",
                    "format": "string"
                  },
                  "postalCode": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary postal code of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_012\">MEM_012</a></td><td>Postal code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "city": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary city of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_013\">MEM_013</a></td><td>City is too long.</td></table></div>",
                    "format": "string"
                  },
                  "country": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary country of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_014\">MEM_014</a></td><td>Country is too long.</td></table></div>",
                    "format": "string"
                  },
                  "phoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The phone number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_019\">MEM_019</a></td><td>Phone is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mobilePhoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The mobile phone number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_020\">MEM_020</a></td><td>Mobile is too long.</td></table></div>",
                    "format": "string"
                  },
                  "faxNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The fax number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_021\">MEM_021</a></td><td>Fax is too long.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddress": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The email address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_022\">MEM_022</a></td><td>Email is too long.</td><tr><td><a href=\"#MEM_023\">MEM_023</a></td><td>Email is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressInvoice": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The invoice email address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_024\">MEM_024</a></td><td>Email invoice is too long.</td><tr><td><a href=\"#MEM_025\">MEM_025</a></td><td>Email invoice is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressReminder": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The reminder email address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_026\">MEM_026</a></td><td>Email reminder is too long.</td><tr><td><a href=\"#MEM_027\">MEM_027</a></td><td>Email reminder is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "note": {
                    "maxLength": 40000,
                    "type": "string",
                    "description": "The note of the member.",
                    "format": "string"
                  },
                  "termOfPayment": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The payment term of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_030\">MEM_030</a></td><td>Term of payment too low.</td><tr><td><a href=\"#MEM_031\">MEM_031</a></td><td>Term of payment too high.</td></table></div>",
                    "format": "int32"
                  },
                  "iban": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The IBAN number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_007\">MEM_007</a></td><td>Iban is invalid.</td><tr><td><a href=\"#MEM_029\">MEM_029</a></td><td>Iban is too long.</td></table></div>",
                    "format": "string"
                  },
                  "bic": {
                    "maxLength": 20,
                    "type": "string",
                    "description": "The BIC number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_032\">MEM_032</a></td><td>BIC is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText1": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_037\">MEM_037</a></td><td>Free text 1 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText2": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_038\">MEM_038</a></td><td>Free text 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText3": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_039\">MEM_039</a></td><td>Free text 3 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText4": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_040\">MEM_040</a></td><td>Free text 4 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText5": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_041\">MEM_041</a></td><td>Free text 5 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText6": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_042\">MEM_042</a></td><td>Free text 6 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText7": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_043\">MEM_043</a></td><td>Free text 7 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText8": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_044\">MEM_044</a></td><td>Free text 8 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText9": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_045\">MEM_045</a></td><td>Free text 9 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText10": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_046\">MEM_046</a></td><td>Free text 10 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "doNotReceiveNewsletters": {
                    "type": [
                      "null",
                      "boolean"
                    ],
                    "description": "Whether the member will receive newsletters or not."
                  },
                  "ledgerId": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The ledger ID of this member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_048\">MEM_048</a></td><td>Ledger not found.</td><tr><td><a href=\"#MEM_057\">MEM_057</a></td><td>Ledger must be active and of category 'BAL' or 'VW'.</td></table></div>",
                    "format": "int32"
                  },
                  "mandate": {
                    "type": "boolean",
                    "description": "Enable or disable mandate."
                  },
                  "mandateType": {
                    "maxLength": 1,
                    "enum": [
                      "E",
                      "D"
                    ],
                    "type": "string",
                    "description": "one-time (`E`) or continuous (`D`)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_033\">MEM_033</a></td><td>Mandate type is too long.</td><tr><td><a href=\"#MEM_051\">MEM_051</a></td><td>Mandate type is invalid (E,D).</td></table></div>",
                    "format": "string"
                  },
                  "mandateId": {
                    "maxLength": 35,
                    "type": "string",
                    "description": "The mandate ID of this member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_034\">MEM_034</a></td><td>Mandate ID is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mandateSignedDate": {
                    "type": [
                      "null",
                      "object"
                    ],
                    "description": "The signing date of the mandate for this member.",
                    "format": "date"
                  }
                }
              },
              "example": {
                "Id": null,
                "MemberNumber": "MEM12345",
                "Name": "Jane Doe",
                "Salutation": "Ms.",
                "Gender": "v",
                "Address": "123 Main Street",
                "PostalCode": "12345",
                "City": "Sample City",
                "Country": "Sample Country",
                "PhoneNumber": "123-456-7890",
                "MobilePhoneNumber": "987-654-3210",
                "FaxNumber": "123-456-7891",
                "EmailAddress": "jane.doe@example.com",
                "EmailAddressInvoice": "invoice.jane.doe@example.com",
                "EmailAddressReminder": "reminder.jane.doe@example.com",
                "Note": "This is a sample note.",
                "TermOfPayment": 30,
                "Iban": "NL91ABNA0417164300",
                "Bic": "ABNANL2A",
                "FreeText1": "",
                "FreeText2": "",
                "FreeText3": "",
                "FreeText4": "",
                "FreeText5": "",
                "FreeText6": "",
                "FreeText7": "",
                "FreeText8": "",
                "FreeText9": "",
                "FreeText10": "",
                "DoNotReceiveNewsletters": false,
                "LedgerId": 1001,
                "Mandate": true,
                "MandateType": "D",
                "MandateId": "MAND12345",
                "MandateSignedDate": "2023-10-01"
              }
            },
            "application/json": {
              "schema": {
                "title": "Member",
                "required": [
                  "name"
                ],
                "properties": {
                  "memberNumber": {
                    "maxLength": 15,
                    "type": "string",
                    "description": "The code of the member. Auto-generated if empty.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_049\">MEM_049</a></td><td>Member number already exists.</td><tr><td><a href=\"#MEM_005\">MEM_005</a></td><td>Member number is invalid.</td><tr><td><a href=\"#MEM_006\">MEM_006</a></td><td>Member number is too long.</td></table></div>",
                    "format": "string"
                  },
                  "name": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "The name of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_002\">MEM_002</a></td><td>Name is mandatory.</td><tr><td><a href=\"#MEM_003\">MEM_003</a></td><td>Name is too long.</td></table></div>",
                    "format": "string"
                  },
                  "salutation": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The salutation of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_010\">MEM_010</a></td><td>Salutation is too long.</td></table></div>",
                    "format": "string"
                  },
                  "gender": {
                    "maxLength": 1,
                    "enum": [
                      "m",
                      "v",
                      "a"
                    ],
                    "type": "string",
                    "description": "Male (`m`), female (`v`) or department ('a') <br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_004\">MEM_004</a></td><td>Gender is invalid (m,v,a).</td></table></div>",
                    "format": "string"
                  },
                  "address": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The primary address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_011\">MEM_011</a></td><td>Address is too long.</td></table></div>",
                    "format": "string"
                  },
                  "postalCode": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary postal code of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_012\">MEM_012</a></td><td>Postal code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "city": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary city of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_013\">MEM_013</a></td><td>City is too long.</td></table></div>",
                    "format": "string"
                  },
                  "country": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary country of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_014\">MEM_014</a></td><td>Country is too long.</td></table></div>",
                    "format": "string"
                  },
                  "phoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The phone number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_019\">MEM_019</a></td><td>Phone is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mobilePhoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The mobile phone number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_020\">MEM_020</a></td><td>Mobile is too long.</td></table></div>",
                    "format": "string"
                  },
                  "faxNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The fax number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_021\">MEM_021</a></td><td>Fax is too long.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddress": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The email address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_022\">MEM_022</a></td><td>Email is too long.</td><tr><td><a href=\"#MEM_023\">MEM_023</a></td><td>Email is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressInvoice": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The invoice email address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_024\">MEM_024</a></td><td>Email invoice is too long.</td><tr><td><a href=\"#MEM_025\">MEM_025</a></td><td>Email invoice is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressReminder": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The reminder email address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_026\">MEM_026</a></td><td>Email reminder is too long.</td><tr><td><a href=\"#MEM_027\">MEM_027</a></td><td>Email reminder is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "note": {
                    "maxLength": 40000,
                    "type": "string",
                    "description": "The note of the member.",
                    "format": "string"
                  },
                  "termOfPayment": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The payment term of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_030\">MEM_030</a></td><td>Term of payment too low.</td><tr><td><a href=\"#MEM_031\">MEM_031</a></td><td>Term of payment too high.</td></table></div>",
                    "format": "int32"
                  },
                  "iban": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The IBAN number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_007\">MEM_007</a></td><td>Iban is invalid.</td><tr><td><a href=\"#MEM_029\">MEM_029</a></td><td>Iban is too long.</td></table></div>",
                    "format": "string"
                  },
                  "bic": {
                    "maxLength": 20,
                    "type": "string",
                    "description": "The BIC number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_032\">MEM_032</a></td><td>BIC is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText1": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_037\">MEM_037</a></td><td>Free text 1 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText2": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_038\">MEM_038</a></td><td>Free text 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText3": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_039\">MEM_039</a></td><td>Free text 3 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText4": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_040\">MEM_040</a></td><td>Free text 4 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText5": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_041\">MEM_041</a></td><td>Free text 5 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText6": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_042\">MEM_042</a></td><td>Free text 6 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText7": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_043\">MEM_043</a></td><td>Free text 7 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText8": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_044\">MEM_044</a></td><td>Free text 8 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText9": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_045\">MEM_045</a></td><td>Free text 9 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText10": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_046\">MEM_046</a></td><td>Free text 10 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "doNotReceiveNewsletters": {
                    "type": [
                      "null",
                      "boolean"
                    ],
                    "description": "Whether the member will receive newsletters or not."
                  },
                  "ledgerId": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The ledger ID of this member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_048\">MEM_048</a></td><td>Ledger not found.</td><tr><td><a href=\"#MEM_057\">MEM_057</a></td><td>Ledger must be active and of category 'BAL' or 'VW'.</td></table></div>",
                    "format": "int32"
                  },
                  "mandate": {
                    "type": "boolean",
                    "description": "Enable or disable mandate."
                  },
                  "mandateType": {
                    "maxLength": 1,
                    "enum": [
                      "E",
                      "D"
                    ],
                    "type": "string",
                    "description": "one-time (`E`) or continuous (`D`)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_033\">MEM_033</a></td><td>Mandate type is too long.</td><tr><td><a href=\"#MEM_051\">MEM_051</a></td><td>Mandate type is invalid (E,D).</td></table></div>",
                    "format": "string"
                  },
                  "mandateId": {
                    "maxLength": 35,
                    "type": "string",
                    "description": "The mandate ID of this member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_034\">MEM_034</a></td><td>Mandate ID is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mandateSignedDate": {
                    "type": [
                      "null",
                      "object"
                    ],
                    "description": "The signing date of the mandate for this member.",
                    "format": "date"
                  }
                }
              },
              "example": {
                "Id": null,
                "MemberNumber": "MEM12345",
                "Name": "Jane Doe",
                "Salutation": "Ms.",
                "Gender": "v",
                "Address": "123 Main Street",
                "PostalCode": "12345",
                "City": "Sample City",
                "Country": "Sample Country",
                "PhoneNumber": "123-456-7890",
                "MobilePhoneNumber": "987-654-3210",
                "FaxNumber": "123-456-7891",
                "EmailAddress": "jane.doe@example.com",
                "EmailAddressInvoice": "invoice.jane.doe@example.com",
                "EmailAddressReminder": "reminder.jane.doe@example.com",
                "Note": "This is a sample note.",
                "TermOfPayment": 30,
                "Iban": "NL91ABNA0417164300",
                "Bic": "ABNANL2A",
                "FreeText1": "",
                "FreeText2": "",
                "FreeText3": "",
                "FreeText4": "",
                "FreeText5": "",
                "FreeText6": "",
                "FreeText7": "",
                "FreeText8": "",
                "FreeText9": "",
                "FreeText10": "",
                "DoNotReceiveNewsletters": false,
                "LedgerId": 1001,
                "Mandate": true,
                "MandateType": "D",
                "MandateId": "MAND12345",
                "MandateSignedDate": "2023-10-01"
              }
            },
            "application/*+json": {
              "schema": {
                "title": "Member",
                "required": [
                  "name"
                ],
                "properties": {
                  "memberNumber": {
                    "maxLength": 15,
                    "type": "string",
                    "description": "The code of the member. Auto-generated if empty.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_049\">MEM_049</a></td><td>Member number already exists.</td><tr><td><a href=\"#MEM_005\">MEM_005</a></td><td>Member number is invalid.</td><tr><td><a href=\"#MEM_006\">MEM_006</a></td><td>Member number is too long.</td></table></div>",
                    "format": "string"
                  },
                  "name": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "The name of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_002\">MEM_002</a></td><td>Name is mandatory.</td><tr><td><a href=\"#MEM_003\">MEM_003</a></td><td>Name is too long.</td></table></div>",
                    "format": "string"
                  },
                  "salutation": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The salutation of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_010\">MEM_010</a></td><td>Salutation is too long.</td></table></div>",
                    "format": "string"
                  },
                  "gender": {
                    "maxLength": 1,
                    "enum": [
                      "m",
                      "v",
                      "a"
                    ],
                    "type": "string",
                    "description": "Male (`m`), female (`v`) or department ('a') <br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_004\">MEM_004</a></td><td>Gender is invalid (m,v,a).</td></table></div>",
                    "format": "string"
                  },
                  "address": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The primary address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_011\">MEM_011</a></td><td>Address is too long.</td></table></div>",
                    "format": "string"
                  },
                  "postalCode": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary postal code of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_012\">MEM_012</a></td><td>Postal code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "city": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary city of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_013\">MEM_013</a></td><td>City is too long.</td></table></div>",
                    "format": "string"
                  },
                  "country": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary country of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_014\">MEM_014</a></td><td>Country is too long.</td></table></div>",
                    "format": "string"
                  },
                  "phoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The phone number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_019\">MEM_019</a></td><td>Phone is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mobilePhoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The mobile phone number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_020\">MEM_020</a></td><td>Mobile is too long.</td></table></div>",
                    "format": "string"
                  },
                  "faxNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The fax number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_021\">MEM_021</a></td><td>Fax is too long.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddress": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The email address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_022\">MEM_022</a></td><td>Email is too long.</td><tr><td><a href=\"#MEM_023\">MEM_023</a></td><td>Email is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressInvoice": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The invoice email address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_024\">MEM_024</a></td><td>Email invoice is too long.</td><tr><td><a href=\"#MEM_025\">MEM_025</a></td><td>Email invoice is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressReminder": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The reminder email address of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_026\">MEM_026</a></td><td>Email reminder is too long.</td><tr><td><a href=\"#MEM_027\">MEM_027</a></td><td>Email reminder is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "note": {
                    "maxLength": 40000,
                    "type": "string",
                    "description": "The note of the member.",
                    "format": "string"
                  },
                  "termOfPayment": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The payment term of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_030\">MEM_030</a></td><td>Term of payment too low.</td><tr><td><a href=\"#MEM_031\">MEM_031</a></td><td>Term of payment too high.</td></table></div>",
                    "format": "int32"
                  },
                  "iban": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The IBAN number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_007\">MEM_007</a></td><td>Iban is invalid.</td><tr><td><a href=\"#MEM_029\">MEM_029</a></td><td>Iban is too long.</td></table></div>",
                    "format": "string"
                  },
                  "bic": {
                    "maxLength": 20,
                    "type": "string",
                    "description": "The BIC number of the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_032\">MEM_032</a></td><td>BIC is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText1": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_037\">MEM_037</a></td><td>Free text 1 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText2": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_038\">MEM_038</a></td><td>Free text 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText3": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_039\">MEM_039</a></td><td>Free text 3 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText4": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_040\">MEM_040</a></td><td>Free text 4 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText5": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_041\">MEM_041</a></td><td>Free text 5 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText6": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_042\">MEM_042</a></td><td>Free text 6 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText7": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_043\">MEM_043</a></td><td>Free text 7 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText8": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_044\">MEM_044</a></td><td>Free text 8 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText9": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_045\">MEM_045</a></td><td>Free text 9 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText10": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_046\">MEM_046</a></td><td>Free text 10 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "doNotReceiveNewsletters": {
                    "type": [
                      "null",
                      "boolean"
                    ],
                    "description": "Whether the member will receive newsletters or not."
                  },
                  "ledgerId": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The ledger ID of this member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_048\">MEM_048</a></td><td>Ledger not found.</td><tr><td><a href=\"#MEM_057\">MEM_057</a></td><td>Ledger must be active and of category 'BAL' or 'VW'.</td></table></div>",
                    "format": "int32"
                  },
                  "mandate": {
                    "type": "boolean",
                    "description": "Enable or disable mandate."
                  },
                  "mandateType": {
                    "maxLength": 1,
                    "enum": [
                      "E",
                      "D"
                    ],
                    "type": "string",
                    "description": "one-time (`E`) or continuous (`D`)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_033\">MEM_033</a></td><td>Mandate type is too long.</td><tr><td><a href=\"#MEM_051\">MEM_051</a></td><td>Mandate type is invalid (E,D).</td></table></div>",
                    "format": "string"
                  },
                  "mandateId": {
                    "maxLength": 35,
                    "type": "string",
                    "description": "The mandate ID of this member.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MEM_034\">MEM_034</a></td><td>Mandate ID is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mandateSignedDate": {
                    "type": [
                      "null",
                      "object"
                    ],
                    "description": "The signing date of the mandate for this member.",
                    "format": "date"
                  }
                }
              },
              "example": {
                "Id": null,
                "MemberNumber": "MEM12345",
                "Name": "Jane Doe",
                "Salutation": "Ms.",
                "Gender": "v",
                "Address": "123 Main Street",
                "PostalCode": "12345",
                "City": "Sample City",
                "Country": "Sample Country",
                "PhoneNumber": "123-456-7890",
                "MobilePhoneNumber": "987-654-3210",
                "FaxNumber": "123-456-7891",
                "EmailAddress": "jane.doe@example.com",
                "EmailAddressInvoice": "invoice.jane.doe@example.com",
                "EmailAddressReminder": "reminder.jane.doe@example.com",
                "Note": "This is a sample note.",
                "TermOfPayment": 30,
                "Iban": "NL91ABNA0417164300",
                "Bic": "ABNANL2A",
                "FreeText1": "",
                "FreeText2": "",
                "FreeText3": "",
                "FreeText4": "",
                "FreeText5": "",
                "FreeText6": "",
                "FreeText7": "",
                "FreeText8": "",
                "FreeText9": "",
                "FreeText10": "",
                "DoNotReceiveNewsletters": false,
                "LedgerId": 1001,
                "Mandate": true,
                "MandateType": "D",
                "MandateId": "MAND12345",
                "MandateSignedDate": "2023-10-01"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "title": "MembersResponse",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the relation.",
                      "format": "int32"
                    },
                    "memberNumber": {
                      "maxLength": 15,
                      "type": "string",
                      "description": "The number of the member",
                      "format": "string"
                    }
                  }
                },
                "example": {
                  "Id": 11,
                  "MemberNumber": "MEM11",
                  "Name": null,
                  "Salutation": null,
                  "Gender": null,
                  "Address": null,
                  "PostalCode": null,
                  "City": null,
                  "Country": null,
                  "PhoneNumber": null,
                  "MobilePhoneNumber": null,
                  "FaxNumber": null,
                  "EmailAddress": null,
                  "EmailAddressInvoice": null,
                  "EmailAddressReminder": null,
                  "Note": null,
                  "TermOfPayment": null,
                  "Iban": null,
                  "Bic": null,
                  "FreeText1": null,
                  "FreeText2": null,
                  "FreeText3": null,
                  "FreeText4": null,
                  "FreeText5": null,
                  "FreeText6": null,
                  "FreeText7": null,
                  "FreeText8": null,
                  "FreeText9": null,
                  "FreeText10": null,
                  "DoNotReceiveNewsletters": null,
                  "LedgerId": null,
                  "Mandate": null,
                  "MandateType": null,
                  "MandateId": null,
                  "MandateSignedDate": null
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/mutation": {
      "get": {
        "tags": [
          "Mutation"
        ],
        "description": "Get all mutations.",
        "operationId": "GetMutations",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The number of items to retrieve.",
            "schema": {
              "maximum": 2000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The number of items to skip.",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Only retrieves mutations of this type.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "id",
            "in": "query",
            "description": "Only retrieves mutations with this number.",
            "schema": {
              "type": "integer",
              "format": "filter-int64"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Only retrieves mutations with this description.",
            "schema": {
              "type": "string",
              "format": "filter-string"
            }
          },
          {
            "name": "invoiceNumber",
            "in": "query",
            "description": "Only retrieves mutations with this invoice number.",
            "schema": {
              "type": "string",
              "format": "filter-string"
            }
          },
          {
            "name": "date",
            "in": "query",
            "description": "Only retrieves mutations with this date.",
            "schema": {
              "type": "string",
              "format": "filter-date"
            },
            "example": "2024-01-01"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDtoOfMutationsResponseDto"
                },
                "example": {
                  "Items": [
                    {
                      "Id": 12,
                      "Type": 2,
                      "Date": "2026-10-23",
                      "InvoiceNumber": "F00001",
                      "LedgerId": 40444521,
                      "Amount": 12.0,
                      "EntryNumber": "ENTR001"
                    }
                  ],
                  "Count": 1
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Mutation"
        ],
        "description": "Create a new mutation.",
        "operationId": "CreateMutation",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "title": "CreateMutation",
                "required": [
                  "type",
                  "date",
                  "ledgerId"
                ],
                "properties": {
                  "type": {
                    "$ref": "#/components/schemas/MutationType"
                  },
                  "date": {
                    "type": "string",
                    "description": "The date of the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_003\">MUT_003</a></td><td>Date is missing.</td></table></div>",
                    "format": "date",
                    "example": "2025-01-01"
                  },
                  "ledgerId": {
                    "type": "integer",
                    "description": "The ledger ID of the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUTA_001\">MUTA_001</a></td><td>Ledger id is missing.</td><tr><td><a href=\"#MUT_007\">MUT_007</a></td><td>Unknown ledger for mutation.</td></table></div>",
                    "format": "int32"
                  },
                  "invoiceNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The invoice number of the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_018\">MUT_018</a></td><td>Invoice number is too long.</td><tr><td><a href=\"#MUT_019\">MUT_019</a></td><td>Invoice number already exists.</td><tr><td><a href=\"#MUT_002\">MUT_002</a></td><td>Invoice number is missing.</td></table></div>",
                    "format": "string"
                  },
                  "entryNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The entry of the mutation.",
                    "format": "string"
                  },
                  "termOfPayment": {
                    "type": "integer",
                    "description": "The term of payment from `date`, in days.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_016\">MUT_016</a></td><td>Term of payment is prohibited.</td></table></div>",
                    "format": "int32"
                  },
                  "checkPaymentReference": {
                    "type": "boolean",
                    "description": "If true, the provided `paymentReference` will be validated for uniqueness."
                  },
                  "paymentReference": {
                    "type": "string",
                    "description": "The payment reference of the mutation.",
                    "format": "string"
                  },
                  "inExVat": {
                    "type": "string",
                    "description": "Indicates if the amount on mutation rows is including (`IN`) or excluding (`EX`) VAT. The corresponding value will be calculated based on the VAT code.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_017\">MUT_017</a></td><td>In/Ex VAT must be 'IN' or 'EX'.</td><tr><td><a href=\"#MUTA_005\">MUTA_005</a></td><td>In/Ex VAT is missing.</td></table></div>",
                    "format": "string"
                  },
                  "description": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The description of the mutation.",
                    "format": "string"
                  },
                  "relationId": {
                    "type": "integer",
                    "description": "The relation id of the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_012\">MUT_012</a></td><td>Relation is missing.</td><tr><td><a href=\"#MUT_013\">MUT_013</a></td><td>Relation not found.</td></table></div>",
                    "format": "int32"
                  },
                  "rows": {
                    "maxItems": 500,
                    "type": "array",
                    "items": {
                      "title": "CreateMutationRow",
                      "required": [
                        "vatCode",
                        "amount"
                      ],
                      "properties": {
                        "ledgerId": {
                          "type": "integer",
                          "description": "The ledger ID of the row. Required in combination with `type`: 1, 2, 5, 6, 7. </br> For `type` 1, 2, 5, 6 ledger cannot be in the category: `FIN`, `CRED`, `DEB`. </br> For `type` 7 ledger can be any.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUTA_004\">MUTA_004</a></td><td>Ledger ID for row is missing.</td><tr><td><a href=\"#MUT_007\">MUT_007</a></td><td>Unknown ledger for mutation.</td><tr><td><a href=\"#MUT_104\">MUT_104</a></td><td>Unknown ledger for row.</td><tr><td><a href=\"#MUT_106\">MUT_106</a></td><td>Invalid ledger category for row.</td></table></div>",
                          "format": "int32",
                          "example": "2"
                        },
                        "vatCode": {
                          "$ref": "#/components/schemas/VatCode"
                        },
                        "vatAmount": {
                          "type": "number",
                          "description": "The VAT amount of the row. Only use in combination with vatCode: 'AFW_VERK' or 'AFW'. Only applicable for NL.",
                          "example": "20"
                        },
                        "costCenterId": {
                          "type": "integer",
                          "description": "The cost center id of the row.",
                          "format": "int32"
                        },
                        "amount": {
                          "type": "number",
                          "description": "The amount of the row. This value includes or excludes VAT depending on the `inExVat` value of the mutation."
                        },
                        "description": {
                          "type": "string",
                          "description": "The description of the row.",
                          "format": "string"
                        },
                        "invoiceNumber": {
                          "type": "string",
                          "description": "The invoice number of the row. Required for type 'Invoice payment received' and 'Invoice payment sent'.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_115\">MUT_115</a></td><td>Invoice not found.</td><tr><td><a href=\"#MUT_120\">MUT_120</a></td><td>Invoice number is missing.</td></table></div>",
                          "format": "string"
                        },
                        "relationId": {
                          "type": "integer",
                          "description": "The relation id of the row.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_112\">MUT_112</a></td><td>Relation is missing.</td><tr><td><a href=\"#MUT_113\">MUT_113</a></td><td>Relation not found.</td></table></div>",
                          "format": "int32"
                        }
                      }
                    },
                    "description": "The rows of the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_100\">MUT_100</a></td><td>Rows are missing.</td><tr><td><a href=\"#MUT_101\">MUT_101</a></td><td>Too many rows.</td></table></div>"
                  }
                }
              },
              "example": {
                "Id": null,
                "Type": 2,
                "Date": "2026-10-23",
                "LedgerId": 10111230,
                "InvoiceNumber": "INV-001",
                "EntryNumber": "VOU-001",
                "TermOfPayment": 14,
                "CheckPaymentReference": null,
                "PaymentReference": null,
                "InExVat": "IN",
                "Description": "Example description",
                "RelationId": 1,
                "Rows": [
                  {
                    "LedgerId": 2,
                    "VatCode": "LAAG_VERK_9",
                    "VatAmount": null,
                    "CostCenterId": 12,
                    "Amount": 12.2,
                    "Description": "Description 1",
                    "InvoiceNumber": null,
                    "RelationId": null
                  },
                  {
                    "LedgerId": 3,
                    "VatCode": "LAAG_VERK_9",
                    "VatAmount": null,
                    "CostCenterId": 12,
                    "Amount": 14.4,
                    "Description": "Description 2",
                    "InvoiceNumber": null,
                    "RelationId": null
                  }
                ]
              }
            },
            "application/json": {
              "schema": {
                "title": "CreateMutation",
                "required": [
                  "type",
                  "date",
                  "ledgerId"
                ],
                "properties": {
                  "type": {
                    "$ref": "#/components/schemas/MutationType"
                  },
                  "date": {
                    "type": "string",
                    "description": "The date of the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_003\">MUT_003</a></td><td>Date is missing.</td></table></div>",
                    "format": "date",
                    "example": "2025-01-01"
                  },
                  "ledgerId": {
                    "type": "integer",
                    "description": "The ledger ID of the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUTA_001\">MUTA_001</a></td><td>Ledger id is missing.</td><tr><td><a href=\"#MUT_007\">MUT_007</a></td><td>Unknown ledger for mutation.</td></table></div>",
                    "format": "int32"
                  },
                  "invoiceNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The invoice number of the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_018\">MUT_018</a></td><td>Invoice number is too long.</td><tr><td><a href=\"#MUT_019\">MUT_019</a></td><td>Invoice number already exists.</td><tr><td><a href=\"#MUT_002\">MUT_002</a></td><td>Invoice number is missing.</td></table></div>",
                    "format": "string"
                  },
                  "entryNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The entry of the mutation.",
                    "format": "string"
                  },
                  "termOfPayment": {
                    "type": "integer",
                    "description": "The term of payment from `date`, in days.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_016\">MUT_016</a></td><td>Term of payment is prohibited.</td></table></div>",
                    "format": "int32"
                  },
                  "checkPaymentReference": {
                    "type": "boolean",
                    "description": "If true, the provided `paymentReference` will be validated for uniqueness."
                  },
                  "paymentReference": {
                    "type": "string",
                    "description": "The payment reference of the mutation.",
                    "format": "string"
                  },
                  "inExVat": {
                    "type": "string",
                    "description": "Indicates if the amount on mutation rows is including (`IN`) or excluding (`EX`) VAT. The corresponding value will be calculated based on the VAT code.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_017\">MUT_017</a></td><td>In/Ex VAT must be 'IN' or 'EX'.</td><tr><td><a href=\"#MUTA_005\">MUTA_005</a></td><td>In/Ex VAT is missing.</td></table></div>",
                    "format": "string"
                  },
                  "description": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The description of the mutation.",
                    "format": "string"
                  },
                  "relationId": {
                    "type": "integer",
                    "description": "The relation id of the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_012\">MUT_012</a></td><td>Relation is missing.</td><tr><td><a href=\"#MUT_013\">MUT_013</a></td><td>Relation not found.</td></table></div>",
                    "format": "int32"
                  },
                  "rows": {
                    "maxItems": 500,
                    "type": "array",
                    "items": {
                      "title": "CreateMutationRow",
                      "required": [
                        "vatCode",
                        "amount"
                      ],
                      "properties": {
                        "ledgerId": {
                          "type": "integer",
                          "description": "The ledger ID of the row. Required in combination with `type`: 1, 2, 5, 6, 7. </br> For `type` 1, 2, 5, 6 ledger cannot be in the category: `FIN`, `CRED`, `DEB`. </br> For `type` 7 ledger can be any.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUTA_004\">MUTA_004</a></td><td>Ledger ID for row is missing.</td><tr><td><a href=\"#MUT_007\">MUT_007</a></td><td>Unknown ledger for mutation.</td><tr><td><a href=\"#MUT_104\">MUT_104</a></td><td>Unknown ledger for row.</td><tr><td><a href=\"#MUT_106\">MUT_106</a></td><td>Invalid ledger category for row.</td></table></div>",
                          "format": "int32",
                          "example": "2"
                        },
                        "vatCode": {
                          "$ref": "#/components/schemas/VatCode"
                        },
                        "vatAmount": {
                          "type": "number",
                          "description": "The VAT amount of the row. Only use in combination with vatCode: 'AFW_VERK' or 'AFW'. Only applicable for NL.",
                          "example": "20"
                        },
                        "costCenterId": {
                          "type": "integer",
                          "description": "The cost center id of the row.",
                          "format": "int32"
                        },
                        "amount": {
                          "type": "number",
                          "description": "The amount of the row. This value includes or excludes VAT depending on the `inExVat` value of the mutation."
                        },
                        "description": {
                          "type": "string",
                          "description": "The description of the row.",
                          "format": "string"
                        },
                        "invoiceNumber": {
                          "type": "string",
                          "description": "The invoice number of the row. Required for type 'Invoice payment received' and 'Invoice payment sent'.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_115\">MUT_115</a></td><td>Invoice not found.</td><tr><td><a href=\"#MUT_120\">MUT_120</a></td><td>Invoice number is missing.</td></table></div>",
                          "format": "string"
                        },
                        "relationId": {
                          "type": "integer",
                          "description": "The relation id of the row.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_112\">MUT_112</a></td><td>Relation is missing.</td><tr><td><a href=\"#MUT_113\">MUT_113</a></td><td>Relation not found.</td></table></div>",
                          "format": "int32"
                        }
                      }
                    },
                    "description": "The rows of the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_100\">MUT_100</a></td><td>Rows are missing.</td><tr><td><a href=\"#MUT_101\">MUT_101</a></td><td>Too many rows.</td></table></div>"
                  }
                }
              },
              "example": {
                "Id": null,
                "Type": 2,
                "Date": "2026-10-23",
                "LedgerId": 10111230,
                "InvoiceNumber": "INV-001",
                "EntryNumber": "VOU-001",
                "TermOfPayment": 14,
                "CheckPaymentReference": null,
                "PaymentReference": null,
                "InExVat": "IN",
                "Description": "Example description",
                "RelationId": 1,
                "Rows": [
                  {
                    "LedgerId": 2,
                    "VatCode": "LAAG_VERK_9",
                    "VatAmount": null,
                    "CostCenterId": 12,
                    "Amount": 12.2,
                    "Description": "Description 1",
                    "InvoiceNumber": null,
                    "RelationId": null
                  },
                  {
                    "LedgerId": 3,
                    "VatCode": "LAAG_VERK_9",
                    "VatAmount": null,
                    "CostCenterId": 12,
                    "Amount": 14.4,
                    "Description": "Description 2",
                    "InvoiceNumber": null,
                    "RelationId": null
                  }
                ]
              }
            },
            "application/*+json": {
              "schema": {
                "title": "CreateMutation",
                "required": [
                  "type",
                  "date",
                  "ledgerId"
                ],
                "properties": {
                  "type": {
                    "$ref": "#/components/schemas/MutationType"
                  },
                  "date": {
                    "type": "string",
                    "description": "The date of the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_003\">MUT_003</a></td><td>Date is missing.</td></table></div>",
                    "format": "date",
                    "example": "2025-01-01"
                  },
                  "ledgerId": {
                    "type": "integer",
                    "description": "The ledger ID of the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUTA_001\">MUTA_001</a></td><td>Ledger id is missing.</td><tr><td><a href=\"#MUT_007\">MUT_007</a></td><td>Unknown ledger for mutation.</td></table></div>",
                    "format": "int32"
                  },
                  "invoiceNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The invoice number of the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_018\">MUT_018</a></td><td>Invoice number is too long.</td><tr><td><a href=\"#MUT_019\">MUT_019</a></td><td>Invoice number already exists.</td><tr><td><a href=\"#MUT_002\">MUT_002</a></td><td>Invoice number is missing.</td></table></div>",
                    "format": "string"
                  },
                  "entryNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The entry of the mutation.",
                    "format": "string"
                  },
                  "termOfPayment": {
                    "type": "integer",
                    "description": "The term of payment from `date`, in days.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_016\">MUT_016</a></td><td>Term of payment is prohibited.</td></table></div>",
                    "format": "int32"
                  },
                  "checkPaymentReference": {
                    "type": "boolean",
                    "description": "If true, the provided `paymentReference` will be validated for uniqueness."
                  },
                  "paymentReference": {
                    "type": "string",
                    "description": "The payment reference of the mutation.",
                    "format": "string"
                  },
                  "inExVat": {
                    "type": "string",
                    "description": "Indicates if the amount on mutation rows is including (`IN`) or excluding (`EX`) VAT. The corresponding value will be calculated based on the VAT code.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_017\">MUT_017</a></td><td>In/Ex VAT must be 'IN' or 'EX'.</td><tr><td><a href=\"#MUTA_005\">MUTA_005</a></td><td>In/Ex VAT is missing.</td></table></div>",
                    "format": "string"
                  },
                  "description": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The description of the mutation.",
                    "format": "string"
                  },
                  "relationId": {
                    "type": "integer",
                    "description": "The relation id of the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_012\">MUT_012</a></td><td>Relation is missing.</td><tr><td><a href=\"#MUT_013\">MUT_013</a></td><td>Relation not found.</td></table></div>",
                    "format": "int32"
                  },
                  "rows": {
                    "maxItems": 500,
                    "type": "array",
                    "items": {
                      "title": "CreateMutationRow",
                      "required": [
                        "vatCode",
                        "amount"
                      ],
                      "properties": {
                        "ledgerId": {
                          "type": "integer",
                          "description": "The ledger ID of the row. Required in combination with `type`: 1, 2, 5, 6, 7. </br> For `type` 1, 2, 5, 6 ledger cannot be in the category: `FIN`, `CRED`, `DEB`. </br> For `type` 7 ledger can be any.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUTA_004\">MUTA_004</a></td><td>Ledger ID for row is missing.</td><tr><td><a href=\"#MUT_007\">MUT_007</a></td><td>Unknown ledger for mutation.</td><tr><td><a href=\"#MUT_104\">MUT_104</a></td><td>Unknown ledger for row.</td><tr><td><a href=\"#MUT_106\">MUT_106</a></td><td>Invalid ledger category for row.</td></table></div>",
                          "format": "int32",
                          "example": "2"
                        },
                        "vatCode": {
                          "$ref": "#/components/schemas/VatCode"
                        },
                        "vatAmount": {
                          "type": "number",
                          "description": "The VAT amount of the row. Only use in combination with vatCode: 'AFW_VERK' or 'AFW'. Only applicable for NL.",
                          "example": "20"
                        },
                        "costCenterId": {
                          "type": "integer",
                          "description": "The cost center id of the row.",
                          "format": "int32"
                        },
                        "amount": {
                          "type": "number",
                          "description": "The amount of the row. This value includes or excludes VAT depending on the `inExVat` value of the mutation."
                        },
                        "description": {
                          "type": "string",
                          "description": "The description of the row.",
                          "format": "string"
                        },
                        "invoiceNumber": {
                          "type": "string",
                          "description": "The invoice number of the row. Required for type 'Invoice payment received' and 'Invoice payment sent'.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_115\">MUT_115</a></td><td>Invoice not found.</td><tr><td><a href=\"#MUT_120\">MUT_120</a></td><td>Invoice number is missing.</td></table></div>",
                          "format": "string"
                        },
                        "relationId": {
                          "type": "integer",
                          "description": "The relation id of the row.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_112\">MUT_112</a></td><td>Relation is missing.</td><tr><td><a href=\"#MUT_113\">MUT_113</a></td><td>Relation not found.</td></table></div>",
                          "format": "int32"
                        }
                      }
                    },
                    "description": "The rows of the mutation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_100\">MUT_100</a></td><td>Rows are missing.</td><tr><td><a href=\"#MUT_101\">MUT_101</a></td><td>Too many rows.</td></table></div>"
                  }
                }
              },
              "example": {
                "Id": null,
                "Type": 2,
                "Date": "2026-10-23",
                "LedgerId": 10111230,
                "InvoiceNumber": "INV-001",
                "EntryNumber": "VOU-001",
                "TermOfPayment": 14,
                "CheckPaymentReference": null,
                "PaymentReference": null,
                "InExVat": "IN",
                "Description": "Example description",
                "RelationId": 1,
                "Rows": [
                  {
                    "LedgerId": 2,
                    "VatCode": "LAAG_VERK_9",
                    "VatAmount": null,
                    "CostCenterId": 12,
                    "Amount": 12.2,
                    "Description": "Description 1",
                    "InvoiceNumber": null,
                    "RelationId": null
                  },
                  {
                    "LedgerId": 3,
                    "VatCode": "LAAG_VERK_9",
                    "VatAmount": null,
                    "CostCenterId": 12,
                    "Amount": 14.4,
                    "Description": "Description 2",
                    "InvoiceNumber": null,
                    "RelationId": null
                  }
                ]
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "title": "CreatedMutation",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID (number) of the mutation.",
                      "format": "int64"
                    }
                  }
                },
                "example": {
                  "Id": 12,
                  "Type": null,
                  "Date": null,
                  "Description": null,
                  "TermOfPayment": null,
                  "LedgerId": null,
                  "RelationId": null,
                  "InExVat": null,
                  "InvoiceNumber": null,
                  "EntryNumber": null,
                  "Rows": null,
                  "Vat": null
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/mutation/{id}": {
      "get": {
        "tags": [
          "Mutation"
        ],
        "description": "Get a mutation by id.",
        "operationId": "GetMutation",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "title": "Mutation",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID (number) of the mutation.",
                      "format": "int64"
                    },
                    "type": {
                      "$ref": "#/components/schemas/MutationType"
                    },
                    "date": {
                      "type": "string",
                      "format": "date"
                    },
                    "description": {
                      "type": "string",
                      "format": "string"
                    },
                    "termOfPayment": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "ledgerId": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "relationId": {
                      "type": "integer",
                      "format": "int32"
                    },
                    "inExVat": {
                      "type": "string",
                      "format": "string"
                    },
                    "invoiceNumber": {
                      "type": "string",
                      "format": "string"
                    },
                    "entryNumber": {
                      "type": "string",
                      "format": "string"
                    },
                    "rows": {
                      "type": "array",
                      "items": {
                        "title": "MutationRow",
                        "properties": {
                          "ledgerId": {
                            "type": "integer",
                            "description": "The ledger ID of the row. Required in combination with `type`: 1, 2, 5, 6, 7. </br> For `type` 1, 2, 5, 6 ledger cannot be in the category: `FIN`, `CRED`, `DEB`. </br> For `type` 7 ledger can be any.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUTA_004\">MUTA_004</a></td><td>Ledger ID for row is missing.</td><tr><td><a href=\"#MUT_007\">MUT_007</a></td><td>Unknown ledger for mutation.</td><tr><td><a href=\"#MUT_104\">MUT_104</a></td><td>Unknown ledger for row.</td><tr><td><a href=\"#MUT_106\">MUT_106</a></td><td>Invalid ledger category for row.</td></table></div>",
                            "format": "int32",
                            "example": "2"
                          },
                          "vatCode": {
                            "maxLength": 50,
                            "type": "string",
                            "description": "The VAT code of the row.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_109\">MUT_109</a></td><td>Invalid VAT code.</td></table></div>",
                            "format": "string"
                          },
                          "vatAmount": {
                            "type": "number",
                            "description": "The VAT amount of the row. Will only be returned when VAT is calculated per row for the given mutation.",
                            "example": "20"
                          },
                          "costCenterId": {
                            "type": "integer",
                            "description": "The cost center id of the row.",
                            "format": "int32"
                          },
                          "amount": {
                            "type": "number",
                            "description": "The amount of the row. This value includes or excludes VAT depending on the `inExVat` value of the mutation."
                          },
                          "description": {
                            "type": "string",
                            "description": "The description of the row.",
                            "format": "string"
                          },
                          "invoiceNumber": {
                            "type": "string",
                            "description": "The invoice number of the row. Required for type 'Invoice payment received' and 'Invoice payment sent'.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_115\">MUT_115</a></td><td>Invoice not found.</td><tr><td><a href=\"#MUT_120\">MUT_120</a></td><td>Invoice number is missing.</td></table></div>",
                            "format": "string"
                          },
                          "relationId": {
                            "type": "integer",
                            "description": "The relation id of the row.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#MUT_112\">MUT_112</a></td><td>Relation is missing.</td><tr><td><a href=\"#MUT_113\">MUT_113</a></td><td>Relation not found.</td></table></div>",
                            "format": "int32"
                          }
                        }
                      }
                    },
                    "vat": {
                      "type": "array",
                      "items": {
                        "title": "VatAmount",
                        "properties": {
                          "vatCode": {
                            "$ref": "#/components/schemas/VatCode"
                          },
                          "amount": {
                            "type": "number",
                            "description": "The total amount of VAT for this code"
                          }
                        }
                      },
                      "description": "VAT totals for this mutation per VAT code"
                    }
                  }
                },
                "example": {
                  "Id": 12,
                  "Type": 2,
                  "Date": "2026-10-23",
                  "Description": "Description",
                  "TermOfPayment": 12,
                  "LedgerId": 40444521,
                  "RelationId": 111,
                  "InExVat": "EX",
                  "InvoiceNumber": "F00001",
                  "EntryNumber": "ENTR001",
                  "Rows": [
                    {
                      "LedgerId": 2001,
                      "VatCode": "NL21",
                      "VatAmount": 2.10,
                      "CostCenterId": 10,
                      "Amount": 10.00,
                      "Description": "Row 1 description",
                      "InvoiceNumber": "F00001",
                      "RelationId": 111
                    }
                  ],
                  "Vat": [
                    {
                      "VatCode": "NL21",
                      "Amount": 2.10
                    }
                  ]
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/mutation/invoice/outstanding": {
      "get": {
        "tags": [
          "Mutation"
        ],
        "description": "Get all outstanding invoices.",
        "operationId": "GetOutstandingInvoices",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The number of items to retrieve.",
            "schema": {
              "maximum": 2000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The number of items to skip.",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "credDeb",
            "in": "query",
            "description": "Retrieve creditors (`C`) or debtors (`D`).",
            "required": true,
            "schema": {
              "maxLength": 1,
              "type": "string",
              "format": "string"
            }
          },
          {
            "name": "invoiceNumber",
            "in": "query",
            "description": "Only retrieve invoices with this number.",
            "schema": {
              "type": "string",
              "format": "filter-string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDtoOfOutstandingInvoiceDto"
                },
                "example": {
                  "Items": [
                    {
                      "Date": "0001-01-01",
                      "MutationId": 1,
                      "InvoiceNumber": null,
                      "RelationId": 101,
                      "RelationCode": null,
                      "Company": "SkillSource",
                      "TotalAmount": 100.0,
                      "PaidAmount": 0.0,
                      "OutstandingAmount": 0.0
                    }
                  ],
                  "Count": 1
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/product": {
      "get": {
        "tags": [
          "Product"
        ],
        "description": "Get all products.",
        "operationId": "GetProducts",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The number of items to retrieve.",
            "schema": {
              "maximum": 2000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The number of items to skip.",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "code",
            "in": "query",
            "description": "The code of the product.",
            "schema": {
              "type": "string",
              "format": "filter-string"
            }
          },
          {
            "name": "groupCode",
            "in": "query",
            "description": "The product group code.",
            "schema": {
              "type": "string",
              "format": "filter-string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDtoOfProductsResponseDto"
                },
                "example": {
                  "Items": [
                    {
                      "Id": 1,
                      "Code": "Fiets001",
                      "Description": "Fiets001",
                      "UnitId": 25,
                      "Active": true,
                      "GroupId": null,
                      "PurchasePriceExcl": null,
                      "PriceExcl": null,
                      "PriceIncl": null,
                      "Vat": null,
                      "LedgerId": null,
                      "CostCenterId": null,
                      "InStockManagement": null,
                      "UpdateSubscriptions": null
                    }
                  ],
                  "Count": 1
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Product"
        ],
        "description": "Create a new product.",
        "operationId": "CreateProduct",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "title": "CreateProduct",
                "required": [
                  "code",
                  "description",
                  "vat",
                  "ledgerId"
                ],
                "properties": {
                  "code": {
                    "maxLength": 20,
                    "type": "string",
                    "description": "The code of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_004\">ART_004</a></td><td>Product Code is missing.</td><tr><td><a href=\"#ART_007\">ART_007</a></td><td>Product Code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "description": {
                    "maxLength": 35000,
                    "type": "string",
                    "description": "The description of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_005\">ART_005</a></td><td>Product Description is missing.</td></table></div>",
                    "format": "string"
                  },
                  "unitId": {
                    "type": "integer",
                    "description": "The unit ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_011\">ART_011</a></td><td>Product Unit could not be found.</td></table></div>",
                    "format": "int32"
                  },
                  "active": {
                    "type": "boolean",
                    "description": "Whether the product is active.",
                    "default": "true"
                  },
                  "groupId": {
                    "type": "integer",
                    "description": "The group ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_012\">ART_012</a></td><td>Product Group could not be found.</td></table></div>",
                    "format": "int32"
                  },
                  "purchasePriceExcl": {
                    "type": "number",
                    "description": "The purchase price (excluding VAT) of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_027\">ART_027</a></td><td>The value of PurchasePriceExcl exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_032\">ART_032</a></td><td>The value of PurchasePriceExcl is below the minimum value of -999999999999.00.</td></table></div>"
                  },
                  "priceExcl": {
                    "type": "number",
                    "description": "The price (excluding VAT) of the product. This field can not be combined with `priceIncl`.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_018\">ART_018</a></td><td>Either priceExcl or priceIncl is required.</td><tr><td><a href=\"#ART_019\">ART_019</a></td><td>Both priceExcl and priceIncl are required with current VAT code.</td><tr><td><a href=\"#ART_024\">ART_024</a></td><td>The value of PriceExcl exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_026\">ART_026</a></td><td>The value of PriceIncl after applying VAT exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_029\">ART_029</a></td><td>The value of PriceExcl is below the minimum value of -999999999999.00.</td><tr><td><a href=\"#ART_031\">ART_031</a></td><td>The value of PriceIncl after applying VAT is below the minimum value of -999999999999.00.</td></table></div>"
                  },
                  "priceIncl": {
                    "type": "number",
                    "description": "The price (including VAT) of the product. This field can not be combined with `priceExcl`.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_016\">ART_016</a></td><td>priceIncl cannot have a value when priceExcl is passed.</td><tr><td><a href=\"#ART_018\">ART_018</a></td><td>Either priceExcl or priceIncl is required.</td><tr><td><a href=\"#ART_019\">ART_019</a></td><td>Both priceExcl and priceIncl are required with current VAT code.</td><tr><td><a href=\"#ART_025\">ART_025</a></td><td>The value of PriceIncl exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_030\">ART_030</a></td><td>The value of PriceIncl is below the minimum value of -999999999999.00.</td></table></div>"
                  },
                  "vat": {
                    "type": "string",
                    "description": "The VAT code of the product. Only supports VAT codes of type 'Sale'.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_013\">ART_013</a></td><td>Product VAT code could not be found.</td><tr><td><a href=\"#ART_017\">ART_017</a></td><td>Product VAT code is required.</td></table></div>",
                    "format": "string"
                  },
                  "ledgerId": {
                    "type": "integer",
                    "description": "The ledger ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_006\">ART_006</a></td><td>Product Ledger ID is missing.</td><tr><td><a href=\"#ART_009\">ART_009</a></td><td>Product Ledger could not be found.</td><tr><td><a href=\"#ART_028\">ART_028</a></td><td>Ledger category must be 'BAL' or 'VW'.</td></table></div>",
                    "format": "int32"
                  },
                  "costCenterId": {
                    "type": "integer",
                    "description": "The cost center ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_010\">ART_010</a></td><td>Product Cost center is inactive.</td><tr><td><a href=\"#ART_015\">ART_015</a></td><td>Product cost center could not be found.</td></table></div>",
                    "format": "int32"
                  },
                  "inStockManagement": {
                    "type": "boolean",
                    "description": "Whether the product will be Included in automatic inventory management."
                  }
                },
                "description": "Good or service."
              },
              "example": {
                "Id": null,
                "Code": "Fiets001",
                "Description": "Fiets",
                "UnitId": 1,
                "Active": true,
                "GroupId": 1,
                "PurchasePriceExcl": 100.0,
                "PriceExcl": 150.0,
                "PriceIncl": 150.0,
                "Vat": "HOOG_VERK_21",
                "LedgerId": 1,
                "CostCenterId": 1,
                "InStockManagement": false,
                "UpdateSubscriptions": null
              }
            },
            "application/json": {
              "schema": {
                "title": "CreateProduct",
                "required": [
                  "code",
                  "description",
                  "vat",
                  "ledgerId"
                ],
                "properties": {
                  "code": {
                    "maxLength": 20,
                    "type": "string",
                    "description": "The code of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_004\">ART_004</a></td><td>Product Code is missing.</td><tr><td><a href=\"#ART_007\">ART_007</a></td><td>Product Code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "description": {
                    "maxLength": 35000,
                    "type": "string",
                    "description": "The description of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_005\">ART_005</a></td><td>Product Description is missing.</td></table></div>",
                    "format": "string"
                  },
                  "unitId": {
                    "type": "integer",
                    "description": "The unit ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_011\">ART_011</a></td><td>Product Unit could not be found.</td></table></div>",
                    "format": "int32"
                  },
                  "active": {
                    "type": "boolean",
                    "description": "Whether the product is active.",
                    "default": "true"
                  },
                  "groupId": {
                    "type": "integer",
                    "description": "The group ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_012\">ART_012</a></td><td>Product Group could not be found.</td></table></div>",
                    "format": "int32"
                  },
                  "purchasePriceExcl": {
                    "type": "number",
                    "description": "The purchase price (excluding VAT) of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_027\">ART_027</a></td><td>The value of PurchasePriceExcl exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_032\">ART_032</a></td><td>The value of PurchasePriceExcl is below the minimum value of -999999999999.00.</td></table></div>"
                  },
                  "priceExcl": {
                    "type": "number",
                    "description": "The price (excluding VAT) of the product. This field can not be combined with `priceIncl`.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_018\">ART_018</a></td><td>Either priceExcl or priceIncl is required.</td><tr><td><a href=\"#ART_019\">ART_019</a></td><td>Both priceExcl and priceIncl are required with current VAT code.</td><tr><td><a href=\"#ART_024\">ART_024</a></td><td>The value of PriceExcl exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_026\">ART_026</a></td><td>The value of PriceIncl after applying VAT exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_029\">ART_029</a></td><td>The value of PriceExcl is below the minimum value of -999999999999.00.</td><tr><td><a href=\"#ART_031\">ART_031</a></td><td>The value of PriceIncl after applying VAT is below the minimum value of -999999999999.00.</td></table></div>"
                  },
                  "priceIncl": {
                    "type": "number",
                    "description": "The price (including VAT) of the product. This field can not be combined with `priceExcl`.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_016\">ART_016</a></td><td>priceIncl cannot have a value when priceExcl is passed.</td><tr><td><a href=\"#ART_018\">ART_018</a></td><td>Either priceExcl or priceIncl is required.</td><tr><td><a href=\"#ART_019\">ART_019</a></td><td>Both priceExcl and priceIncl are required with current VAT code.</td><tr><td><a href=\"#ART_025\">ART_025</a></td><td>The value of PriceIncl exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_030\">ART_030</a></td><td>The value of PriceIncl is below the minimum value of -999999999999.00.</td></table></div>"
                  },
                  "vat": {
                    "type": "string",
                    "description": "The VAT code of the product. Only supports VAT codes of type 'Sale'.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_013\">ART_013</a></td><td>Product VAT code could not be found.</td><tr><td><a href=\"#ART_017\">ART_017</a></td><td>Product VAT code is required.</td></table></div>",
                    "format": "string"
                  },
                  "ledgerId": {
                    "type": "integer",
                    "description": "The ledger ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_006\">ART_006</a></td><td>Product Ledger ID is missing.</td><tr><td><a href=\"#ART_009\">ART_009</a></td><td>Product Ledger could not be found.</td><tr><td><a href=\"#ART_028\">ART_028</a></td><td>Ledger category must be 'BAL' or 'VW'.</td></table></div>",
                    "format": "int32"
                  },
                  "costCenterId": {
                    "type": "integer",
                    "description": "The cost center ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_010\">ART_010</a></td><td>Product Cost center is inactive.</td><tr><td><a href=\"#ART_015\">ART_015</a></td><td>Product cost center could not be found.</td></table></div>",
                    "format": "int32"
                  },
                  "inStockManagement": {
                    "type": "boolean",
                    "description": "Whether the product will be Included in automatic inventory management."
                  }
                },
                "description": "Good or service."
              },
              "example": {
                "Id": null,
                "Code": "Fiets001",
                "Description": "Fiets",
                "UnitId": 1,
                "Active": true,
                "GroupId": 1,
                "PurchasePriceExcl": 100.0,
                "PriceExcl": 150.0,
                "PriceIncl": 150.0,
                "Vat": "HOOG_VERK_21",
                "LedgerId": 1,
                "CostCenterId": 1,
                "InStockManagement": false,
                "UpdateSubscriptions": null
              }
            },
            "application/*+json": {
              "schema": {
                "title": "CreateProduct",
                "required": [
                  "code",
                  "description",
                  "vat",
                  "ledgerId"
                ],
                "properties": {
                  "code": {
                    "maxLength": 20,
                    "type": "string",
                    "description": "The code of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_004\">ART_004</a></td><td>Product Code is missing.</td><tr><td><a href=\"#ART_007\">ART_007</a></td><td>Product Code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "description": {
                    "maxLength": 35000,
                    "type": "string",
                    "description": "The description of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_005\">ART_005</a></td><td>Product Description is missing.</td></table></div>",
                    "format": "string"
                  },
                  "unitId": {
                    "type": "integer",
                    "description": "The unit ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_011\">ART_011</a></td><td>Product Unit could not be found.</td></table></div>",
                    "format": "int32"
                  },
                  "active": {
                    "type": "boolean",
                    "description": "Whether the product is active.",
                    "default": "true"
                  },
                  "groupId": {
                    "type": "integer",
                    "description": "The group ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_012\">ART_012</a></td><td>Product Group could not be found.</td></table></div>",
                    "format": "int32"
                  },
                  "purchasePriceExcl": {
                    "type": "number",
                    "description": "The purchase price (excluding VAT) of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_027\">ART_027</a></td><td>The value of PurchasePriceExcl exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_032\">ART_032</a></td><td>The value of PurchasePriceExcl is below the minimum value of -999999999999.00.</td></table></div>"
                  },
                  "priceExcl": {
                    "type": "number",
                    "description": "The price (excluding VAT) of the product. This field can not be combined with `priceIncl`.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_018\">ART_018</a></td><td>Either priceExcl or priceIncl is required.</td><tr><td><a href=\"#ART_019\">ART_019</a></td><td>Both priceExcl and priceIncl are required with current VAT code.</td><tr><td><a href=\"#ART_024\">ART_024</a></td><td>The value of PriceExcl exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_026\">ART_026</a></td><td>The value of PriceIncl after applying VAT exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_029\">ART_029</a></td><td>The value of PriceExcl is below the minimum value of -999999999999.00.</td><tr><td><a href=\"#ART_031\">ART_031</a></td><td>The value of PriceIncl after applying VAT is below the minimum value of -999999999999.00.</td></table></div>"
                  },
                  "priceIncl": {
                    "type": "number",
                    "description": "The price (including VAT) of the product. This field can not be combined with `priceExcl`.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_016\">ART_016</a></td><td>priceIncl cannot have a value when priceExcl is passed.</td><tr><td><a href=\"#ART_018\">ART_018</a></td><td>Either priceExcl or priceIncl is required.</td><tr><td><a href=\"#ART_019\">ART_019</a></td><td>Both priceExcl and priceIncl are required with current VAT code.</td><tr><td><a href=\"#ART_025\">ART_025</a></td><td>The value of PriceIncl exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_030\">ART_030</a></td><td>The value of PriceIncl is below the minimum value of -999999999999.00.</td></table></div>"
                  },
                  "vat": {
                    "type": "string",
                    "description": "The VAT code of the product. Only supports VAT codes of type 'Sale'.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_013\">ART_013</a></td><td>Product VAT code could not be found.</td><tr><td><a href=\"#ART_017\">ART_017</a></td><td>Product VAT code is required.</td></table></div>",
                    "format": "string"
                  },
                  "ledgerId": {
                    "type": "integer",
                    "description": "The ledger ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_006\">ART_006</a></td><td>Product Ledger ID is missing.</td><tr><td><a href=\"#ART_009\">ART_009</a></td><td>Product Ledger could not be found.</td><tr><td><a href=\"#ART_028\">ART_028</a></td><td>Ledger category must be 'BAL' or 'VW'.</td></table></div>",
                    "format": "int32"
                  },
                  "costCenterId": {
                    "type": "integer",
                    "description": "The cost center ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_010\">ART_010</a></td><td>Product Cost center is inactive.</td><tr><td><a href=\"#ART_015\">ART_015</a></td><td>Product cost center could not be found.</td></table></div>",
                    "format": "int32"
                  },
                  "inStockManagement": {
                    "type": "boolean",
                    "description": "Whether the product will be Included in automatic inventory management."
                  }
                },
                "description": "Good or service."
              },
              "example": {
                "Id": null,
                "Code": "Fiets001",
                "Description": "Fiets",
                "UnitId": 1,
                "Active": true,
                "GroupId": 1,
                "PurchasePriceExcl": 100.0,
                "PriceExcl": 150.0,
                "PriceIncl": 150.0,
                "Vat": "HOOG_VERK_21",
                "LedgerId": 1,
                "CostCenterId": 1,
                "InStockManagement": false,
                "UpdateSubscriptions": null
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "title": "CreateProduct",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the product.",
                      "format": "int32"
                    }
                  },
                  "description": "Good or service."
                },
                "example": {
                  "Id": 123,
                  "Code": null,
                  "Description": null,
                  "UnitId": null,
                  "Active": null,
                  "GroupId": null,
                  "PurchasePriceExcl": null,
                  "PriceExcl": null,
                  "PriceIncl": null,
                  "Vat": null,
                  "LedgerId": null,
                  "CostCenterId": null,
                  "InStockManagement": null,
                  "UpdateSubscriptions": null
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/product/groups": {
      "get": {
        "tags": [
          "Product"
        ],
        "description": "Get all product groups.",
        "operationId": "GetProductGroup",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDtoOfProductGroupDto"
                },
                "example": {
                  "Items": [
                    {
                      "Id": 1,
                      "Code": "P001",
                      "Description": "Product Group 1"
                    }
                  ],
                  "Count": 1
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/product/{id}": {
      "get": {
        "tags": [
          "Product"
        ],
        "description": "Get a product.",
        "operationId": "GetProduct",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "title": "Product",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_001\">ART_001</a></td><td>Product not found.</td><tr><td><a href=\"#ART_003\">ART_003</a></td><td>Product could not be deleted</td></table></div>",
                      "format": "int32"
                    },
                    "code": {
                      "type": "string",
                      "description": "The code of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_004\">ART_004</a></td><td>Product Code is missing.</td><tr><td><a href=\"#ART_007\">ART_007</a></td><td>Product Code is too long.</td></table></div>",
                      "format": "string"
                    },
                    "description": {
                      "type": "string",
                      "description": "The description of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_005\">ART_005</a></td><td>Product Description is missing.</td></table></div>",
                      "format": "string"
                    },
                    "unitId": {
                      "type": "integer",
                      "description": "The unit ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_011\">ART_011</a></td><td>Product Unit could not be found.</td></table></div>",
                      "format": "int32"
                    },
                    "active": {
                      "type": "boolean",
                      "description": "Whether the product is active.",
                      "default": "true"
                    },
                    "groupId": {
                      "type": "integer",
                      "description": "The group ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_012\">ART_012</a></td><td>Product Group could not be found.</td></table></div>",
                      "format": "int32"
                    },
                    "purchasePriceExcl": {
                      "type": "number",
                      "description": "The purchase price (excluding VAT) of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_027\">ART_027</a></td><td>The value of PurchasePriceExcl exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_032\">ART_032</a></td><td>The value of PurchasePriceExcl is below the minimum value of -999999999999.00.</td></table></div>"
                    },
                    "priceExcl": {
                      "type": "number",
                      "description": "The price (excluding VAT) of the product. This field can not be combined with `priceIncl`."
                    },
                    "priceIncl": {
                      "type": "number",
                      "description": "The price (including VAT) of the product. This field can not be combined with `priceExcl`."
                    },
                    "vat": {
                      "type": "string",
                      "description": "The VAT code of the product. Only supports VAT codes of type 'Sale'.",
                      "format": "string"
                    },
                    "ledgerId": {
                      "type": "integer",
                      "description": "The ledger ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_006\">ART_006</a></td><td>Product Ledger ID is missing.</td><tr><td><a href=\"#ART_009\">ART_009</a></td><td>Product Ledger could not be found.</td><tr><td><a href=\"#ART_028\">ART_028</a></td><td>Ledger category must be 'BAL' or 'VW'.</td></table></div>",
                      "format": "int32"
                    },
                    "costCenterId": {
                      "type": "integer",
                      "description": "The cost center ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_010\">ART_010</a></td><td>Product Cost center is inactive.</td><tr><td><a href=\"#ART_015\">ART_015</a></td><td>Product cost center could not be found.</td></table></div>",
                      "format": "int32"
                    },
                    "inStockManagement": {
                      "type": "boolean",
                      "description": "Whether the product will be Included in automatic inventory management."
                    }
                  },
                  "description": "Good or service."
                },
                "example": {
                  "Id": 1,
                  "Code": "Fiets001",
                  "Description": "Fiets",
                  "UnitId": 1,
                  "Active": true,
                  "GroupId": 1,
                  "PurchasePriceExcl": 100.0,
                  "PriceExcl": 150.0,
                  "PriceIncl": 150.0,
                  "Vat": "HOOG_VERK_21",
                  "LedgerId": 1,
                  "CostCenterId": 1,
                  "InStockManagement": false,
                  "UpdateSubscriptions": null
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "Product"
        ],
        "description": "Update a product.",
        "operationId": "UpdateProduct",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "title": "PatchProduct",
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "The code of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_004\">ART_004</a></td><td>Product Code is missing.</td><tr><td><a href=\"#ART_007\">ART_007</a></td><td>Product Code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "description": {
                    "type": "string",
                    "description": "The description of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_005\">ART_005</a></td><td>Product Description is missing.</td></table></div>",
                    "format": "string"
                  },
                  "unitId": {
                    "type": "integer",
                    "description": "The unit ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_011\">ART_011</a></td><td>Product Unit could not be found.</td></table></div>",
                    "format": "int32"
                  },
                  "active": {
                    "type": "boolean",
                    "description": "Whether the product is active.",
                    "default": "true"
                  },
                  "groupId": {
                    "type": "integer",
                    "description": "The group ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_012\">ART_012</a></td><td>Product Group could not be found.</td></table></div>",
                    "format": "int32"
                  },
                  "purchasePriceExcl": {
                    "type": "number",
                    "description": "The purchase price (excluding VAT) of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_027\">ART_027</a></td><td>The value of PurchasePriceExcl exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_032\">ART_032</a></td><td>The value of PurchasePriceExcl is below the minimum value of -999999999999.00.</td></table></div>"
                  },
                  "priceExcl": {
                    "type": "number",
                    "description": "The price (excluding VAT) of the product. This field can not be combined with `priceIncl`.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_021\">ART_021</a></td><td>priceExcl cannot be null or empty.</td><tr><td><a href=\"#ART_024\">ART_024</a></td><td>The value of PriceExcl exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_026\">ART_026</a></td><td>The value of PriceIncl after applying VAT exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_029\">ART_029</a></td><td>The value of PriceExcl is below the minimum value of -999999999999.00.</td><tr><td><a href=\"#ART_031\">ART_031</a></td><td>The value of PriceIncl after applying VAT is below the minimum value of -999999999999.00.</td></table></div>"
                  },
                  "priceIncl": {
                    "type": "number",
                    "description": "The price (including VAT) of the product. This field can not be combined with `priceExcl`.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_016\">ART_016</a></td><td>priceIncl cannot have a value when priceExcl is passed.</td><tr><td><a href=\"#ART_020\">ART_020</a></td><td>priceIncl cannot be null or empty.</td><tr><td><a href=\"#ART_025\">ART_025</a></td><td>The value of PriceIncl exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_030\">ART_030</a></td><td>The value of PriceIncl is below the minimum value of -999999999999.00.</td></table></div>"
                  },
                  "vat": {
                    "type": "string",
                    "description": "The VAT code of the product. Only supports VAT codes of type 'Sale'.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_013\">ART_013</a></td><td>Product VAT code could not be found.</td><tr><td><a href=\"#ART_022\">ART_022</a></td><td>VAT code cannot be null or empty.</td></table></div>",
                    "format": "string"
                  },
                  "ledgerId": {
                    "type": "integer",
                    "description": "The ledger ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_006\">ART_006</a></td><td>Product Ledger ID is missing.</td><tr><td><a href=\"#ART_009\">ART_009</a></td><td>Product Ledger could not be found.</td><tr><td><a href=\"#ART_028\">ART_028</a></td><td>Ledger category must be 'BAL' or 'VW'.</td></table></div>",
                    "format": "int32"
                  },
                  "costCenterId": {
                    "type": "integer",
                    "description": "The cost center ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_010\">ART_010</a></td><td>Product Cost center is inactive.</td><tr><td><a href=\"#ART_015\">ART_015</a></td><td>Product cost center could not be found.</td></table></div>",
                    "format": "int32"
                  },
                  "inStockManagement": {
                    "type": "boolean",
                    "description": "Whether the product will be Included in automatic inventory management."
                  },
                  "updateSubscriptions": {
                    "$ref": "#/components/schemas/UpdateSubscriptions"
                  }
                },
                "description": "Good or service."
              },
              "example": {
                "Id": null,
                "Code": "Fiets001",
                "Description": "Fiets",
                "UnitId": 1,
                "Active": true,
                "GroupId": 1,
                "PurchasePriceExcl": 100.0,
                "PriceExcl": 150.0,
                "PriceIncl": 150.0,
                "Vat": "HOOG_VERK_21",
                "LedgerId": 1,
                "CostCenterId": 1,
                "InStockManagement": false,
                "UpdateSubscriptions": 1
              }
            },
            "application/json": {
              "schema": {
                "title": "PatchProduct",
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "The code of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_004\">ART_004</a></td><td>Product Code is missing.</td><tr><td><a href=\"#ART_007\">ART_007</a></td><td>Product Code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "description": {
                    "type": "string",
                    "description": "The description of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_005\">ART_005</a></td><td>Product Description is missing.</td></table></div>",
                    "format": "string"
                  },
                  "unitId": {
                    "type": "integer",
                    "description": "The unit ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_011\">ART_011</a></td><td>Product Unit could not be found.</td></table></div>",
                    "format": "int32"
                  },
                  "active": {
                    "type": "boolean",
                    "description": "Whether the product is active.",
                    "default": "true"
                  },
                  "groupId": {
                    "type": "integer",
                    "description": "The group ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_012\">ART_012</a></td><td>Product Group could not be found.</td></table></div>",
                    "format": "int32"
                  },
                  "purchasePriceExcl": {
                    "type": "number",
                    "description": "The purchase price (excluding VAT) of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_027\">ART_027</a></td><td>The value of PurchasePriceExcl exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_032\">ART_032</a></td><td>The value of PurchasePriceExcl is below the minimum value of -999999999999.00.</td></table></div>"
                  },
                  "priceExcl": {
                    "type": "number",
                    "description": "The price (excluding VAT) of the product. This field can not be combined with `priceIncl`.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_021\">ART_021</a></td><td>priceExcl cannot be null or empty.</td><tr><td><a href=\"#ART_024\">ART_024</a></td><td>The value of PriceExcl exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_026\">ART_026</a></td><td>The value of PriceIncl after applying VAT exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_029\">ART_029</a></td><td>The value of PriceExcl is below the minimum value of -999999999999.00.</td><tr><td><a href=\"#ART_031\">ART_031</a></td><td>The value of PriceIncl after applying VAT is below the minimum value of -999999999999.00.</td></table></div>"
                  },
                  "priceIncl": {
                    "type": "number",
                    "description": "The price (including VAT) of the product. This field can not be combined with `priceExcl`.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_016\">ART_016</a></td><td>priceIncl cannot have a value when priceExcl is passed.</td><tr><td><a href=\"#ART_020\">ART_020</a></td><td>priceIncl cannot be null or empty.</td><tr><td><a href=\"#ART_025\">ART_025</a></td><td>The value of PriceIncl exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_030\">ART_030</a></td><td>The value of PriceIncl is below the minimum value of -999999999999.00.</td></table></div>"
                  },
                  "vat": {
                    "type": "string",
                    "description": "The VAT code of the product. Only supports VAT codes of type 'Sale'.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_013\">ART_013</a></td><td>Product VAT code could not be found.</td><tr><td><a href=\"#ART_022\">ART_022</a></td><td>VAT code cannot be null or empty.</td></table></div>",
                    "format": "string"
                  },
                  "ledgerId": {
                    "type": "integer",
                    "description": "The ledger ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_006\">ART_006</a></td><td>Product Ledger ID is missing.</td><tr><td><a href=\"#ART_009\">ART_009</a></td><td>Product Ledger could not be found.</td><tr><td><a href=\"#ART_028\">ART_028</a></td><td>Ledger category must be 'BAL' or 'VW'.</td></table></div>",
                    "format": "int32"
                  },
                  "costCenterId": {
                    "type": "integer",
                    "description": "The cost center ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_010\">ART_010</a></td><td>Product Cost center is inactive.</td><tr><td><a href=\"#ART_015\">ART_015</a></td><td>Product cost center could not be found.</td></table></div>",
                    "format": "int32"
                  },
                  "inStockManagement": {
                    "type": "boolean",
                    "description": "Whether the product will be Included in automatic inventory management."
                  },
                  "updateSubscriptions": {
                    "$ref": "#/components/schemas/UpdateSubscriptions"
                  }
                },
                "description": "Good or service."
              },
              "example": {
                "Id": null,
                "Code": "Fiets001",
                "Description": "Fiets",
                "UnitId": 1,
                "Active": true,
                "GroupId": 1,
                "PurchasePriceExcl": 100.0,
                "PriceExcl": 150.0,
                "PriceIncl": 150.0,
                "Vat": "HOOG_VERK_21",
                "LedgerId": 1,
                "CostCenterId": 1,
                "InStockManagement": false,
                "UpdateSubscriptions": 1
              }
            },
            "application/*+json": {
              "schema": {
                "title": "PatchProduct",
                "properties": {
                  "code": {
                    "type": "string",
                    "description": "The code of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_004\">ART_004</a></td><td>Product Code is missing.</td><tr><td><a href=\"#ART_007\">ART_007</a></td><td>Product Code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "description": {
                    "type": "string",
                    "description": "The description of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_005\">ART_005</a></td><td>Product Description is missing.</td></table></div>",
                    "format": "string"
                  },
                  "unitId": {
                    "type": "integer",
                    "description": "The unit ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_011\">ART_011</a></td><td>Product Unit could not be found.</td></table></div>",
                    "format": "int32"
                  },
                  "active": {
                    "type": "boolean",
                    "description": "Whether the product is active.",
                    "default": "true"
                  },
                  "groupId": {
                    "type": "integer",
                    "description": "The group ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_012\">ART_012</a></td><td>Product Group could not be found.</td></table></div>",
                    "format": "int32"
                  },
                  "purchasePriceExcl": {
                    "type": "number",
                    "description": "The purchase price (excluding VAT) of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_027\">ART_027</a></td><td>The value of PurchasePriceExcl exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_032\">ART_032</a></td><td>The value of PurchasePriceExcl is below the minimum value of -999999999999.00.</td></table></div>"
                  },
                  "priceExcl": {
                    "type": "number",
                    "description": "The price (excluding VAT) of the product. This field can not be combined with `priceIncl`.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_021\">ART_021</a></td><td>priceExcl cannot be null or empty.</td><tr><td><a href=\"#ART_024\">ART_024</a></td><td>The value of PriceExcl exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_026\">ART_026</a></td><td>The value of PriceIncl after applying VAT exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_029\">ART_029</a></td><td>The value of PriceExcl is below the minimum value of -999999999999.00.</td><tr><td><a href=\"#ART_031\">ART_031</a></td><td>The value of PriceIncl after applying VAT is below the minimum value of -999999999999.00.</td></table></div>"
                  },
                  "priceIncl": {
                    "type": "number",
                    "description": "The price (including VAT) of the product. This field can not be combined with `priceExcl`.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_016\">ART_016</a></td><td>priceIncl cannot have a value when priceExcl is passed.</td><tr><td><a href=\"#ART_020\">ART_020</a></td><td>priceIncl cannot be null or empty.</td><tr><td><a href=\"#ART_025\">ART_025</a></td><td>The value of PriceIncl exceeds the maximum value of 999999999999.00.</td><tr><td><a href=\"#ART_030\">ART_030</a></td><td>The value of PriceIncl is below the minimum value of -999999999999.00.</td></table></div>"
                  },
                  "vat": {
                    "type": "string",
                    "description": "The VAT code of the product. Only supports VAT codes of type 'Sale'.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_013\">ART_013</a></td><td>Product VAT code could not be found.</td><tr><td><a href=\"#ART_022\">ART_022</a></td><td>VAT code cannot be null or empty.</td></table></div>",
                    "format": "string"
                  },
                  "ledgerId": {
                    "type": "integer",
                    "description": "The ledger ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_006\">ART_006</a></td><td>Product Ledger ID is missing.</td><tr><td><a href=\"#ART_009\">ART_009</a></td><td>Product Ledger could not be found.</td><tr><td><a href=\"#ART_028\">ART_028</a></td><td>Ledger category must be 'BAL' or 'VW'.</td></table></div>",
                    "format": "int32"
                  },
                  "costCenterId": {
                    "type": "integer",
                    "description": "The cost center ID of the product.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#ART_010\">ART_010</a></td><td>Product Cost center is inactive.</td><tr><td><a href=\"#ART_015\">ART_015</a></td><td>Product cost center could not be found.</td></table></div>",
                    "format": "int32"
                  },
                  "inStockManagement": {
                    "type": "boolean",
                    "description": "Whether the product will be Included in automatic inventory management."
                  },
                  "updateSubscriptions": {
                    "$ref": "#/components/schemas/UpdateSubscriptions"
                  }
                },
                "description": "Good or service."
              },
              "example": {
                "Id": null,
                "Code": "Fiets001",
                "Description": "Fiets",
                "UnitId": 1,
                "Active": true,
                "GroupId": 1,
                "PurchasePriceExcl": 100.0,
                "PriceExcl": 150.0,
                "PriceIncl": 150.0,
                "Vat": "HOOG_VERK_21",
                "LedgerId": 1,
                "CostCenterId": 1,
                "InStockManagement": false,
                "UpdateSubscriptions": 1
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": { }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      },
      "delete": {
        "tags": [
          "Product"
        ],
        "description": "Delete a product.",
        "operationId": "DeleteProduct",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": { }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/relation/{id}": {
      "get": {
        "tags": [
          "Relation"
        ],
        "description": "Get a relation.",
        "operationId": "GetRelation",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "title": "Relation",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the relation.",
                      "format": "int32"
                    },
                    "type": {
                      "maxLength": 1,
                      "enum": [
                        "B",
                        "P"
                      ],
                      "type": "string",
                      "description": "Business (`B`) or Private (`P`)",
                      "format": "string"
                    },
                    "code": {
                      "maxLength": 15,
                      "type": "string",
                      "description": "The code of the relation.",
                      "format": "string"
                    },
                    "date": {
                      "type": "string",
                      "description": "The date the relation was created.",
                      "format": "date"
                    },
                    "name": {
                      "maxLength": 100,
                      "type": "string",
                      "description": "The (company) name of the relation.",
                      "format": "string"
                    },
                    "salutation": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The salutation of the relation.",
                      "format": "string"
                    },
                    "contact": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The contact of the relation.",
                      "format": "string"
                    },
                    "gender": {
                      "maxLength": 1,
                      "enum": [
                        "m",
                        "v",
                        "a"
                      ],
                      "type": "string",
                      "description": "Male (`m`) or female (`v`) or department (`a`)",
                      "format": "string"
                    },
                    "address": {
                      "maxLength": 150,
                      "type": "string",
                      "description": "The primary address of the relation.",
                      "format": "string"
                    },
                    "postalCode": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The primary postal code of the relation.",
                      "format": "string"
                    },
                    "city": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The primary city of the relation.",
                      "format": "string"
                    },
                    "country": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The primary country of the relation.",
                      "format": "string"
                    },
                    "address2": {
                      "maxLength": 150,
                      "type": "string",
                      "description": "The secondary address of the relation.",
                      "format": "string"
                    },
                    "postalCode2": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The secondary postal code of the relation.",
                      "format": "string"
                    },
                    "city2": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The secondary city of the relation.",
                      "format": "string"
                    },
                    "country2": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The secondary country of the relation.",
                      "format": "string"
                    },
                    "phoneNumber": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The phone number of the relation.",
                      "format": "string"
                    },
                    "mobilePhoneNumber": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The mobile phone number of the relation.",
                      "format": "string"
                    },
                    "faxNumber": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The fax number of the relation.",
                      "format": "string"
                    },
                    "emailAddress": {
                      "maxLength": 150,
                      "type": "string",
                      "description": "The email address of the relation.",
                      "format": "string"
                    },
                    "emailAddressInvoice": {
                      "maxLength": 150,
                      "type": "string",
                      "description": "The invoice email address of the relation.",
                      "format": "string"
                    },
                    "emailAddressReminder": {
                      "maxLength": 150,
                      "type": "string",
                      "description": "The reminder email address of the relation.",
                      "format": "string"
                    },
                    "website": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The website of the relation.",
                      "format": "string"
                    },
                    "note": {
                      "maxLength": 40000,
                      "type": "string",
                      "description": "The note of the relation.",
                      "format": "string"
                    },
                    "vatNumber": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The VAT Number of the relation.",
                      "format": "string"
                    },
                    "inactive": {
                      "type": [
                        "null",
                        "boolean"
                      ],
                      "description": "Whether the relation is active or not."
                    },
                    "termOfPayment": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "description": "The payment term of the relation.",
                      "format": "int32"
                    },
                    "companyRegistrationNumber": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The company registration number of the relation.",
                      "format": "string"
                    },
                    "iban": {
                      "maxLength": 50,
                      "type": "string",
                      "description": "The IBAN number of the relation.",
                      "format": "string"
                    },
                    "bic": {
                      "maxLength": 20,
                      "type": "string",
                      "description": "The BIC number of the relation.",
                      "format": "string"
                    },
                    "freeText1": {
                      "maxLength": 100,
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Free text field for the relation.",
                      "format": "string"
                    },
                    "freeText2": {
                      "maxLength": 100,
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Free text field for the relation.",
                      "format": "string"
                    },
                    "freeText3": {
                      "maxLength": 100,
                      "type": [
                        "null",
                        "string"
                      ],
                      "description": "Free text field for the relation.",
                      "format": "string"
                    },
                    "freeText4": {
                      "maxLength": 100,
                      "type": "string",
                      "description": "Free text field for the relation.",
                      "format": "string"
                    },
                    "freeText5": {
                      "maxLength": 100,
                      "type": "string",
                      "description": "Free text field for the relation.",
                      "format": "string"
                    },
                    "freeText6": {
                      "maxLength": 100,
                      "type": "string",
                      "description": "Free text field for the relation.",
                      "format": "string"
                    },
                    "freeText7": {
                      "maxLength": 100,
                      "type": "string",
                      "description": "Free text field for the relation.",
                      "format": "string"
                    },
                    "freeText8": {
                      "maxLength": 100,
                      "type": "string",
                      "description": "Free text field for the relation.",
                      "format": "string"
                    },
                    "freeText9": {
                      "maxLength": 100,
                      "type": "string",
                      "description": "Free text field for the relation.",
                      "format": "string"
                    },
                    "freeText10": {
                      "maxLength": 100,
                      "type": "string",
                      "description": "Free text field for the relation.",
                      "format": "string"
                    },
                    "isClubOrAssociationMember": {
                      "type": "integer",
                      "description": "Please use the dedicated member endpoints for club or association-members. Members will be removed from the relation endpoints in a future version.",
                      "format": "int32",
                      "deprecated": true
                    },
                    "doNotReceiveNewsletters": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "description": "Whether the relation will receive newsletters or not.",
                      "format": "int32"
                    },
                    "ledgerId": {
                      "type": [
                        "null",
                        "integer"
                      ],
                      "description": "The ledger ID of this relation.",
                      "format": "int32"
                    },
                    "mandate": {
                      "type": "boolean"
                    },
                    "mandateType": {
                      "maxLength": 1,
                      "enum": [
                        "E",
                        "D"
                      ],
                      "type": "string",
                      "description": "one-time (`E`) or continuous (`D`)",
                      "format": "string"
                    },
                    "mandateId": {
                      "maxLength": 35,
                      "type": "string",
                      "description": "The mandate ID of this relation.",
                      "format": "string"
                    },
                    "mandateSignedDate": {
                      "type": [
                        "null",
                        "object"
                      ],
                      "description": "The signing date of the mandate for this relation.",
                      "format": "date"
                    }
                  }
                },
                "example": {
                  "Id": 1,
                  "Type": "B",
                  "Code": "REL123",
                  "Date": "2026-10-23T00:00:00+02:00",
                  "Name": "Company",
                  "Salutation": "Mr.",
                  "Contact": "John Doe",
                  "Gender": "m",
                  "Address": "Company Street 2",
                  "PostalCode": "1000 AB",
                  "City": "Amsterdam",
                  "Country": "Netherlands",
                  "Address2": "Secondary Street 5",
                  "PostalCode2": "2000 CD",
                  "City2": "Rotterdam",
                  "Country2": "Netherlands",
                  "PhoneNumber": "+31612345678",
                  "MobilePhoneNumber": "+31687654321",
                  "FaxNumber": "+31201234567",
                  "EmailAddress": "contact@company.com",
                  "EmailAddressInvoice": "invoice@company.com",
                  "EmailAddressReminder": "reminder@company.com",
                  "Website": "https://www.e-boekhouden.nl/",
                  "Note": "This is a test note.",
                  "VatNumber": "NL123456789B01",
                  "Inactive": false,
                  "TermOfPayment": 30,
                  "CompanyRegistrationNumber": "12345678",
                  "Iban": "NL91ABNA0417164300",
                  "Bic": "ABNANL2A",
                  "FreeText1": "",
                  "FreeText2": "",
                  "FreeText3": "",
                  "FreeText4": "",
                  "FreeText5": "",
                  "FreeText6": "",
                  "FreeText7": "",
                  "FreeText8": "",
                  "FreeText9": "",
                  "FreeText10": "",
                  "IsClubOrAssociationMember": 0,
                  "DoNotReceiveNewsletters": 0,
                  "LedgerId": 101,
                  "Mandate": true,
                  "MandateType": "D",
                  "MandateId": "MAND12345",
                  "MandateSignedDate": "2023-10-01"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      },
      "patch": {
        "tags": [
          "Relation"
        ],
        "description": "Update an existing relation.",
        "operationId": "UpdateRelation",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "title": "PatchRelation",
                "required": [
                  "name"
                ],
                "properties": {
                  "type": {
                    "maxLength": 1,
                    "enum": [
                      "B",
                      "P"
                    ],
                    "type": "string",
                    "description": "Business (`B`) or Private (`P`). Defaults to `B` if empty.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_001\">REL_001</a></td><td>Relation type is invalid (B,P).</td></table></div>",
                    "format": "string"
                  },
                  "code": {
                    "maxLength": 15,
                    "type": "string",
                    "description": "The code of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_049\">REL_049</a></td><td>Code already exists.</td><tr><td><a href=\"#REL_005\">REL_005</a></td><td>Code is invalid.</td><tr><td><a href=\"#REL_006\">REL_006</a></td><td>Code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "name": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "The (company) name of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_002\">REL_002</a></td><td>Name is mandatory.</td><tr><td><a href=\"#REL_003\">REL_003</a></td><td>Name is too long.</td></table></div>",
                    "format": "string"
                  },
                  "salutation": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The salutation of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_010\">REL_010</a></td><td>Salutation is too long.</td></table></div>",
                    "format": "string"
                  },
                  "contact": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The contact of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_009\">REL_009</a></td><td>Contact is too long.</td></table></div>",
                    "format": "string"
                  },
                  "gender": {
                    "maxLength": 1,
                    "enum": [
                      "m",
                      "v",
                      "a"
                    ],
                    "type": "string",
                    "description": "Male (`m`) or female (`v`) or department (`a`)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_004\">REL_004</a></td><td>Gender is invalid (m,v,a).</td></table></div>",
                    "format": "string"
                  },
                  "address": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The primary address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_011\">REL_011</a></td><td>Address is too long.</td></table></div>",
                    "format": "string"
                  },
                  "postalCode": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary postal code of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_012\">REL_012</a></td><td>Postal code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "city": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary city of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_013\">REL_013</a></td><td>City is too long.</td></table></div>",
                    "format": "string"
                  },
                  "country": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary country of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_014\">REL_014</a></td><td>Country is too long.</td></table></div>",
                    "format": "string"
                  },
                  "address2": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The secondary address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_015\">REL_015</a></td><td>Address 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "postalCode2": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The secondary postal code of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_016\">REL_016</a></td><td>Postal code 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "city2": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The secondary city of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_017\">REL_017</a></td><td>City 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "country2": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The secondary country of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_018\">REL_018</a></td><td>Country 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "phoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The phone number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_019\">REL_019</a></td><td>Phone is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mobilePhoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The mobile phone number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_020\">REL_020</a></td><td>Mobile is too long.</td></table></div>",
                    "format": "string"
                  },
                  "faxNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The fax number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_021\">REL_021</a></td><td>Fax is too long.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddress": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The email address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_022\">REL_022</a></td><td>Email is too long.</td><tr><td><a href=\"#REL_023\">REL_023</a></td><td>Email is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressInvoice": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The invoice email address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_024\">REL_024</a></td><td>Email invoice is too long.</td><tr><td><a href=\"#REL_025\">REL_025</a></td><td>Email invoice is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressReminder": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The reminder email address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_026\">REL_026</a></td><td>Email reminder is too long.</td><tr><td><a href=\"#REL_027\">REL_027</a></td><td>Email reminder is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "website": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The website of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_028\">REL_028</a></td><td>Website is too long.</td></table></div>",
                    "format": "string"
                  },
                  "note": {
                    "maxLength": 40000,
                    "type": "string",
                    "description": "The note of the relation.",
                    "format": "string"
                  },
                  "vatNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The VAT number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_035\">REL_035</a></td><td>VAT number is too long.</td></table></div>",
                    "format": "string"
                  },
                  "inactive": {
                    "type": [
                      "null",
                      "boolean"
                    ],
                    "description": "Whether the relation is inactive."
                  },
                  "termOfPayment": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The payment term of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_030\">REL_030</a></td><td>Term of payment too low.</td><tr><td><a href=\"#REL_031\">REL_031</a></td><td>Term of payment too high.</td></table></div>",
                    "format": "int32"
                  },
                  "companyRegistrationNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The company registration number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_008\">REL_008</a></td><td>Company registration number must be numeric.</td><tr><td><a href=\"#REL_050\">REL_050</a></td><td>Company registration number is too long.</td><tr><td><a href=\"#REL_058\">REL_058</a></td><td>Company registration number is invalid. A Belgian company registration number consists of 9 or 10 digits; with 10 digits it starts with 0 or 1.</td></table></div>",
                    "format": "string"
                  },
                  "iban": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The IBAN number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_007\">REL_007</a></td><td>Iban is invalid.</td><tr><td><a href=\"#REL_029\">REL_029</a></td><td>Iban is too long.</td></table></div>",
                    "format": "string"
                  },
                  "bic": {
                    "maxLength": 20,
                    "type": "string",
                    "description": "The BIC number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_032\">REL_032</a></td><td>BIC is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText1": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_037\">REL_037</a></td><td>Free text 1 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText2": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_038\">REL_038</a></td><td>Free text 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText3": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_039\">REL_039</a></td><td>Free text 3 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText4": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_040\">REL_040</a></td><td>Free text 4 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText5": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_041\">REL_041</a></td><td>Free text 5 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText6": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_042\">REL_042</a></td><td>Free text 6 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText7": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_043\">REL_043</a></td><td>Free text 7 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText8": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_044\">REL_044</a></td><td>Free text 8 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText9": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_045\">REL_045</a></td><td>Free text 9 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText10": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_046\">REL_046</a></td><td>Free text 10 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "doNotReceiveNewsletters": {
                    "type": [
                      "null",
                      "boolean"
                    ],
                    "description": "Whether the relation will receive newsletters or not."
                  },
                  "ledgerId": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The ledger ID of this relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_048\">REL_048</a></td><td>Ledger not found.</td><tr><td><a href=\"#REL_059\">REL_059</a></td><td>Ledger must be active and of category 'BAL' or 'VW'.</td></table></div>",
                    "format": "int32"
                  },
                  "mandate": {
                    "type": "boolean",
                    "description": "Enable or disable mandate."
                  },
                  "mandateType": {
                    "maxLength": 1,
                    "enum": [
                      "E",
                      "D"
                    ],
                    "type": "string",
                    "description": "one-time (`E`) or continuous (`D`)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_033\">REL_033</a></td><td>Mandate type is too long.</td><tr><td><a href=\"#REL_051\">REL_051</a></td><td>Mandate type is invalid (E,D).</td></table></div>",
                    "format": "string"
                  },
                  "mandateId": {
                    "maxLength": 35,
                    "type": "string",
                    "description": "The mandate ID of this relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_034\">REL_034</a></td><td>Mandate ID is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mandateSignedDate": {
                    "type": [
                      "null",
                      "object"
                    ],
                    "description": "The signing date of the mandate for this relation.",
                    "format": "date"
                  }
                }
              },
              "example": {
                "Id": null,
                "Type": "B",
                "Code": "REL123",
                "Name": "Company",
                "Salutation": "Mr.",
                "Contact": "John Doe",
                "Gender": "m",
                "Address": "Company Street 2",
                "PostalCode": "1000 AB",
                "City": "Amsterdam",
                "Country": "Netherlands",
                "Address2": "Secondary Street 5",
                "PostalCode2": "2000 CD",
                "City2": "Rotterdam",
                "Country2": "Netherlands",
                "PhoneNumber": "+31612345678",
                "MobilePhoneNumber": "+31687654321",
                "FaxNumber": "+31201234567",
                "EmailAddress": "contact@company.com",
                "EmailAddressInvoice": "invoice@company.com",
                "EmailAddressReminder": "reminder@company.com",
                "Website": "https://www.e-boekhouden.nl/",
                "Note": "This is a test note.",
                "VatNumber": "NL123456789B01",
                "Inactive": false,
                "TermOfPayment": 30,
                "CompanyRegistrationNumber": "12345678",
                "Iban": "NL91ABNA0417164300",
                "Bic": "ABNANL2A",
                "FreeText1": "",
                "FreeText2": "",
                "FreeText3": "",
                "FreeText4": "",
                "FreeText5": "",
                "FreeText6": "",
                "FreeText7": "",
                "FreeText8": "",
                "FreeText9": "",
                "FreeText10": "",
                "DoNotReceiveNewsletters": true,
                "LedgerId": 101,
                "Mandate": true,
                "MandateType": "D",
                "MandateId": "MAND12345",
                "MandateSignedDate": "2023-10-01"
              }
            },
            "application/json": {
              "schema": {
                "title": "PatchRelation",
                "required": [
                  "name"
                ],
                "properties": {
                  "type": {
                    "maxLength": 1,
                    "enum": [
                      "B",
                      "P"
                    ],
                    "type": "string",
                    "description": "Business (`B`) or Private (`P`). Defaults to `B` if empty.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_001\">REL_001</a></td><td>Relation type is invalid (B,P).</td></table></div>",
                    "format": "string"
                  },
                  "code": {
                    "maxLength": 15,
                    "type": "string",
                    "description": "The code of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_049\">REL_049</a></td><td>Code already exists.</td><tr><td><a href=\"#REL_005\">REL_005</a></td><td>Code is invalid.</td><tr><td><a href=\"#REL_006\">REL_006</a></td><td>Code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "name": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "The (company) name of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_002\">REL_002</a></td><td>Name is mandatory.</td><tr><td><a href=\"#REL_003\">REL_003</a></td><td>Name is too long.</td></table></div>",
                    "format": "string"
                  },
                  "salutation": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The salutation of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_010\">REL_010</a></td><td>Salutation is too long.</td></table></div>",
                    "format": "string"
                  },
                  "contact": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The contact of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_009\">REL_009</a></td><td>Contact is too long.</td></table></div>",
                    "format": "string"
                  },
                  "gender": {
                    "maxLength": 1,
                    "enum": [
                      "m",
                      "v",
                      "a"
                    ],
                    "type": "string",
                    "description": "Male (`m`) or female (`v`) or department (`a`)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_004\">REL_004</a></td><td>Gender is invalid (m,v,a).</td></table></div>",
                    "format": "string"
                  },
                  "address": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The primary address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_011\">REL_011</a></td><td>Address is too long.</td></table></div>",
                    "format": "string"
                  },
                  "postalCode": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary postal code of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_012\">REL_012</a></td><td>Postal code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "city": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary city of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_013\">REL_013</a></td><td>City is too long.</td></table></div>",
                    "format": "string"
                  },
                  "country": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary country of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_014\">REL_014</a></td><td>Country is too long.</td></table></div>",
                    "format": "string"
                  },
                  "address2": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The secondary address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_015\">REL_015</a></td><td>Address 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "postalCode2": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The secondary postal code of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_016\">REL_016</a></td><td>Postal code 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "city2": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The secondary city of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_017\">REL_017</a></td><td>City 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "country2": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The secondary country of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_018\">REL_018</a></td><td>Country 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "phoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The phone number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_019\">REL_019</a></td><td>Phone is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mobilePhoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The mobile phone number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_020\">REL_020</a></td><td>Mobile is too long.</td></table></div>",
                    "format": "string"
                  },
                  "faxNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The fax number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_021\">REL_021</a></td><td>Fax is too long.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddress": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The email address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_022\">REL_022</a></td><td>Email is too long.</td><tr><td><a href=\"#REL_023\">REL_023</a></td><td>Email is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressInvoice": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The invoice email address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_024\">REL_024</a></td><td>Email invoice is too long.</td><tr><td><a href=\"#REL_025\">REL_025</a></td><td>Email invoice is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressReminder": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The reminder email address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_026\">REL_026</a></td><td>Email reminder is too long.</td><tr><td><a href=\"#REL_027\">REL_027</a></td><td>Email reminder is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "website": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The website of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_028\">REL_028</a></td><td>Website is too long.</td></table></div>",
                    "format": "string"
                  },
                  "note": {
                    "maxLength": 40000,
                    "type": "string",
                    "description": "The note of the relation.",
                    "format": "string"
                  },
                  "vatNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The VAT number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_035\">REL_035</a></td><td>VAT number is too long.</td></table></div>",
                    "format": "string"
                  },
                  "inactive": {
                    "type": [
                      "null",
                      "boolean"
                    ],
                    "description": "Whether the relation is inactive."
                  },
                  "termOfPayment": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The payment term of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_030\">REL_030</a></td><td>Term of payment too low.</td><tr><td><a href=\"#REL_031\">REL_031</a></td><td>Term of payment too high.</td></table></div>",
                    "format": "int32"
                  },
                  "companyRegistrationNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The company registration number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_008\">REL_008</a></td><td>Company registration number must be numeric.</td><tr><td><a href=\"#REL_050\">REL_050</a></td><td>Company registration number is too long.</td><tr><td><a href=\"#REL_058\">REL_058</a></td><td>Company registration number is invalid. A Belgian company registration number consists of 9 or 10 digits; with 10 digits it starts with 0 or 1.</td></table></div>",
                    "format": "string"
                  },
                  "iban": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The IBAN number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_007\">REL_007</a></td><td>Iban is invalid.</td><tr><td><a href=\"#REL_029\">REL_029</a></td><td>Iban is too long.</td></table></div>",
                    "format": "string"
                  },
                  "bic": {
                    "maxLength": 20,
                    "type": "string",
                    "description": "The BIC number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_032\">REL_032</a></td><td>BIC is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText1": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_037\">REL_037</a></td><td>Free text 1 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText2": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_038\">REL_038</a></td><td>Free text 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText3": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_039\">REL_039</a></td><td>Free text 3 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText4": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_040\">REL_040</a></td><td>Free text 4 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText5": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_041\">REL_041</a></td><td>Free text 5 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText6": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_042\">REL_042</a></td><td>Free text 6 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText7": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_043\">REL_043</a></td><td>Free text 7 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText8": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_044\">REL_044</a></td><td>Free text 8 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText9": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_045\">REL_045</a></td><td>Free text 9 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText10": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_046\">REL_046</a></td><td>Free text 10 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "doNotReceiveNewsletters": {
                    "type": [
                      "null",
                      "boolean"
                    ],
                    "description": "Whether the relation will receive newsletters or not."
                  },
                  "ledgerId": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The ledger ID of this relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_048\">REL_048</a></td><td>Ledger not found.</td><tr><td><a href=\"#REL_059\">REL_059</a></td><td>Ledger must be active and of category 'BAL' or 'VW'.</td></table></div>",
                    "format": "int32"
                  },
                  "mandate": {
                    "type": "boolean",
                    "description": "Enable or disable mandate."
                  },
                  "mandateType": {
                    "maxLength": 1,
                    "enum": [
                      "E",
                      "D"
                    ],
                    "type": "string",
                    "description": "one-time (`E`) or continuous (`D`)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_033\">REL_033</a></td><td>Mandate type is too long.</td><tr><td><a href=\"#REL_051\">REL_051</a></td><td>Mandate type is invalid (E,D).</td></table></div>",
                    "format": "string"
                  },
                  "mandateId": {
                    "maxLength": 35,
                    "type": "string",
                    "description": "The mandate ID of this relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_034\">REL_034</a></td><td>Mandate ID is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mandateSignedDate": {
                    "type": [
                      "null",
                      "object"
                    ],
                    "description": "The signing date of the mandate for this relation.",
                    "format": "date"
                  }
                }
              },
              "example": {
                "Id": null,
                "Type": "B",
                "Code": "REL123",
                "Name": "Company",
                "Salutation": "Mr.",
                "Contact": "John Doe",
                "Gender": "m",
                "Address": "Company Street 2",
                "PostalCode": "1000 AB",
                "City": "Amsterdam",
                "Country": "Netherlands",
                "Address2": "Secondary Street 5",
                "PostalCode2": "2000 CD",
                "City2": "Rotterdam",
                "Country2": "Netherlands",
                "PhoneNumber": "+31612345678",
                "MobilePhoneNumber": "+31687654321",
                "FaxNumber": "+31201234567",
                "EmailAddress": "contact@company.com",
                "EmailAddressInvoice": "invoice@company.com",
                "EmailAddressReminder": "reminder@company.com",
                "Website": "https://www.e-boekhouden.nl/",
                "Note": "This is a test note.",
                "VatNumber": "NL123456789B01",
                "Inactive": false,
                "TermOfPayment": 30,
                "CompanyRegistrationNumber": "12345678",
                "Iban": "NL91ABNA0417164300",
                "Bic": "ABNANL2A",
                "FreeText1": "",
                "FreeText2": "",
                "FreeText3": "",
                "FreeText4": "",
                "FreeText5": "",
                "FreeText6": "",
                "FreeText7": "",
                "FreeText8": "",
                "FreeText9": "",
                "FreeText10": "",
                "DoNotReceiveNewsletters": true,
                "LedgerId": 101,
                "Mandate": true,
                "MandateType": "D",
                "MandateId": "MAND12345",
                "MandateSignedDate": "2023-10-01"
              }
            },
            "application/*+json": {
              "schema": {
                "title": "PatchRelation",
                "required": [
                  "name"
                ],
                "properties": {
                  "type": {
                    "maxLength": 1,
                    "enum": [
                      "B",
                      "P"
                    ],
                    "type": "string",
                    "description": "Business (`B`) or Private (`P`). Defaults to `B` if empty.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_001\">REL_001</a></td><td>Relation type is invalid (B,P).</td></table></div>",
                    "format": "string"
                  },
                  "code": {
                    "maxLength": 15,
                    "type": "string",
                    "description": "The code of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_049\">REL_049</a></td><td>Code already exists.</td><tr><td><a href=\"#REL_005\">REL_005</a></td><td>Code is invalid.</td><tr><td><a href=\"#REL_006\">REL_006</a></td><td>Code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "name": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "The (company) name of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_002\">REL_002</a></td><td>Name is mandatory.</td><tr><td><a href=\"#REL_003\">REL_003</a></td><td>Name is too long.</td></table></div>",
                    "format": "string"
                  },
                  "salutation": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The salutation of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_010\">REL_010</a></td><td>Salutation is too long.</td></table></div>",
                    "format": "string"
                  },
                  "contact": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The contact of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_009\">REL_009</a></td><td>Contact is too long.</td></table></div>",
                    "format": "string"
                  },
                  "gender": {
                    "maxLength": 1,
                    "enum": [
                      "m",
                      "v",
                      "a"
                    ],
                    "type": "string",
                    "description": "Male (`m`) or female (`v`) or department (`a`)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_004\">REL_004</a></td><td>Gender is invalid (m,v,a).</td></table></div>",
                    "format": "string"
                  },
                  "address": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The primary address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_011\">REL_011</a></td><td>Address is too long.</td></table></div>",
                    "format": "string"
                  },
                  "postalCode": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary postal code of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_012\">REL_012</a></td><td>Postal code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "city": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary city of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_013\">REL_013</a></td><td>City is too long.</td></table></div>",
                    "format": "string"
                  },
                  "country": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary country of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_014\">REL_014</a></td><td>Country is too long.</td></table></div>",
                    "format": "string"
                  },
                  "address2": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The secondary address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_015\">REL_015</a></td><td>Address 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "postalCode2": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The secondary postal code of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_016\">REL_016</a></td><td>Postal code 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "city2": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The secondary city of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_017\">REL_017</a></td><td>City 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "country2": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The secondary country of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_018\">REL_018</a></td><td>Country 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "phoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The phone number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_019\">REL_019</a></td><td>Phone is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mobilePhoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The mobile phone number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_020\">REL_020</a></td><td>Mobile is too long.</td></table></div>",
                    "format": "string"
                  },
                  "faxNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The fax number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_021\">REL_021</a></td><td>Fax is too long.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddress": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The email address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_022\">REL_022</a></td><td>Email is too long.</td><tr><td><a href=\"#REL_023\">REL_023</a></td><td>Email is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressInvoice": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The invoice email address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_024\">REL_024</a></td><td>Email invoice is too long.</td><tr><td><a href=\"#REL_025\">REL_025</a></td><td>Email invoice is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressReminder": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The reminder email address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_026\">REL_026</a></td><td>Email reminder is too long.</td><tr><td><a href=\"#REL_027\">REL_027</a></td><td>Email reminder is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "website": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The website of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_028\">REL_028</a></td><td>Website is too long.</td></table></div>",
                    "format": "string"
                  },
                  "note": {
                    "maxLength": 40000,
                    "type": "string",
                    "description": "The note of the relation.",
                    "format": "string"
                  },
                  "vatNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The VAT number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_035\">REL_035</a></td><td>VAT number is too long.</td></table></div>",
                    "format": "string"
                  },
                  "inactive": {
                    "type": [
                      "null",
                      "boolean"
                    ],
                    "description": "Whether the relation is inactive."
                  },
                  "termOfPayment": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The payment term of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_030\">REL_030</a></td><td>Term of payment too low.</td><tr><td><a href=\"#REL_031\">REL_031</a></td><td>Term of payment too high.</td></table></div>",
                    "format": "int32"
                  },
                  "companyRegistrationNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The company registration number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_008\">REL_008</a></td><td>Company registration number must be numeric.</td><tr><td><a href=\"#REL_050\">REL_050</a></td><td>Company registration number is too long.</td><tr><td><a href=\"#REL_058\">REL_058</a></td><td>Company registration number is invalid. A Belgian company registration number consists of 9 or 10 digits; with 10 digits it starts with 0 or 1.</td></table></div>",
                    "format": "string"
                  },
                  "iban": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The IBAN number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_007\">REL_007</a></td><td>Iban is invalid.</td><tr><td><a href=\"#REL_029\">REL_029</a></td><td>Iban is too long.</td></table></div>",
                    "format": "string"
                  },
                  "bic": {
                    "maxLength": 20,
                    "type": "string",
                    "description": "The BIC number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_032\">REL_032</a></td><td>BIC is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText1": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_037\">REL_037</a></td><td>Free text 1 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText2": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_038\">REL_038</a></td><td>Free text 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText3": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_039\">REL_039</a></td><td>Free text 3 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText4": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_040\">REL_040</a></td><td>Free text 4 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText5": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_041\">REL_041</a></td><td>Free text 5 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText6": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_042\">REL_042</a></td><td>Free text 6 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText7": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_043\">REL_043</a></td><td>Free text 7 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText8": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_044\">REL_044</a></td><td>Free text 8 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText9": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_045\">REL_045</a></td><td>Free text 9 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText10": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_046\">REL_046</a></td><td>Free text 10 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "doNotReceiveNewsletters": {
                    "type": [
                      "null",
                      "boolean"
                    ],
                    "description": "Whether the relation will receive newsletters or not."
                  },
                  "ledgerId": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The ledger ID of this relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_048\">REL_048</a></td><td>Ledger not found.</td><tr><td><a href=\"#REL_059\">REL_059</a></td><td>Ledger must be active and of category 'BAL' or 'VW'.</td></table></div>",
                    "format": "int32"
                  },
                  "mandate": {
                    "type": "boolean",
                    "description": "Enable or disable mandate."
                  },
                  "mandateType": {
                    "maxLength": 1,
                    "enum": [
                      "E",
                      "D"
                    ],
                    "type": "string",
                    "description": "one-time (`E`) or continuous (`D`)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_033\">REL_033</a></td><td>Mandate type is too long.</td><tr><td><a href=\"#REL_051\">REL_051</a></td><td>Mandate type is invalid (E,D).</td></table></div>",
                    "format": "string"
                  },
                  "mandateId": {
                    "maxLength": 35,
                    "type": "string",
                    "description": "The mandate ID of this relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_034\">REL_034</a></td><td>Mandate ID is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mandateSignedDate": {
                    "type": [
                      "null",
                      "object"
                    ],
                    "description": "The signing date of the mandate for this relation.",
                    "format": "date"
                  }
                }
              },
              "example": {
                "Id": null,
                "Type": "B",
                "Code": "REL123",
                "Name": "Company",
                "Salutation": "Mr.",
                "Contact": "John Doe",
                "Gender": "m",
                "Address": "Company Street 2",
                "PostalCode": "1000 AB",
                "City": "Amsterdam",
                "Country": "Netherlands",
                "Address2": "Secondary Street 5",
                "PostalCode2": "2000 CD",
                "City2": "Rotterdam",
                "Country2": "Netherlands",
                "PhoneNumber": "+31612345678",
                "MobilePhoneNumber": "+31687654321",
                "FaxNumber": "+31201234567",
                "EmailAddress": "contact@company.com",
                "EmailAddressInvoice": "invoice@company.com",
                "EmailAddressReminder": "reminder@company.com",
                "Website": "https://www.e-boekhouden.nl/",
                "Note": "This is a test note.",
                "VatNumber": "NL123456789B01",
                "Inactive": false,
                "TermOfPayment": 30,
                "CompanyRegistrationNumber": "12345678",
                "Iban": "NL91ABNA0417164300",
                "Bic": "ABNANL2A",
                "FreeText1": "",
                "FreeText2": "",
                "FreeText3": "",
                "FreeText4": "",
                "FreeText5": "",
                "FreeText6": "",
                "FreeText7": "",
                "FreeText8": "",
                "FreeText9": "",
                "FreeText10": "",
                "DoNotReceiveNewsletters": true,
                "LedgerId": 101,
                "Mandate": true,
                "MandateType": "D",
                "MandateId": "MAND12345",
                "MandateSignedDate": "2023-10-01"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "No Content",
            "content": {
              "application/json": { }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/relation": {
      "get": {
        "tags": [
          "Relation"
        ],
        "description": "Get all relations.",
        "operationId": "GetRelations",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The number of items to retrieve.",
            "schema": {
              "maximum": 2000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The number of items to skip.",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "code",
            "in": "query",
            "description": "The code of the relation.",
            "schema": {
              "type": "string",
              "format": "filter-string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "Business (`B`) or Private (`P`).",
            "schema": {
              "type": "string",
              "format": "filter-string"
            },
            "example": "B"
          },
          {
            "name": "email",
            "in": "query",
            "description": "Only retrieves relations with this e-mailadress.",
            "schema": {
              "type": "string",
              "format": "filter-string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "description": "Only retrieves relations with this (company) name.",
            "schema": {
              "type": "string",
              "format": "filter-string"
            }
          },
          {
            "name": "contact",
            "in": "query",
            "description": "Only retrieves relations with this contact information.",
            "schema": {
              "type": "string",
              "format": "filter-string"
            }
          },
          {
            "name": "city",
            "in": "query",
            "description": "Only retrieves relations from this primary city.",
            "schema": {
              "type": "string",
              "format": "filter-string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDtoOfRelationsResponseDto"
                },
                "example": {
                  "Items": [
                    {
                      "Id": 1,
                      "Type": "B",
                      "Code": "R0001",
                      "Name": null,
                      "Salutation": null,
                      "Contact": null,
                      "Gender": null,
                      "Address": null,
                      "PostalCode": null,
                      "City": null,
                      "Country": null,
                      "Address2": null,
                      "PostalCode2": null,
                      "City2": null,
                      "Country2": null,
                      "PhoneNumber": null,
                      "MobilePhoneNumber": null,
                      "FaxNumber": null,
                      "EmailAddress": null,
                      "EmailAddressInvoice": null,
                      "EmailAddressReminder": null,
                      "Website": null,
                      "Note": null,
                      "VatNumber": null,
                      "Inactive": null,
                      "TermOfPayment": null,
                      "CompanyRegistrationNumber": null,
                      "Iban": null,
                      "Bic": null,
                      "FreeText1": null,
                      "FreeText2": null,
                      "FreeText3": null,
                      "FreeText4": null,
                      "FreeText5": null,
                      "FreeText6": null,
                      "FreeText7": null,
                      "FreeText8": null,
                      "FreeText9": null,
                      "FreeText10": null,
                      "DoNotReceiveNewsletters": null,
                      "LedgerId": null,
                      "Mandate": null,
                      "MandateType": null,
                      "MandateId": null,
                      "MandateSignedDate": null
                    }
                  ],
                  "Count": 1
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      },
      "post": {
        "tags": [
          "Relation"
        ],
        "description": "Create a new relation.",
        "operationId": "CreateRelation",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "title": "CreateRelation",
                "required": [
                  "name"
                ],
                "properties": {
                  "type": {
                    "maxLength": 1,
                    "enum": [
                      "B",
                      "P"
                    ],
                    "type": "string",
                    "description": "Business (`B`) or Private (`P`). Defaults to `B` if empty.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_001\">REL_001</a></td><td>Relation type is invalid (B,P).</td></table></div>",
                    "format": "string"
                  },
                  "code": {
                    "maxLength": 15,
                    "type": "string",
                    "description": "The code of the relation. Auto-generated if empty.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_049\">REL_049</a></td><td>Code already exists.</td><tr><td><a href=\"#REL_005\">REL_005</a></td><td>Code is invalid.</td><tr><td><a href=\"#REL_006\">REL_006</a></td><td>Code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "name": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "The (company) name of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_002\">REL_002</a></td><td>Name is mandatory.</td><tr><td><a href=\"#REL_003\">REL_003</a></td><td>Name is too long.</td></table></div>",
                    "format": "string"
                  },
                  "salutation": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The salutation of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_010\">REL_010</a></td><td>Salutation is too long.</td></table></div>",
                    "format": "string"
                  },
                  "contact": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The contact of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_009\">REL_009</a></td><td>Contact is too long.</td></table></div>",
                    "format": "string"
                  },
                  "gender": {
                    "maxLength": 1,
                    "enum": [
                      "m",
                      "v",
                      "a"
                    ],
                    "type": "string",
                    "description": "Male (`m`) or female (`v`) or department (`a`)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_004\">REL_004</a></td><td>Gender is invalid (m,v,a).</td></table></div>",
                    "format": "string"
                  },
                  "address": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The primary address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_011\">REL_011</a></td><td>Address is too long.</td></table></div>",
                    "format": "string"
                  },
                  "postalCode": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary postal code of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_012\">REL_012</a></td><td>Postal code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "city": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary city of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_013\">REL_013</a></td><td>City is too long.</td></table></div>",
                    "format": "string"
                  },
                  "country": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary country of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_014\">REL_014</a></td><td>Country is too long.</td></table></div>",
                    "format": "string"
                  },
                  "address2": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The secondary address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_015\">REL_015</a></td><td>Address 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "postalCode2": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The secondary postal code of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_016\">REL_016</a></td><td>Postal code 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "city2": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The secondary city of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_017\">REL_017</a></td><td>City 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "country2": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The secondary country of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_018\">REL_018</a></td><td>Country 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "phoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The phone number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_019\">REL_019</a></td><td>Phone is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mobilePhoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The mobile phone number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_020\">REL_020</a></td><td>Mobile is too long.</td></table></div>",
                    "format": "string"
                  },
                  "faxNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The fax number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_021\">REL_021</a></td><td>Fax is too long.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddress": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The email address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_022\">REL_022</a></td><td>Email is too long.</td><tr><td><a href=\"#REL_023\">REL_023</a></td><td>Email is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressInvoice": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The invoice email address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_024\">REL_024</a></td><td>Email invoice is too long.</td><tr><td><a href=\"#REL_025\">REL_025</a></td><td>Email invoice is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressReminder": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The reminder email address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_026\">REL_026</a></td><td>Email reminder is too long.</td><tr><td><a href=\"#REL_027\">REL_027</a></td><td>Email reminder is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "website": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The website of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_028\">REL_028</a></td><td>Website is too long.</td></table></div>",
                    "format": "string"
                  },
                  "note": {
                    "maxLength": 40000,
                    "type": "string",
                    "description": "The note of the relation.",
                    "format": "string"
                  },
                  "vatNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The VAT number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_035\">REL_035</a></td><td>VAT number is too long.</td></table></div>",
                    "format": "string"
                  },
                  "inactive": {
                    "type": [
                      "null",
                      "boolean"
                    ],
                    "description": "Whether the relation is inactive."
                  },
                  "termOfPayment": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The payment term of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_030\">REL_030</a></td><td>Term of payment too low.</td><tr><td><a href=\"#REL_031\">REL_031</a></td><td>Term of payment too high.</td></table></div>",
                    "format": "int32"
                  },
                  "companyRegistrationNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The company registration number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_008\">REL_008</a></td><td>Company registration number must be numeric.</td><tr><td><a href=\"#REL_050\">REL_050</a></td><td>Company registration number is too long.</td><tr><td><a href=\"#REL_058\">REL_058</a></td><td>Company registration number is invalid. A Belgian company registration number consists of 9 or 10 digits; with 10 digits it starts with 0 or 1.</td></table></div>",
                    "format": "string"
                  },
                  "iban": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The IBAN number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_007\">REL_007</a></td><td>Iban is invalid.</td><tr><td><a href=\"#REL_029\">REL_029</a></td><td>Iban is too long.</td></table></div>",
                    "format": "string"
                  },
                  "bic": {
                    "maxLength": 20,
                    "type": "string",
                    "description": "The BIC number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_032\">REL_032</a></td><td>BIC is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText1": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_037\">REL_037</a></td><td>Free text 1 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText2": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_038\">REL_038</a></td><td>Free text 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText3": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_039\">REL_039</a></td><td>Free text 3 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText4": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_040\">REL_040</a></td><td>Free text 4 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText5": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_041\">REL_041</a></td><td>Free text 5 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText6": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_042\">REL_042</a></td><td>Free text 6 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText7": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_043\">REL_043</a></td><td>Free text 7 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText8": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_044\">REL_044</a></td><td>Free text 8 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText9": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_045\">REL_045</a></td><td>Free text 9 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText10": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_046\">REL_046</a></td><td>Free text 10 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "doNotReceiveNewsletters": {
                    "type": [
                      "null",
                      "boolean"
                    ],
                    "description": "Whether the relation will receive newsletters or not."
                  },
                  "ledgerId": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The ledger ID of this relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_048\">REL_048</a></td><td>Ledger not found.</td><tr><td><a href=\"#REL_059\">REL_059</a></td><td>Ledger must be active and of category 'BAL' or 'VW'.</td></table></div>",
                    "format": "int32"
                  },
                  "mandate": {
                    "type": "boolean",
                    "description": "Enable or disable mandate."
                  },
                  "mandateType": {
                    "maxLength": 1,
                    "enum": [
                      "E",
                      "D"
                    ],
                    "type": "string",
                    "description": "one-time (`E`) or continuous (`D`)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_033\">REL_033</a></td><td>Mandate type is too long.</td><tr><td><a href=\"#REL_051\">REL_051</a></td><td>Mandate type is invalid (E,D).</td></table></div>",
                    "format": "string"
                  },
                  "mandateId": {
                    "maxLength": 35,
                    "type": "string",
                    "description": "The mandate ID of this relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_034\">REL_034</a></td><td>Mandate ID is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mandateSignedDate": {
                    "type": [
                      "null",
                      "object"
                    ],
                    "description": "The signing date of the mandate for this relation.",
                    "format": "date"
                  }
                }
              },
              "example": {
                "Id": null,
                "Type": "B",
                "Code": "REL123",
                "Name": "Company",
                "Salutation": "Mr.",
                "Contact": "John Doe",
                "Gender": "m",
                "Address": "Company Street 2",
                "PostalCode": "1000 AB",
                "City": "Amsterdam",
                "Country": "Netherlands",
                "Address2": "Secondary Street 5",
                "PostalCode2": "2000 CD",
                "City2": "Rotterdam",
                "Country2": "Netherlands",
                "PhoneNumber": "+31612345678",
                "MobilePhoneNumber": "+31687654321",
                "FaxNumber": "+31201234567",
                "EmailAddress": "contact@company.com",
                "EmailAddressInvoice": "invoice@company.com",
                "EmailAddressReminder": "reminder@company.com",
                "Website": "https://www.e-boekhouden.nl/",
                "Note": "This is a test note.",
                "VatNumber": "NL123456789B01",
                "Inactive": false,
                "TermOfPayment": 30,
                "CompanyRegistrationNumber": "12345678",
                "Iban": "NL91ABNA0417164300",
                "Bic": "ABNANL2A",
                "FreeText1": "",
                "FreeText2": "",
                "FreeText3": "",
                "FreeText4": "",
                "FreeText5": "",
                "FreeText6": "",
                "FreeText7": "",
                "FreeText8": "",
                "FreeText9": "",
                "FreeText10": "",
                "DoNotReceiveNewsletters": true,
                "LedgerId": 101,
                "Mandate": true,
                "MandateType": "D",
                "MandateId": "MAND12345",
                "MandateSignedDate": "2023-10-01"
              }
            },
            "application/json": {
              "schema": {
                "title": "CreateRelation",
                "required": [
                  "name"
                ],
                "properties": {
                  "type": {
                    "maxLength": 1,
                    "enum": [
                      "B",
                      "P"
                    ],
                    "type": "string",
                    "description": "Business (`B`) or Private (`P`). Defaults to `B` if empty.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_001\">REL_001</a></td><td>Relation type is invalid (B,P).</td></table></div>",
                    "format": "string"
                  },
                  "code": {
                    "maxLength": 15,
                    "type": "string",
                    "description": "The code of the relation. Auto-generated if empty.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_049\">REL_049</a></td><td>Code already exists.</td><tr><td><a href=\"#REL_005\">REL_005</a></td><td>Code is invalid.</td><tr><td><a href=\"#REL_006\">REL_006</a></td><td>Code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "name": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "The (company) name of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_002\">REL_002</a></td><td>Name is mandatory.</td><tr><td><a href=\"#REL_003\">REL_003</a></td><td>Name is too long.</td></table></div>",
                    "format": "string"
                  },
                  "salutation": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The salutation of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_010\">REL_010</a></td><td>Salutation is too long.</td></table></div>",
                    "format": "string"
                  },
                  "contact": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The contact of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_009\">REL_009</a></td><td>Contact is too long.</td></table></div>",
                    "format": "string"
                  },
                  "gender": {
                    "maxLength": 1,
                    "enum": [
                      "m",
                      "v",
                      "a"
                    ],
                    "type": "string",
                    "description": "Male (`m`) or female (`v`) or department (`a`)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_004\">REL_004</a></td><td>Gender is invalid (m,v,a).</td></table></div>",
                    "format": "string"
                  },
                  "address": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The primary address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_011\">REL_011</a></td><td>Address is too long.</td></table></div>",
                    "format": "string"
                  },
                  "postalCode": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary postal code of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_012\">REL_012</a></td><td>Postal code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "city": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary city of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_013\">REL_013</a></td><td>City is too long.</td></table></div>",
                    "format": "string"
                  },
                  "country": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary country of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_014\">REL_014</a></td><td>Country is too long.</td></table></div>",
                    "format": "string"
                  },
                  "address2": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The secondary address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_015\">REL_015</a></td><td>Address 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "postalCode2": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The secondary postal code of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_016\">REL_016</a></td><td>Postal code 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "city2": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The secondary city of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_017\">REL_017</a></td><td>City 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "country2": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The secondary country of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_018\">REL_018</a></td><td>Country 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "phoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The phone number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_019\">REL_019</a></td><td>Phone is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mobilePhoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The mobile phone number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_020\">REL_020</a></td><td>Mobile is too long.</td></table></div>",
                    "format": "string"
                  },
                  "faxNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The fax number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_021\">REL_021</a></td><td>Fax is too long.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddress": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The email address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_022\">REL_022</a></td><td>Email is too long.</td><tr><td><a href=\"#REL_023\">REL_023</a></td><td>Email is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressInvoice": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The invoice email address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_024\">REL_024</a></td><td>Email invoice is too long.</td><tr><td><a href=\"#REL_025\">REL_025</a></td><td>Email invoice is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressReminder": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The reminder email address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_026\">REL_026</a></td><td>Email reminder is too long.</td><tr><td><a href=\"#REL_027\">REL_027</a></td><td>Email reminder is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "website": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The website of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_028\">REL_028</a></td><td>Website is too long.</td></table></div>",
                    "format": "string"
                  },
                  "note": {
                    "maxLength": 40000,
                    "type": "string",
                    "description": "The note of the relation.",
                    "format": "string"
                  },
                  "vatNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The VAT number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_035\">REL_035</a></td><td>VAT number is too long.</td></table></div>",
                    "format": "string"
                  },
                  "inactive": {
                    "type": [
                      "null",
                      "boolean"
                    ],
                    "description": "Whether the relation is inactive."
                  },
                  "termOfPayment": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The payment term of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_030\">REL_030</a></td><td>Term of payment too low.</td><tr><td><a href=\"#REL_031\">REL_031</a></td><td>Term of payment too high.</td></table></div>",
                    "format": "int32"
                  },
                  "companyRegistrationNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The company registration number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_008\">REL_008</a></td><td>Company registration number must be numeric.</td><tr><td><a href=\"#REL_050\">REL_050</a></td><td>Company registration number is too long.</td><tr><td><a href=\"#REL_058\">REL_058</a></td><td>Company registration number is invalid. A Belgian company registration number consists of 9 or 10 digits; with 10 digits it starts with 0 or 1.</td></table></div>",
                    "format": "string"
                  },
                  "iban": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The IBAN number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_007\">REL_007</a></td><td>Iban is invalid.</td><tr><td><a href=\"#REL_029\">REL_029</a></td><td>Iban is too long.</td></table></div>",
                    "format": "string"
                  },
                  "bic": {
                    "maxLength": 20,
                    "type": "string",
                    "description": "The BIC number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_032\">REL_032</a></td><td>BIC is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText1": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_037\">REL_037</a></td><td>Free text 1 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText2": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_038\">REL_038</a></td><td>Free text 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText3": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_039\">REL_039</a></td><td>Free text 3 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText4": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_040\">REL_040</a></td><td>Free text 4 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText5": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_041\">REL_041</a></td><td>Free text 5 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText6": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_042\">REL_042</a></td><td>Free text 6 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText7": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_043\">REL_043</a></td><td>Free text 7 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText8": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_044\">REL_044</a></td><td>Free text 8 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText9": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_045\">REL_045</a></td><td>Free text 9 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText10": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_046\">REL_046</a></td><td>Free text 10 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "doNotReceiveNewsletters": {
                    "type": [
                      "null",
                      "boolean"
                    ],
                    "description": "Whether the relation will receive newsletters or not."
                  },
                  "ledgerId": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The ledger ID of this relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_048\">REL_048</a></td><td>Ledger not found.</td><tr><td><a href=\"#REL_059\">REL_059</a></td><td>Ledger must be active and of category 'BAL' or 'VW'.</td></table></div>",
                    "format": "int32"
                  },
                  "mandate": {
                    "type": "boolean",
                    "description": "Enable or disable mandate."
                  },
                  "mandateType": {
                    "maxLength": 1,
                    "enum": [
                      "E",
                      "D"
                    ],
                    "type": "string",
                    "description": "one-time (`E`) or continuous (`D`)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_033\">REL_033</a></td><td>Mandate type is too long.</td><tr><td><a href=\"#REL_051\">REL_051</a></td><td>Mandate type is invalid (E,D).</td></table></div>",
                    "format": "string"
                  },
                  "mandateId": {
                    "maxLength": 35,
                    "type": "string",
                    "description": "The mandate ID of this relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_034\">REL_034</a></td><td>Mandate ID is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mandateSignedDate": {
                    "type": [
                      "null",
                      "object"
                    ],
                    "description": "The signing date of the mandate for this relation.",
                    "format": "date"
                  }
                }
              },
              "example": {
                "Id": null,
                "Type": "B",
                "Code": "REL123",
                "Name": "Company",
                "Salutation": "Mr.",
                "Contact": "John Doe",
                "Gender": "m",
                "Address": "Company Street 2",
                "PostalCode": "1000 AB",
                "City": "Amsterdam",
                "Country": "Netherlands",
                "Address2": "Secondary Street 5",
                "PostalCode2": "2000 CD",
                "City2": "Rotterdam",
                "Country2": "Netherlands",
                "PhoneNumber": "+31612345678",
                "MobilePhoneNumber": "+31687654321",
                "FaxNumber": "+31201234567",
                "EmailAddress": "contact@company.com",
                "EmailAddressInvoice": "invoice@company.com",
                "EmailAddressReminder": "reminder@company.com",
                "Website": "https://www.e-boekhouden.nl/",
                "Note": "This is a test note.",
                "VatNumber": "NL123456789B01",
                "Inactive": false,
                "TermOfPayment": 30,
                "CompanyRegistrationNumber": "12345678",
                "Iban": "NL91ABNA0417164300",
                "Bic": "ABNANL2A",
                "FreeText1": "",
                "FreeText2": "",
                "FreeText3": "",
                "FreeText4": "",
                "FreeText5": "",
                "FreeText6": "",
                "FreeText7": "",
                "FreeText8": "",
                "FreeText9": "",
                "FreeText10": "",
                "DoNotReceiveNewsletters": true,
                "LedgerId": 101,
                "Mandate": true,
                "MandateType": "D",
                "MandateId": "MAND12345",
                "MandateSignedDate": "2023-10-01"
              }
            },
            "application/*+json": {
              "schema": {
                "title": "CreateRelation",
                "required": [
                  "name"
                ],
                "properties": {
                  "type": {
                    "maxLength": 1,
                    "enum": [
                      "B",
                      "P"
                    ],
                    "type": "string",
                    "description": "Business (`B`) or Private (`P`). Defaults to `B` if empty.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_001\">REL_001</a></td><td>Relation type is invalid (B,P).</td></table></div>",
                    "format": "string"
                  },
                  "code": {
                    "maxLength": 15,
                    "type": "string",
                    "description": "The code of the relation. Auto-generated if empty.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_049\">REL_049</a></td><td>Code already exists.</td><tr><td><a href=\"#REL_005\">REL_005</a></td><td>Code is invalid.</td><tr><td><a href=\"#REL_006\">REL_006</a></td><td>Code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "name": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "The (company) name of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_002\">REL_002</a></td><td>Name is mandatory.</td><tr><td><a href=\"#REL_003\">REL_003</a></td><td>Name is too long.</td></table></div>",
                    "format": "string"
                  },
                  "salutation": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The salutation of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_010\">REL_010</a></td><td>Salutation is too long.</td></table></div>",
                    "format": "string"
                  },
                  "contact": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The contact of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_009\">REL_009</a></td><td>Contact is too long.</td></table></div>",
                    "format": "string"
                  },
                  "gender": {
                    "maxLength": 1,
                    "enum": [
                      "m",
                      "v",
                      "a"
                    ],
                    "type": "string",
                    "description": "Male (`m`) or female (`v`) or department (`a`)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_004\">REL_004</a></td><td>Gender is invalid (m,v,a).</td></table></div>",
                    "format": "string"
                  },
                  "address": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The primary address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_011\">REL_011</a></td><td>Address is too long.</td></table></div>",
                    "format": "string"
                  },
                  "postalCode": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary postal code of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_012\">REL_012</a></td><td>Postal code is too long.</td></table></div>",
                    "format": "string"
                  },
                  "city": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary city of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_013\">REL_013</a></td><td>City is too long.</td></table></div>",
                    "format": "string"
                  },
                  "country": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The primary country of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_014\">REL_014</a></td><td>Country is too long.</td></table></div>",
                    "format": "string"
                  },
                  "address2": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The secondary address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_015\">REL_015</a></td><td>Address 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "postalCode2": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The secondary postal code of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_016\">REL_016</a></td><td>Postal code 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "city2": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The secondary city of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_017\">REL_017</a></td><td>City 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "country2": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The secondary country of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_018\">REL_018</a></td><td>Country 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "phoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The phone number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_019\">REL_019</a></td><td>Phone is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mobilePhoneNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The mobile phone number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_020\">REL_020</a></td><td>Mobile is too long.</td></table></div>",
                    "format": "string"
                  },
                  "faxNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The fax number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_021\">REL_021</a></td><td>Fax is too long.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddress": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The email address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_022\">REL_022</a></td><td>Email is too long.</td><tr><td><a href=\"#REL_023\">REL_023</a></td><td>Email is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressInvoice": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The invoice email address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_024\">REL_024</a></td><td>Email invoice is too long.</td><tr><td><a href=\"#REL_025\">REL_025</a></td><td>Email invoice is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "emailAddressReminder": {
                    "maxLength": 150,
                    "type": "string",
                    "description": "The reminder email address of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_026\">REL_026</a></td><td>Email reminder is too long.</td><tr><td><a href=\"#REL_027\">REL_027</a></td><td>Email reminder is invalid.</td></table></div>",
                    "format": "string"
                  },
                  "website": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The website of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_028\">REL_028</a></td><td>Website is too long.</td></table></div>",
                    "format": "string"
                  },
                  "note": {
                    "maxLength": 40000,
                    "type": "string",
                    "description": "The note of the relation.",
                    "format": "string"
                  },
                  "vatNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The VAT number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_035\">REL_035</a></td><td>VAT number is too long.</td></table></div>",
                    "format": "string"
                  },
                  "inactive": {
                    "type": [
                      "null",
                      "boolean"
                    ],
                    "description": "Whether the relation is inactive."
                  },
                  "termOfPayment": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The payment term of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_030\">REL_030</a></td><td>Term of payment too low.</td><tr><td><a href=\"#REL_031\">REL_031</a></td><td>Term of payment too high.</td></table></div>",
                    "format": "int32"
                  },
                  "companyRegistrationNumber": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The company registration number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_008\">REL_008</a></td><td>Company registration number must be numeric.</td><tr><td><a href=\"#REL_050\">REL_050</a></td><td>Company registration number is too long.</td><tr><td><a href=\"#REL_058\">REL_058</a></td><td>Company registration number is invalid. A Belgian company registration number consists of 9 or 10 digits; with 10 digits it starts with 0 or 1.</td></table></div>",
                    "format": "string"
                  },
                  "iban": {
                    "maxLength": 50,
                    "type": "string",
                    "description": "The IBAN number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_007\">REL_007</a></td><td>Iban is invalid.</td><tr><td><a href=\"#REL_029\">REL_029</a></td><td>Iban is too long.</td></table></div>",
                    "format": "string"
                  },
                  "bic": {
                    "maxLength": 20,
                    "type": "string",
                    "description": "The BIC number of the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_032\">REL_032</a></td><td>BIC is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText1": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_037\">REL_037</a></td><td>Free text 1 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText2": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_038\">REL_038</a></td><td>Free text 2 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText3": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_039\">REL_039</a></td><td>Free text 3 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText4": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_040\">REL_040</a></td><td>Free text 4 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText5": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_041\">REL_041</a></td><td>Free text 5 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText6": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_042\">REL_042</a></td><td>Free text 6 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText7": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_043\">REL_043</a></td><td>Free text 7 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText8": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_044\">REL_044</a></td><td>Free text 8 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText9": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_045\">REL_045</a></td><td>Free text 9 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "freeText10": {
                    "maxLength": 100,
                    "type": "string",
                    "description": "Free text field for the relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_046\">REL_046</a></td><td>Free text 10 is too long.</td></table></div>",
                    "format": "string"
                  },
                  "doNotReceiveNewsletters": {
                    "type": [
                      "null",
                      "boolean"
                    ],
                    "description": "Whether the relation will receive newsletters or not."
                  },
                  "ledgerId": {
                    "type": [
                      "null",
                      "integer"
                    ],
                    "description": "The ledger ID of this relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_048\">REL_048</a></td><td>Ledger not found.</td><tr><td><a href=\"#REL_059\">REL_059</a></td><td>Ledger must be active and of category 'BAL' or 'VW'.</td></table></div>",
                    "format": "int32"
                  },
                  "mandate": {
                    "type": "boolean",
                    "description": "Enable or disable mandate."
                  },
                  "mandateType": {
                    "maxLength": 1,
                    "enum": [
                      "E",
                      "D"
                    ],
                    "type": "string",
                    "description": "one-time (`E`) or continuous (`D`)<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_033\">REL_033</a></td><td>Mandate type is too long.</td><tr><td><a href=\"#REL_051\">REL_051</a></td><td>Mandate type is invalid (E,D).</td></table></div>",
                    "format": "string"
                  },
                  "mandateId": {
                    "maxLength": 35,
                    "type": "string",
                    "description": "The mandate ID of this relation.<br><div><h3>Error codes</h3><table><tr><td><a href=\"#REL_034\">REL_034</a></td><td>Mandate ID is too long.</td></table></div>",
                    "format": "string"
                  },
                  "mandateSignedDate": {
                    "type": [
                      "null",
                      "object"
                    ],
                    "description": "The signing date of the mandate for this relation.",
                    "format": "date"
                  }
                }
              },
              "example": {
                "Id": null,
                "Type": "B",
                "Code": "REL123",
                "Name": "Company",
                "Salutation": "Mr.",
                "Contact": "John Doe",
                "Gender": "m",
                "Address": "Company Street 2",
                "PostalCode": "1000 AB",
                "City": "Amsterdam",
                "Country": "Netherlands",
                "Address2": "Secondary Street 5",
                "PostalCode2": "2000 CD",
                "City2": "Rotterdam",
                "Country2": "Netherlands",
                "PhoneNumber": "+31612345678",
                "MobilePhoneNumber": "+31687654321",
                "FaxNumber": "+31201234567",
                "EmailAddress": "contact@company.com",
                "EmailAddressInvoice": "invoice@company.com",
                "EmailAddressReminder": "reminder@company.com",
                "Website": "https://www.e-boekhouden.nl/",
                "Note": "This is a test note.",
                "VatNumber": "NL123456789B01",
                "Inactive": false,
                "TermOfPayment": 30,
                "CompanyRegistrationNumber": "12345678",
                "Iban": "NL91ABNA0417164300",
                "Bic": "ABNANL2A",
                "FreeText1": "",
                "FreeText2": "",
                "FreeText3": "",
                "FreeText4": "",
                "FreeText5": "",
                "FreeText6": "",
                "FreeText7": "",
                "FreeText8": "",
                "FreeText9": "",
                "FreeText10": "",
                "DoNotReceiveNewsletters": true,
                "LedgerId": 101,
                "Mandate": true,
                "MandateType": "D",
                "MandateId": "MAND12345",
                "MandateSignedDate": "2023-10-01"
              }
            }
          },
          "required": true
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "title": "CreatedRelation",
                  "properties": {
                    "id": {
                      "type": "integer",
                      "description": "The ID of the relation.",
                      "format": "int32"
                    },
                    "code": {
                      "type": "string",
                      "description": "The code of the relation.",
                      "format": "string"
                    }
                  }
                },
                "example": {
                  "Id": 1001,
                  "Type": null,
                  "Code": "REL000154",
                  "Date": null,
                  "Name": null,
                  "Salutation": null,
                  "Contact": null,
                  "Gender": null,
                  "Address": null,
                  "PostalCode": null,
                  "City": null,
                  "Country": null,
                  "Address2": null,
                  "PostalCode2": null,
                  "City2": null,
                  "Country2": null,
                  "PhoneNumber": null,
                  "MobilePhoneNumber": null,
                  "FaxNumber": null,
                  "EmailAddress": null,
                  "EmailAddressInvoice": null,
                  "EmailAddressReminder": null,
                  "Website": null,
                  "Note": null,
                  "VatNumber": null,
                  "Inactive": null,
                  "TermOfPayment": null,
                  "CompanyRegistrationNumber": null,
                  "Iban": null,
                  "Bic": null,
                  "FreeText1": null,
                  "FreeText2": null,
                  "FreeText3": null,
                  "FreeText4": null,
                  "FreeText5": null,
                  "FreeText6": null,
                  "FreeText7": null,
                  "FreeText8": null,
                  "FreeText9": null,
                  "FreeText10": null,
                  "IsClubOrAssociationMember": null,
                  "DoNotReceiveNewsletters": null,
                  "LedgerId": null,
                  "Mandate": null,
                  "MandateType": null,
                  "MandateId": null,
                  "MandateSignedDate": null
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/v1/unit": {
      "get": {
        "tags": [
          "Unit"
        ],
        "description": "Get all units.",
        "operationId": "GetUnits",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "description": "The number of items to retrieve.",
            "schema": {
              "maximum": 2000,
              "minimum": 1,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "The number of items to skip.",
            "schema": {
              "minimum": 0,
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "singular",
            "in": "query",
            "description": "The singular form for the unit.",
            "schema": {
              "type": "string",
              "format": "filter-string"
            }
          },
          {
            "name": "plural",
            "in": "query",
            "description": "The plural form for the unit.",
            "schema": {
              "type": "string",
              "format": "filter-string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListDtoOfUnitDto"
                },
                "example": {
                  "Items": [
                    {
                      "Id": 1,
                      "Singular": "doos",
                      "Plural": "dozen"
                    }
                  ],
                  "Count": 1
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                },
                "example": {
                  "Errors": {
                    "object.field": [
                      "Field is missing."
                    ]
                  },
                  "Type": "validation",
                  "PropertyName": "object.field",
                  "Code": "EXAMPLE_001",
                  "Title": "Field is missing.",
                  "Message": "Extended error information.",
                  "Status": 400,
                  "TraceId": "ABCDEF-123456."
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized"
          }
        },
        "security": [
          {
            "bearer": [
              "EB.WebAPI.Core.Attributes.EbAuthAttribute"
            ]
          }
        ]
      }
    },
    "/swagger": {
      "get": {
        "tags": [
          "EB.WebAPI.Public"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    },
    "/swagger/{catchAll}": {
      "get": {
        "tags": [
          "EB.WebAPI.Public"
        ],
        "responses": {
          "200": {
            "description": "OK"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Category": {
        "enum": [
          "BAL",
          "VW",
          "AF6",
          "AF19",
          "AFOVERIG",
          "VOOR",
          "BTWRC",
          "FIN",
          "DEB",
          "CRED",
          "AF"
        ],
        "type": "string",
        "description": "A list of ledger categories is displayed below. Only these values may be used in `POST` and `PATCH` operations: `[\"BAL\", \"VW\", \"FIN\", \"DEB\", \"CRED\"]`.<br/>\r\n| Value | Description |\r\n|---|---|\r\n| BAL | Balance |<br/>\r\n| VW | Profit and loss |<br/>\r\n| AF6 | Turnover tax low rate |<br/>\r\n| AF19 | Turnover tax high rate |<br/>\r\n| AFOVERIG | Turnover tax other |<br/>\r\n| VOOR | Input tax |<br/>\r\n| BTWRC | VAT current account |<br/>\r\n| FIN | Liquid Assets |<br/>\r\n| DEB | Debtors |<br/>\r\n| CRED | Creditors |<br/>\r\n| AF | Turnover tax |<br/>\r\n"
      },
      "Error": {
        "title": "Error",
        "required": [
          "type",
          "title",
          "status"
        ],
        "properties": {
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Collection of multiple validation errors. Only present when the Type is \"validation\"."
          },
          "type": {
            "type": "string",
            "description": "The error type, e.g. \"validation\" or \"security\".",
            "format": "string"
          },
          "propertyName": {
            "type": "string",
            "description": "The property related to this exception.",
            "format": "string"
          },
          "code": {
            "type": "string",
            "description": "The error code.",
            "format": "string"
          },
          "title": {
            "type": "string",
            "description": "The short error message.",
            "format": "string"
          },
          "message": {
            "type": "string",
            "description": "Additional error info. Not always present.",
            "format": "string"
          },
          "status": {
            "type": "integer",
            "description": "The HTTP status.",
            "format": "int32"
          },
          "traceId": {
            "type": "string",
            "description": "Unique trace to identify this error. Not always present.",
            "format": "string"
          }
        }
      },
      "ListDtoOfAdministrationResponseDto": {
        "type": "object",
        "properties": {
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/AdministrationResponseDto"
            }
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "ListDtoOfCostCenterSearchResponseDto": {
        "type": "object",
        "properties": {
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/CostCenterSearchResponseDto"
            }
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "ListDtoOfEmailTemplateDto": {
        "type": "object",
        "properties": {
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/EmailTemplateDto"
            }
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "ListDtoOfInvoicesResponseDto": {
        "type": "object",
        "properties": {
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/InvoicesResponseDto"
            }
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "ListDtoOfInvoiceTemplateDto": {
        "type": "object",
        "properties": {
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/InvoiceTemplateDto"
            }
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "ListDtoOfLedgerBalanceResponseDto": {
        "type": "object",
        "properties": {
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/LedgerBalanceResponseDto"
            }
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "ListDtoOfLedgersResponseDto": {
        "type": "object",
        "properties": {
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/LedgersResponseDto"
            }
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "ListDtoOfMembersResponseDto": {
        "type": "object",
        "properties": {
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/MembersResponseDto"
            }
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "ListDtoOfMutationsResponseDto": {
        "type": "object",
        "properties": {
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/MutationsResponseDto"
            }
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "ListDtoOfOutstandingInvoiceDto": {
        "type": "object",
        "properties": {
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/OutstandingInvoiceDto"
            }
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "ListDtoOfProductGroupDto": {
        "type": "object",
        "properties": {
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ProductGroupDto"
            }
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "ListDtoOfProductsResponseDto": {
        "type": "object",
        "properties": {
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ProductsResponseDto"
            }
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "ListDtoOfRelationsResponseDto": {
        "type": "object",
        "properties": {
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/RelationsResponseDto"
            }
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "ListDtoOfUnitDto": {
        "type": "object",
        "properties": {
          "items": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/UnitDto"
            }
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "MutationType": {
        "enum": [
          "1",
          "2",
          "3",
          "4",
          "5",
          "6",
          "7"
        ],
        "type": "string",
        "description": "A list of mutation types is displayed below.<br/>\r\n| Value | Description |\r\n|---|---|\r\n| 1 | Invoice received |<br/>\r\n| 2 | Invoice sent |<br/>\r\n| 3 | Invoice payment received |<br/>\r\n| 4 | Invoice payment sent |<br/>\r\n| 5 | Money received |<br/>\r\n| 6 | Money sent |<br/>\r\n| 7 | General journal entry |<br/>\r\n"
      },
      "SecurityError": {
        "title": "SecurityError",
        "required": [
          "securityType",
          "type",
          "title",
          "status"
        ],
        "properties": {
          "securityType": {
            "$ref": "#/components/schemas/SecurityErrorType"
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Collection of multiple validation errors. Only present when the Type is \"validation\"."
          },
          "type": {
            "type": "string",
            "description": "The error type, e.g. \"validation\" or \"security\".",
            "format": "string"
          },
          "propertyName": {
            "type": "string",
            "description": "The property related to this exception.",
            "format": "string"
          },
          "code": {
            "type": "string",
            "description": "The error code.",
            "format": "string"
          },
          "title": {
            "type": "string",
            "description": "The short error message.",
            "format": "string"
          },
          "message": {
            "type": "string",
            "description": "Additional error info. Not always present.",
            "format": "string"
          },
          "status": {
            "type": "integer",
            "description": "The HTTP status.",
            "format": "int32"
          },
          "traceId": {
            "type": "string",
            "description": "Unique trace to identify this error. Not always present.",
            "format": "string"
          }
        }
      },
      "SecurityErrorType": {
        "enum": [
          "0",
          "1",
          "2"
        ],
        "type": "string",
        "description": "Type of security error.<br/>\r\n| Value | Description |\r\n|---|---|\r\n| 0 | Generic error. |<br/>\r\n| 1 | No access to the requested administration. |<br/>\r\n| 2 | No administration opened. |<br/>\r\n"
      },
      "UpdateSubscriptions": {
        "enum": [
          "0",
          "1",
          "2"
        ],
        "type": "string",
        "description": "Specifies the level of changes to be applied to existing subscriptions when a product is updated.<br/>\r\n| Value | Description |\r\n|---|---|\r\n| 0 | No changes will be applied. |<br/>\r\n| 1 | Only price changes will be applied. |<br/>\r\n| 2 | All changes will be applied. |<br/>\r\n"
      },
      "VatCode": {
        "enum": [
          "HOOG_VERK_21",
          "LAAG_VERK_9",
          "VERL_VERK",
          "VERL_VERK_L9",
          "AFW",
          "BU_EU_VERK",
          "BI_EU_VERK",
          "BI_EU_VERK_D",
          "AFST_VERK",
          "LAAG_INK_9",
          "HOOG_INK_21",
          "VERL_INK",
          "AFW_VERK",
          "BU_EU_INK",
          "BI_EU_INK",
          "GEEN"
        ],
        "type": "string",
        "description": "A list of VAT codes is displayed below.<br/>\r\n| Value | Description |\r\n|---|---|\r\n| HOOG_VERK_21 | For selling with 21% VAT. |<br/>\r\n| LAAG_VERK_9 | For selling with 9% VAT. |<br/>\r\n| VERL_VERK | For selling with reverse-charging 21% VAT. |<br/>\r\n| VERL_VERK_L9 | For selling with reverse-charging 9% VAT. |<br/>\r\n| AFW | VAT percentage is unspecified. Price values will be used |<br/>\r\n| BU_EU_VERK | Deliveries outside the EU, 0% VAT. |<br/>\r\n| BI_EU_VERK | Goods inside the EU, 0% VAT. |<br/>\r\n| BI_EU_VERK_D | Services inside the EU, 0% VAT. |<br/>\r\n| AFST_VERK | Distance sales inside the EU, 0% VAT. |<br/>\r\n| LAAG_INK_9 | For buying with 9% VAT. |<br/>\r\n| HOOG_INK_21 | For buying with 21% VAT. |<br/>\r\n| VERL_INK | For buying with reverse-charging VAT. |<br/>\r\n| AFW_VERK | For selling with unspecified VAT percentage. Price values will be used. |<br/>\r\n| BU_EU_INK | For buying goods/services from outside the EU, 0% VAT. |<br/>\r\n| BI_EU_INK | For buying goods/services from inside the EU, 0% VAT. |<br/>\r\n| GEEN | No VAT. |<br/>\r\n"
      }
    },
    "securitySchemes": {
      "bearer": {
        "type": "apiKey",
        "description": "JWT Authorization header using the Bearer scheme. Example: \"Authorization: Bearer {token}\"",
        "name": "Authorization",
        "in": "header"
      }
    }
  },
  "tags": [
    {
      "name": "Administration"
    },
    {
      "name": "CostCenter"
    },
    {
      "name": "EmailTemplate"
    },
    {
      "name": "Invoice"
    },
    {
      "name": "InvoiceTemplate"
    },
    {
      "name": "Ledger"
    },
    {
      "name": "Member"
    },
    {
      "name": "Mutation"
    },
    {
      "name": "Product"
    },
    {
      "name": "Relation"
    },
    {
      "name": "Session"
    },
    {
      "name": "Unit"
    },
    {
      "name": "EB.WebAPI.Public"
    }
  ]
}