API Calendrier Marocain | Jours Fériés & Ouvrables REST + SDK Python Misc API

Misc endpoints

OpenAPI Specification

calendar-api-ma-misc-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Calendar Misc API
  version: v1
  summary: Calendar API for Moroccan Holidays and Open Business Days
  description: '

    ## Try Calendar API


    This interactive panel allows you to explore the whole API and to understand the different datastructures and parameters

    used by every endpoint. You can also test every **active** APIKey you have.


    ## Setup your APIKey


    Copy any **active** APIKey from your console and set it in the `Authentication` side panel.


    That''s it :-), now you can explore any endpoint


    ## Holidays


    This API allows to list, search and check if a `date` is a Moroccan holiday.


    | Endpoint                 |                                                                                                                        Description |

    | ------------------------ | :--------------------------------------------------------------------------------------------------------------------------------- |

    | **/holidays/is-holiday** |                                                                                          Checks if a date is an `Official` Holiday |

    | **/holidays/{year}**     |                                                                                                     List the holidays of the year. |

    | **/holidays**            |  Lists all national Holidays. Since Morocco is a Kingdom, there are some Holidays that depend on the birthday of the current King. |


    **N.B:**

    Please note that if it''s a **future** `year`, the **religious holidays** are `Estimated` and not official because they depend on the moon sighting.


    Once confirmed, the Holiday becomes `Official` and the adequate flag will be updated accordingly.


    ## Business Days (bdays)


    This API calculates the `next` and `previous` **Open Business Day** of a date. You can also get the Open Days for a whole year or any month of a year


    | Endpoint                  | Description                                                                                     |

    | ------------------------- | ----------------------------------------------------------------------------------------------- |

    | **/bdays/{year}**         | Generate the Business days for the whole `year`                                                 |

    | **/bdays/{year}/{month}** | Generate the Business days of a `month` of the `year`                                           |

    | **/bdays/next**           | Calculate **the next** Open day relative to the provided `date`                                 |

    | **/bdays/previous**       | Calculate **the previous** Open day relative to the provided `date`                             |

    | **/bdays/count**          | Count the business days between 2 dates (included)                                              |

    | **/bdays/between**        | List the business days between 2 dates (included)                                               |

    | **/bdays/span/month**     | Calculate the interval (Start/End date) of a `month`. i.e: Interval of the month 5 of year 2025 |

    | **/bdays/span/quarter**   | Calculate the interval (Start/End date) of a `quarter`. i.e: Interval of the Q2 of year 2024    |

    | **/bdays/span/semester**  | Calculate the interval (Start/End date) of a `semester`. i.e: Interval of the S1 of year 2026   |

    | **/bdays/span/year**      | Calculate the interval (Start/End date) of the `year`. i.e: Interval of the year 2021           |



    ## Data dictionary


    ### Holiday Type:


    | Value           |                                                                  Description |

    | --------------- | :--------------------------------------------------------------------------- |

    | **National**    |                                               The date is a national Holiday |

    | **Religious**   |  The date is a Religious Holiday (Check the status if it''s Confirmed or not) |

    | **Exceptional** |                                           The date is an exceptional Holiday |


    ### HolidayStatus (status)


    | Value         |                                                Description |

    | ------------- | :--------------------------------------------------------- |

    | **Official**  |                                    The Holiday is Official |

    | **Estimated** |  Religious Holidays are estimated before the moon sighting |


    '
  contact:
    name: UNRAVEL DESIGNS
    url: https://unraveldesigns.ma
    email: ud@unraveldesigns.ma
  license:
    name: Proprietary
servers:
- url: https://calendar-api.ma
  description: Casablanca (production) — resolved from the relative server "/" published in the original spec at https://calendar-api.ma/schema/openapi.json
security:
- apiKey: []
- sessionCookie: []
tags:
- name: Misc
  description: Misc endpoints
  x-tag-expanded: false
paths:
  /health:
    get:
      tags:
      - Misc
      summary: API Health
      operationId: HealthHealth
      responses:
        '200':
          description: Request fulfilled, document follows
          headers: {}
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SystemHealth'
      deprecated: false
components:
  schemas:
    SystemHealth:
      properties:
        api_status:
          type: boolean
        appname:
          type: string
          default: calendar-api
      type: object
      required: []
      title: SystemHealth
  securitySchemes:
    apiKey:
      type: apiKey
      description: API Key authentication and authorization.
      name: X-API-KEY
      in: header
    sessionCookie:
      type: apiKey
      description: Session cookie authentication.
      name: session
      in: cookie
externalDocs:
  url: https://docs.calendar-api.ma
  description: Documentation externe de l'API