MoroccoAPIDocumentation
Référence API

Choisissez une ressource. Ajustez les paramètres. Essayez.

Sans clé APIRéponses JSONCORS ouvert

Vérifier une date

GET/api/v2/holidays/check

À savoir. Les fêtes religieuses dépendent d’une confirmation officielle. Une date estimée ne vaut pas confirmation. Week-end : samedi et dimanche ; plage de 366 jours maximum.

Comprendre le contexte

Le calendrier commun de l’administration publique utilise samedi et dimanche comme week-end. Les fêtes religieuses peuvent attendre une confirmation officielle : null signifie inconnu, pas un jour ouvré garanti. Les calendriers d’entreprises peuvent différer.

Paramètres

01
stringObligatoire · Filtre

Date civile au format YYYY-MM-DD.

date
Format^\d{4}-\d{2}-\d{2}$
Comprendre la réponse

data: Les résultats demandés, sous forme d’objet ou de liste.

meta: Sources, licence et dates du jeu de données. null signifie une valeur inconnue ou indisponible.

API v2 est le chemin de référence. Les anciens chemins /api/v1 restent des alias de compatibilité du comportement actuellement publié, pagination comprise ; aucune date de suppression n’est fixée.

Champs renvoyés 16

[] désigne chaque élément d’une liste. null signifie inconnu ou indisponible, jamais zéro. La langue du guide ne traduit pas les valeurs des sources.

dataobject

Résultat demandé : objet unique ou liste.

data.datestring

Date civile au format AAAA-MM-JJ ; null si elle attend confirmation.

data.is_weekendboolean

true si la date est un samedi ou un dimanche dans ce calendrier.

data.is_holidayboolean | null

true si férié, false si non férié, null si une date non confirmée empêche de conclure.

data.is_business_dayboolean | null

Jour ouvré hors week-end et jours fériés ; null si le calendrier ne permet pas de conclure.

data.holidaysobject[]

Fêtes connues correspondant à la date demandée.

data.holidays[].idstring

Identifiant de cet élément dans le jeu de données ; pas nécessairement un code officiel.

data.holidays[].datestring | null

Date civile au format AAAA-MM-JJ ; null si elle attend confirmation.

data.holidays[].namesobject

Noms du jour férié dans les langues disponibles.

data.holidays[].names.arstring

Valeur en arabe ; null si aucune traduction n’est fournie.

data.holidays[].names.frstring

Valeur en français ; null si aucune traduction n’est fournie.

data.holidays[].names.enstring

Valeur en anglais ; null si aucune traduction n’est fournie.

data.holidays[].typestring

national : fête civile nationale ; religious : fête religieuse dont la date peut attendre l’annonce officielle.

Valeurs acceptées: "national" "religious"

data.holidays[].statusstring

fixed : date civile fixe ; confirmed : date religieuse confirmée ; pending_confirmation : date non encore confirmée.

Valeurs acceptées: "fixed" "confirmed" "pending_confirmation"

data.holidays[].dayinteger

Rang du jour d’une fête de plusieurs jours : 1 pour le premier, 2 pour le second.

data.holidays[].source_urlsstring[]

Liens vers les publications justifiant cette fête et sa date.

Structure des données
{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "data",
    "meta"
  ],
  "properties": {
    "data": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "date",
        "is_weekend",
        "is_holiday",
        "is_business_day",
        "holidays"
      ],
      "properties": {
        "date": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "format": "date"
        },
        "is_weekend": {
          "type": "boolean"
        },
        "is_holiday": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "string",
              "nullable": true,
              "enum": [
                null
              ]
            }
          ]
        },
        "is_business_day": {
          "anyOf": [
            {
              "type": "boolean"
            },
            {
              "type": "string",
              "nullable": true,
              "enum": [
                null
              ]
            }
          ]
        },
        "holidays": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "id",
              "date",
              "names",
              "type",
              "status",
              "day",
              "source_urls"
            ],
            "properties": {
              "id": {
                "type": "string"
              },
              "date": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                    "format": "date"
                  },
                  {
                    "type": "string",
                    "nullable": true,
                    "enum": [
                      null
                    ]
                  }
                ]
              },
              "names": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "ar",
                  "fr",
                  "en"
                ],
                "properties": {
                  "ar": {
                    "type": "string"
                  },
                  "fr": {
                    "type": "string"
                  },
                  "en": {
                    "type": "string"
                  }
                }
              },
              "type": {
                "type": "string",
                "enum": [
                  "national",
                  "religious"
                ]
              },
              "status": {
                "type": "string",
                "enum": [
                  "fixed",
                  "confirmed",
                  "pending_confirmation"
                ]
              },
              "day": {
                "type": "integer",
                "minimum": 1,
                "maximum": 2
              },
              "source_urls": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "minItems": 1
              }
            }
          }
        }
      }
    },
    "meta": {
      "type": "object",
      "additionalProperties": false,
      "required": [
        "dataset",
        "total",
        "license",
        "license_url",
        "reviewed_at",
        "transformation_version",
        "scope",
        "weekend_days",
        "years",
        "calendar_complete",
        "pending_holiday_days",
        "sources",
        "limitations"
      ],
      "properties": {
        "dataset": {
          "enum": [
            "moroccan-public-holidays"
          ]
        },
        "total": {
          "type": "integer",
          "minimum": 0
        },
        "license": {
          "type": "string"
        },
        "license_url": {
          "type": "string"
        },
        "reviewed_at": {
          "type": "string",
          "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
          "format": "date"
        },
        "transformation_version": {
          "type": "string"
        },
        "scope": {
          "enum": [
            "public-administration-common-calendar"
          ]
        },
        "weekend_days": {
          "type": "array",
          "items": {
            "type": "string",
            "enum": [
              "Saturday",
              "Sunday"
            ]
          }
        },
        "years": {
          "type": "array",
          "items": {
            "type": "integer"
          }
        },
        "calendar_complete": {
          "type": "boolean"
        },
        "pending_holiday_days": {
          "type": "integer",
          "minimum": 0
        },
        "sources": {
          "type": "array",
          "items": {
            "type": "object",
            "additionalProperties": false,
            "required": [
              "producer",
              "source_url",
              "source_updated_at"
            ],
            "properties": {
              "producer": {
                "type": "string"
              },
              "source_url": {
                "type": "string"
              },
              "source_updated_at": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
                    "format": "date"
                  },
                  {
                    "type": "string",
                    "nullable": true,
                    "enum": [
                      null
                    ]
                  }
                ]
              }
            }
          }
        },
        "limitations": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    }
  }
}
Sources et pagination 17
metaobject

Contexte du résultat : sources, dates, licence et pagination si applicable.

meta.datasetstring

Nom du jeu de données auquel appartient le résultat ou la source.

Valeurs acceptées: "moroccan-public-holidays"

meta.totalinteger

Nombre de résultats correspondant aux filtres, avant pagination ; pas la taille de cette page.

meta.licensestring

Licence de réutilisation. mixed signifie des licences différentes : consultez chaque source.

meta.license_urlstring

Lien vers les conditions de la licence ; null si aucune URL n’est fournie.

meta.reviewed_atstring

Date de dernière vérification des sources du calendrier.

meta.transformation_versionstring

Version des règles de conversion du jeu de données ; distincte de l’API.

meta.scopestring

Périmètre couvert par le jeu de données ; ne présume pas une couverture universelle.

Valeurs acceptées: "public-administration-common-calendar"

meta.weekend_daysstring[]

Jours de repos du calendrier dans meta ; dans data, nombre de jours de week-end sur la période.

meta.yearsinteger[]

Années couvertes par le calendrier.

meta.calendar_completeboolean

true si toutes les dates nécessaires sont confirmées dans le calendrier demandé.

meta.pending_holiday_daysinteger

Nombre de jours fériés dont la date attend une confirmation officielle.

meta.sourcesobject[]

Sources utilisées pour ce résultat, avec leurs producteurs et licences.

meta.sources[].producerstring

Organisme qui publie la donnée originale.

meta.sources[].source_urlstring

Page de présentation ou de publication de la source.

meta.sources[].source_updated_atstring | null

Dernière mise à jour annoncée par la source ; pas la date de récupération.

meta.limitationsstring[]

Limites connues de la source ou de la couverture ; à lire avant d’utiliser les données.

Erreurs
  • 400: Paramètre invalide ou manquant.

Les erreurs renvoient error.code, error.message et error.request_id.

errorobject

Détails d’une requête échouée ; remplace data et meta.

error.codestring

Code stable de l’erreur, par exemple RESOURCE_NOT_FOUND ; à utiliser dans votre logique.

error.messagestring

Explication lisible de l’erreur ; utilisez code pour la logique de votre application.

error.request_idstring

Identifiant du traitement de cette requête, utile pour retrouver un problème.

Votre requête

GET · JSON

URL de base

Réponse

La réponse réelle s’affichera ici.

La langue change le guide, pas les clés JSON ni les valeurs des sources.