Create an annotation
/modules/{id}/annotations An h-line of the humidity curve whose style.fill is threshold2 sets the wilting point and creates the matching alert (source: annotation), just as in the hub; threshold1 sets field capacity. Both feed GET /modules/{id}/agronomic-state. A threshold is set in vwc: in any other unit the request is refused (THRESHOLD_REQUIRES_VWC). unit only exists on the humidity and humidity-detail curves (INVALID_ANNOTATION_UNIT elsewhere). The key must have a user behind it: that user is the author.
Path parameters
-
idinteger required
Headers
-
Idempotency-KeystringReplays the same 2xx response (24 h)
Request body
-
chart_typestring requiredHub curve the annotation belongs to.
humidity: the summary curve, weighted moisture — this is the one carrying the agronomic thresholds.humidity-detail: moisture per depth.humidity-heatmap: heat map.temperature: temperature.tensio: tensiometer probe (tensionis still accepted on input). -
typestring requiredShape of the drawing (see
Annotation). -
p1array of any requiredA point of the curve,
[instant, value]: the instant in milliseconds since 1 January 1970 UTC, the value in the annotation’s unit (unit; for moisture, % VWC by default). -
p2array of anyA point of the curve,
[instant, value]: the instant in milliseconds since 1 January 1970 UTC, the value in the annotation’s unit (unit; for moisture, % VWC by default). -
unitstringUnit of the points’ height, on the
humidityandhumidity-detailcurves (seeAnnotationUnit). Omitted:vwc. -
contentobjectStyle and text:
{ style, text }. -
styleobjectShorthand, merged into
content.style. -
textstringShorthand, merged into
content.text.
Response
Annotation created
-
idstring uuid always present -
module_idinteger always present -
probe_idany nullable always presentDeprecated: always
null. -
chart_typestring always presentHub curve the annotation belongs to.
humidity: the summary curve, weighted moisture — this is the one carrying the agronomic thresholds.humidity-detail: moisture per depth.humidity-heatmap: heat map.temperature: temperature.tensio: tensiometer probe (tensionis still accepted on input). -
typestring always presentShape of the drawing, as the hub’s tools draw it:
h-line(horizontal line),v-line(vertical),segment,ray(half-line),infinite(full line),arrow,h-free,rect(area),text. Older annotations carryline. -
p1array of any always presentA point of the curve,
[instant, value]: the instant in milliseconds since 1 January 1970 UTC, the value in the annotation’s unit (unit; for moisture, % VWC by default). -
p2array of any nullable always presentSecond point, for drawings that have two.
-
unitstring nullable always presentUnit of the points’ height (
p1,p2), that is, the view of the curve the annotation belongs to: it is only shown in that unit.humidityandhumidity-detailcurves only:vwc— volumetric water content, %, the reference unit, the one used by the alert and the water status —,vwc_max— share of soil saturation, % —,mm.nullon the other curves, which have a single unit. -
contentobject always presentStyle and text of the drawing:
{ style, text }. -
user_idstring always presentAuthor:
userIdof a member (GET /company/users). -
created_atstring date-time always present -
updated_atstring date-time always present -
styleobjectCopy of
content.style, present when there is one. -
textstringCopy of
content.text, present when there is one.
Errors
- 400
Entry refused
invalid_idinvalid_bodyINVALID_ANNOTATION_UNITTHRESHOLD_REQUIRES_VWC - 401
Not authenticated
- 403
Insufficient scope or role, resource outside your company, or key with no user
insufficient_scopeinsufficient_roleforbidden_resourceno_user