Aller au contenu

Créer une annotation

POST /modules/{id}/annotations
  • Scope annotations:write
  • Clé API x-api-key
  • URL de base https://api.hub.akuasense.com/v1

Une h-line de la courbe humidity dont style.fill vaut threshold2 pose le point de flétrissement et crée l’alerte associée (source: annotation), comme dans le hub ; threshold1 pose la capacité au champ. Les deux nourrissent GET /modules/{id}/agronomic-state. Un seuil se pose en vwc : dans une autre unité, la saisie est refusée (THRESHOLD_REQUIRES_VWC). unit n’existe que sur les courbes humidity et humidity-detail (INVALID_ANNOTATION_UNIT ailleurs). La clé doit avoir un utilisateur derrière elle : c’est l’auteur.

Paramètres de chemin

  • id integer obligatoire

En-têtes

  • Idempotency-Key string

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

Corps de la requête

  • chart_type string obligatoire

    Courbe du hub qui porte l’annotation. humidity : courbe de synthèse, l’humidité pondérée — c’est elle qui porte les seuils agronomiques. humidity-detail : humidité par profondeur. humidity-heatmap : carte de chaleur. temperature : température. tensio : sonde tensiométrique (tension reste accepté en entrée).

    Valeurs : humidityhumidity-detailhumidity-heatmaptemperaturetensio
  • type string obligatoire

    Forme du tracé (voir Annotation).

  • p1 tableau d’any obligatoire

    Un point de la courbe, [instant, valeur] : l’instant en millisecondes depuis le 1er janvier 1970 UTC, la valeur dans l’unité de l’annotation (unit ; en humidité, % de VWC par défaut).

  • p2 tableau d’any

    Un point de la courbe, [instant, valeur] : l’instant en millisecondes depuis le 1er janvier 1970 UTC, la valeur dans l’unité de l’annotation (unit ; en humidité, % de VWC par défaut).

  • unit string

    Unité de la hauteur des points, sur les courbes humidity et humidity-detail (voir AnnotationUnit). Absente : vwc.

    Valeurs : vwcvwc_maxmm
    Par défaut : vwc
  • content object

    Style et texte : { style, text }.

  • style object

    Raccourci, fusionné dans content.style.

  • text string

    Raccourci, fusionné dans content.text.

Réponse

201

Annotation créée

  • id string uuid toujours présent
  • module_id integer toujours présent
  • probe_id any peut être null toujours présent

    Obsolète : toujours null.

  • chart_type string toujours présent

    Courbe du hub qui porte l’annotation. humidity : courbe de synthèse, l’humidité pondérée — c’est elle qui porte les seuils agronomiques. humidity-detail : humidité par profondeur. humidity-heatmap : carte de chaleur. temperature : température. tensio : sonde tensiométrique (tension reste accepté en entrée).

    Valeurs : humidityhumidity-detailhumidity-heatmaptemperaturetensio
  • type string toujours présent

    Forme du tracé, telle que la dessinent les outils du hub : h-line (ligne horizontale), v-line (verticale), segment, ray (demi-droite), infinite (droite), arrow, h-free, rect (zone), text. D’anciennes annotations portent line.

  • p1 tableau d’any toujours présent

    Un point de la courbe, [instant, valeur] : l’instant en millisecondes depuis le 1er janvier 1970 UTC, la valeur dans l’unité de l’annotation (unit ; en humidité, % de VWC par défaut).

  • p2 tableau d’any peut être null toujours présent

    Second point, pour les tracés qui en ont deux.

  • unit string peut être null toujours présent

    Unité de la hauteur des points (p1, p2), c’est-à-dire la vue de la courbe à laquelle l’annotation appartient : elle ne s’affiche que dans cette unité. Courbes humidity et humidity-detail seulement : vwc — humidité volumique, %, l’unité de référence, celle de l’alerte et de l’état hydrique —, vwc_max — part de la saturation du sol, % —, mm. null sur les autres courbes, qui n’ont qu’une unité.

    Valeurs : vwcvwc_maxmmnull
  • content object toujours présent

    Style et texte du tracé : { style, text }.

  • user_id string toujours présent

    Auteur : userId d’un membre (GET /company/users).

  • created_at string date-time toujours présent
  • updated_at string date-time toujours présent
  • style object

    Copie de content.style, présente quand il existe.

  • text string

    Copie de content.text, présente quand il existe.

Erreurs

  • 400

    Saisie refusée

    invalid_idinvalid_bodyINVALID_ANNOTATION_UNITTHRESHOLD_REQUIRES_VWC
  • 401

    Non authentifié

  • 403

    Scope ou rôle insuffisant, ressource hors société, ou clé sans utilisateur

    insufficient_scopeinsufficient_roleforbidden_resourceno_user