- 03 May 2023
- 3 Minutes To Read
- Print
- DarkLight
- PDF
Holidays Configuration
- Updated On 03 May 2023
- 3 Minutes To Read
- Print
- DarkLight
- PDF
Holidays and non-working days define on which days there will be no loan account installments. Holidays fall on specific dates in the year. Non-working days are days of the week which are regularly not considered work days. For more information about this topic, see Holidays and Non-Working Days.
Whereas non-working days apply to your entire organisation, holidays can be defined as either organisation-wide or for specific branches. The configuration as code for holidays feature only manages the organization-wide holidays. To manage branch-specific holidays, you must use the configuration as code for branches feature. For more information, see Branches Configuration.
With Configuration as Code (CasC), you may batch configure your holiday configuration via the API using YAML. For general information on CasC, see Configuration as Code Overview.
API Operations
CasC for holidays supports two operations.
Action | Endpoint | Description |
---|---|---|
GET | /configuration/holidays.yaml | Get current holiday configuration. |
PUT | /configuration/holidays.yaml | Write a new holiday configuration to Mambu. |
If you PUT
a configuration to Mambu, any current configuration settings not included in the new YAML configuration will be deleted. PATCH
requests are not currently supported.
Requests
For general information on CasC requests such as authentication and required headers, see Configuration as Code Overview.
The following section shows sample requests using curl and basic authentication. For all examples, replace TENANT_NAME
with your actual tenant name.
GET configuration
curl -X GET 'https://TENANT_NAME.mambu.com/api/configuration/holidays.yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml' \
-H 'Authorization: Basic {auth}'
{auth} is the base-64-encoded value of username:password
. For more information, see Authentication in our API reference.
PUT configuration
curl -X PUT 'https://TENANT_NAME.mambu.com/api/configuration/holidays.yaml' \
-H 'Accept: application/vnd.mambu.v2+yaml' \
-H 'Content-Type: application/yaml' \
-H 'Authorization: Basic {auth}' \
--data-binary @holidays.yaml
{auth} is the base-64-encoded value of username:password
. For more information, see Authentication in our API reference.
@holidays.yaml
represents the absolute path of the file on your device.
(Use “--data-raw” if you want to specify the YAML body inline).
Configuration example
nonWorkingDays:
- "TUESDAY"
- "FRIDAY"
holidays:
- id: 1
name: " holiday 1"
dayOfMonth: 11
monthOfYear: 01
year: 1995
isAnnuallyRecurring: "true"
- id: 2
name: " holiday 2"
dayOfMonth: 11
monthOfYear: 01
year: 1995
isAnnuallyRecurring: "true"
- id: 4
name: " holiday 4"
dayOfMonth: 9
monthOfYear: 7
year: 2029
isAnnuallyRecurring: "true"
- id: 5
name: " holiday 5"
dayOfMonth: 5
monthOfYear: 4
year: 2011
isAnnuallyRecurring: "true"
Attributes
Name | Type | Description | Required |
---|---|---|---|
nonWorkingDays | List | A list of the days of the week that are non-working days. | ✘ |
holidays | List | A list of holidays. | ✘ |
id | Number | The unique identifier of the holiday. | ✔ |
name | String | Name of the holiday. | ✔ |
dayOfMonth | Number | The day of the month of the holiday. | ✔ |
monthOfYear | Number | The month in the year of the holiday. | ✔ |
year | Number | The year of the holiday. | ✔ |
isAnnuallyRecurring | Boolean | Whether the holiday recurs every year. | ✔ |
Replies
If you do not receive a 200 OK
status code then fix any validation errors and make another PUT
request until you receive a 200 OK
status code.
If you PUT
a valid YAML configuration to the API and you do not receive a 200 OK
status code within 60 seconds, you may receive a 504 Gateway Timeout
status code. We expect all responses to be below 60 seconds.
If you encounter this issue, please contact us through Mambu Support so we can investigate it.
Validations
With all use cases, a validation of the uploaded file will be done, ensuring the following:
- Syntax is correct as per YAML standards and the template for holidays.
- Minimum requirements indicates the line with the syntax error.
- Content is correct.
Configuration settings may be specified in any order.
Name | Input Requirements |
---|---|
nonWorkingDays | Should not contain duplicate keys. |
id | Mandatory, unique, between 1 and 2,147,483,647. |
name | Mandatory, not blank and between 1 and 256 characters. |
dayOfMonth | Must be between 1 and 31. |
monthOfYear | Must be between 1 and 12. |
date | Must be between 1900 and 9999. |
Combination of dayOfMonth , monthOfYear , and date | Must represent a valid date. |
isAnnuallyRecurring | Must be true or false . |