openapi: 3.0.3 info: title: BEEP description: 'BEEP API specification' version: 1.0.0 servers: - url: 'https://api.beep.nl' paths: /api/alerts: get: summary: "api/alerts GET\nList all user alerts that are not deleted." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer afdED8ka46v6ehPbV3c5g1Z' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\AlertController post: summary: "api/alerts/{id} POST\nCreate the specified user alert." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer d5aE14cgVDhe6vbZ683kafP' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\AlertController requestBody: required: true content: application/json: schema: type: object properties: alert_rule_id: type: integer description: 'The alert rule that has been alerted for.' example: 20 measurement_id: type: integer description: 'The physical quantity / unit to alert for.' example: 3 alert_value: type: string description: 'The alert value.' example: mollitia show: type: boolean description: 'Set to false (0) if the alert should NOT be shown anymore.' example: false required: - alert_rule_id - measurement_id - alert_value '/api/alerts/{id}': get: summary: "api/alerts/{id} GET\nDisplay the specified user alert." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer Dd6hZ5aE6vb3a4Pegc1fVk8' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\AlertController put: summary: "api/alerts/{id} PATCH\nUpdate the specified user alert." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer avdVZk8436be6EPg1hcafD5' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\AlertController requestBody: required: false content: application/json: schema: type: object properties: show: type: boolean description: 'Set to false (0) if the alert should NOT be shown anymore.' example: false delete: summary: "api/alerts/{id} DELETE\nDelete the specified user alert, or all if id === 'all', or specific id's when provided &alert_ids=1,4,7" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer k1aZd4bf8ePv3E6cV56gDah' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\AlertController parameters: - in: path name: id description: 'The ID of the alert.' example: 1 required: true schema: type: integer /api/alert-rules: get: summary: "api/alert-rules GET\nList all user alert rules that are not deleted." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer a64aPdv1cVhk5E3gfe6DbZ8' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\AlertRuleController post: summary: "api/alert-rules/{id} POST\nCreate the specified user alert rule." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer k6h6b3cgafv8PaD145VEdeZ' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\AlertRuleController requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'The name of the alert rule.' example: repellendus description: type: string description: 'The description of the alert rule.' example: nihil measurement_id: type: integer description: 'Het value veld is verplicht wanneer formulas niet aanwezig is.' example: 12 calculation: type: string description: 'Het value veld is verplicht wanneer formulas niet aanwezig is.' example: null comparator: type: string description: 'Het value veld is verplicht wanneer formulas niet aanwezig is.' example: null comparison: type: string description: 'Het value veld is verplicht wanneer formulas niet aanwezig is.' example: null threshold_value: type: number description: 'Het value veld is verplicht wanneer formulas niet aanwezig is.' example: 3527054.7321377 formulas: type: array description: '' example: - [] items: type: object properties: alert_rule_id: type: integer description: '' example: 2 measurement_id: type: integer description: '' example: 1 calculation: type: string description: '' example: mollitia comparator: type: string description: '' example: commodi comparison: type: string description: '' example: fuga period_minutes: type: integer description: 'value dient minimaal 0 te zijn.' example: 0 threshold_value: type: number description: '' example: 323.6134619 future: type: boolean description: '' example: false logical: type: string description: '' example: null '*': type: object description: '' example: measurement_id: 11 properties: measurement_id: type: integer description: 'The physical quantity / unit to alert for.' example: 11 calculation: type: string description: 'Calculation to be done with measurement value(s): (min, max, ave, der, cnt) -> Minimum, Maximum, Average (mean), Derivative, Count.' example: vero comparator: type: string description: 'Logical comparator to perform with comparison calculation result and threshold_value (=, <, >, <=, >=).' example: animi comparison: type: string description: 'Comparison function to perform with measurement value(s): (val, dif, abs, abs_dif) -> Value, Difference, Absolute value, Absolute value of the difference.' example: corrupti threshold_value: type: number description: 'The threshold value beyond which the alert will be sent.' example: !!float 172 period_minutes: type: integer description: 'The amount of minutes used for calculating the (min, max, ave, der, cnt) of the measurement value(s). If not provided, the last recorded value is used as a reference.' example: 1 required: - measurement_id - calculation - comparator - comparison - period_minutes - threshold_value - future - '*' calculation_minutes: type: string description: '' example: totam alert_on_occurrences: type: integer description: 'Amount of occurences that a calculated value goed beyond the threshold_value. If not filled the standard is 1 (immediate alert).' example: 19 alert_via_email: type: boolean description: 'Set to false (0) if an e-mail should NOT be sent on alert. Default: true (1).' example: false webhook_url: type: string description: 'URL of optional endpoint to call on alert for web hook integration.' example: voluptas active: type: boolean description: 'Set to false (0) if the alert should NOT be active. Default: true (1).' example: true exclude_months: type: array description: 'Array of month indexes (1-12). If not filled the standard alert is ''always on''.' example: - 1 - 2 - 3 - 11 - 12 items: type: string exclude_hours: type: array description: 'Array of hour indexes (0-23). If not filled the standard alert is ''always on''.' example: - 0 - 1 - 2 - 3 - 22 - 23 items: type: string exclude_hive_ids: type: array description: 'Array of Hive ids. If not filled the standard alert is evaluated on ''all hives''.' example: - corporis items: type: string required: - calculation_minutes '/api/alert-rules/{id}': get: summary: "api/alert-rules/{id} GET\nDisplay the specified user alert rules." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 6ae1ZfkEPVd3bc48g65vhDa' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\AlertRuleController put: summary: "api/alert-rules/{id} PATCH\nUpdate the specified user alert rule." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer f61aPeV68abkvgZ543dcEhD' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\AlertRuleController requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: 'The name of the alert rule.' example: dignissimos description: type: string description: 'The description of the alert rule.' example: id measurement_id: type: integer description: 'The physical quantity / unit to alert for.' example: 18 calculation: type: string description: 'Calculation to be done with measurement value(s): (min, max, ave, der, cnt) -> Minimum, Maximum, Average (mean), Derivative, Count.' example: dolorem comparator: type: string description: 'Logical comparator to perform with comparison calculation result and threshold_value (=, <, >, <=, >=).' example: voluptas comparison: type: string description: 'Comparison function to perform with measurement value(s): (val, dif, abs, abs_dif) -> Value, Difference, Absolute value, Absolute value of the difference.' example: qui threshold_value: type: number description: 'The threshold value beyond which the alert will be sent.' example: 0.39 formulas: type: array description: '' example: - [] items: type: object properties: alert_rule_id: type: string description: '' example: null measurement_id: type: integer description: '' example: 12 calculation: type: string description: '' example: molestiae comparator: type: string description: '' example: dicta comparison: type: string description: '' example: recusandae period_minutes: type: integer description: 'value dient minimaal 0 te zijn.' example: 0 threshold_value: type: number description: '' example: 708013.2 future: type: boolean description: '' example: true logical: type: string description: '' example: null required: - measurement_id - calculation - comparator - comparison - period_minutes - threshold_value - future calculation_minutes: type: integer description: 'The amount of minutes used for calculating the (min, max, ave, der, cnt) of the measurement value(s). If not provided, the last recorded value is used as a reference.' example: 7 alert_on_occurrences: type: integer description: 'Amount of occurences that a calculated value goed beyond the threshold_value. If not filled the standard is 1 (immediate alert).' example: 16 alert_via_email: type: boolean description: 'Set to false (0) if an e-mail should NOT be sent on alert. Default: true (1).' example: true webhook_url: type: string description: 'URL of optional endpoint to call on alert for web hook integration.' example: et active: type: boolean description: 'Set to false (0) if the alert should NOT be active. Default: true (1).' example: false exclude_months: type: array description: 'Array of month indexes (1-12). If not filled the standard alert is ''always on''.' example: - 1 - 2 - 3 - 11 - 12 items: type: string exclude_hours: type: array description: 'Array of hour indexes (0-23). If not filled the standard alert is ''always on''.' example: - 0 - 1 - 2 - 3 - 22 - 23 items: type: string exclude_hive_ids: type: array description: 'Array of Hive ids. If not filled the standard alert is evaluated on ''all hives''.' example: - et items: type: string required: - measurement_id - calculation - comparator - comparison - threshold_value delete: summary: "api/alert-rules/{id} DELETE\nDelete the specified user alert rule." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer b5E6D6ce3kZVdaPf4a1ghv8' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\AlertRuleController parameters: - in: path name: id description: 'The ID of the alert rule.' example: 1 required: true schema: type: integer /api/alert-rules-default: get: summary: "api/alert-rules-default GET\nList all default alert rules that are available." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer ge5f1Dd6P364bEcakV8haZv' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\AlertRuleController /api/categories: get: summary: "api/categories\nDisplay a listing of the inspection categories." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer gZ5DhEfVd3a16684vePabkc' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - id: 1 type: system name: apiary icon: null source: null required: 0 input: list trans: en: Apiary nl: Bijenstand de: Bienenstand fr: Rucher ro: Stupină pt: Apiário es: Apiario da: Bigård unit: null children: - id: 2 type: '0' name: name icon: null source: null required: 0 input: text trans: en: Name nl: Naam de: Name fr: Nom ro: Nume pt: Nome es: Nombre da: Navn unit: null - id: 3 type: list name: location icon: null source: null required: 0 input: select_location trans: en: Location nl: Locatie de: Ort fr: Lieux ro: Locație pt: Localização es: Ubicación da: Lokation unit: null - id: 12 type: '1' name: number_of_bee_colonies icon: null source: null required: 0 input: number_positive trans: en: 'Number of bee colonies' nl: 'Aantal bijenvolken' de: 'Anzahl an Bienenvölkern' fr: 'Nombre de colonies' ro: 'Număr de colonii' pt: 'Número de colónias' es: 'Número de colonias de abejas melíferas' da: 'Antal bifamilier' unit: null - id: 13 type: list name: orientation icon: null source: null required: 0 input: options trans: en: Orientation nl: Orientatie de: Orientierung fr: Orientation ro: Orientare pt: Orientação es: Orientación da: Retning unit: null - id: 25 type: list name: status icon: null source: null required: 0 input: options trans: en: Status nl: Status de: Status fr: Statut ro: Stare pt: Estado es: Estado da: Status unit: null - id: 28 type: system name: photo icon: null source: null required: 0 input: image trans: en: Photo nl: Foto de: Foto fr: Photo ro: Poză pt: Fotografia es: Foto da: Foto unit: null - id: 913 type: null name: can_be_removed icon: null source: null required: 0 input: list trans: de: 'kann entfernt werden' ro: 'poate fi înlăturat' es: 'Puede ser removido' unit: null - id: 932 type: checklist name: type icon: null source: null required: 0 input: select trans: en: Type nl: Type de: Typ fr: type ro: Tip pt: Tipo es: Tipo da: Type unit: null - id: 29 type: system name: hive icon: null source: null required: 0 input: list trans: en: Hive nl: Kast de: Beute fr: Ruche ro: Stup pt: Colmeia es: Colmena da: Stade unit: null children: - id: 30 type: system name: id icon: null source: null required: 0 input: label trans: en: ID nl: ID de: ID fr: ID ro: ID pt: ID es: ID da: ID unit: null - id: 34 type: system name: type icon: null source: null required: 0 input: label trans: en: Type nl: Type de: Typ fr: type ro: Tip pt: Tipo es: Tipo da: Type unit: null - id: 64 type: system name: frame_size icon: null source: null required: 0 input: label trans: en: 'Frame size' nl: 'Raam afmetingen' de: Rähmchengröße fr: 'Taille des cadres' ro: 'Dimensiune ramă' pt: 'Tamanho do quadro' es: 'Tamaño de marco' da: Rammestørrelse unit: null - id: 84 type: system name: configuration icon: null source: null required: 0 input: label trans: en: Configuration nl: Samenstelling de: Konfiguration fr: Configuration ro: Configurație pt: Configuração es: Configuración da: Opbygning unit: null - id: 136 type: system name: location icon: null source: null required: 0 input: label trans: en: Location nl: Locatie de: Ort fr: Lieux ro: Locație pt: Localização es: Ubicación da: Lokation unit: null - id: 614 type: checklist name: weight icon: null source: null required: 0 input: number_2_decimals trans: en: Weight nl: Gewicht de: Gewicht fr: Poids ro: Greutate pt: Peso es: Peso da: Vægt unit: kg - id: 795 type: system name: photo icon: null source: null required: 0 input: image trans: en: Photo nl: Foto de: Foto fr: Photo ro: Poză pt: Fotografia es: Foto da: Foto unit: null - id: 818 type: system name: app icon: null source: null required: 0 input: list trans: nl: App en: App de: App fr: App ro: Aplicație pt: 'Aplicação (app)' es: App da: App unit: null - id: 149 type: list name: bee_colony icon: null source: null required: 0 input: label trans: en: 'Bee colony' nl: Bijenvolk de: Bienenvolk fr: Colonie ro: 'Colonie de albine' pt: Colónia es: 'Colonia de abejas' da: Bifamilie unit: null children: - id: 73 type: checklist name: space icon: null source: null required: 0 input: label trans: en: Space nl: Ruimte de: Platz fr: Espacement ro: Spațiu pt: Espaço es: Espacio da: Mellemrum unit: null - id: 150 type: system name: origin icon: null source: null required: 0 input: label trans: en: Origin nl: Oorsprong de: Ursprung fr: Origine ro: Origine pt: Origem es: Origen da: Oprindelse unit: null - id: 165 type: list name: activity icon: null source: null required: 0 input: label trans: en: Activity nl: Activiteit de: Aktivität fr: Activité ro: Activitate pt: Actividade es: Actividad da: Aktivitet unit: null - id: 208 type: system name: status icon: null source: null required: 0 input: label trans: en: Status nl: Status de: Status fr: Statut ro: Stare pt: Estado es: Estado da: Status unit: null - id: 213 type: list name: characteristics icon: null source: null required: 0 input: label trans: en: Characteristics nl: Eigenschappen de: Charakteristiken fr: Caracteristique ro: Caracteristici pt: Características es: Características da: Egenskaber unit: null - id: 253 type: checklist name: swarm_prevention icon: null source: null required: 0 input: label trans: en: 'Swarm prevention' nl: Zwermverhindering de: Schwarmverhinderung fr: 'Prévention de l''essaimage' ro: 'Prevenirea roirii' pt: 'Prevenção de enxameamento' es: 'Prevención de enjambrazón' da: Sværmehindring unit: null - id: 263 type: list name: brood icon: null source: null required: 0 input: label trans: en: Brood nl: Broed de: Brut fr: Couvain ro: Puiet pt: Criação es: Cría da: Yngel unit: null - id: 333 type: checklist name: queen icon: null source: null required: 0 input: label trans: en: Queen nl: Moer de: Königin fr: Reine ro: Matcă pt: Raínha es: Reina da: Dronning unit: null - id: 442 type: list name: drones icon: null source: null required: 0 input: label trans: en: Drones nl: Darren de: Drohnen fr: Mâles ro: Trântori pt: Zangões es: Zánganos da: Droner unit: null - id: 448 type: checklist name: uniting_colonies icon: null source: null required: 0 input: label trans: en: 'Uniting colonies' nl: 'Volken samenvoegen' de: Volksvereinigung fr: 'Reunion de colonies' ro: 'Unificare colonii' pt: 'União de colónias' es: 'Colmenas fusionadas' da: 'Samling af bifamilier' unit: null - id: 453 type: list name: bees_added icon: null source: null required: 0 input: label trans: en: 'Bees added' nl: 'Bijen toegevoegd' de: 'Bienen hinzugefügt' fr: 'Ajout d''abeille' ro: 'Albine adăugate' pt: 'Abelhas adicionadas' es: 'Abejas agregadas' da: 'Bier tilføjet' unit: null - id: 459 type: list name: loss icon: null source: null required: 0 input: label trans: en: Loss nl: Verlies de: Verluste fr: Perdu ro: Pierderi pt: Perdas es: Pérdida da: Tab unit: null - id: 472 type: list name: removal icon: null source: null required: 0 input: label trans: en: Removal nl: Verwijdering de: Entfernt fr: Suppression ro: Înlăturare pt: Remoção es: Remoción da: Fjernelse unit: null - id: 755 type: system name: reminder icon: null source: null required: 0 input: label trans: nl: Herinnnering en: Reminder de: Erinnerung fr: Rappel ro: 'Aducere aminte' pt: Lembrete es: Recordatorio da: Påmindelse unit: null - id: 771 type: checklist name: size icon: null source: null required: 0 input: label trans: nl: Grootte en: Size de: Größe fr: Taille ro: Mărime pt: Tamanho es: Tamaño da: Størrelse unit: null - id: 776 type: checklist name: splitting_colony icon: null source: null required: 0 input: label trans: nl: 'Volk splitsen' en: 'Splitting colony' de: 'Aufgeteiltes Volk' fr: 'Division de colonie' ro: 'Împărțirea coloniei' pt: 'Colónia desdobrada' es: 'División de colonia' da: 'Opdeling af bifamilie' unit: null - id: 867 type: system name: purpose icon: null source: null required: 0 input: label trans: en: Purpose nl: Doel de: Zweck fr: Raison ro: Scop pt: Propósito es: Propósito da: Formål unit: null - id: 960 type: checklist name: comb_replacement icon: null source: null required: 0 input: label trans: en: 'Comb replacement' nl: 'Raat vervanging' de: Wabenerneuerung fr: 'Remplacement de rayon' ro: 'Înlocuirea fagurelui' pt: 'Substituição de favos' es: 'Reemplazo de panal' da: Tavleudskiftning unit: null - id: 475 type: list name: food icon: null source: null required: 0 input: label trans: en: Food nl: Voedsel de: Futter fr: Nourriture ro: Hrană pt: Comida es: Alimento da: Føde unit: null children: - id: 476 type: checklist name: feeding icon: null source: null required: 0 input: label trans: en: Feeding nl: Bijvoeren de: Fütterung fr: Nourrissement ro: Hrănire pt: Alimentação es: Alimentación da: Fodring unit: null - id: 493 type: checklist name: stock icon: null source: null required: 0 input: label trans: en: Stock nl: Voorraad de: Vorrat fr: Stock ro: Stoc pt: Stock es: Stock da: Lager unit: null - id: 500 type: list name: forage icon: null source: null required: 0 input: label trans: en: Forage nl: Dracht de: Futter fr: Butinage ro: Cules pt: Forrageamento es: Forraje unit: null - id: 891 type: checklist name: water icon: null source: null required: 0 input: label trans: en: Water nl: Water de: Wasser fr: Eau ro: Apă pt: Água es: Agua da: Vand unit: null - id: 513 type: list name: disorder icon: null source: null required: 0 input: label trans: en: Disorder nl: Aandoening de: Störung fr: Problème ro: Boală pt: Problemas es: Problema da: Sygdom unit: null children: - id: 514 type: list name: type icon: null source: null required: 0 input: label trans: en: Type nl: Type de: Typ fr: type ro: Tip pt: Tipo es: Tipo da: Type unit: null - id: 582 type: list name: severity icon: null source: null required: 0 input: score_amount trans: en: Severity nl: Ernst de: Schweregrad fr: Sévérité ro: Severitate pt: Severidade da: Alvorlighed unit: null - id: 589 type: checklist name: laboratory_test icon: null source: null required: 0 input: label trans: en: 'Laboratory test' nl: 'Laboratorium test' de: Labortest fr: 'Test laboratoire' ro: 'Test de laborator' pt: 'Teste laboratorial' es: 'Test de laboratorio' da: Laboratorietest unit: null - id: 594 type: list name: treatment icon: null source: null required: 0 input: label trans: en: Treatment nl: Behandeling de: Behandlung fr: Traitement ro: Tratament pt: Tratamento es: Tratamiento da: Behandling unit: null - id: 830 type: checklist name: varroa icon: null source: null required: 0 input: label trans: en: Varroa nl: Varroa de: Varoa fr: Varroa ro: Varroa pt: Varroa es: Varroa da: Varroa unit: null - id: 612 type: checklist name: weather icon: null source: null required: 0 input: label trans: en: Weather nl: Weer de: Wetter fr: Météo ro: Vreme pt: Clima es: 'Tiempo atmosférico' da: Vejr unit: null children: - id: 615 type: checklist name: ambient_temperature icon: null source: null required: 0 input: number trans: en: 'Ambient temperature' nl: Omgevingstemperatuur de: Umgebungstemperatur fr: 'Température ambiante' ro: 'Temperatura ambientală' pt: 'Temperatura ambiente' es: 'Temperatura ambiental' da: Omgivelsestemperatur unit: °C - id: 620 type: checklist name: humidity icon: null source: null required: 0 input: number_percentage trans: en: Humidity nl: Luchtvochtigheid de: Feuchtigkeit fr: Humidité ro: Umiditate pt: Humidade es: Humedad da: Fugtighed unit: '%' - id: 621 type: checklist name: cloud_cover icon: null source: null required: 0 input: options trans: en: 'Cloud cover' nl: Wolken de: Wolkendecke fr: 'Couverture nuageuse' ro: Nebulozitate pt: Nebulosidade es: 'Cubierto de nubes' da: Skydække unit: null - id: 628 type: checklist name: wind icon: null source: null required: 0 input: number trans: en: Wind nl: Wind de: Wind fr: Vent ro: Vânt pt: Vento es: Viento da: Vind unit: bft - id: 629 type: checklist name: precipitation icon: null source: null required: 0 input: number_positive trans: en: Precipitation nl: Neerslag de: Niederschlag fr: Précipitation ro: Precipitații pt: Precipitação es: Precipitación da: Nedbør unit: mm - id: 658 type: system name: beekeeper icon: null source: null required: 0 input: list trans: en: Beekeeper nl: Imker de: Imker fr: Apiculteur ro: Apicultor pt: Apicultor es: Apicultor(a) da: Biavler unit: null children: - id: 659 type: '0' name: name icon: null source: null required: 0 input: boolean trans: en: Name nl: Naam de: Name fr: Nom ro: Nume pt: Nome es: Nombre da: Navn unit: null - id: 660 type: list name: location icon: null source: null required: 0 input: select_location trans: en: Location nl: Locatie de: Ort fr: Lieux ro: Locație pt: Localização es: Ubicación da: Lokation unit: null - id: 666 type: '1' name: telephone icon: null source: null required: 0 input: list_item trans: en: Telephone nl: Telefoon de: Telefon fr: Telephone ro: Telefon pt: Telefone es: Teléfono da: Telefon unit: null - id: 667 type: '2' name: email icon: null source: null required: 0 input: list_item trans: en: Email nl: Email de: Email fr: Email ro: Email pt: Email es: Email da: Email unit: null - id: 668 type: '3' name: date_of_birth icon: null source: null required: 0 input: date trans: en: 'Date of birth' nl: Geboortedatum de: Geburtsdatum fr: 'Date de naissance' ro: 'Data nașterii' pt: 'Data de nascimento' es: 'Fecha de Nacimiento' da: Fødselsdato unit: null - id: 669 type: '4' name: gender icon: null source: null required: 0 input: list_item trans: en: Gender nl: Geslacht de: Geschlecht fr: Genre ro: Gen pt: Género es: Género da: Køn unit: null - id: 670 type: list name: beekeeper_since icon: null source: null required: 0 input: label trans: en: 'Beekeeper since' nl: 'Imker sinds' de: 'Imker seit' fr: 'Apiculteur depuis' ro: 'Apicultor din' pt: 'Apicultor desde' es: 'Apicultor desde' da: 'Biavler siden' unit: null - id: 672 type: '5' name: beekeeper_id icon: null source: null required: 0 input: text trans: en: 'Beekeeper ID' nl: 'Imker ID' de: 'Imker ID' fr: 'ID apiculteur' ro: 'ID apicultor' pt: 'Número de apicultor' es: 'ID Apicultor' da: 'Biavler ID' unit: null - id: 673 type: list name: company icon: null source: null required: 0 input: label trans: en: Company nl: Bedrijf de: Betrieb fr: Société ro: Companie pt: Empresa es: Compañía/Empresa da: Firma unit: null - id: 680 type: list name: method icon: null source: null required: 0 input: options trans: en: Method nl: Methode de: Methode fr: Méthode ro: Metodă pt: Método es: Método da: Metode unit: null - id: 688 type: list name: role icon: null source: null required: 0 input: options trans: en: Role nl: Rol fr: Rôle ro: Rol pt: Papel es: Rol da: Rolle unit: null - id: 691 type: system name: photo icon: null source: null required: 0 input: list_item trans: en: Photo nl: Foto de: Foto fr: Photo ro: Poză pt: Fotografia es: Foto da: Foto unit: null - id: 692 type: list name: inspection_role icon: null source: null required: 0 input: label trans: en: 'Inspection role' nl: 'Inspectie rol' fr: 'Rôle d''inspection' ro: 'Scopul inspecției' pt: Inspecção es: 'Rol durante la inspección' unit: null - id: 698 type: list name: production icon: null source: null required: 0 input: label trans: en: Production nl: Productie de: Produktion fr: Production ro: Producție pt: Produção es: Producción da: Produktion unit: null children: - id: 851 type: checklist name: honey icon: null source: null required: 0 input: label trans: en: Honey nl: Honing de: Honig fr: Miel ro: Miere pt: Mel es: Miel da: Honning unit: null - id: 852 type: checklist name: other icon: null source: null required: 0 input: label trans: en: Other nl: Andere de: andere fr: Autre ro: Alte pt: Outros es: Otro da: Andet unit: null tags: - Api\CategoryController '/api/categories/{id}': get: summary: "api/categories/{id}\nDisplay the specified category." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer Deh3PZ1V56fc46dbvkag8aE' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\CategoryController parameters: - in: path name: id description: 'The ID of the category.' example: 1 required: true schema: type: integer /api/categoryinputs: get: summary: "api/categoryinputs\nList of all available input types of the inspection categories" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer PDecVf6845bakEghva6d3Z1' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - id: 1 name: List type: list min: null max: null decimals: null - id: 2 name: 'List item' type: list_item min: null max: null decimals: null - id: 3 name: 'Boolean (yes = green)' type: boolean min: null max: null decimals: null tags: - Api\CategoryController /api/checklists: get: summary: 'Display a listing of the resource.' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 3aPb4VcfZa65DdegEv81hk6' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\ChecklistController post: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 4gP3dcvV8EbDka615feh6aZ' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\ChecklistController '/api/checklists/{id}': get: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 16DvdZg3e56ac4hab8EkVPf' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\ChecklistController put: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer cZ8f6ad35aePVvg4h16EbkD' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\ChecklistController delete: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer egfhaE68VP1Dv5cZb64da3k' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\ChecklistController parameters: - in: path name: id description: 'The ID of the checklist.' example: 8 required: true schema: type: integer /api/checklist-svg: get: summary: "api/checklist-svg GET\nShow your list of stored SVG inspections" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer Ebc4P6hgf83VZ6Da1k5vaed' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\ChecklistSvgController post: summary: "api/checklist-svg POST\nStore an SVG inspection" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer vZb3eghVdaEa6c15PD4k6f8' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\ChecklistSvgController requestBody: required: true content: application/json: schema: type: object properties: checklist_id: type: integer description: 'The checklist ID that this SVG refers to (at the moment of storage)' example: 9 svg: type: string description: 'The SVG body to store (max 16,777,215 characters)' example: excepturi pages: type: integer description: 'The amount of pages of the SVG' example: 11 name: type: string description: 'The name of the inspection SVG' example: dignissimos last_print: type: datetime description: 'The last print datetime' example: nihil required: - checklist_id - svg '/api/checklist-svg/{id}': get: summary: "api/checklist-svg/{id} GET\nShow an SVG inspection" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer v6Ze8D4aa6bfhc1kPEdg5V3' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\ChecklistSvgController put: summary: "api/checklist-svg/{id} PATCH\nEdit an SVG inspection" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 85bE6ZaDhgvPcefV4a1d63k' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\ChecklistSvgController delete: summary: "api/checklist-svg/{id} DELETE\nDelete an SVG inspection" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 615cbhaveaEPD8Vdf6g4Zk3' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\ChecklistSvgController parameters: - in: path name: id description: 'The ID of the checklist svg.' example: 10 required: true schema: type: integer '/api/dashboard/{code}': get: summary: "api/dashboard/{sode} GET\nGet public user Dashboard groups" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 3acfaDg1bEvPZVh6ek56d84' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 500: description: '' content: application/json: schema: type: object example: message: 'Server Error' properties: message: type: string example: 'Server Error' tags: - Api\DashboardGroupController requestBody: required: true content: application/json: schema: type: object properties: code: type: string description: 'value dient minimaal 6 karakters te bevatten.' example: gcvl hive_id: type: integer description: '' example: 14 required: - code parameters: - in: path name: code description: '' example: sequi required: true schema: type: string - in: path name: hive_id description: 'Optional parameter. Hive ID of which the data should be loaded' required: true schema: type: integer examples: omitted: summary: 'When the value is omitted' value: '' present: summary: 'When the value is present' value: 1 /api/dashboardgroups: get: summary: "api/dashboardgroups GET\nList all user Dashboard groups" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer hadfaE1k5vcbDZ4V683e6gP' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\DashboardGroupController post: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer kEa6h3861Ze4cVg5bdvPfDa' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\DashboardGroupController requestBody: required: true content: application/json: schema: type: object properties: interval: type: string description: '' example: nulla speed: type: integer description: 'value dient minimaal 1 te zijn. value mag niet groter zijn dan 84600.' example: 60488 name: type: string description: '' example: rerum description: type: string description: '' example: doloremque logo_url: type: string description: 'Must be a valid URL.' example: 'http://www.mertz.com/incidunt-perspiciatis-tempore-voluptas-et-ducimus' show_inspections: type: boolean description: '' example: true show_all: type: boolean description: '' example: true hide_measurements: type: boolean description: '' example: false hive_ids: type: array description: '' example: - expedita items: type: string required: - interval - speed - hive_ids '/api/dashboardgroups/{id}': get: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer bvf83aeEDd5cVa64Zk1g6hP' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\DashboardGroupController put: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer D1ce34aV5bf6hEPZ8kavdg6' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\DashboardGroupController requestBody: required: true content: application/json: schema: type: object properties: interval: type: string description: '' example: doloribus speed: type: integer description: 'value dient minimaal 1 te zijn. value mag niet groter zijn dan 84600.' example: 39048 name: type: string description: '' example: et description: type: string description: '' example: illo logo_url: type: string description: 'Must be a valid URL.' example: 'http://sipes.info/consequatur-cupiditate-laboriosam-voluptatem-aut-sit-repudiandae-illum' show_inspections: type: boolean description: '' example: true show_all: type: boolean description: '' example: false hide_measurements: type: boolean description: '' example: false hive_ids: type: array description: '' example: - dignissimos items: type: string required: - interval - speed - hive_ids delete: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer c81vZfPE6ka4bh6VdeDag53' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\DashboardGroupController parameters: - in: path name: id description: 'The ID of the dashboardgroup.' example: 1 required: true schema: type: integer /api/devices/multiple: post: summary: "api/devices/multiple POST\nStore/update multiple Devices in an array of Device objects" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 84EZb6afkP5aecDdvh1gV36' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\DeviceController requestBody: required: false content: application/json: schema: type: object properties: id: type: integer description: 'Device id to update. (Required without key and hardware_id)' example: 19 key: type: string description: 'DEV EUI of the sensor to enable storing sensor data incoming on the api/sensors or api/lora_sensors endpoint. (Required without id and hardware_id)' example: aut hardware_id: type: string description: 'Hardware id of the device as device name in TTN. (Required without id and key)' example: iusto name: type: string description: 'Device name' example: repellendus hive_id: type: integer description: 'Hive that the sensor is measuring. Default: null' example: 14 type: type: string description: 'Category name of the hive type from the Categories table. Default: beep' example: atque last_message_received: type: timestamp description: 'Will be converted with date(''Y-m-d H:i:s'', $last_message_received); before storing' example: aspernatur firmware_version: type: string description: 'Firmware version of the Device' example: nesciunt hardware_version: type: string description: 'Hardware version of the Device' example: autem boot_count: type: integer description: 'Amount of boots of the Device' example: 14 measurement_interval_min: type: number description: 'Measurement interval in minutes' example: 125.74838 measurement_transmission_ratio: type: number description: 'Measurements ratio of non-transmitted vs transmitted messages. If 0 or 1, every measurement gets transmitted.' example: !!float 109 ble_pin: type: string description: 'Bleutooth PIN of Device: 6 numbers between 0-9' example: aliquid battery_voltage: type: number description: 'Last measured battery voltage' example: 322602517.93127 next_downlink_message: type: string description: 'Hex string to send via downlink at next connection (LoRaWAN port 6)' example: dolore last_downlink_result: type: string description: 'Result received from BEEP base after downlink message (LoRaWAN port 5)' example: ut '/api/devices/ttn/{dev_id}': get: summary: "api/devices/ttn/{dev_id} GET\nGet a BEEP TTS Cloud Device by Device ID (BEEP hardware_id)" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 8cgb6e1V3Z6Evd4Dha5fPak' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\DeviceController post: summary: "api/devices/ttn/{dev_id} POST\nCreate a BEEP TTS Cloud Device by Device ID, lorawan_device.dev_eui, and lorawan_device.app_key" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer ekhDa4abP1Z6dvcE68gV35f' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\DeviceController requestBody: required: false content: application/json: schema: type: object properties: lorawan_device: type: object description: '' example: [] properties: dev_eui: type: string description: 'value moet 16 karakters lang zijn.' example: lxiiadxuokzhlfsi app_key: type: string description: 'value moet 32 karakters lang zijn.' example: ueijmdpnaqyrulhwzoqnivzrgmnjuoyh parameters: - in: path name: dev_id description: 'The ID of the dev.' example: laboriosam required: true schema: type: string /api/devices: get: summary: "api/devices GET\nList all user Devices" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer avfb6V1eED48P5gakc3dh6Z' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - id: 1 hive_id: 2 name: BEEPBASE-0000 key: '000000000000000' created_at: '2020-01-22 09:43:03' last_message_received: null hardware_id: null firmware_version: null hardware_version: null boot_count: null measurement_interval_min: null measurement_transmission_ratio: null ble_pin: null battery_voltage: null next_downlink_message: null last_downlink_result: null type: beep hive_name: 'Hive 2' location_name: 'Test stand 1' owner: true sensor_definitions: - id: 7 name: null inside: null offset: 8131 multiplier: null input_measurement_id: 7 output_measurement_id: 20 device_id: 1 input_abbr: w_v output_abbr: weight_kg tags: - Api\DeviceController requestBody: required: false content: application/json: schema: type: object properties: hardware_id: type: string description: 'Provide to filter on hardware_id' example: et post: summary: "api/devices POST\nCreate or Update a Device" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer ad1c4vaDkgVbZe685PEh36f' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\DeviceController requestBody: required: false content: application/json: schema: type: object properties: id: type: integer description: 'Device id to update. (Required without key and hardware_id)' example: 13 key: type: string description: 'DEV EUI of the sensor to enable storing sensor data incoming on the api/sensors or api/lora_sensors endpoint. (Required without id and hardware_id)' example: voluptates hardware_id: type: string description: 'Hardware id of the device as device name in TTN. (Required without id and key)' example: quia name: type: string description: 'Device name' example: occaecati hive_id: type: integer description: 'Hive that the sensor is measuring. Default: null' example: 6 type: type: string description: 'Category name of the hive type from the Categories table. Default: beep' example: dolorum last_message_received: type: timestamp description: 'Will be converted with date(''Y-m-d H:i:s'', $last_message_received); before storing' example: quod firmware_version: type: string description: 'Firmware version of the Device' example: aliquam hardware_version: type: string description: 'Hardware version of the Device' example: eos boot_count: type: integer description: 'Amount of boots of the Device' example: 3 measurement_interval_min: type: number description: 'Measurement interval in minutes' example: 5696055.393 measurement_transmission_ratio: type: number description: 'Measurements ratio of non-transmitted vs transmitted messages. If 0 or 1, every measurement gets transmitted.' example: !!float 3800 ble_pin: type: string description: 'Bleutooth PIN of Device: 6 numbers between 0-9' example: rerum battery_voltage: type: number description: 'Last measured battery voltage' example: 1502985.31 next_downlink_message: type: string description: 'Hex string to send via downlink at next connection (LoRaWAN port 6)' example: illo last_downlink_result: type: string description: 'Result received from BEEP base after downlink message (LoRaWAN port 5)' example: dignissimos create_ttn_device: type: boolean description: 'If true, create a new LoRaWAN device in the BEEP TTN console. If succesfull, create the device.' example: true app_key: type: string description: 'BEEP base LoRaWAN application key that you would like to store in TTN' example: fuga '/api/devices/{id}': get: summary: "api/devices/{id} GET\nList one Device by id" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 1a4568PdDgbfZeaVv3hcEk6' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\DeviceController put: summary: "api/devices PUT/PATCH\nUpdate an existing Device" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 1eDVcg3Edk854habaf66PvZ' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\DeviceController requestBody: required: false content: application/json: schema: type: object properties: id: type: integer description: 'Device id to update. (Required without key and hardware_id)' example: 12 key: type: string description: 'DEV EUI of the sensor to enable storing sensor data incoming on the api/sensors or api/lora_sensors endpoint. (Required without id and hardware_id)' example: quis hardware_id: type: string description: 'Hardware id of the device as device name in TTN. (Required without id and key)' example: ea name: type: string description: 'Name of the sensor' example: tenetur hive_id: type: integer description: 'Hive that the sensor is measuring. Default: null' example: 2 type: type: string description: 'Category name of the hive type from the Categories table. Default: beep' example: veritatis delete: type: boolean description: 'If true delete the sensor and all it''s data in the Influx database' example: false last_message_received: type: timestamp description: 'Will be converted with date(''Y-m-d H:i:s'', $last_message_received); before storing' example: nihil firmware_version: type: string description: 'Firmware version of the Device' example: porro hardware_version: type: string description: 'Hardware version of the Device' example: fugit boot_count: type: integer description: 'Amount of boots of the Device' example: 7 measurement_interval_min: type: number description: 'Measurement interval in minutes' example: 66723158.672448 measurement_transmission_ratio: type: number description: 'Measurements ratio of non-transmitted vs transmitted messages. If 0 or 1, every measurement gets transmitted.' example: 222015999.57199 ble_pin: type: string description: 'Bleutooth PIN of Device: 6 numbers between 0-9' example: distinctio battery_voltage: type: number description: 'Last measured battery voltage' example: 64171328.7 next_downlink_message: type: string description: 'Hex string to send via downlink at next connection (LoRaWAN port 6)' example: voluptas last_downlink_result: type: string description: 'Result received from BEEP base after downlink message (LoRaWAN port 5)' example: incidunt parameters: - in: path name: id description: 'The ID of the device.' example: 1 required: true schema: type: integer /api/export/csv: post: summary: "api/export/csv POST\nGenerate a CSV measurement data export from InfluxDB. Make sure not to load a too large timespan (i.e. > 30 days), because the call will not succeed due to memory overload." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer Zf6Evh6e1cDVad345bgaPk8' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\ExportController requestBody: required: true content: application/json: schema: type: object properties: device_id: type: required description: 'Device id to download data from' example: non start: type: date description: 'Date for start of data export.' example: '2020-05-27 16:16' end: type: date description: 'Date for end of data export.' example: '2020-05-30 00:00' separator: type: string description: 'Symbol that should be used to separate columns in CSV file.' example: ; measurements: type: string description: 'Comma separated list of measurement types to load. If you want a lot of data (i.e. > 30 days), make sure not to load more than one measurement.' example: '''am2315_t,am2315_h,mhz_co2''' link: type: boolean description: 'filled means: save the export to a file and provide the link, not filled means: output a text/html header with text containing the .csv content. Example:' example: true required: - start - end /api/export: get: summary: "api/export GET\nGenerate an Excel file with all user data and send by e-mail or as download link" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 58431vPDgec6Eda6VafkZbh' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 500: description: '' content: application/json: schema: type: object example: message: 'Server Error' properties: message: type: string example: 'Server Error' tags: - Api\ExportController requestBody: required: false content: application/json: schema: type: object properties: groupdata: type: boolean description: '1: also include group data in export. 0, of not filled: only export my own data. Default: 0.' example: false sensordata: type: boolean description: '1: also include measurement data in export. 0, of not filled: do not add measurement data. Default: set in environment settings.' example: false link: type: boolean description: '1: Save the export to a file and provide the link, 0, or not filled means: send the Excel as an attachment to an email to the user''s email address. Default: 0.' example: true /api/flashlogs: get: summary: "api/flashlogs GET\nProvide a list of the available flashlogs" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer dE658kchaVb46vfPDge31Za' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 500: description: '' content: application/json: schema: type: object example: message: 'Server Error' properties: message: type: string example: 'Server Error' tags: - Api\FlashLogController '/api/flashlogs/{id}': get: summary: "api/flashlogs/{id} GET\nProvide the contents of the log_file_parsed property of the flashlog" description: '' parameters: - in: query name: id description: 'Flashlog ID to parse' example: 16 required: true schema: type: integer description: 'Flashlog ID to parse' example: 16 - in: header name: Authorization description: '' example: 'Bearer 6Va83h4fv1Pc65kadbZgEDe' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 500: description: '' content: application/json: schema: type: object example: message: 'Server Error' properties: message: type: string example: 'Server Error' tags: - Api\FlashLogController requestBody: required: false content: application/json: schema: type: object properties: matches_min: type: integer description: 'Flashlog minimum amount of inline measurements that should be matched. Default: 5.' example: 2 match_props: type: integer description: 'Flashlog minimum amount of measurement properties that should match. Default: 9.' example: 7 db_records: type: integer description: 'Flashlog minimum amount of inline measurements that should be matched. Default: 80.' example: 15 block_id: type: integer description: 'Flashlog block index to get both Flashlog as database data from.' example: 1 block_data_index: type: integer description: 'Flashlog data index to get both Flashlog as database data from.' example: 0 data_minutes: type: integer description: 'Flashlog data amount of minutes to show data from. Default: 10080 (1 week).' example: 17 from_cache: type: boolean description: 'get Flashlog parse result from cache (24 hours). Default: true.' example: false save_result: type: boolean description: 'Flashlog save the parsed result as new log_file_parsed. Default: false.' example: false csv: type: integer description: 'Save the Flashlog block_id data as a CSV file (1) and return a link. Default: 0.' example: 0 json: type: integer description: 'Save the Flashlog block_id data as a JSON file (1) and return a link. Default: 0.' example: 0 post: summary: "api/flashlogs/{id} POST\nFill the missing database values with Flashlog values that match" description: '' parameters: - in: query name: id description: 'Flashlog ID to parse' example: 5 required: true schema: type: integer description: 'Flashlog ID to parse' example: 5 - in: header name: Authorization description: '' example: 'Bearer 5kDbv3d6e8aPcfZE14gaV6h' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\FlashLogController requestBody: required: false content: application/json: schema: type: object properties: matches_min: type: integer description: 'Flashlog minimum amount of inline measurements that should be matched. Default: 5.' example: 2 match_props: type: integer description: 'Flashlog minimum amount of measurement properties that should match. Default: 9.' example: 7 db_records: type: integer description: 'Flashlog minimum amount of inline measurements that should be matched. Default: 80.' example: 15 block_id: type: integer description: 'Flashlog block index to get both Flashlog as database data from.' example: 1 from_cache: type: boolean description: 'get Flashlog parse result from cache (24 hours). Default: true.' example: false save_result: type: boolean description: 'Flashlog save the parsed result as new log_file_parsed. Default: false.' example: false delete: summary: "api/flashlogs/{id} DELETE\nDelete a block of data (block_id filled), or the whole Flashlog file" description: '' parameters: - in: query name: id description: 'Flashlog ID to delete the complete Flashlog file' example: 7 required: true schema: type: integer description: 'Flashlog ID to delete the complete Flashlog file' example: 7 - in: header name: Authorization description: '' example: 'Bearer 8DPc6v3b5Eh1V4faZegkda6' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\FlashLogController requestBody: required: false content: application/json: schema: type: object properties: block_id: type: integer description: 'Flashlog block index to delete (only the) previously persisted data from the database' example: 20 parameters: - in: path name: id description: 'The ID of the flashlog.' example: 1 required: true schema: type: integer /api/groups/checktoken: post: summary: "api/groups/checktoken POST\nCheck a token for a group id, and accept or decline the invite" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 6hbcZ36kPfvDg85ed41EaVa' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\GroupController requestBody: required: true content: application/json: schema: type: object properties: token: type: string description: '' example: non group_id: type: string description: '' example: esse decline: type: boolean description: '' example: true required: - token - group_id /api/groups: get: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 3Z8hvP6E51f4abcagdeDk6V' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\GroupController post: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 4gPDZvf5habc3E68ekdVa61' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\GroupController '/api/groups/{id}': get: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer a81EdcDP6gZbe64a3v5hkVf' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\GroupController put: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 51k3dgPaevcbZVaEh8D66f4' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\GroupController delete: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer dv568VP4Ea16ehZ3bfDgcka' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\GroupController parameters: - in: path name: id description: 'The ID of the group.' example: 1 required: true schema: type: integer '/api/groups/detach/{id}': delete: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer PveE43dgf5b8ac16ZaD6hkV' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\GroupController parameters: - in: path name: id description: 'The ID of the detach.' example: et required: true schema: type: string /api/hives: get: summary: "api/hives GET\nDisplay a listing of user hives." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer Eka8VPD315fb46hcvaedg6Z' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: hives: - id: 1 location_id: 1 hive_type_id: 43 color: '#35f200' name: 'Kast 1' created_at: '2017-07-13 23:34:49' type: spaarkast location: '' attention: null impression: null reminder: null reminder_date: null inspection_count: 0 sensors: - 3 - 19 owner: true layers: - id: 1 order: 0 color: '#35f200' type: brood framecount: 10 - id: 2 order: 1 color: '#35f200' type: brood framecount: 10 - id: 3 order: 2 color: '#35f200' type: honey framecount: 10 queen: null properties: hives: type: array example: - id: 1 location_id: 1 hive_type_id: 43 color: '#35f200' name: 'Kast 1' created_at: '2017-07-13 23:34:49' type: spaarkast location: '' attention: null impression: null reminder: null reminder_date: null inspection_count: 0 sensors: - 3 - 19 owner: true layers: - id: 1 order: 0 color: '#35f200' type: brood framecount: 10 - id: 2 order: 1 color: '#35f200' type: brood framecount: 10 - id: 3 order: 2 color: '#35f200' type: honey framecount: 10 queen: null items: type: object tags: - Api\HiveController post: summary: "api/hives POST\nStore a newly created Hive in storage for the authenticated user." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer ecVbvd546Eg3PhaZa1Dk6f8' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\HiveController requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: optio location_id: type: integer description: '' example: 7 brood_layers: type: integer description: 'Het value veld is verplicht wanneer layers niet aanwezig is. value dient minimaal 0 te zijn.' example: 0 honey_layers: type: integer description: 'Het value veld is verplicht wanneer layers niet aanwezig is. value dient minimaal 0 te zijn.' example: 0 frames: type: integer description: 'value dient minimaal 0 te zijn.' example: 0 order: type: integer description: '' example: 2 layers: type: array description: 'Het value veld is verplicht wanneer geen van brood_layers and honey_layers aanwezig is.' example: - aut items: type: string color: type: string description: 'value mag niet groter zijn dan 9 karakters.' example: kbljro hive_type_id: type: integer description: '' example: 20 bb_width_cm: type: number description: 'value dient minimaal 0 te zijn.' example: 0 bb_depth_cm: type: number description: 'value dient minimaal 0 te zijn.' example: 0 bb_height_cm: type: number description: 'value dient minimaal 0 te zijn.' example: 0 fr_width_cm: type: number description: 'value dient minimaal 0 te zijn.' example: 0 fr_height_cm: type: number description: 'value dient minimaal 0 te zijn.' example: 0 queen: type: object description: '' example: [] properties: race_id: type: integer description: '' example: 17 birth_date: type: string description: 'value is geen geldige datum.' example: '2025-02-17T13:45:54' name: type: string description: '' example: laborum description: type: string description: '' example: iste line: type: string description: '' example: neque tree: type: string description: '' example: sed color: type: string description: 'value mag niet groter zijn dan 9 karakters.' example: s clipped: type: integer description: '' example: 12 fertilized: type: integer description: '' example: 4 timezone: type: string description: 'Must be a valid time zone, such as Africa/Accra.' example: America/Chihuahua required: - name - location_id '/api/hives/{id}': get: summary: "api/hives/{id} GET\nDisplay the specified resource." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer dD4g5bcEVh1k6vaa863ZPfe' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\HiveController put: summary: "api/hives/{id} PATCH\nUpdate the specified user Hive in storage." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer vc6d6eDb5a4fkP8ZagE3Vh1' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\HiveController requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: alias location_id: type: integer description: '' example: 13 brood_layers: type: integer description: 'Het value veld is verplicht wanneer layers niet aanwezig is. value dient minimaal 0 te zijn.' example: 0 honey_layers: type: integer description: 'Het value veld is verplicht wanneer layers niet aanwezig is. value dient minimaal 0 te zijn.' example: 0 frames: type: integer description: 'value dient minimaal 0 te zijn.' example: 0 order: type: integer description: '' example: 6 layers: type: array description: 'Het value veld is verplicht wanneer geen van brood_layers and honey_layers aanwezig is.' example: - unde items: type: string color: type: string description: 'value mag niet groter zijn dan 9 karakters.' example: fiwrj hive_type_id: type: integer description: '' example: 20 bb_width_cm: type: number description: 'value dient minimaal 0 te zijn.' example: 0 bb_depth_cm: type: number description: 'value dient minimaal 0 te zijn.' example: 0 bb_height_cm: type: number description: 'value dient minimaal 0 te zijn.' example: 0 fr_width_cm: type: number description: 'value dient minimaal 0 te zijn.' example: 0 fr_height_cm: type: number description: 'value dient minimaal 0 te zijn.' example: 0 queen: type: object description: '' example: [] properties: race_id: type: integer description: '' example: 7 birth_date: type: string description: 'value is geen geldige datum.' example: '2025-02-17T13:45:54' name: type: string description: '' example: ratione description: type: string description: '' example: nam line: type: string description: '' example: consectetur tree: type: string description: '' example: illo color: type: string description: 'value mag niet groter zijn dan 9 karakters.' example: yjz clipped: type: integer description: '' example: 16 fertilized: type: integer description: '' example: 3 timezone: type: string description: 'Must be a valid time zone, such as Africa/Accra.' example: America/Edmonton required: - name - location_id delete: summary: "api/hives/{id} DELETE\nRemove the specified user Hive from storage." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 8vc6kaa5dZ4e6gVhbEP1Df3' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\HiveController parameters: - in: path name: id description: 'The ID of the hive.' example: 1 required: true schema: type: integer /api/images: get: summary: 'Display a listing of the resource.' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 5aDfEevP8h346Zgabc1Vk6d' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\ImageController post: summary: 'Store a newly created resource in storage.' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer D48ga3ke5bVZEda6h6c1vfP' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\ImageController delete: summary: 'Remove the specified resource from storage.' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer Dd1v36hZVagEa6e584bPfck' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\ImageController '/api/images/{id}': get: summary: 'Display the specified resource.' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer Zb1hefV6v53dE6agk4acP8D' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\ImageController put: summary: 'Update the specified resource in storage.' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer D65E8fegPacva1Vb43Z6khd' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\ImageController parameters: - in: path name: id description: 'The ID of the image.' example: 1 required: true schema: type: integer /api/inspections: get: summary: "api/inspections GET\nShow the 'inspections' list with objects reflecting only the general inspection data." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer Z84hdf31bE6gVaeD5cavkP6' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\InspectionsController requestBody: required: false content: application/json: schema: type: object properties: hive_ids: type: array description: 'Only show inspections connected to hive_ids.' example: - neque items: type: string search: type: string description: 'Filter on text inside notes, reminder, created_at, reminder_date, inspection item names/values.' example: test id: type: integer description: 'Filter on one specific inspection id if filled.' example: 23 start: type: string description: 'Date >= (YYYY-MM-DD HH:mm:ss) to filter inspections from.' example: '2024-02-14 00:00:00' end: type: string description: 'Date <= (YYYY-MM-DD HH:mm:ss) to filter inspections to.' example: '2024-02-18 00:00:00' /api/inspections/lists: get: summary: "api/inspections/lists GET\nList checklists and its inspections linked to Hive id. The 'inspections' object contains a descending date ordered list of general inspection data. The 'items_by_date' object contains a list of (rows of) inspection items that can be placed (in columns) under the inspections by created_at date (table format). NB: Use 'Accept-Language' Header (default nl_NL) to provide localized category names (anc, name) in items_by_date." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer a1fZ34PDV68ah5Ee6cdkgvb' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: checklists: - id: 810 type: beep_v2_copy name: 'Beep v2 - info@beep.nl' description: null created_at: '2020-01-13 18:30:02' updated_at: '2020-01-13 19:58:47' category_ids: - 149 - 771 - 963 - 964 - 965 - 966 - 263 - 265 - 270 - 276 required_ids: [] owner: true researches: [] properties: checklists: type: array example: - id: 810 type: beep_v2_copy name: 'Beep v2 - info@beep.nl' description: null created_at: '2020-01-13 18:30:02' updated_at: '2020-01-13 19:58:47' category_ids: - 149 - 771 - 963 - 964 - 965 - 966 - 263 - 265 - 270 - 276 required_ids: [] owner: true researches: [] items: type: object tags: - Api\InspectionsController requestBody: required: true content: application/json: schema: type: object properties: id: type: integer description: 'The hive to request inspections from.' example: 20 required: - id '/api/inspections/{id}': get: summary: "api/inspections/{id} GET\nShow the 'inspection' object. The object reflects only the general inspection data." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer gk6ec3VbfZ8vh64DadEP1a5' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\InspectionsController delete: summary: 'Remove the specified resource from storage.' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer ZPk6edg61cvh5faab3EV8D4' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\InspectionsController parameters: - in: path name: id description: 'The id of the inspection.' example: ratione required: true schema: type: string '/api/inspections/hive/{hive_id}': get: summary: "api/inspections/hive/{hive_id} GET\nList all inspections linked to Hive id. The 'inspections' object contains a descending date ordered list of general inspection data. The 'items_by_date' object contains a list of (rows of) inspection items that can be placed (in columns) under the inspections by created_at date (table format). NB: Use 'Accept-Language' Header (default nl_NL) to provide localized category names (anc, name) in items_by_date." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer E6hvg8b5akP43Df1cZeda6V' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: inspections: - id: 93 notes: null reminder: null reminder_date: null impression: 1 attention: null created_at: '2020-05-18 12:34:00' checklist_id: 829 image_id: null owner: true thumb_url: null hive_id: 42 - id: 91 notes: null reminder: null reminder_date: null impression: 3 attention: 0 created_at: '2020-05-18 11:43:00' checklist_id: 829 image_id: null owner: true thumb_url: null hive_id: 42 items_by_date: - anc: null name: 'Bee colony' items: null - anc: 'Bee colony > Brood > ' name: 'Pattern consistency' type: score range: 'min: 1 - max: 5' items: - id: 138 value: '3' inspection_id: 93 category_id: 279 val: '3' unit: null type: score - '' - anc: 'Bee colony > Brood > Status > ' name: 'All stages' type: boolean range: null items: - '' - id: 77 value: '1' inspection_id: 91 category_id: 868 val: 'Yes' unit: null type: boolean - anc: 'Bee colony > Brood > Status > ' name: Eggs type: boolean range: null items: - '' - id: 308 value: '1' inspection_id: 91 category_id: 270 val: 'Yes' unit: null type: boolean properties: inspections: type: array example: - id: 93 notes: null reminder: null reminder_date: null impression: 1 attention: null created_at: '2020-05-18 12:34:00' checklist_id: 829 image_id: null owner: true thumb_url: null hive_id: 42 - id: 91 notes: null reminder: null reminder_date: null impression: 3 attention: 0 created_at: '2020-05-18 11:43:00' checklist_id: 829 image_id: null owner: true thumb_url: null hive_id: 42 items: type: object items_by_date: type: array example: - anc: null name: 'Bee colony' items: null - anc: 'Bee colony > Brood > ' name: 'Pattern consistency' type: score range: 'min: 1 - max: 5' items: - id: 138 value: '3' inspection_id: 93 category_id: 279 val: '3' unit: null type: score - '' - anc: 'Bee colony > Brood > Status > ' name: 'All stages' type: boolean range: null items: - '' - id: 77 value: '1' inspection_id: 91 category_id: 868 val: 'Yes' unit: null type: boolean - anc: 'Bee colony > Brood > Status > ' name: Eggs type: boolean range: null items: - '' - id: 308 value: '1' inspection_id: 91 category_id: 270 val: 'Yes' unit: null type: boolean items: type: object tags: - Api\InspectionsController requestBody: required: false content: application/json: schema: type: object properties: search: type: string description: "Filter inspections on text inside notes, reminder, created_at, reminder_date, inspection item names/values. Example: test\nbodyParam id integer If provided, select single inspection." example: '15' impression: type: string description: 'Filter by one or more impression values 1-3 (smileys). Default: null.' example: '2,3' attention: type: boolean description: 'Filter by having attention set (0-1). Default: null.' example: true reminder: type: boolean description: 'Filter by having a reminder set (0-1). Default: null.' example: true start: type: string description: 'Date >= (YYYY-MM-DD HH:mm:ss) to filter inspections from. Default: null.' example: '2024-02-14 00:00:00' end: type: string description: 'Date <= (YYYY-MM-DD HH:mm:ss) to filter inspections to. Default: null.' example: '2024-02-18 00:00:00' parameters: - in: path name: hive_id description: 'The hive to request inspections from.' example: alias required: true schema: type: string /api/inspections/store: post: summary: "api/inspections POST\nRegister a new hive inspection the 'inspection' object. The object reflects only the general inspection data." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer h4d6c6DE83ae15vZfabkVgP' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\InspectionsController requestBody: required: true content: application/json: schema: type: object properties: date: type: date description: 'The (local time) date time of the inspection.' example: '2020-05-18 16:16' items: type: object description: 'An object of category id''s containing their inspected values (id''s in case of lists, otherwise numeric/textual values).' example: 547: 0 595: 1 845: '814' properties: [] hive_id: type: integer description: 'Het value veld is verplicht wanneer hive_ids niet aanwezig is.' example: 11 hive_ids: type: array description: 'Array of Hive ids to which this inspection should be linked.' example: 42 items: type: string location_id: type: Location description: 'id to which this inspection should be linked.' example: '2' id: type: integer description: 'If provided, edit and do not create inspection. Required to edit the inspection.' example: 15 impression: type: integer description: 'Numeric impression value -1 (unfilled) to 1-3 (smileys).' example: -1 attention: type: integer description: 'Numeric impression value -1 (unfilled) to 0-1 (needs attention).' example: 1 reminder: type: string description: 'Textual value of the reminder fields.' example: 'This is an inspection reminder' reminder_date: type: date description: 'The (local time) date time for an optional reminder that can be fed to the users calender.' example: '2020-05-27 16:16' notes: type: string description: 'Textual value of the notes fields.' example: 'This is an inspection note' checklist_id: type: integer description: 'Id of the user checklist for generating this inspection.' example: 829 required: - date - items - hive_ids /api/locations: get: summary: 'Display a listing of the resource.' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer Dd3e1PVgaf56ha8vkZ4bE6c' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\LocationController post: summary: 'Store a newly created resource in storage.' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer kePVcvdD4fh3Ea6a81b65Zg' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\LocationController requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: nulla hive_type_id: type: integer description: '' example: 1 required: - name '/api/locations/{id}': get: summary: 'Display the specified resource.' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer PkZehf85aV63adE4cvgb1D6' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\LocationController put: summary: 'Update the specified resource in storage.' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 6c85g31hbaf4EkVad6ZeDvP' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\LocationController requestBody: required: true content: application/json: schema: type: object properties: name: type: string description: '' example: est hive_type_id: type: integer description: '' example: 1 required: - name delete: summary: 'Remove the specified resource from storage.' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer f8kbPgh643Z51Vad6EaDcev' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\LocationController parameters: - in: path name: id description: 'The ID of the location.' example: 2 required: true schema: type: integer /api/sensors: post: summary: "api/sensors POST\nStore sensor measurement data (see BEEP sensor data API definition) from API, or TTN. See /sensors/measurement_types?locale=en which measurement types can be used to POST data to." description: '' parameters: - in: query name: key/data description: 'Measurement formatted as URL query: key=your_beep_device_key&t=18.4&t_i=34.5&weight_kg=57.348&h=58&bv=3.54' example: sed required: true schema: type: string description: 'Measurement formatted as URL query: key=your_beep_device_key&t=18.4&t_i=34.5&weight_kg=57.348&h=58&bv=3.54' example: sed - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\MeasurementController requestBody: required: true content: application/json: schema: type: object properties: key/data: type: json description: 'Measurement data as JSON: {"key":"your_beep_device_key", "t":18.4, t_i":34.5, "weight_kg":57.348, "h":58, "bv":3.54}' example: voluptas required: - key/data security: [] /api/lora_sensors: post: summary: "api/lora_sensors POST\nStore sensor measurement data (see BEEP sensor data API definition) from TTN or KPN (Simpoint)\nWhen Simpoint payload is supplied, the LoRa HEX to key/value pairs decoding is done within function $this->parse_ttn_payload()\nWhen TTN payload is supplied, the TTN HTTP integration decoder/converter is assumed to have already converted the payload from LoRa HEX to key/value conversion" description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\MeasurementController requestBody: required: true content: application/json: schema: type: object properties: key: type: string description: 'DEV EUI of the Device to enable storing sensor data' example: id payload_raw: type: string description: 'TTN BEEP Measurement data in Base 64 encoded string' example: officiis payload_fields: type: json description: 'TTN Measurement data array' example: in DevEUI_uplink: type: json description: 'KPN Measurement data array' example: in required: - key security: [] /api/sensors/measurement_types: get: summary: "api/sensors/measurement_types GET\nRequest all currently available sensor measurement types that can be POSTed to" description: '' parameters: - in: query name: locale description: 'Two digit locale to get translated sensor measurement types.' example: en required: false schema: type: string description: 'Two digit locale to get translated sensor measurement types.' example: en - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 500: description: '' content: application/json: schema: type: object example: message: 'Server Error' properties: message: type: string example: 'Server Error' tags: - Api\MeasurementController security: [] /api/sensors_auth: post: summary: "api/sensors POST\nStore sensor measurement data (see BEEP sensor data API definition) from API, or TTN. See /sensors/measurement_types?locale=en which measurement types can be used to POST data to." description: '' parameters: - in: query name: key/data description: 'Measurement formatted as URL query: key=your_beep_device_key&t=18.4&t_i=34.5&weight_kg=57.348&h=58&bv=3.54' example: mollitia required: true schema: type: string description: 'Measurement formatted as URL query: key=your_beep_device_key&t=18.4&t_i=34.5&weight_kg=57.348&h=58&bv=3.54' example: mollitia - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\MeasurementController requestBody: required: true content: application/json: schema: type: object properties: key/data: type: json description: 'Measurement data as JSON: {"key":"your_beep_device_key", "t":18.4, t_i":34.5, "weight_kg":57.348, "h":58, "bv":3.54}' example: eum required: - key/data security: [] /api/lora_sensors_auth: post: summary: "api/lora_sensors POST\nStore sensor measurement data (see BEEP sensor data API definition) from TTN or KPN (Simpoint)\nWhen Simpoint payload is supplied, the LoRa HEX to key/value pairs decoding is done within function $this->parse_ttn_payload()\nWhen TTN payload is supplied, the TTN HTTP integration decoder/converter is assumed to have already converted the payload from LoRa HEX to key/value conversion" description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\MeasurementController requestBody: required: true content: application/json: schema: type: object properties: key: type: string description: 'DEV EUI of the Device to enable storing sensor data' example: aperiam payload_raw: type: string description: 'TTN BEEP Measurement data in Base 64 encoded string' example: sed payload_fields: type: json description: 'TTN Measurement data array' example: totam DevEUI_uplink: type: json description: 'KPN Measurement data array' example: praesentium required: - key security: [] /api/sensors/measurements: get: summary: "api/sensors/measurements GET\nRequest all sensor measurements from a certain interval (hour, day, week, month, year) and index (0=until now, 1=previous interval, etc.)" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer kfegda8b41cV5a3DEv6Ph6Z' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 500: description: '' content: application/json: schema: type: object example: message: 'Server Error' properties: message: type: string example: 'Server Error' tags: - Api\MeasurementController requestBody: required: false content: application/json: schema: type: object properties: id: type: integer description: 'ID to look up the sensor (Device)' example: 2 key: type: string description: 'DEV EUI to look up the sensor (Device).' example: omnis hive_id: type: integer description: 'Hive ID to look up the sensor (Device)' example: 6 start: type: date description: 'Date for start of measurements. Required without interval & index.' example: '2020-05-27 16:16' end: type: date description: 'Date for end of measurements. Required without interval & index.' example: '2020-05-30 00:00' index: type: integer description: 'Interval index (>=0; 0=until now, 1=previous interval, etc.). Default: 0.' example: 8 interval: type: string description: 'Data interval for interpolation of measurement values: hour (2min), day (10min), week (1 hour), month (3 hours), year (1 day). Default: day.' example: dolores timeGroup: type: string description: '' example: et names: type: string description: 'comma separated list of Measurement abbreviations to filter request data (weight_kg, t, h, etc.)' example: omnis weather: type: integer description: 'Load corresponding weather data from the weather database (1) or not (0).' example: 1 clean_weight: type: integer description: '' example: 8 timezone: type: string description: 'Provide the front-end timezone to correct the time from UTC to front-end time.' example: Europe/Amsterdam relative_interval: type: integer description: 'Load data from the selected interval relative to current time (1), or load data in absolute intervals (from start-end of hour/day/week/etc) (0). Default: 0.' example: 14 /api/sensors/lastvalues: get: summary: "api/sensors/lastvalues GET\nRequest last measurement values of all sensor measurements from a Device" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer a4bfd1vPDaZhc6V3e8Ek5g6' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 500: description: '' content: application/json: schema: type: object example: message: 'Server Error' properties: message: type: string example: 'Server Error' tags: - Api\MeasurementController requestBody: required: false content: application/json: schema: type: object properties: key: type: string description: 'DEV EUI to look up the Device.' example: omnis id: type: integer description: 'ID to look up the Device' example: 19 hive_id: type: integer description: 'Hive ID to look up the Device' example: 20 /api/sensors/lastweight: get: summary: "api/sensors/lastweight GET\nRequest last weight related measurement values from a sensor (Device), used by legacy webapp to show calibration data: ['w_fl', 'w_fr', 'w_bl', 'w_br', 'w_v', 'weight_kg', 'weight_kg_corrected', 'calibrating_weight', 'w_v_offset', 'w_v_kg_per_val', 'w_fl_offset', 'w_fr_offset', 'w_bl_offset', 'w_br_offset']" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer h8b6k4Z5ad1vP3eEg6VafcD' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 500: description: '' content: application/json: schema: type: object example: message: 'Server Error' properties: message: type: string example: 'Server Error' tags: - Api\MeasurementController requestBody: required: false content: application/json: schema: type: object properties: key: type: string description: 'DEV EUI to look up the sensor (Device)' example: accusantium id: type: integer description: 'ID to look up the sensor (Device)' example: 15 hive_id: type: integer description: 'Hive ID to look up the sensor (Device)' example: 20 /api/sensors/calibrateweight: post: summary: "api/sensors/calibrateweight\nLegacy method, used by legacy webapp to store weight calibration value e.g.[w_v_kg_per_val] in Influx database, to lookup and calculate [weight_kg] at incoming measurement value storage" description: "At the next measurement coming in, calibrate each weight sensor with it's part of a given weight.\nBecause the measurements can come in only each hour/ 3hrs, set a value to trigger the calculation on next measurement\n\n1. If $next_measurement == true: save 'calibrating' = true in Influx with the sensor key\n2. If $next_measurement == false: save 'calibrating' = false in Influx with the sensor key and...\n3. Get the last measured weight values for this sensor key,\n Divide the given weight (in kg) with the amount of sensor values > 1.0 (assuming the weight is evenly distributed)\n Calculate the multiplier per sensor by dividing the multiplier = weight_part / (value - offset)\n Save the multiplier as $device_name.'_kg_per_val' in Influx" parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\MeasurementController requestBody: required: false content: application/json: schema: type: object properties: next_measurement: type: boolean description: '' example: true weight_kg: type: number description: 'Het value veld is verplicht wanneer next_measurement is true.' example: 142125817.9803 security: [] /api/sensors/offsetweight: post: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\MeasurementController security: [] /api/sensors/measurement_types_available: get: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 500: description: '' content: application/json: schema: type: object example: message: 'Server Error' properties: message: type: string example: 'Server Error' tags: - Api\MeasurementController security: [] /api/sensors/flashlog: post: summary: "api/sensors/flashlog\nPOST data from BEEP base fw 1.5.0+ FLASH log (with timestamp), interpret data and store in InlfuxDB (overwriting existing data). BEEP base BLE cmd: when the response is 200 OK and erase_mx_flash > -1, provide the ERASE_MX_FLASH BLE command (0x21) to the BEEP base with the last byte being the HEX value of the erase_mx_flash value (0 = 0x00, 1 = 0x01, i.e.0x2100, or 0x2101, i.e. erase_type:\"fatfs\", or erase_type:\"full\")" description: '' parameters: - in: query name: show description: '1 for displaying info in result JSON, 0 for not displaying (default).' example: 3 required: false schema: type: integer description: '1 for displaying info in result JSON, 0 for not displaying (default).' example: 3 - in: query name: save description: '1 for saving the data to a file (default), 0 for not save log file.' example: 1 required: false schema: type: integer description: '1 for saving the data to a file (default), 0 for not save log file.' example: 1 - in: query name: fill description: '1 for filling data gaps in the database, 0 for not filling gaps (default).' example: 17 required: false schema: type: integer description: '1 for filling data gaps in the database, 0 for not filling gaps (default).' example: 17 - in: query name: log_size_bytes description: '0x22 decimal result of log size requested from BEEP base.' example: 19 required: false schema: type: integer description: '0x22 decimal result of log size requested from BEEP base.' example: 19 - in: header name: Authorization description: '' example: 'Bearer 5ba8EZk4dDvh1fPVecg63a6' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 200: description: '' content: text/plain: schema: type: string example: "{\n\"lines_received\": 20039,\n\"bytes_received\": 9872346,\n\"log_saved\": true,\n\"log_parsed\": false,\n\"log_messages\":29387823\n\"erase_mx_flash\": -1,\n\"erase\":false,\n\"erase_type\":\"fatfs\"\n}" tags: - Api\MeasurementController requestBody: required: false content: application/json: schema: type: object properties: id: type: integer description: 'Device id to target. (Required without key and hardware_id)' example: 6 hardware_id: type: string description: 'Hardware id of the device as device name in TTN. (Required without id and key)' example: exercitationem key: type: string description: 'DEV EUI of the sensor to enable storing sensor data incoming on the api/sensors or api/lora_sensors endpoint. (Required without id and hardware_id)' example: et data: type: string description: 'MX_FLASH_LOG Hexadecimal string lines (new line) separated, with many rows of log data, or text file binary with all data inside.' example: fugit file: type: binary description: 'File with MX_FLASH_LOG Hexadecimal string lines (new line) separated, with many rows of log data, or text file binary with all data inside.' example: qui show: type: boolean description: '' example: false save: type: boolean description: '' example: true fill: type: boolean description: '' example: false log_size_bytes: type: integer description: '' example: 8 '/api/sensors/decode/p/{port}/pl/{payload}': get: summary: '' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 500: description: '' content: application/json: schema: type: object example: message: 'Server Error' properties: message: type: string example: 'Server Error' tags: - Api\MeasurementController security: [] parameters: - in: path name: port description: '' example: delectus required: true schema: type: string - in: path name: payload description: '' example: odit required: true schema: type: string /api/sensors/comparemeasurements: get: summary: "api/sensors/comparemeasurements GET\nRequest mean measurements for multiple hives from a certain interval (hour, day, week, month, year) and index (0=until now, 1=previous interval, etc.)" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 6gPc1D4a8Vk5b6EZhfadve3' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 500: description: '' content: application/json: schema: type: object example: message: 'Server Error' properties: message: type: string example: 'Server Error' tags: - Api\MeasurementController requestBody: required: false content: application/json: schema: type: object properties: id: type: integer description: 'ID to look up the sensor (Device)' example: 2 key: type: string description: 'DEV EUI to look up the sensor (Device).' example: saepe hive_id: type: integer description: 'Hive ID to look up the sensor (Device)' example: 4 start: type: date description: 'Date for start of measurements. Required without interval & index.' example: '2020-05-27 16:16' end: type: date description: 'Date for end of measurements. Required without interval & index.' example: '2020-05-30 00:00' index: type: integer description: 'Interval index (>=0; 0=until now, 1=previous interval, etc.). Default: 0.' example: 15 interval: type: string description: 'Data interval for interpolation of measurement values: hour (2min), day (10min), week (1 hour), month (3 hours), year (1 day). Default: day.' example: beatae timeGroup: type: string description: '' example: placeat names: type: string description: 'comma separated list of Measurement abbreviations to filter request data (weight_kg, t, h, etc.)' example: ut weather: type: integer description: 'Load corresponding weather data from the weather database (1) or not (0).' example: 1 timezone: type: string description: 'Provide the front-end timezone to correct the time from UTC to front-end time.' example: Europe/Amsterdam relative_interval: type: integer description: 'Load data from the selected interval relative to current time (1), or load data in absolute intervals (from start-end of hour/day/week/etc) (0). Default: 0.' example: 2 /api/research: get: summary: 'Display a listing of the resource.' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer EfvZe3h56a4cDVkP86agd1b' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\ResearchController '/api/research/{id}/add_consent': post: summary: 'research/{id}/add_consent POST' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer fbv63Dk6Zcd5Veg1a4Ea8hP' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\ResearchController requestBody: required: false content: application/json: schema: type: object properties: location_ids: type: array description: 'Only share data from these location IDs' example: - debitis items: type: string hive_ids: type: array description: 'Only share data from these hive IDs' example: - quae items: type: string device_ids: type: array description: 'Only share data from these device IDs' example: - harum items: type: string parameters: - in: path name: id description: 'Research ID' example: 14 required: true schema: type: integer '/api/research/{id}/remove_consent': post: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 6P6ec5vZ13dghf8DVka4bEa' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\ResearchController parameters: - in: path name: id description: 'The ID of the research.' example: 1 required: true schema: type: integer '/api/research/{id}/edit/{consent_id}': patch: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer aa4f8VvD66PZgceh13bd5Ek' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\ResearchController parameters: - in: path name: id description: 'The ID of the research.' example: 1 required: true schema: type: integer - in: path name: consent_id description: 'The ID of the consent.' example: beatae required: true schema: type: string '/api/research/{id}/delete/{consent_id}': delete: summary: '' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer avEaZ5cVg46eP8fDk1h6b3d' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\ResearchController parameters: - in: path name: id description: 'The ID of the research.' example: 1 required: true schema: type: integer - in: path name: consent_id description: 'The ID of the consent.' example: ut required: true schema: type: string /api/researchdata: get: summary: "api/researchdata GET\nList all available Researches" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer D6gcV351ea8hfP4ZEbdva6k' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - id: 1 created_at: '2020-02-25 03:01:57' updated_at: '2020-11-13 17:08:31' name: B-GOOD url: 'https://b-good-project.eu/' description: 'B-GOOD has the overall goal to provide guidance for beekeepers and help them make better and more informed decisions.' type: research-b-good institution: 'Wageningen University & Research' type_of_data_used: 'Hive inspections, hive settings, BEEP base measurement data' start_date: '2019-07-01 00:00:00' end_date: '2023-06-30 00:00:00' image_id: 1 consent: true consent_history: - id: 185 created_at: '2020-11-12 22:28:09' updated_at: '2020-06-12 22:28:00' user_id: 1 research_id: 1 consent: 1 consent_location_ids: null consent_hive_ids: null consent_sensor_ids: null - id: 1 created_at: '2020-02-25 03:02:23' updated_at: '2020-05-27 03:03:00' user_id: 1 research_id: 1 consent: 0 consent_location_ids: null consent_hive_ids: null consent_sensor_ids: null - id: 97 created_at: '2020-05-14 16:24:41' updated_at: '2020-03-14 16:24:00' user_id: 1 research_id: 1 consent: 1 consent_location_ids: null consent_hive_ids: null consent_sensor_ids: null checklist_names: - '1 Winter' - '2 Varroa' - '3 Summer+' - '4 Summer' - '5 Health' thumb_url: /storage/users/1/thumbs/research/6LJEp35dodWWtfxnm3xfRnL05qvvJrHbn8IXAJqNCFZj2vFjwyLXbmWscKVz.jpg image: id: 1 created_at: '2020-02-25 03:01:57' updated_at: '2020-02-25 03:01:57' filename: 6LJEp35dodWWtfxnm3xfRnL05qvvJrHbn8IXAJqNCFZj2vFjwyLXbmWscKVz.jpg image_url: /storage/users/1/images/research/6LJEp35dodWWtfxnm3xfRnL05qvvJrHbn8IXAJqNCFZj2vFjwyLXbmWscKVz.jpg thumb_url: /storage/users/1/thumbs/research/6LJEp35dodWWtfxnm3xfRnL05qvvJrHbn8IXAJqNCFZj2vFjwyLXbmWscKVz.jpg description: 'B-GOOD has the overall goal to provide guidance for beekeepers and help them make better and more informed decisions.' type: research height: 1271 width: 1271 size_kb: 51 date: '2020-02-25 03:01:57' hive_id: null category_id: null inspection_id: null tags: - Api\ResearchDataController '/api/researchdata/{id}': get: summary: "api/researchdata/{id} GET\nList one Research by id with list of consent_users" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer V4Dv16f3eg85aZhkaE6dPbc' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: research: id: 1 created_at: '2020-02-25 03:01:57' updated_at: '2020-11-18 10:33:23' name: B-GOOD url: 'https://b-good-project.eu/' description: 'B-GOOD has the overall goal to provide guidance for beekeepers and help them make better and more informed decisions.' type: research-b-good institution: 'Wageningen University & Research' type_of_data_used: 'Hive inspections, hive settings, BEEP base measurement data' start_date: '2019-07-01 00:00:00' end_date: '2023-06-30 00:00:00' image_id: 1 consent: true consent_history: - id: 185 created_at: '2020-11-12 22:28:09' updated_at: '2020-06-12 22:28:00' user_id: 1 research_id: 1 consent: 1 consent_location_ids: null consent_hive_ids: null consent_sensor_ids: null - id: 1 created_at: '2020-02-25 03:02:23' updated_at: '2020-05-27 03:03:00' user_id: 1 research_id: 1 consent: 0 consent_location_ids: null consent_hive_ids: null consent_sensor_ids: null - id: 97 created_at: '2020-05-14 16:24:41' updated_at: '2020-03-14 16:24:00' user_id: 1 research_id: 1 consent: 1 consent_location_ids: null consent_hive_ids: null consent_sensor_ids: null checklist_names: - '1 Winter' - '2 Varroa' - '3 Summer+' - '4 Summer' - '5 Health' thumb_url: /storage/users/1/thumbs/research/6LJEp35dodWWtfxnm3xfRnL05qvvJrHbn8IXAJqNCFZj2vFjwyLXbmWscKVz.jpg image: id: 1 created_at: '2020-02-25 03:01:57' updated_at: '2020-02-25 03:01:57' filename: 6LJEp35dodWWtfxnm3xfRnL05qvvJrHbn8IXAJqNCFZj2vFjwyLXbmWscKVz.jpg image_url: /storage/users/1/images/research/6LJEp35dodWWtfxnm3xfRnL05qvvJrHbn8IXAJqNCFZj2vFjwyLXbmWscKVz.jpg thumb_url: /storage/users/1/thumbs/research/6LJEp35dodWWtfxnm3xfRnL05qvvJrHbn8IXAJqNCFZj2vFjwyLXbmWscKVz.jpg description: 'B-GOOD has the overall goal to provide guidance for beekeepers and help them make better and more informed decisions.' type: research height: 1271 width: 1271 size_kb: 51 date: '2020-02-25 03:01:57' hive_id: null category_id: null inspection_id: null consent_users: - id: 1 name: Beep email: pim@beep.nl created_at: '2017-07-14 03:34:10' updated_at: '2020-05-27 03:03:00' last_login: '2020-11-18 10:32:16' locale: null consent: 0 - id: 2371 name: app@beep.nl email: app@beep.nl created_at: '2019-10-24 17:15:55' updated_at: '2020-02-25 11:46:59' last_login: '2020-08-20 18:24:22' locale: null consent: 0 - id: 1 name: Beep email: pim@beep.nl created_at: '2017-07-14 03:34:10' updated_at: '2020-06-12 22:28:00' last_login: '2020-11-18 10:32:16' locale: null consent: 1 properties: research: type: object example: id: 1 created_at: '2020-02-25 03:01:57' updated_at: '2020-11-18 10:33:23' name: B-GOOD url: 'https://b-good-project.eu/' description: 'B-GOOD has the overall goal to provide guidance for beekeepers and help them make better and more informed decisions.' type: research-b-good institution: 'Wageningen University & Research' type_of_data_used: 'Hive inspections, hive settings, BEEP base measurement data' start_date: '2019-07-01 00:00:00' end_date: '2023-06-30 00:00:00' image_id: 1 consent: true consent_history: - id: 185 created_at: '2020-11-12 22:28:09' updated_at: '2020-06-12 22:28:00' user_id: 1 research_id: 1 consent: 1 consent_location_ids: null consent_hive_ids: null consent_sensor_ids: null - id: 1 created_at: '2020-02-25 03:02:23' updated_at: '2020-05-27 03:03:00' user_id: 1 research_id: 1 consent: 0 consent_location_ids: null consent_hive_ids: null consent_sensor_ids: null - id: 97 created_at: '2020-05-14 16:24:41' updated_at: '2020-03-14 16:24:00' user_id: 1 research_id: 1 consent: 1 consent_location_ids: null consent_hive_ids: null consent_sensor_ids: null checklist_names: - '1 Winter' - '2 Varroa' - '3 Summer+' - '4 Summer' - '5 Health' thumb_url: /storage/users/1/thumbs/research/6LJEp35dodWWtfxnm3xfRnL05qvvJrHbn8IXAJqNCFZj2vFjwyLXbmWscKVz.jpg image: id: 1 created_at: '2020-02-25 03:01:57' updated_at: '2020-02-25 03:01:57' filename: 6LJEp35dodWWtfxnm3xfRnL05qvvJrHbn8IXAJqNCFZj2vFjwyLXbmWscKVz.jpg image_url: /storage/users/1/images/research/6LJEp35dodWWtfxnm3xfRnL05qvvJrHbn8IXAJqNCFZj2vFjwyLXbmWscKVz.jpg thumb_url: /storage/users/1/thumbs/research/6LJEp35dodWWtfxnm3xfRnL05qvvJrHbn8IXAJqNCFZj2vFjwyLXbmWscKVz.jpg description: 'B-GOOD has the overall goal to provide guidance for beekeepers and help them make better and more informed decisions.' type: research height: 1271 width: 1271 size_kb: 51 date: '2020-02-25 03:01:57' hive_id: null category_id: null inspection_id: null consent_users: type: array example: - id: 1 name: Beep email: pim@beep.nl created_at: '2017-07-14 03:34:10' updated_at: '2020-05-27 03:03:00' last_login: '2020-11-18 10:32:16' locale: null consent: 0 - id: 2371 name: app@beep.nl email: app@beep.nl created_at: '2019-10-24 17:15:55' updated_at: '2020-02-25 11:46:59' last_login: '2020-08-20 18:24:22' locale: null consent: 0 - id: 1 name: Beep email: pim@beep.nl created_at: '2017-07-14 03:34:10' updated_at: '2020-06-12 22:28:00' last_login: '2020-11-18 10:32:16' locale: null consent: 1 items: type: object tags: - Api\ResearchDataController parameters: - in: path name: id description: 'The research ID to request data from.' example: placeat required: true schema: type: string '/api/researchdata/{id}/user/{user_id}/{item}': get: summary: "api/researchdata/{id}/user/{user_id}/{item} GET\nList all user 'item' data within the consent=1 periods of a specific user within a Research. The 'item' field indicates the type of user data (apiaries/locations/hives/devices/flashlogs/inspections/measurements/weather) to request within the research (which the user gave consent for to use). Example: inspectionsResponse: api/researchdata/1/user/1/inspections." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 5d64aDf8PEV3bc1hagZekv6' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 200: description: '' content: application/json: schema: type: array items: type: object example: - id: 35211 notes: test reminder: null reminder_date: null impression: 2 attention: 1 created_at: '2020-03-26 18:28:00' checklist_id: 798 image_id: null owner: true thumb_url: null hive_id: 280 items: [] - id: 40162 notes: 'Input Liebefeld' reminder: null reminder_date: null impression: null attention: null created_at: '2020-04-24 11:03:00' checklist_id: 3206 image_id: null owner: true thumb_url: null hive_id: 280 items: - id: 326538 value: '0.6' inspection_id: 40162 category_id: 977 val: '0.6' unit: 'x 25cm2' type: square_25cm2 - id: 326539 value: '4' inspection_id: 40162 category_id: 978 val: '4' unit: 'x 25cm2' type: square_25cm2 - id: 326540 value: '2' inspection_id: 40162 category_id: 979 val: '2' unit: 'x 25cm2' type: square_25cm2 - id: 40163 notes: 'Brood photograph' reminder: null reminder_date: null impression: null attention: null created_at: '2020-04-24 11:07:00' checklist_id: 3206 image_id: null owner: true thumb_url: null hive_id: 280 items: - id: 326567 value: '1' inspection_id: 40163 category_id: 399 val: Ja unit: null type: boolean - id: 326568 value: 'https://assets.beep.nl/users/1/thumbs/inspection/jIcycTYnO8zYq6SHCvAwPHb97BDLFkZaDmfZUop5.png' inspection_id: 40163 category_id: 973 val: 'https://assets.beep.nl/users/1/thumbs/inspection/jIcycTYnO8zYq6SHCvAwPHb97BDLFkZaDmfZUop5.png' unit: null type: image - id: 68477 notes: null reminder: null reminder_date: null impression: 3 attention: 1 created_at: '2020-10-23 12:43:00' checklist_id: 3206 image_id: null owner: true thumb_url: null hive_id: 281 items: [] - id: 68478 notes: 'Hive change' reminder: null reminder_date: null impression: null attention: null created_at: '2020-10-23 13:12:33' checklist_id: null image_id: null owner: true thumb_url: null hive_id: 281 items: - id: 522496 value: '2' inspection_id: 68478 category_id: 85 val: '2' unit: null type: number_positive - id: 522497 value: '2' inspection_id: 68478 category_id: 87 val: '2' unit: null type: number - id: 522498 value: '10' inspection_id: 68478 category_id: 89 val: '10' unit: null type: number_positive tags: - Api\ResearchDataController requestBody: required: false content: application/json: schema: type: object properties: date_start: type: datetime description: 'The date in ''YYYY-MM-DD HH:mm:ss'' format (2020-01-01 00:00:00) to request data from (default is beginning of research, or earlier (except inspections and measurements).' example: '2020-01-01 00:00:00' date_until: type: datetime description: 'The date in ''YYYY-MM-DD HH:mm:ss'' format (2020-09-29 23:59:59) to request data until (default is until the end of the user consent, or research end).' example: '2020-09-29 23:59:59' device_id: type: integer description: 'The device_id to filter the measurements on (next to date_start and date_until).' example: 1 location_id: type: integer description: 'The location_id to filter the hives, and measurements on (next to date_start and date_until).' example: 2 measurements: type: string description: 'Comma separated string of measurements (e.g. weight_kg,t_i,t_0,t_1) to query. Default: all measurments available.' example: non decimals: type: integer description: 'Specifies the optional maximum amount of decimals that the (InfluxDB) calculation returns. Default: 2.' example: 1 interval: type: string description: 'Specifies the optional (InfluxDB GROUPBY) time interval to interpolate measurements (*(all values)/1m/5m/30m/1h/1d/1w/30d/365d) m (minutes), h (hours), d (days), w (weeks). Default: 1d.' example: 5m calculation: type: string description: 'Specifies the optional (InfluxDB) calculation (NONE/FIRST/LAST/MEAN/MEDIAN/MIN/MAX/SUM/COUNT/SPREAD/STDDEV/DERIVATIVE/PERCENTILE/BOXPLOT/PEAKS/WEEKMAP/NETWEIGHT) for use with time interval. Default: NONE.' example: MEAN calculation_prop: type: string description: 'Specifies the optional (InfluxDB) calculation property for i.e. PERCENTILE/DERIVATIVE/etc). Default: null.' example: DERIVATIVE limit: type: integer description: 'Specifies the maximum number of measurements per location_research (InfluxDB LIMIT), Max: 5000. Default: 5000.' example: 10 precision: type: string description: 'Specifies the optional InfluxDB format/precision (rfc3339/h/m/s/ms/u) of the timestamp of the measurements and weather data: rfc3339 (YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ), h (hours), m (minutes), s (seconds), ms (milliseconds), u (microseconds). Precision defaults to rfc3339.' example: rfc3339 index: type: integer description: 'value dient minimaal 0 te zijn.' example: 0 timezone: type: string description: 'only in case of 1 device requested, to provide ''normal'' data view. Must be a valid time zone, such as Africa/Accra.' example: Asia/Almaty parameters: - in: path name: id description: 'The research ID to request data from.' example: '1' required: true schema: type: string - in: path name: user_id description: 'The user id to request data from.' example: '1' required: true schema: type: string - in: path name: item description: 'The type of user data (locations/devices/inspections/measurements) to request within the research (which the user gave consent for to use).' example: inspections required: true schema: type: string '/api/researchdata/{id}/data/{item}': get: summary: "api/researchdata/{id}/data/{item} GET\nList all research 'item' data within the consent=1 periods within a Research. The 'item' field indicates the type of data (apiaries/locations/devices/inspections/measurements/weather) to request within the research (which the user gave consent for to use). Example: inspectionsResponse: api/researchdata/1/inspections." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 61PD8ZaEf36d5Ve4ckahbgv' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 500: description: '' content: application/json: schema: type: object example: message: 'Server Error' properties: message: type: string example: 'Server Error' tags: - Api\ResearchDataController requestBody: required: false content: application/json: schema: type: object properties: date_start: type: datetime description: 'The date in ''YYYY-MM-DD HH:mm:ss'' format (2020-01-01 00:00:00) to request data from (default is beginning of research, or earlier (except inspections and measurements).' example: '2020-01-01 00:00:00' date_until: type: datetime description: 'The date in ''YYYY-MM-DD HH:mm:ss'' format (2020-09-29 23:59:59) to request data until (default is until the end of the user consent, or research end).' example: '2020-09-29 23:59:59' year_months: type: string description: 'Comma separated string of YYYY-MM strings to filter ONLY measurment data.' example: '2020-01,2021-02' device_ids: type: string description: 'Comma separated string of device_ids to filter the measurements on (next to date_start and date_until).' example: '1,3,6' device_id: type: integer description: 'The device_id to filter measurements on (next to date_start and date_until).' example: 1 location_ids: type: string description: 'Comma separated string of location_ids to filter measurements (next to date_start and date_until).' example: '1,3,6' location_id: type: integer description: 'The location_id to filter and measurements (next to date_start and date_until).' example: 2 measurements: type: string description: 'Comma separated string of measurements (e.g. weight_kg,t_i,t_0,t_1) to query. Default: * (all measurments available).' example: dolorem decimals: type: integer description: 'Specifies the optional maximum amount of decimals that the (InfluxDB) calculation returns. Default: 2.' example: 1 interval: type: string description: 'Specifies the optional (InfluxDB GROUPBY) time interval to interpolate measurements (*(all values)/1m/5m/30m/1h/1d/1w/30d/365d) m (minutes), h (hours), d (days), w (weeks). Default: 1d.' example: 5m calculation: type: string description: 'Specifies the optional (InfluxDB) calculation (NONE/FIRST/LAST/MEAN/MEDIAN/MIN/MAX/SUM/COUNT/SPREAD/STDDEV/DERIVATIVE/PERCENTILE/BOXPLOT/PEAKS/WEEKMAP/NETWEIGHT) for use with time interval. Default: MEAN.' example: MAX calculation_prop: type: string description: 'Specifies the optional (InfluxDB) calculation property for i.e. PERCENTILE/DERIVATIVE/etc). Default: null.' example: '5' limit: type: integer description: 'Specifies the maximum number of measurements per location_research (InfluxDB LIMIT), Max: 5000. Default: 5000.' example: 500 precision: type: string description: 'Specifies the optional InfluxDB format/precision (rfc3339/h/m/s/ms/u) of the timestamp of the measurements and weather data: rfc3339 (YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ), h (hours), m (minutes), s (seconds), ms (milliseconds), u (microseconds). Precision defaults to rfc3339.' example: rfc3339 index: type: integer description: 'Historic index of the interval from now. 0=period with current time included. 1=previous interval. Required without end.' example: 0 timezone: type: string description: 'Provide the front-end timezone to correct the time from UTC to front-end time.' example: Europe/Amsterdam output_csv_links: type: boolean description: 'Optionally provide true if you want the data to be returned as an array of CSV files in stead of JSON data.' example: true parameters: - in: path name: id description: 'The research ID to request data from.' example: '1' required: true schema: type: string - in: path name: item description: 'The type of user data (locations/devices/inspections/measurements) to request within the research (which the user gave consent for to use).' example: inspections required: true schema: type: string /api/samplecode: get: summary: 'Display a listing of the resource.' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer a1c65VdgPhfbekD463EvaZ8' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\SampleCodeController post: summary: "api/samplecode POST\nCreate a sample code for lab results" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 65EZak6vcaP1gbD38hfV4ed' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\SampleCodeController delete: summary: 'Remove the specified resource from storage.' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 6PZvhaDbe84E6kg5cfV31da' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\SampleCodeController '/api/samplecode/{id}': get: summary: 'Show not used' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer V5Dkbf66gc1d8Pv3Ze4aahE' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\SampleCodeController put: summary: 'Update not used' description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 4f58h6a163cbkPdgaVEZveD' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\SampleCodeController parameters: - in: path name: id description: 'The ID of the samplecode.' example: 1 required: true schema: type: integer /api/sensordefinition: get: summary: "api/sensordefinition GET\nDisplay a listing of all sensordefinitions that belong to a device" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer acbPZ6dvha3EVf1ke56Dg48' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\SensorDefinitionController requestBody: required: false content: application/json: schema: type: object properties: device_id: type: integer description: 'Device ID that the Sensordefinition belongs to. Required if hardware_id, and device_hardware_id are not set.' example: 5 hardware_id: type: string description: 'Device hardware ID that the Sensordefinition belongs to. Required if device_id, and device_hardware_id are not set.' example: labore device_hardware_id: type: string description: 'Device hardware ID that the Sensordefinition belongs to. Required if hardware_id, and device_id are not set.' example: architecto input_measurement_abbreviation: type: string description: 'Filter sensordefinitions by provided input abbreviation.' example: et limit: type: integer description: 'If input_abbr is set, limit the amount of results provided by more than 1 to get all historic sensordefinitions of this type.' example: 3 post: summary: "api/sensordefinition POST\nStore a newly created sensordefinition" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 6a5fVP6bEegaDkZh143dv8c' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\SensorDefinitionController requestBody: required: false content: application/json: schema: type: object properties: name: type: string description: 'Name of the sensorinstance (e.g. temperature frame 1)' example: nihil inside: type: boolean description: 'True is measured inside, false if measured outside' example: false offset: type: number description: 'Measurement value that defines 0' example: 4.8005514 multiplier: type: number description: 'Amount of units (calibration figure) per delta Measurement value to multiply withy (value - offset)' example: 77.910918 input_measurement_id: type: integer description: 'Measurement that represents the input Measurement value (e.g. 5, 3).' example: 5 input_measurement_abbreviation: type: string description: 'Abbreviation of the Measurement that represents the input value (e.g. w_v, or t_i).' example: w_v output_measurement_id: type: integer description: 'Measurement that represents the output Measurement value (e.g. 6, 3).' example: 6 output_measurement_abbreviation: type: string description: 'Abbreviation of the Measurement that represents the output (calculated with (raw_value - offset) * multiplier) value (e.g. weight_kg, or t_i),' example: t_i device_id: type: integer description: 'Device ID that the Sensordefinition belongs to. Required if hardware_id, and device_hardware_id are not set.' example: 9 hardware_id: type: string description: 'Device hardware ID that the Sensordefinition belongs to. Required if device_id, and device_hardware_id are not set.' example: deleniti device_hardware_id: type: string description: 'Device hardware ID that the Sensordefinition belongs to. Required if hardware_id, and device_id are not set.' example: eius '/api/sensordefinition/{id}': get: summary: "api/sensordefinition/{id} GET\nDisplay the specified sensordefinition" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer a4c8bk6gv6h5DaZPVE1df3e' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\SensorDefinitionController requestBody: required: false content: application/json: schema: type: object properties: device_id: type: integer description: 'Device ID that the Sensordefinition belongs to. Required if hardware_id, and device_hardware_id are not set.' example: 6 hardware_id: type: string description: 'Device hardware ID that the Sensordefinition belongs to. Required if device_id, and device_hardware_id are not set.' example: consequuntur device_hardware_id: type: string description: 'Device hardware ID that the Sensordefinition belongs to. Required if hardware_id, and device_id are not set.' example: alias put: summary: "api/sensordefinition/{id} PATCH\nUpdate the specified sensordefinition" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 1vacdPV4ak63g5EZ8f6hebD' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\SensorDefinitionController requestBody: required: false content: application/json: schema: type: object properties: device_id: type: integer description: 'Device ID that the Sensordefinition belongs to. Required if hardware_id, and device_hardware_id are not set.' example: 3 hardware_id: type: string description: 'Device hardware ID that the Sensordefinition belongs to. Required if device_id, and device_hardware_id are not set.' example: ea device_hardware_id: type: string description: 'Device hardware ID that the Sensordefinition belongs to. Required if hardware_id, and device_id are not set.' example: libero delete: summary: "api/sensordefinition/{id} DELETE\nRemove the specified sensordefinition" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer e6d6E1vVgabZ5fkc4a38PhD' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\SensorDefinitionController requestBody: required: false content: application/json: schema: type: object properties: device_id: type: integer description: 'Device ID that the Sensordefinition belongs to. Required if hardware_id, and device_hardware_id are not set.' example: 3 hardware_id: type: string description: 'Device hardware ID that the Sensordefinition belongs to. Required if device_id, and device_hardware_id are not set.' example: asperiores device_hardware_id: type: string description: 'Device hardware ID that the Sensordefinition belongs to. Required if hardware_id, and device_id are not set.' example: nulla parameters: - in: path name: id description: 'Sensordefinition ID' example: est required: true schema: type: string /api/taxonomy/lists: get: summary: "api/taxonomy/lists\nList of current state of the standard categories." description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 66gfc3vD1Pbd4hE8aZk5Vae' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\TaxonomyController /api/taxonomy/taxonomy: get: summary: "api/taxonomy/taxonomy\nList of current state of the standard categories, translated, unordered/ordered in hierachy/flat." description: '' parameters: - in: query name: locale description: 'Two character language code to translate taxonomy' example: magni required: false schema: type: string description: 'Two character language code to translate taxonomy' example: magni - in: query name: flat description: 'In hierachy (default: true)' example: true required: false schema: type: boolean description: 'In hierachy (default: true)' example: true - in: query name: order description: 'Ordered (default: false)' example: false required: false schema: type: boolean description: 'Ordered (default: false)' example: false - in: header name: Authorization description: '' example: 'Bearer f8V3ZPcb6ka6d5D1avE4heg' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Api\TaxonomyController /api/login: post: summary: "api/login\nLogin via login form" description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: id: 1317 name: test@test.com email: test@test.com avatar: default.jpg api_token: 1snu2aRRiwQNl2Tul567hLF0XpKuZO8hqkgXU4GvjzZ3f3pOCiDPFbBDea7W created_at: '2018-12-30 23:57:35' updated_at: '2020-01-09 16:31:32' last_login: '2020-01-09 16:31:32' policy_accepted: beep_terms_2018_05_25_avg_v1 email_verified_at: '2018-05-25 00:00:00' properties: id: type: integer example: 1317 name: type: string example: test@test.com email: type: string example: test@test.com avatar: type: string example: default.jpg api_token: type: string example: 1snu2aRRiwQNl2Tul567hLF0XpKuZO8hqkgXU4GvjzZ3f3pOCiDPFbBDea7W created_at: type: string example: '2018-12-30 23:57:35' updated_at: type: string example: '2020-01-09 16:31:32' last_login: type: string example: '2020-01-09 16:31:32' policy_accepted: type: string example: beep_terms_2018_05_25_avg_v1 email_verified_at: type: string example: '2018-05-25 00:00:00' tags: - Api\UserController requestBody: required: true content: application/json: schema: type: object properties: email: type: string description: 'Email address of the user.' example: test@test.com password: type: string description: 'Password of the user.' example: testtest required: - email - password security: [] /api/authenticate: post: summary: "api/authenticate\nAuthorize a user and login with an api_token. Used for persistent login in webapp." description: 'Header parameter with Bearer [api_token] from the user object. Example: Bearer 1snu2aRRiwQNl2Tul5F0XpKuZO8hqkgXU4GvjzZ3f3pOCiDPFbBDea7W' parameters: - in: header name: Authorization description: '' example: 'Bearer 3afb8vD5d1aegPZch4VE6k6' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 200: description: '' content: application/json: schema: type: object example: id: 1317 name: test@test.com email: test@test.com avatar: default.jpg api_token: 1snu2aRRiwQNl2Tul567hLF0XpKuZO8hqkgXU4GvjzZ3f3pOCiDPFbBDea7W created_at: '2018-12-30 23:57:35' updated_at: '2020-01-09 16:31:32' last_login: '2020-01-09 16:31:32' policy_accepted: beep_terms_2018_05_25_avg_v1 email_verified_at: '2018-05-25 00:00:00' properties: id: type: integer example: 1317 name: type: string example: test@test.com email: type: string example: test@test.com avatar: type: string example: default.jpg api_token: type: string example: 1snu2aRRiwQNl2Tul567hLF0XpKuZO8hqkgXU4GvjzZ3f3pOCiDPFbBDea7W created_at: type: string example: '2018-12-30 23:57:35' updated_at: type: string example: '2020-01-09 16:31:32' last_login: type: string example: '2020-01-09 16:31:32' policy_accepted: type: string example: beep_terms_2018_05_25_avg_v1 email_verified_at: type: string example: '2018-05-25 00:00:00' tags: - Api\UserController /api/userlocale: patch: summary: "api/userlocale PATCH\nEdit the user locale only, do not update api_key" description: '' parameters: - in: header name: Authorization description: '' example: 'Bearer 16hc4akgbEDf36av85eVPZd' schema: type: string - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Api\UserController requestBody: required: false content: application/json: schema: type: object properties: locale: type: string description: 'Two digit country string to define locale' example: eaque /api/hive-tags: get: summary: 'Display a listing of the resource.' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] post: summary: 'Store a newly created resource in storage.' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: tag: type: string description: '' example: voluptas router_link: type: string description: '' example: voluptatem hive_id: type: integer description: '' example: 12 action_id: type: integer description: '' example: 11 required: - tag - router_link security: [] '/api/hive-tags/{id}': get: summary: 'Display the specified resource.' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: 401: description: '' content: application/json: schema: type: object example: message: Unauthenticated. properties: message: type: string example: Unauthenticated. tags: - Endpoints security: [] put: summary: 'Update the specified resource in storage.' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Endpoints requestBody: required: true content: application/json: schema: type: object properties: tag: type: string description: '' example: est router_link: type: string description: '' example: delectus hive_id: type: integer description: '' example: 7 action_id: type: integer description: '' example: 4 required: - tag - router_link security: [] delete: summary: 'Remove the specified resource from storage.' description: '' parameters: - in: header name: Content-Type description: '' example: application/json schema: type: string - in: header name: Accept description: '' example: application/json schema: type: string - in: header name: Accept-language description: '' example: en schema: type: string responses: { } tags: - Endpoints security: [] parameters: - in: path name: id description: 'The ID of the hive tag.' example: 18 required: true schema: type: integer tags: - name: Api\AlertController description: 'Manage your alerts' - name: Api\AlertRuleController description: 'Manage your alert rules' - name: Api\CategoryController description: "All categories in the categorization tree used for hive inspections\nOnly used to get listing (index) or one category (show)" - name: Api\ChecklistController description: 'Manage your personal inspection checklists' - name: Api\ChecklistSvgController description: 'Manage stored SVG checklists (for off-line input)' - name: Api\DashboardGroupController description: 'Store and retreive DashboardGroups to create public dashboard with a fixed set of measurements' - name: Api\DeviceController description: 'Store and retreive Devices that produce measurements' - name: Api\ExportController description: 'Export all data to an Excel file by email (GDPR)' - name: Api\FlashLogController description: '' - name: Api\GroupController description: 'Manage collaboration groups' - name: Api\HiveController description: 'Manage your hives' - name: Api\ImageController description: 'Store and retreive image metadata (image_url, thumb_url, width, category_id, etc.)' - name: Api\InspectionsController description: 'Manage manual hive inspections' - name: Api\LocationController description: 'Manage Apiaries' - name: Api\MeasurementController description: 'Store and retreive sensor data (both LoRa and API POSTs) from a Device' - name: Api\ResearchController description: 'Manage your research consent' - name: Api\ResearchDataController description: 'Retreive owned or viewable Research data' - name: Api\SampleCodeController description: 'Research lab result sample code controller' - name: Api\SensorDefinitionController description: 'Manage your sensor definitions' - name: Api\TaxonomyController description: '' - name: Api\UserController description: "\nAPIs for managing users" - name: Endpoints description: '' components: securitySchemes: default: type: http scheme: bearer description: '' security: - default: []