### Get Category Tree
Source: https://app.cashctrl.com/static/help/en/api/index.html
Retrieves a hierarchical tree of all article categories, optionally starting from a specified parent category.
```APIDOC
## GET /api/v1/inventory/article/category/tree.json
### Description
Returns a tree of all categories or the tree below a parent category.
### Method
GET
### Endpoint
/api/v1/inventory/article/category/tree.json
### Parameters
#### Query Parameters
- **id** (NUMBER) - Optional - Optional ID of the parent category (omit to get all categories).
```
--------------------------------
### Prepare files
Source: https://app.cashctrl.com/static/help/en/api/index.html
Prepares one or multiple files for uploading. Returns a list of file IDs and write URLs. Use the write URL to upload the file binary.
```APIDOC
## Prepare files
### Description
Prepares one or multiple files for uploading. This is the starting point for uploading files to CashCtrl. In this step, you only provide file metadata, not the actual file. Returns a list of file IDs and write URLs. Use the write URL to upload the file binary (using the PUT method). See the Examples for a tutorial on how to upload a file (prepare put persist).
### Method
POST
### Endpoint
/api/v1/file/prepare.json
### Parameters
#### Request Body
- **files** (JSON) - Optional - The files to prepare. This is a JSON array `[{...},{...},...]` with the following parameters:
- **mimeType** (TEXT) - Mandatory - The mime type (content type) of the file. E.g. "application/pdf" for PDFs.
- **name** (TEXT) - Mandatory - The file name. Must be a valid file name, but doesn't have to be unique.
- **categoryId** (NUMBER) - Optional - The ID of the category to add the file in.
- **size** (NUMBER) - Optional - The size of the file. This helps to determine early if the storage quota is exceeded or not. However, the actual file size will be determined later upon persisting the file.
```
--------------------------------
### Get Category Tree
Source: https://app.cashctrl.com/static/help/en/api/index.html
Retrieves a hierarchical tree of cost center categories, optionally starting from a specific parent category.
```APIDOC
## Get Tree of Categories
### Description
Returns a tree of all categories or the tree below a parent category.
### Method
GET
### Endpoint
/api/v1/account/costcenter/category/tree.json
### Parameters
#### Query Parameters
- **id** (NUMBER) - Optional - Optional ID of the parent category (omit to get all categories).
```
--------------------------------
### Upload File via PUT
Source: https://app.cashctrl.com/static/help/en/api/index.html
Upload files to the pre-authenticated URLs obtained from the prepare step. Files uploaded this way are temporary and will be deleted within 4 hours if not persisted.
```bash
curl https://objectstorage.eu-zurich-1.oraclecloud.com/p/pCmCfv9GwIxISZ9pGusMqiG9vG_TqAmU8QXgUhZ6C-W6j1CXYceSoqPQSQVXr0Fx/n/zry79ircxznv/b/dev/o/rihligXi/file/hh/au/report.pdf --upload-file report.pdf
```
```bash
curl https://objectstorage.eu-zurich-1.oraclecloud.com/p/1gi7PDkRphcQRe7bYE4WgM84DJ3uS-v-iN5ldGqgD2MJswZSTqfj1xE5T7F8PBtX/n/zry79ircxznv/b/dev/o/rihligXi/file/jc/zh/image.png --upload-file image.png
```
--------------------------------
### Get Result
Source: https://app.cashctrl.com/static/help/en/api/index.html
Retrieves the profit or loss result for a given fiscal period.
```APIDOC
## Get Result
### Description
Get the result (profit or loss) of the given fiscal period.
### Method
GET
### Endpoint
/api/v1/fiscalperiod/result
### Parameters
#### Path Parameters
None
#### Query Parameters
- **id** (NUMBER) - Optional - The ID of the fiscal period.
### Request Example
```
GET /api/v1/fiscalperiod/result?id=1
```
### Response
#### Success Response (200)
- **result** (NUMBER) - The profit or loss for the fiscal period.
#### Response Example
```json
{
"result": 15000.50
}
```
```
--------------------------------
### Create vCard Import Session
Source: https://app.cashctrl.com/static/help/en/api/index.html
Initiates a vCard import session. This is the first step in importing a .vcf file. You need to provide the `fileId` of the uploaded vCard file.
```bash
curl https://myorg.cashctrl.com/api/v1/person/import/create.json -u zjdqcZjsfSYyM4EPG19tHss6X5NIHf0b: -X POST -F "fileId=314"
```
--------------------------------
### Prepare File Upload
Source: https://app.cashctrl.com/static/help/en/api/index.html
Inform CashCtrl about file names and MIME types before uploading. This step returns file IDs and pre-authenticated URLs for the PUT request.
```bash
curl https://myorg.cashctrl.com/api/v1/file/prepare.json -u zjdqcZjsfSYyM4EPG19tHss6X5NIHf0b: -X POST -F "files=[{\"name\":\"report.pdf\",\"mimeType\":\"application/pdf\"},{\"name\":\"image.png\",\"mimeType\":\"image/png\"}}]"
```
--------------------------------
### Get Tree of Categories
Source: https://app.cashctrl.com/static/help/en/api/index.html
Returns a tree of all categories or the tree below a parent category.
```APIDOC
## GET /api/v1/inventory/asset/category/tree.json
### Description
Returns a tree of all categories or the tree below a parent category.
### Method
GET
### Endpoint
/api/v1/inventory/asset/category/tree.json
### Parameters
#### Query Parameters
- **id** (NUMBER) - Optional - Optional ID of the parent category (omit to get all categories).
```
--------------------------------
### Prepare File Upload
Source: https://app.cashctrl.com/static/help/en/api/index.html
Inform CashCtrl about the files to be uploaded, including their names and mime types. This step returns file IDs and pre-authenticated write URLs.
```APIDOC
## Prepare File Upload
### Description
This endpoint is used to inform CashCtrl about the files you intend to upload. It returns file IDs and pre-authenticated write URLs for each file.
### Method
POST
### Endpoint
https://myorg.cashctrl.com/api/v1/file/prepare.json
### Parameters
#### Request Body
- **files** (array) - Required - A JSON array where each object contains `name` (string) and `mimeType` (string) for each file.
### Request Example
```json
{
"files": [
{"name": "report.pdf", "mimeType": "application/pdf"},
{"name": "image.png", "mimeType": "image/png"}
]
}
```
### Response
#### Success Response (200)
- **success** (boolean) - Indicates if the operation was successful.
- **data** (array) - An array of objects, each containing:
- **fileId** (integer) - The unique identifier for the file.
- **writeUrl** (string) - The pre-authenticated URL to upload the file content to.
```
--------------------------------
### Get account balance
Source: https://app.cashctrl.com/static/help/en/api/index.html
Returns the balance of a single account for the given date.
```APIDOC
## Get account balance
Returns the balance of a single account for the given date.
### Parameters
`id` (NUMBER, mandatory) - The ID of the account.
`date` (DATE, optional) - The date for the balance (always end of day). Defaults to the last day of the current fiscal period. See Switch fiscal period. Format: YYYY-MM-DD. Example: `2020-01-15`.
### Endpoint
GET /api/v1/account/balance
```
--------------------------------
### Get tree of reports
Source: https://app.cashctrl.com/static/help/en/api/index.html
Returns a tree of all instanced reports containing collections and elements.
```APIDOC
## Get tree of reports
### Description
Returns a tree of all instanced reports containing collections and elements.
### Method
GET
### Endpoint
/api/v1/report/tree.json
```
--------------------------------
### List Settings
Source: https://app.cashctrl.com/static/help/en/api/index.html
Returns a list of all available salary settings.
```APIDOC
## List Settings
### Description
Returns a list of all settings.
### Method
GET
### Endpoint
GET /api/v1/salary/setting/list.json
```
--------------------------------
### Get Tree of Categories
Source: https://app.cashctrl.com/static/help/en/api/index.html
Returns a tree of all categories or the tree below a specified parent category.
```APIDOC
## GET /api/v1/person/category/tree.json
### Description
Returns a tree of all categories or the tree below a parent category.
### Method
GET
### Endpoint
/api/v1/person/category/tree.json
### Parameters
#### Query Parameters
- **id** (NUMBER) - Optional - Optional ID of the parent category (omit to get all categories).
```
--------------------------------
### Preview Import
Source: https://app.cashctrl.com/static/help/en/api/index.html
Allows you to preview the articles that will be imported based on the current import session and mapping. This step is optional but recommended to verify the data before execution.
```APIDOC
## Preview import
Previews the imported articles. Returns a list of articles that will be imported. This step can be omitted.
### Parameters
`id`| `id`mandatoryNUMBERImport session ID from the Create endpoint.
### Endpoint
GET /api/v1/inventory/article/import/preview.json
```
--------------------------------
### List layouts
Source: https://app.cashctrl.com/static/help/en/api/index.html
Returns a list of all layouts.
```APIDOC
## GET /api/v1/order/layout/list.json
### Description
Returns a list of all layouts.
### Method
GET
### Endpoint
/api/v1/order/layout/list.json
```
--------------------------------
### Get exchange rate
Source: https://app.cashctrl.com/static/help/en/api/index.html
Returns the exchange rate between two currencies for a specific date.
```APIDOC
## GET /api/v1/currency/exchangerate
### Description
Returns the exchange rate between two currencies for a specific date.
### Method
GET
### Endpoint
/api/v1/currency/exchangerate
### Parameters
#### Query Parameters
- **from** (TEXT) - Required - The source currency to convert. Possible values: AUD, BTC, CAD, CHF, CNY, DKK, EUR, GBP, INR, JPY, RUB, SEK, THB, USD.
- **to** (TEXT) - Required - The target currency to convert into. Possible values: AUD, BTC, CAD, CHF, CNY, DKK, EUR, GBP, INR, JPY, RUB, SEK, THB, USD.
- **date** (DATE) - Optional - The date for the exchange rate. Leave empty to use today. Format: YYYY-MM-DD. Example: `2020-01-15`.
```
--------------------------------
### Read All Settings
Source: https://app.cashctrl.com/static/help/en/api/index.html
Retrieves all general settings for the account. This endpoint provides a comprehensive view of all configurable settings.
```APIDOC
## Read Settings
### Description
Returns all settings.
### Method
GET
### Endpoint
GET /api/v1/setting/read.json
```
--------------------------------
### Get Tree of Categories
Source: https://app.cashctrl.com/static/help/en/api/index.html
Returns a tree of all categories or the tree below a specified parent category.
```APIDOC
## GET /api/v1/account/category/tree.json
### Description
Returns a tree of all categories or the tree below a parent category.
### Method
GET
### Endpoint
/api/v1/account/category/tree.json
### Parameters
#### Query Parameters
- **id** (NUMBER) - Optional - Optional ID of the parent category (omit to get all categories).
```
--------------------------------
### Create Setting
Source: https://app.cashctrl.com/static/help/en/api/index.html
Creates a new salary setting. Handles success or multiple error messages.
```APIDOC
## Create Setting
### Description
Creates a new setting. Returns either a success or multiple error messages (for each issue).
### Method
POST
### Endpoint
POST /api/v1/salary/setting/create.json
### Parameters
#### Request Body
- **name** (TEXT) - Required - MAX:100 - The name of the setting. This can contain localized text. To add values in multiple languages, use the XML format like this: `German textEnglish text`
- **variableName** (TEXT) - Required - MIN:2, MAX:32 - The variable name used in calculations. Must start with `$` and contain only alphanumeric characters.
- **boolValue** (BOOLEAN) - Optional - The boolean value (if type is `BOOLEAN`, ignored otherwise). Possible values: true, false.
- **decimalValue** (NUMBER) - Optional - The decimal value (if type is `DECIMAL`, ignored otherwise).
- **isPercentage** (BOOLEAN) - Optional - Whether the decimal value is a percentage or not (if type is `DECIMAL`, ignored otherwise). Possible values: true, false.
- **textValue** (TEXT) - Optional - MAX:255 - The text value (if type is `TEXT`, ignored otherwise).
- **type** (TEXT) - Optional - The data type of the setting. Possible values: TEXT, BOOLEAN, DECIMAL.
```
--------------------------------
### Get the annual report PDF
Source: https://app.cashctrl.com/static/help/en/api/index.html
Retrieves the annual report PDF in a specified language.
```APIDOC
## GET /report/collection/download_annualreport.pdf
### Description
Retrieves the annual report PDF in a specified language.
### Method
GET
### Endpoint
https://myorg.cashctrl.com/api/v1/report/collection/download_annualreport.pdf
### Parameters
#### Query Parameters
- **lang** (string) - Required - Specifies the desired language for the PDF. Available options: de, fr, it, en.
### Request Example
```bash
curl https://myorg.cashctrl.com/api/v1/report/collection/download_annualreport.pdf?lang=fr -u zjdqcZjsfSYyM4EPG19tHss6X5NIHf0b:
```
```
--------------------------------
### Get Category Tree
Source: https://app.cashctrl.com/static/help/en/api/index.html
Retrieves the category tree, optionally filtered by a parent category ID.
```APIDOC
## GET /api/v1/file/category/tree.json
### Description
Returns a tree of all categories or the tree below a parent category.
### Method
GET
### Endpoint
/api/v1/file/category/tree.json
### Parameters
#### Query Parameters
- **id** (NUMBER) - Optional - Optional ID of the parent category (omit to get all categories).
```
--------------------------------
### Persist File with Additional Information
Source: https://app.cashctrl.com/static/help/en/api/index.html
Persist files while adding details like descriptions, notes, or custom fields. This uses the 'create' endpoint.
```bash
curl https://myorg.cashctrl.com/api/v1/file/create.json -u zjdqcZjsfSYyM4EPG19tHss6X5NIHf0b: -X POST -F "id=24" -F "name=report.pdf" -F "description=API generated report"
```
```bash
curl https://myorg.cashctrl.com/api/v1/file/create.json -u zjdqcZjsfSYyM4EPG19tHss6X5NIHf0b: -X POST -F "id=25" -F "name=image.png" "notes=Some API generated notes"
```
--------------------------------
### Order Creation Parameters
Source: https://app.cashctrl.com/static/help/en/api/index.html
This section details the parameters available for creating an order. It covers general order information, item details, and notification preferences.
```APIDOC
## Order Creation
### Description
Allows for the creation of new orders with various customizable options.
### Parameters
#### General Order Parameters
- **accountId** (NUMBER) - Optional - The ID of the account. Leave empty to use the account from the category.
- **currencyId** (NUMBER) - Optional - The ID of the currency. Leave empty to use the default currency.
- **currencyRate** (NUMBER) - Optional - The exchange rate from foreign currency to main currency. Only required if the currency is not supported or if you want to use a different rate than suggested.
- **custom** (XML) - Optional - Custom field values. Example: `My value`.
- **daysBefore** (NUMBER) - Optional - The next order will be created X days before the start date. Leave empty or set to 0 to have the next order created on the start date itself.
- **description** (TEXT) - Optional - MAX:200 - A description of the order document.
- **discountPercentage** (NUMBER) - Optional - MIN:0.0, MAX:100.0 - The discount percentage for the entire order.
- **dueDays** (NUMBER) - Optional - The due days. Order date + due days = Due date.
- **endDate** (DATE) - Optional - The end date for the recurrence. Format: YYYY-MM-DD.
- **groupId** (NUMBER) - Optional - The ID of the order group (dossier).
- **isDisplayItemGross** (BOOLEAN) - Optional - Whether to display item totals as gross (including tax). Defaults to false (net).
- **language** (TEXT) - Optional - The language of the document. Possible values: DE, EN, FR, IT.
- **notes** (HTML) - Optional - Some optional notes. Can contain limited HTML.
- **notifyEmail** (TEXT) - Optional - The e-mail address to send a notification to.
- **notifyPersonId** (NUMBER) - Optional - The ID of the person to send a notification to.
- **notifyType** (TEXT) - Optional - Whether to send a notification e-mail. Possible values: NONE, USER, PERSON, RESPONSIBLE_PERSON, EMAIL.
- **notifyUserId** (NUMBER) - Optional - The ID of the user to send a notification to.
- **nr** (TEXT) - Optional - MAX:50 - The order number. Leave empty to generate the number with `sequenceNumberId`.
#### Items Parameters
- **items** (JSON Array) - Optional - The list of order items. Each item is an object with the following parameters:
- **accountId** (NUMBER) - Mandatory - The ID of the account.
- **name** (TEXT) - Mandatory - The name of the item.
- **unitPrice** (NUMBER) - Mandatory - The price of the item (for one unit).
- **allocations** (JSON Array) - Optional - Allocations to cost centers. Each allocation is an object with:
- **share** (NUMBER) - Mandatory - Allocation share.
- **toCostCenterId** (NUMBER) - Mandatory - ID of cost center to allocate to.
- **articleNr** (TEXT) - Optional - The article number.
- **description** (TEXT) - Optional - A description of the item.
- **discountPercentage** (NUMBER) - Optional - Discount percentage for the item price.
- **inventoryId** (NUMBER) - Optional - The ID of the inventory article.
- **quantity** (NUMBER) - Optional - The amount of units of the item. Defaults to 1.
- **taxId** (NUMBER) - Optional - The ID of the tax code.
- **type** (TEXT) - Optional - The type of item. Defaults to ARTICLE. Possible values: ARTICLE, TEXT, PAGEBREAK, SUBTOTAL, TITLE, OPTIONTOTAL.
- **unitId** (TEXT) - Optional - The ID of the unit.
```
--------------------------------
### Get Custom Field Types
Source: https://app.cashctrl.com/static/help/en/api/index.html
Returns a list of custom field types, with `type` and `i18nKey`.
```APIDOC
## Get custom field types
### Description
Returns a list of custom field types, with `type` and `i18nKey`.
### Method
GET
### Endpoint
/api/v1/customfield/types.json
### Parameters
#### Path Parameters
None
#### Query Parameters
None
#### Request Body
None
### Request Example
(No request body for GET request)
### Response
#### Success Response (200)
- **type** (string) - The type of the custom field.
- **i18nKey** (string) - The internationalization key for the custom field type.
#### Response Example
```json
[
{
"type": "TEXT",
"i18nKey": "customfield.type.text"
},
{
"type": "NUMBER",
"i18nKey": "customfield.type.number"
}
]
```
```
--------------------------------
### Create Layout
Source: https://app.cashctrl.com/static/help/en/api/index.html
Creates a new layout with specified configurations. It returns a success message upon creation or a list of error messages if validation fails.
```APIDOC
## POST /api/v1/order/layout/create.json
### Description
Creates a new layout. Returns either a success or multiple error messages (for each issue).
### Method
POST
### Endpoint
/api/v1/order/layout/create.json
### Parameters
#### Query Parameters
- **name** (TEXT) - Required - A name to describe and identify the layout. MAX: 100
- **elements** (JSON List) - Optional - List of elements containing HTML/CSS snippets for the different parts of the layout.
- **elementId** (TEXT) - Required - The layout element ID (e.g. HEADER, FOOTER, etc.). Possible values: HEADER, FOOTER, GENERAL, ADDRESS_WINDOW, INFO_TABLE, ITEMS_TABLE, SALARY_TABLE, TEXT_ABOVE, TEXT_BELOW, LEGACY.
- **css** (TEXT) - Optional - The CSS snippet.
- **html** (TEXT) - Optional - The HTML snippet.
- **footer** (HTML) - Optional - The footer text, which is displayed at the bottom of the document. This can contain limited HTML for styling. Allowed tags: a, p, div, h1, h2, h3, h4, h5, h6, ul, ol, li, blockquote, b, i, s, u, o, sup, sub, ins, del, strong, strike, tt, code, big, small, br, span, em. Allowed inline CSS rules: background, background-color, color, font, font-size, font-weight, font-style, text-align, text-indent, text-decoration.
- **isCountryEnglish** (BOOLEAN) - Optional - Display country always in english (UPU standard)? Defaults to true. Possible values: true, false.
- **isCountryUppercase** (BOOLEAN) - Optional - Display country uppercase (UPU standard)? Defaults to true. Possible values: true, false.
- **isDisplayDocumentName** (BOOLEAN) - Optional - Display document name/title? Defaults to true. Possible values: true, false.
- **isDisplayItemArticleNr** (BOOLEAN) - Optional - Display article no. for items? Defaults to true. Possible values: true, false.
- **isDisplayItemPriceRounded** (BOOLEAN) - Optional - Display item prices rounded? Defaults to true. Possible values: true, false.
- **isDisplayItemTax** (BOOLEAN) - Optional - Display tax for items? Defaults to false. Possible values: true, false.
- **isDisplayItemUnit** (BOOLEAN) - Optional - Display unit for items? Defaults to true. Possible values: true, false.
- **isDisplayLogo** (BOOLEAN) - Optional - Display logo? Defaults to true. Possible values: true, false.
- **isDisplayOrgAddressInWindow** (BOOLEAN) - Optional - Display (your) organization address in window? Defaults to true. Possible values: true, false.
- **isDisplayPageNr** (BOOLEAN) - Optional - Display page numbers? Defaults to true. Possible values: true, false.
- **isDisplayPayments** (BOOLEAN) - Optional - Display payments? Defaults to true. Possible values: true, false.
- **isDisplayPosNr** (BOOLEAN) - Optional - Display item numbering? Defaults to true. Possible values: true, false.
- **isDisplayRecipientNr** (BOOLEAN) - Optional - Display recipient number (customer/vendor no.)? Defaults to true. Possible values: true, false.
- **isDisplayResponsiblePerson** (BOOLEAN) - Optional - Display responsible person (Sachbearbeiter)? Defaults to true. Possible values: true, false.
- **isDisplayZeroTax** (BOOLEAN) - Optional - Display zero tax (with a value of 0.00)? Defaults to false. Possible values: true, false.
- **isInactive** (BOOLEAN) - Optional - Mark the layout as inactive. Inactive layouts are greyed out and are no longer suggested. Possible values: true, false.
- **isOmitSameCountry** (BOOLEAN) - Optional - Omit country, if same between sender/recipient? Defaults to true. Possible values: true, false.
- **isQrEmptyAmount** (BOOLEAN) - Optional - Leave amount empty in the QR code? Otherwise the open amount is used in the QR code. Possible values: true, false.
- **isQrNoLines** (BOOLEAN) - Optional - Display QR invoice without any lines? Dashed lines with scissors by default. Possible values: true, false.
- **isQrNoReferenceNr** (BOOLEAN) - Optional - Display QR invoice without reference number? Generates reference number by default. Possible values: true, false.
- **letterPaperFileId** (NUMBER) - Optional - An optional letter paper to embed on every page (behind the text). Supported type: PDF. Max. size: 500KB. Use the File API to upload a file and then use the file ID here.
- **logoHeight** (NUMBER) - Optional - The height of the logo in centimeters. MIN: 0.1, MAX: 9.0
- **pageSize** (TEXT) - Optional - The page size of the document. Defaults to A4. Possible values: A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, LEGAL, LETTER, A4R.
- **parentId** (NUMBER) - Optional - The ID of the parent layout to inherit from. Letter paper, HTML and CSS will be inherited from the parent.
```
--------------------------------
### Get cost center balance
Source: https://app.cashctrl.com/static/help/en/api/index.html
Returns the balance of a single cost center for a specified date.
```APIDOC
## GET /api/v1/account/costcenter/balance
### Description
Returns the balance of a single cost center for the given date.
### Method
GET
### Endpoint
GET /api/v1/account/costcenter/balance
### Parameters
#### Query Parameters
- **id** (NUMBER) - Required - The ID of the cost center.
- **date** (DATE) - Optional - The date for the balance (always end of day). Defaults to the last day of the current fiscal period. See Switch fiscal period. Format: YYYY-MM-DD. Example: `2020-01-15`.
```
--------------------------------
### Create template
Source: https://app.cashctrl.com/static/help/en/api/index.html
Creates a new salary template with specified configurations. Returns success or error messages.
```APIDOC
## Create template
### Description
Creates a new template. Returns either a success or multiple error messages (for each issue).
### Method
POST
### Endpoint
POST /api/v1/salary/template/create.json
### Parameters
#### Request Body
- **name** (TEXT) - Required - MAX:100 - A name to describe and identify the template.
- **currencyId** (NUMBER) - Optional - The ID of the currency to use in salary statements.
- **dayOfMonth** (NUMBER) - Optional - MIN:1.0, MAX:31.0 - The day of month used for generating the salary statement date. Leave empty to use today instead.
- **footerTemplateId** (NUMBER) - Optional - The ID of the text template for the text below the table (on the salary statement PDF).
- **headerTemplateId** (NUMBER) - Optional - The ID of the text template for the text above the table (on the salary statement PDF).
- **insurances** (JSON) - Optional - List of insurances defined in this template.
- **isDefault** (BOOLEAN) - Optional - Mark the template as the default template to use. Possible values: true, false.
- **isInactive** (BOOLEAN) - Optional - Mark the template as inactive. Inactive templates are greyed out and are no longer suggested. Possible values: true, false.
- **layoutId** (NUMBER) - Optional - The ID of the layout for the salary statement PDF.
- **mailSubject** (TEXT) - Optional - MAX:255 - The mail subject (when sending the salary statement via e-mail). Can contain variables.
- **mailTemplateId** (NUMBER) - Optional - The ID of the text template for the mail body text (when sending the salary statement via e-mail).
- **message** (TEXT) - Optional - MAX:50 - A message for the payment recipient (included in the pain.001 xml file).
- **orgLocationId** (NUMBER) - Optional - The ID of your organization's location.
- **parentId** (NUMBER) - Optional - The ID of the parent template to inherit from.
- **paymentDayOfMonth** (NUMBER) - Optional - MIN:1.0, MAX:31.0 - The day of month used for generating the salary statement payment date. Leave empty to use today instead.
- **sequenceNrId** (NUMBER) - Optional - The ID of the sequence number used for salary statements using this template. See Sequence number.
- **types** (JSON) - Optional - List of salary types defined in this template. This is a JSON array `[{...},{...},...]` with the following parameters:
- **typeId** (NUMBER) - Required - The ID of the salary type. See Salary type.
- **allocations** (JSON) - Optional - Allocations to cost centers. This is a JSON array `[{...},{...},...]` with the following parameters:
- **share** (NUMBER) - Required - Allocation share. For example, if you have two cost centers, and one has a share of 3, and the other has a share of 1, then the amount is allocated 3:1 (which equals 75% to 25%).
- **toCostCenterId** (NUMBER) - Required - ID of cost center to allocate to. See Cost center.
- **creditId** (NUMBER) - Optional - The ID of the account on the credit side. Leave empty to inherit the account from the salary type. See Account.
- **debitId** (NUMBER) - Optional - The ID of the account on the debit side. Leave empty to inherit the account from the salary type. See Account.
- **description** (TEXT) - Optional - An optional description. Leave empty to inherit the description from the salary type.
- **isPreConfig** (BOOLEAN) - Optional - Is pre-configuration? If so, only the values of the salary type are configured here, and the salary type is not automatically added to the salary statement. Otherwise, when selecting this template, the salary type is added. Possible values: true, false.
- **onlyMonth** (NUMBER) - Optional - Set the number of the month (january = 1) for when this salary type becomes active (inactive otherwise).
- **rowName** (TEXT) - Optional - The name as it appears on the salary statement. Leave empty to inherit the name from the salary type.
- **valuesLocal** (JSON) - Optional - A JSON object containing each salary type's field values. This is a simple key/value pair map (the key being the variable name).
```
--------------------------------
### Get journal book entries
Source: https://app.cashctrl.com/static/help/en/api/index.html
Retrieves the journal book entries for the current fiscal period.
```APIDOC
## GET /journal/list.json
### Description
Retrieves the journal book entries for the current fiscal period.
### Method
GET
### Endpoint
https://myorg.cashctrl.com/api/v1/journal/list.json
### Parameters
#### Query Parameters
- **lang** (string) - Optional - Specifies the desired language for the response. Available options: de, fr, it, en.
### Request Example
```bash
curl https://myorg.cashctrl.com/api/v1/journal/list.json -u zjdqcZjsfSYyM4EPG19tHss6X5NIHf0b:
```
```
--------------------------------
### Read layout
Source: https://app.cashctrl.com/static/help/en/api/index.html
Returns a single layout by ID.
```APIDOC
## GET /api/v1/order/layout/read.json
### Description
Returns a single layout by ID.
### Method
GET
### Endpoint
/api/v1/order/layout/read.json
### Parameters
#### Query Parameters
- **id** (NUMBER) - Required - The ID of the entry.
```
--------------------------------
### Continue Order
Source: https://app.cashctrl.com/static/help/en/api/index.html
Continues an order as another type of order, for example, continuing an offer as an invoice.
```APIDOC
## Continue Order
### Description
Continue an order as another order (e.g. continue an offer as an invoice). Returns either a success or multiple error messages (for each issue).
### Method
POST
### Endpoint
/api/v1/order/continue.json
### Parameters
#### Request Body
- **categoryId** (NUMBER) - Required - The ID of the target category.
- **ids** (CSV) - Required - The IDs of one or multiple orders to continue, comma-separated.
- **associateId** (TEXT) - Optional - The ID of the business partner (customer / vendor).
- **date** (DATE) - Optional - The date of the order. Leave empty to use today. Format: YYYY-MM-DD.
- **notes** (HTML) - Optional - Some optional notes. This can contain limited HTML for styling.
- **statusId** (NUMBER) - Optional - The ID of the status to set.
```
--------------------------------
### Get Specific Setting Value
Source: https://app.cashctrl.com/static/help/en/api/index.html
Retrieves the value of a specific setting by its name. This is useful for fetching individual configuration parameters.
```APIDOC
## Get Setting Value
### Description
Returns a specific setting value.
### Method
GET
### Endpoint
GET /api/v1/setting/get
### Parameters
#### Query Parameters
- **name** (TEXT) - Required - The name of the setting.
```
--------------------------------
### List files
Source: https://app.cashctrl.com/static/help/en/api/index.html
Returns a list of files with options for filtering, sorting, and pagination.
```APIDOC
## List files
### Description
Returns a list of files.
### Method
GET
### Endpoint
/api/v1/file/list.json
### Parameters
#### Query Parameters
- **archived** (BOOLEAN) - Optional - Get archived files (only active files otherwise). Defaults to false. Possible values: true, false.
- **categoryId** (NUMBER) - Optional - The ID of the category to filter by.
- **dir** (TEXT) - Optional - The direction of the sort order (ascending or descending). Defaults to 'DESC'. Possible values: ASC, DESC.
- **filter** (JSON) - Optional - An array of filters to filter the list. All filters must match (AND). This is a JSON array `[{...},{...},...]` with the following parameters:
- **comparison** (TEXT) - Optional - Comparison type. Defaults to 'like'. Possible values: eq, like, gt, lt.
- **field** (TEXT) - Optional - The name of the column to filter by.
- **value** (TEXT) - Optional - Text to filter by, or a JSON array of multiple values (OR).
- **limit** (NUMBER) - Optional - The number of entries to retrieve. Defaults to 100.
- **mimeTypes** (CSV) - Optional - Filter the file list by these mime types (comma-separated). For example, use image/* to filter by images only.
- **onlyNotes** (BOOLEAN) - Optional - Flag to only include entries with notes. Defaults to false. Possible values: true, false.
- **onlyWithoutCategory** (BOOLEAN) - Optional - Flag to include only files without a category. Defaults to false. Possible values: true, false.
- **query** (TEXT) - Optional - Fulltext search query.
- **sort** (TEXT) - Optional - The column to sort the list by. Defaults to 'lastUpdated'.
- **start** (NUMBER) - Optional - The starting entry. Defaults to 0.
- **withoutSub** (BOOLEAN) - Optional - Flag to exclude files in sub-categories. Defaults to false. Possible values: true, false.
```
--------------------------------
### Create Payment
Source: https://app.cashctrl.com/static/help/en/api/index.html
Creates a new payment order. This must be executed before downloading the pain.001 or PDF file. Returns a success or multiple error messages.
```APIDOC
## POST /api/v1/order/payment/create.json
### Description
Creates a new payment. This must first be executed before downloading the pain.001 or PDF file with the next endpoint, otherwise we won't be able to match the payments from a camt.052/053/054 file later on. Returns either a success or multiple error messages (for each issue).
### Method
POST
### Endpoint
/api/v1/order/payment/create.json
### Parameters
#### Query Parameters
- **date** (DATE) - Mandatory - The execution date for the payment. Format: YYYY-MM-DD. Example: `2020-01-15`.
- **orderIds** (CSV) - Mandatory - The IDs of the selected orders, comma-separated.
- **amount** (NUMBER) - Optional - A partial payment amount per order. Leave empty to pay all open amounts.
- **isCombine** (BOOLEAN) - Optional - If set, merges multiple payments to the same payee into one transaction. Possible values: true, false.
- **statusId** (NUMBER) - Optional - The ID of the new status for the order.
- **type** (TEXT) - Optional - The type of payment and file to generate. Defaults to PAIN (pain.001). Possible values: PAIN, SEPA_PAIN, WIRE_PDF, CASH_PDF.
```
--------------------------------
### Get Generated Number
Source: https://app.cashctrl.com/static/help/en/api/index.html
Returns the next generated number for a given sequence number ID or type, with an optional category and date.
```APIDOC
## Get generated number
Returns the next generated number for the given ID or type and optionally category.
### Method
GET
### Endpoint
/api/v1/sequencenumber/get
### Parameters
#### Query Parameters
- **id** (NUMBER) - Required - The ID of the sequence number. Either `id` or `type` must be set.
- **type** (TEXT) - Required - The type of the sequence number, meaning: which module the sequence number belongs to. Either `id` or `type` must be set. Possible values: INVENTORY_ARTICLE, INVENTORY_ASSET, JOURNAL, ORDER, PERSON, SALARY.
- **categoryId** (NUMBER) - Optional - Optional ID of the category where a sequence number is defined. This only works together with the `type` parameter. For example if the `type` is PERSON and the `categoryId` the ID of a person category, you'll retrieve the sequence number defined in that category (if defined).
- **date** (DATE) - Optional - An optional date, which will influence the next sequence number to be generated. Format: YYYY-MM-DD. Example: `2020-01-15`.
```
--------------------------------
### Get file contents
Source: https://app.cashctrl.com/static/help/en/api/index.html
Returns the contents (binary) of a single file by ID. This endpoint redirects to the actual file URL, so ensure your client handles redirects.
```APIDOC
## Get file contents
### Description
Returns the contents (binary) of a single file by ID. Note that this will redirect to the actual file URL, as the CashCtrl main server does not deliver files. Be sure to handle redirects when using this endpoint. See example.
### Method
GET
### Endpoint
/api/v1/file/get
### Parameters
#### Query Parameters
- **id** (NUMBER) - Required - The ID of the entry.
```
--------------------------------
### Create layout
Source: https://app.cashctrl.com/static/help/en/api/index.html
Creates a new salary layout with specified configurations. It can return success or a list of error messages.
```APIDOC
## Create layout
### Description
Creates a new layout. Returns either a success or multiple error messages (for each issue).
### Method
POST
### Endpoint
/api/v1/salary/layout/create.json
### Parameters
#### Request Body
- **name** (TEXT) - Required - MAX:100 - A name to describe and identify the layout.
- **elements** (JSON) - Optional - List of elements containing HTML/CSS snippets for the different parts of the layout.
- **elementId** (TEXT) - Required - The layout element ID (e.g. `HEADER`, `FOOTER`, etc.). Possible values: HEADER, FOOTER, GENERAL, ADDRESS_WINDOW, INFO_TABLE, TEXT_ABOVE, ITEMS_TABLE, SALARY_TABLE, TEXT_BELOW, LEGACY.
- **css** (TEXT) - Optional - The CSS snippet.
- **html** (TEXT) - Optional - The HTML snippet.
- **footer** (HTML) - Optional - The footer text, which is displayed at the bottom of the document. This can contain limited HTML for styling. Allowed tags: a, p, div, h1, h2, h3, h4, h5, h6, ul, ol, li, blockquote, b, i, s, u, o, sup, sub, ins, del, strong, strike, tt, code, big, small, br, span, em. Allowed inline CSS rules: background, background-color, color, font, font-size, font-weight, font-style, text-align, text-indent, text-decoration.
- **isCountryEnglish** (BOOLEAN) - Optional - Display country always in english (UPU standard)? Defaults to true. Possible values: true, false.
- **isCountryUppercase** (BOOLEAN) - Optional - Display country uppercase (UPU standard)? Defaults to true. Possible values: true, false.
- **isDisplayBase** (BOOLEAN) - Optional - Display base column? Defaults to true. Possible values: true, false.
- **isDisplayDocumentName** (BOOLEAN) - Optional - Display document name (heading)? Defaults to true. Possible values: true, false.
- **isDisplayDocumentNr** (BOOLEAN) - Optional - Display document number? Defaults to true. Possible values: true, false.
- **isDisplayEmployeeNr** (BOOLEAN) - Optional - Display employee (person) number? Defaults to true. Possible values: true, false.
- **isDisplayLogo** (BOOLEAN) - Optional - Display logo? Defaults to true. Possible values: true, false.
- **isDisplayNr** (BOOLEAN) - Optional - Display salary type number? Defaults to true. Possible values: true, false.
- **isDisplayOrgAddressInWindow** (BOOLEAN) - Optional - Display address of your own organization in address window? Defaults to true. Possible values: true, false.
- **isDisplayPaymentDate** (BOOLEAN) - Optional - Display payment date? Defaults to true. Possible values: true, false.
- **isDisplayQuantity** (BOOLEAN) - Optional - Display quantity column? Defaults to true. Possible values: true, false.
- **isDisplayRate** (BOOLEAN) - Optional - Display rate column? Defaults to true. Possible values: true, false.
- **isDisplaySsn** (BOOLEAN) - Optional - Display social security number? Defaults to true. Possible values: true, false.
- **isInactive** (BOOLEAN) - Optional - Mark the layout as inactive. Inactive layouts are greyed out and are no longer suggested. Possible values: true, false.
- **isOmitSameCountry** (BOOLEAN) - Optional - Omit country, if same between sender/recipient? Defaults to true. Possible values: true, false.
- **letterPaperFileId** (NUMBER) - Optional - An optional letter paper to embed on every page (behind the text). Supported type: PDF. Max. size: 500KB. Use the File API to upload a file and then use the file ID here.
- **logoHeight** (NUMBER) - Optional - MIN:0.1 MAX:9.0 - The height of the logo in centimeters.
- **pageSize** (TEXT) - Optional - The page size of the document. Defaults to A4. Possible values: A0, A1, A2, A3, A4, A5, A6, A7, A8, A9, LEGAL, LETTER, A4R.
- **parentId** (NUMBER) - Optional - The ID of the parent layout to inherit from. Letter paper, HTML and CSS will be inherited from the parent.
```
--------------------------------
### Preview Import
Source: https://app.cashctrl.com/static/help/en/api/index.html
Previews the people that will be imported based on the current import session. Returns a list of people. This step is optional.
```APIDOC
## Preview import
Previews the imported people. Returns a list of people that will be imported. This step can be omitted.
### Parameters
- `id` (NUMBER) - Mandatory - Import session ID from the Create endpoint.
### Endpoint
GET /api/v1/person/import/preview.json
```
--------------------------------
### Create fiscal period
Source: https://app.cashctrl.com/static/help/en/api/index.html
Creates a new manual fiscal period. This allows for custom start and end dates or automatic creation based on existing periods.
```APIDOC
## Create fiscal period
### Description
Creates a new manual fiscal period. Returns either a success or multiple error messages (for each issue).
### Method
POST
### Endpoint
/api/v1/fiscalperiod/create.json
### Parameters
#### Query Parameters
- **end** (DATE) - Optional - The end date of the fiscal period, if `isCustom` is set to true, ignored otherwise. Format: YYYY-MM-DD. Example: `2020-01-15`.
- **isCustom** (BOOLEAN) - Optional - If true, create a custom fiscal period with `start` and `end` date. `type` will be ignored. Defaults to false. Possible values: true, false.
- **name** (TEXT) - Optional - MAX:30 The name of the fiscal period, if `isCustom` is set to true, ignored otherwise.
- **salaryEnd** (DATE) - Optional - The end date of the salary period, if `isCustom` is set to true, ignored otherwise. Format: YYYY-MM-DD. Example: `2020-01-15`.
- **salaryStart** (DATE) - Optional - The start date of the salary period, if `isCustom` is set to true, ignored otherwise. Format: YYYY-MM-DD. Example: `2020-01-15`.
- **start** (DATE) - Optional - The start date of the fiscal period, if `isCustom` is set to true, ignored otherwise. Format: YYYY-MM-DD. Example: `2020-01-15`.
- **type** (TEXT) - Optional - Creation type for creating a calendar year, if `isCustom` is not set. Either LATEST, which will create the next year after the latest existing year, or EARLIEST, which will create the year before the earliest existing year. Defaults to LATEST. Possible values: EARLIEST, LATEST.
```
--------------------------------
### List roundings
Source: https://app.cashctrl.com/static/help/en/api/index.html
Retrieves a list of all available rounding configurations.
```APIDOC
## GET /api/v1/rounding/list.json
### Description
Returns a list of all roundings.
### Method
GET
### Endpoint
/api/v1/rounding/list.json
```