Holidays Configuration
  • 03 May 2023
  • 3 Minutes To Read
  • Dark
    Light
  • PDF

Holidays Configuration

  • Dark
    Light
  • PDF

Article Summary

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.

ActionEndpointDescription
GET/configuration/holidays.yamlGet current holiday configuration.
PUT/configuration/holidays.yamlWrite a new holiday configuration to Mambu.
Please Note

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

NameTypeDescriptionRequired
nonWorkingDaysListA list of the days of the week that are non-working days.
holidaysListA list of holidays.
idNumberThe unique identifier of the holiday.
nameStringName of the holiday.
dayOfMonthNumberThe day of the month of the holiday.
monthOfYearNumberThe month in the year of the holiday.
yearNumberThe year of the holiday.
isAnnuallyRecurringBooleanWhether 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.

Please Note

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.

NameInput Requirements
nonWorkingDaysShould not contain duplicate keys.
idMandatory, unique, between 1 and 2,147,483,647.
nameMandatory, not blank and between 1 and 256 characters.
dayOfMonthMust be between 1 and 31.
monthOfYearMust be between 1 and 12.
dateMust be between 1900 and 9999.
Combination of dayOfMonth, monthOfYear, and dateMust represent a valid date.
isAnnuallyRecurringMust be true or false.

Was this article helpful?