Aller au contenu

Modifier un programme

PATCH /irrigation/schedules/{scheduleId}
  • Scope irrigation:write
  • Clé API x-api-key
  • URL de base https://api.hub.akuasense.com/v1

Corps identique à la création. Ne régénère que les occurrences À VENIR, non détachées : le passé est un journal. Déplacer la cible exige d’être habilité sur l’ancienne ET la nouvelle.

Paramètres de chemin

  • scheduleId integer obligatoire

En-têtes

  • Idempotency-Key string

    Rejoue la même réponse 2xx (24 h)

Corps de la requête

  • targetModuleId integer

    Cible sonde. Exclusif de targetParcelId.

  • targetParcelId integer

    Cible parcelle. Exclusif de targetModuleId.

  • label string
  • freq string obligatoire
    Valeurs : dailyweekly
  • intervalDays integer

    En daily : tous les N jours. Défaut 1.

  • weekdays tableau d’integer

    En weekly : 1 = lundi … 7 = dimanche. Au moins un.

  • startTimes tableau de string obligatoire

    Heures LOCALES (HH:MM), dédupliquées et triées.

  • timezone string obligatoire

    Fuseau IANA. Obligatoire, et jamais UTC — sinon l’heure dérive au changement d’heure.

  • startsOn string date obligatoire
  • endsOn string date
  • confirmationPolicy string
    Valeurs : automanual
    Par défaut : auto
  • isActive boolean
    Par défaut : true
  • inputMode string obligatoire

    Comment l’apport est déclaré. duration n’exige AUCUNE configuration (c’est le mode de repli universel) mais ne produit une dose que si le débit est connu ; depth_mm est pris tel quel ; volume_m3 exige la surface irriguée.

    Valeurs : durationdepth_mmvolume_m3
  • durationMin integer

    Durée en minutes. Alternative à endedAt — une seule des deux est stockée.

  • inputDepthMm number

    Hauteur d’eau en mm. Requise en mode depth_mm, et alors reprise telle quelle.

  • inputVolumeM3 number

    Volume en m³. Requis en mode volume_m3.

Réponse

200

Programme modifié

  • id integer
  • targetParcelId integer peut être null
  • targetModuleId integer peut être null
  • label string peut être null
  • freq string
    Valeurs : dailyweekly
  • intervalDays integer peut être null

    En daily : tous les N jours (1–365). null en weekly.

  • weekdays tableau d’integer peut être null

    En weekly : jours retenus, 1 = lundi … 7 = dimanche. null ou vide en daily.

  • startTimes tableau de string

    Heures LOCALES de déclenchement (HH:MM), 1 à 12. Un tableau, pas une valeur : l’irrigation automatique tourne couramment matin ET soir.

  • timezone string

    Fuseau IANA, obligatoire et jamais UTC : 06:00 doit rester 06:00 chez le client de part et d’autre du changement d’heure.

  • inputMode string

    Comment l’apport est déclaré. duration n’exige AUCUNE configuration (c’est le mode de repli universel) mais ne produit une dose que si le débit est connu ; depth_mm est pris tel quel ; volume_m3 exige la surface irriguée.

    Valeurs : durationdepth_mmvolume_m3
  • durationMin integer peut être null
  • inputDepthMm number peut être null
  • inputVolumeM3 number peut être null
  • startsOn string date
  • endsOn string date peut être null
  • confirmationPolicy string

    auto (défaut) : les occurrences passées basculent seules en done, avec verifiedAt à null — on distingue donc « le programme dit que c’est arrosé » de « quelqu’un l’a vérifié ». manual : elles restent planned jusqu’à confirmation.

    Valeurs : automanual
  • isActive boolean
  • materializedUntil string date-time peut être null

    Jusqu’où les occurrences ont été produites.

Erreurs

  • 400

    Saisie refusée

    INVALID_INPUT_MODEINVALID_DURATIONINVALID_ENDED_ATENDED_BEFORE_STARTEDINVALID_DEPTHINVALID_VOLUMEMISSING_DURATIONMISSING_DEPTHMISSING_VOLUMEINVALID_TARGETINVALID_FREQINVALID_INTERVALINVALID_WEEKDAYSINVALID_START_TIMESINVALID_TIMEZONEINVALID_STARTS_ONINVALID_ENDS_ONINVALID_CONFIRMATION_POLICY
  • 401

    Non authentifié

  • 403

    Scope/rôle insuffisant ou hors société

  • 404

    Programme introuvable

    SCHEDULE_NOT_FOUND