(0.0.1)

Download OpenAPI specification:Download

@openapi:info

Admin

Shut down the raspberry pi.

Shut down the raspberry pi.

Responses

Reboot the raspberry pi.

Reboot the raspberry pi.

Responses

Reload reef-pi.

Reload reef-pi to apply any capability changes or other modules that are registered at startup.

Responses

Upgrade reef-pi.

Upgrade reef-pi.

Responses

Get system summary.

Get system summary.

Responses

AnalogInput

List all Analog Inputs.

List all Analog Inputs in reef-pi.

Responses

Get an Analog Input by id.

Get an existing Analog Input.

path Parameters
id
required
string

The Id of the analog input

Responses

Update an Analog Input.

Update an existing Analog Input.

path Parameters
id
required
string

The Id of the analog input to update

Request Body schema: application/json

The analog input to update

driver
string
id
string
name
string
pin
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "driver": "string",
  • "id": "string",
  • "name": "string",
  • "pin": 0
}

Delete an Analog Input.

Delete an existing Analog Input.

path Parameters
id
required
string

The Id of the analog input to delete

Responses

Read an Analog Input.

Read an Analog Input.

path Parameters
id
required
string

The Id of the analog input to read

Responses

Create an analog input.

Create a new analog input.

Request Body schema: application/json

The analog input to create

driver
string
id
string
name
string
pin
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "driver": "string",
  • "id": "string",
  • "name": "string",
  • "pin": 0
}

ATO

List all ATOs.

List all ATOs in reef-pi.

Responses

Create an ATO.

Create a new ATO.

Request Body schema: application/json

The ato to create

control
boolean
disable_on_alert
boolean
enable
boolean
id
string
inlet
string
is_macro
boolean
name
string
object (Notify)
period
integer <int64> (Duration)

A Duration represents the elapsed time between two instants as an int64 nanosecond count. The representation limits the largest representable duration to approximately 290 years.

pump
string

Responses

Request samples

Content type
application/json
{
  • "control": true,
  • "disable_on_alert": true,
  • "enable": true,
  • "id": "string",
  • "inlet": "string",
  • "is_macro": true,
  • "name": "string",
  • "notify":
    {
    },
  • "period": 0,
  • "pump": "string"
}

Get an ATO by id.

Get an existing ATO.

path Parameters
id
required
string

The Id of the ATO

Responses

Update an ATO.

Update an existing ATO.

path Parameters
id
required
string

The Id of the ato to update

Request Body schema: application/json

The ato to update

control
boolean
disable_on_alert
boolean
enable
boolean
id
string
inlet
string
is_macro
boolean
name
string
object (Notify)
period
integer <int64> (Duration)

A Duration represents the elapsed time between two instants as an int64 nanosecond count. The representation limits the largest representable duration to approximately 290 years.

pump
string

Responses

Request samples

Content type
application/json
{
  • "control": true,
  • "disable_on_alert": true,
  • "enable": true,
  • "id": "string",
  • "inlet": "string",
  • "is_macro": true,
  • "name": "string",
  • "notify":
    {
    },
  • "period": 0,
  • "pump": "string"
}

Delete an ATO.

Delete an existing ATO.

path Parameters
id
required
string

The Id of the ato to delete

Responses

Get usage history.

Get usage history for a given ATO.

path Parameters
id
required
string

The Id of the ato

Responses

Camera

Get the camera configuration.

Get the camera configuration.

Responses

Save camera configuration.

Save camera configuration.

Request Body schema: application/json

camera configuration

capture_flags
string
enable
boolean
image_directory
string
object (MotionConfig)
tick_interval
integer <int64> (Duration)

A Duration represents the elapsed time between two instants as an int64 nanosecond count. The representation limits the largest representable duration to approximately 290 years.

upload
boolean

Responses

Request samples

Content type
application/json
{
  • "capture_flags": "string",
  • "enable": true,
  • "image_directory": "string",
  • "motion":
    {
    },
  • "tick_interval": 0,
  • "upload": true
}

Get latest picture.

Get latest picture.

Responses

List images.

List all images.

Responses

Shoot a picture.

Shoot a picture.

Responses

Capabilities

List all capabilities.

List all capabilities in reef-pi.

Responses

Credentials

Update credentials.

Update username and password.

Request Body schema: application/json

The new credentials

password
string
user
string

Responses

Request samples

Content type
application/json
{
  • "password": "string",
  • "user": "string"
}

Dashboard

Get dashboard.

Get dashboard.

Responses

Update dasboard configuration.

Update dasboard configuration.

Request Body schema: application/json

The dashboard configuration

column
integer <int64>
Array of Array of objects (Chart)
height
integer <int64>
row
integer <int64>
width
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "column": 0,
  • "grid_details":
    [
    ],
  • "height": 0,
  • "row": 0,
  • "width": 0
}

Display

Get current display state.

Get current display state.

Responses

systemDisplayPost

Set display brigthness Set display brightness

Request Body schema: application/json
brightness
integer <int64>
enable
boolean

Responses

Request samples

Content type
application/json
{
  • "brightness": 0,
  • "enable": true
}

Turn display off.

Turn display off.

Responses

Turn display on.

Turn display on.

Responses

Doser

List all dosers.

List all dosers in reef-pi.

Responses

Create a doser.

Create a new doser.

Request Body schema: application/json

The doser to create

id
string
jack
string
name
string
pin
integer <int64>
object (dosingRegiment)

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "jack": "string",
  • "name": "string",
  • "pin": 0,
  • "regiment":
    {
    }
}

Get a doser by id.

Get an existing doser.

path Parameters
id
required
string

The Id of the doser

Responses

Update a doser.

Update an existing doser.

path Parameters
id
required
string

The Id of the doser to update

Request Body schema: application/json

The doser to update

id
string
jack
string
name
string
pin
integer <int64>
object (dosingRegiment)

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "jack": "string",
  • "name": "string",
  • "pin": 0,
  • "regiment":
    {
    }
}

Delete a doser.

Delete an existing doser.

path Parameters
id
required
string

The Id of the doser to delete

Responses

Calibrate a doser.

Calibrate a doser.

path Parameters
id
required
string

The Id of the doser

Request Body schema: application/json
duration
number <double>
speed
number <double>

Responses

Request samples

Content type
application/json
{
  • "duration": 0,
  • "speed": 0
}

Schedule dosing.

Schedule dosing.

path Parameters
id
required
string

The Id of the doser

Request Body schema: application/json
duration
number <double>
enable
boolean
object (Schedule)
speed
number <double>

Responses

Request samples

Content type
application/json
{
  • "duration": 0,
  • "enable": true,
  • "schedule":
    {
    },
  • "speed": 0
}

Get usage history.

Get usage history for a given Doser.

path Parameters
id
required
string

The Id of the doser

Responses

Driver

List all Drivers.

List all Drivers in reef-pi.

Responses

Create a Driver.

Create a new Driver.

Request Body schema: application/json

The driver to create

config
object
id
string
name
string
object
object
type
string

Responses

Request samples

Content type
application/json
{
  • "config": { },
  • "id": "string",
  • "name": "string",
  • "parameters":
    {
    },
  • "pinmap":
    {
    },
  • "type": "string"
}

driverListOptions

Get driver parametres List all drivers with configuration options.

Responses

Validate a driver configuration.

Validate a driver configuration.

Request Body schema: application/json

The driver to validate

config
object
id
string
name
string
object
object
type
string

Responses

Request samples

Content type
application/json
{
  • "config": { },
  • "id": "string",
  • "name": "string",
  • "parameters":
    {
    },
  • "pinmap":
    {
    },
  • "type": "string"
}

Get a driver by id.

Get an existing driver.

path Parameters
id
required
string

The Id of the driver

Responses

Update a Driver.

Update an existing Driver.

path Parameters
id
required
string

The Id of the driver to update

Request Body schema: application/json

The driver to update

config
object
id
string
name
string
object
object
type
string

Responses

Request samples

Content type
application/json
{
  • "config": { },
  • "id": "string",
  • "name": "string",
  • "parameters":
    {
    },
  • "pinmap":
    {
    },
  • "type": "string"
}

Delete an Driver.

Delete an existing Driver.

path Parameters
id
required
string

The Id of the driver to delete

Responses

Equipment

List all equipment.

List all equipment in reef-pi.

Responses

Create an equipment.

Create a new equipment.

Request Body schema: application/json

The equipment to create

id
string
name
string
on
boolean
outlet
string

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "on": true,
  • "outlet": "string"
}

Update an equipment.

Update an existing equipment.

path Parameters
id
required
string

The Id of the equipment to update

Request Body schema: application/json

The equipment to update

id
string
name
string
on
boolean
outlet
string

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "on": true,
  • "outlet": "string"
}

Get an equipment by id.

Get an existing equipment by id.

path Parameters
id
required
string

The Id of the equipment

Responses

Delete an equipment.

Delete an existing equipment.

path Parameters
id
required
string

The Id of the equipment to delete

Responses

Control an equipment.

Control an equipment.

path Parameters
id
required
string

The Id of the equipment to control

Request Body schema: application/json

The action to take

on
boolean

Responses

Request samples

Content type
application/json
{
  • "on": true
}

Errors

List errors.

List errors.

Responses

Clear errors.

Clear errors.

Responses

Get an error by id.

Get an existing error.

path Parameters
id
required
string

The Id of the error

Responses

Delete an error.

Delete an error.

path Parameters
id
required
string

The Id of the error to delete

Responses

Inlet

List all Inlets.

List all inlets in reef-pi.

Responses

Create an Inlet.

Create a new Inlet.

Request Body schema: application/json

The inlet to create

driver
string
equipment
string
id
string
name
string
pin
integer <int64>
reverse
boolean

Responses

Request samples

Content type
application/json
{
  • "driver": "string",
  • "equipment": "string",
  • "id": "string",
  • "name": "string",
  • "pin": 0,
  • "reverse": true
}

Get an Inlet by id.

Get an existing Inlet.

path Parameters
id
required
string

The Id of the inlet

Responses

Update an Inlet.

Update an existing Inlet.

path Parameters
id
required
string

The Id of the inlet to update

Request Body schema: application/json

The inlet to update

driver
string
equipment
string
id
string
name
string
pin
integer <int64>
reverse
boolean

Responses

Request samples

Content type
application/json
{
  • "driver": "string",
  • "equipment": "string",
  • "id": "string",
  • "name": "string",
  • "pin": 0,
  • "reverse": true
}

Delete an Inlet.

Delete an existing Inlet.

path Parameters
id
required
string

The Id of the inlet to delete

Responses

Read an Inlet.

Read an Inlet.

path Parameters
id
required
string

The Id of the inlet to read

Responses

Jack

List all jacks.

List all jacks in reef-pi.

Responses

Create a Jack.

Create a new Jack.

Request Body schema: application/json

The jack to create

driver
string
id
string
name
string
pins
Array of integers <int64>
reverse
boolean

Responses

Request samples

Content type
application/json
{
  • "driver": "string",
  • "id": "string",
  • "name": "string",
  • "pins":
    [
    ],
  • "reverse": true
}

Get a Jack by id.

Get an existing Jack.

path Parameters
id
required
string

The Id of the jack

Responses

Update a Jack.

Update an existing Jack.

path Parameters
id
required
string

The Id of the jack to update

Request Body schema: application/json

The jack to update

driver
string
id
string
name
string
pins
Array of integers <int64>
reverse
boolean

Responses

Request samples

Content type
application/json
{
  • "driver": "string",
  • "id": "string",
  • "name": "string",
  • "pins":
    [
    ],
  • "reverse": true
}

Delete a Jack.

Delete an existing Jack.

path Parameters
id
required
string

The Id of the jack to delete

Responses

Control a Jack.

Control a Jack.

Responses

Lights

Delete a light.

Delete an existing light.

path Parameters
id
required
string

The Id of the light to delete

Responses

List all lights.

List all lights in reef-pi.

Responses

Create a light.

Create a new light.

Request Body schema: application/json

The light to create

object
enable
boolean
id
string
jack
string
name
string

Responses

Request samples

Content type
application/json
{
  • "channels":
    {
    },
  • "enable": true,
  • "id": "string",
  • "jack": "string",
  • "name": "string"
}

Update a light.

Update an existing light.

path Parameters
id
required
string

The Id of the light to update

Request Body schema: application/json

The light to update

object
enable
boolean
id
string
jack
string
name
string

Responses

Request samples

Content type
application/json
{
  • "channels":
    {
    },
  • "enable": true,
  • "id": "string",
  • "jack": "string",
  • "name": "string"
}

Get a light by id.

Get an existing light by id.

path Parameters
id
required
string

The Id of the light

Responses

Macros

List all macros.

List all macros in reef-pi.

Responses

Create a macro.

Create a new macro.

Request Body schema: application/json

The macro to create

id
string
name
string
reversible
boolean
Array of objects (Step)

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "reversible": true,
  • "steps":
    [
    ]
}

Get a macro by id.

Get an existing macro by id.

path Parameters
id
required
string

The Id of the macro

Responses

Update a macro.

Update an existing macro.

path Parameters
id
required
string

The Id of the macro to update

Request Body schema: application/json

The macro to update

id
string
name
string
reversible
boolean
Array of objects (Step)

Responses

Request samples

Content type
application/json
{
  • "id": "string",
  • "name": "string",
  • "reversible": true,
  • "steps":
    [
    ]
}

Delete a macro.

Delete an existing macro.

path Parameters
id
required
string

The Id of the macro to delete

Responses

Reverse a macro.

Revert a macro in reverse.

path Parameters
id
required
string

The Id of the macro to revert

Responses

Run a macro.

Run a macro.

path Parameters
id
required
string

The Id of the macro to run

Responses

Me

Ping API.

Ping API to determine if server is running.

Responses

Outlet

List all Outlets.

List all Outlets in reef-pi.

Responses

Create an Outlet.

Create a new Outlet.

Request Body schema: application/json

The outlet to create

driver
string
equipment
string
id
string
name
string
pin
integer <int64>
reverse
boolean

Responses

Request samples

Content type
application/json
{
  • "driver": "string",
  • "equipment": "string",
  • "id": "string",
  • "name": "string",
  • "pin": 0,
  • "reverse": true
}

Get an Outlet by id.

Get an existing Outlet.

path Parameters
id
required
string

The Id of the outlet

Responses

Update an Outlet.

Update an existing Outlet.

path Parameters
id
required
string

The Id of the outlet to update

Request Body schema: application/json

The outlet to update

driver
string
equipment
string
id
string
name
string
pin
integer <int64>
reverse
boolean

Responses

Request samples

Content type
application/json
{
  • "driver": "string",
  • "equipment": "string",
  • "id": "string",
  • "name": "string",
  • "pin": 0,
  • "reverse": true
}

Delete an Outlet.

Delete an existing Outlet.

path Parameters
id
required
string

The Id of the outlet to delete

Responses

PhProbes

List all ph probes.

List all ph probes in reef-pi.

Responses

Create a ph probe.

Create a new ph probe.

Request Body schema: application/json

The ph probe to create

analog_input
string
control
boolean
downer_eq
string
enable
boolean
hysteresis
number <double>
id
string
is_macro
boolean
max
number <double>
min
number <double>
name
string
object (Notify)
period
integer <int64> (Duration)

A Duration represents the elapsed time between two instants as an int64 nanosecond count. The representation limits the largest representable duration to approximately 290 years.

upper_eq
string

Responses

Request samples

Content type
application/json
{
  • "analog_input": "string",
  • "control": true,
  • "downer_eq": "string",
  • "enable": true,
  • "hysteresis": 0,
  • "id": "string",
  • "is_macro": true,
  • "max": 0,
  • "min": 0,
  • "name": "string",
  • "notify":
    {
    },
  • "period": 0,
  • "upper_eq": "string"
}

Get an ph probe by id.

Get an existing ph probe by id.

path Parameters
id
required
string

The Id of the ph probe

Responses

Update a ph probe.

Update an existing ph probe.

path Parameters
id
required
string

The Id of the ph probe to update

Request Body schema: application/json

The ph probe to update

analog_input
string
control
boolean
downer_eq
string
enable
boolean
hysteresis
number <double>
id
string
is_macro
boolean
max
number <double>
min
number <double>
name
string
object (Notify)
period
integer <int64> (Duration)

A Duration represents the elapsed time between two instants as an int64 nanosecond count. The representation limits the largest representable duration to approximately 290 years.

upper_eq
string

Responses

Request samples

Content type
application/json
{
  • "analog_input": "string",
  • "control": true,
  • "downer_eq": "string",
  • "enable": true,
  • "hysteresis": 0,
  • "id": "string",
  • "is_macro": true,
  • "max": 0,
  • "min": 0,
  • "name": "string",
  • "notify":
    {
    },
  • "period": 0,
  • "upper_eq": "string"
}

Delete a ph probe.

Delete an existing ph probe.

path Parameters
id
required
string

The Id of the ph probe to delete

Responses

Calibrate a ph probe.

Set calibration points for one or two point calibration

path Parameters
id
required
string

The Id of the ph probe to calibrate

Request Body schema: application/json

The calibration measurements

Array ()
expected
float64 <float>

The expected value

observed
float64 <float>

The actual value observed

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Calibrate a ph probe.

Set a calibration point for one or two point calibration

path Parameters
id
required
string

The Id of the ph probe to calibrate

Request Body schema: application/json

The calibration measurement

expected
number <double>
observed
number <double>
type
string

Responses

Request samples

Content type
application/json
{
  • "expected": 0,
  • "observed": 0,
  • "type": "string"
}

Get ph probe reading.

Get ph probe reading.

path Parameters
id
required
string

The Id of the ph probe to read

Responses

Get ph probe readings.

Get ph probe readings.

path Parameters
id
required
string

The Id of the ph probe to delete

Responses

Settings

List all settings.

List all settings in reef-pi.

Responses

Update settings.

Update settings.

Request Body schema: application/json

The settings to update

address
string
object (capabilities)
display
boolean
object (HealthCheckNotify)
https
boolean
interface
string
name
string
notification
boolean
pprof
boolean
prometheus
boolean
rpi_pwm_freq
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "address": "string",
  • "capabilities":
    {
    },
  • "display": true,
  • "health_check":
    {
    },
  • "https": true,
  • "interface": "string",
  • "name": "string",
  • "notification": true,
  • "pprof": true,
  • "prometheus": true,
  • "rpi_pwm_freq": 0
}

Temperature

List all temperature controllers.

List all temperature controllers in reef-pi.

Responses

Create a temperature controller.

Create a new temperature controller.

Request Body schema: application/json

The temperature controller to create

Array of objects (Measurement)
control
boolean
cooler
string
enable
boolean
fahrenheit
boolean
heater
string
hysteresis
number <double>
id
string
is_macro
boolean
max
number <double>
min
number <double>
name
string
object (Notify)
period
integer <int64> (Duration)

A Duration represents the elapsed time between two instants as an int64 nanosecond count. The representation limits the largest representable duration to approximately 290 years.

sensor
string

Responses

Request samples

Content type
application/json
{
  • "calibration_points":
    [
    ],
  • "control": true,
  • "cooler": "string",
  • "enable": true,
  • "fahrenheit": true,
  • "heater": "string",
  • "hysteresis": 0,
  • "id": "string",
  • "is_macro": true,
  • "max": 0,
  • "min": 0,
  • "name": "string",
  • "notify":
    {
    },
  • "period": 0,
  • "sensor": "string"
}

List all temperature sensors.

List all temperature sensors detected by the OS.

Responses

Get an temperature controller by id.

Get an existing temperature controller by id.

path Parameters
id
required
string

The Id of the temperature controller

Responses

Update a temperature controller.

Update an existing temperature controller.

path Parameters
id
required
string

The Id of the temperature controller to update

Request Body schema: application/json

The temperature controller to update

Array of objects (Measurement)
control
boolean
cooler
string
enable
boolean
fahrenheit
boolean
heater
string
hysteresis
number <double>
id
string
is_macro
boolean
max
number <double>
min
number <double>
name
string
object (Notify)
period
integer <int64> (Duration)

A Duration represents the elapsed time between two instants as an int64 nanosecond count. The representation limits the largest representable duration to approximately 290 years.

sensor
string

Responses

Request samples

Content type
application/json
{
  • "calibration_points":
    [
    ],
  • "control": true,
  • "cooler": "string",
  • "enable": true,
  • "fahrenheit": true,
  • "heater": "string",
  • "hysteresis": 0,
  • "id": "string",
  • "is_macro": true,
  • "max": 0,
  • "min": 0,
  • "name": "string",
  • "notify":
    {
    },
  • "period": 0,
  • "sensor": "string"
}

Delete a temperature controller.

Delete an existing temperature controller.

path Parameters
id
required
string

The Id of the temperature controller to delete

Responses

Get temperature controller reading.

Get temperature controller reading.

path Parameters
id
required
string

The Id of the temperature controller to read

Responses

Get temperature controller reading.

Get temperature controller reading.

path Parameters
id
required
string

The Id of the temperature controller to read

Responses

Get usage history.

Get usage history for a given temperature controller.

path Parameters
id
required
string

The Id of the temperature controller

Responses

Telemetry

List telemetry configuration.

List telemetry configuration.

Responses

Update telemetry configuration.

Update telemetry configuration.

Request Body schema: application/json

The telemetry configuration

object (AdafruitIO)
current_limit
integer <int64>
historical_limit
integer <int64>
object (MailerConfig)
notify
boolean
prometheus
boolean
throttle
integer <int64>

Responses

Request samples

Content type
application/json
{
  • "adafruitio":
    {
    },
  • "current_limit": 0,
  • "historical_limit": 0,
  • "mailer":
    {
    },
  • "notify": true,
  • "prometheus": true,
  • "throttle": 0
}

Test telemetry.

Send a telemetry test message.

Responses

Timers

List all timer jobs.

List all timer jobs in reef-pi.

Responses

Create a timer job.

Create a new timer job.

Request Body schema: application/json

The timer job to create

day
string
enable
boolean
hour
string
id
string
minute
string
month
string
name
string
second
string
target
object
type
string
week
string

Responses

Request samples

Content type
application/json
{
  • "day": "string",
  • "enable": true,
  • "hour": "string",
  • "id": "string",
  • "minute": "string",
  • "month": "string",
  • "name": "string",
  • "second": "string",
  • "target": { },
  • "type": "string",
  • "week": "string"
}

Get timer.

Get timer.

path Parameters
id
required
string

The Id of the timer

Responses

Update a timer job.

Update an existing timer job.

path Parameters
id
required
string

The Id of the timer job to update

Request Body schema: application/json

The timer job to update

day
string
enable
boolean
hour
string
id
string
minute
string
month
string
name
string
second
string
target
object
type
string
week
string

Responses

Request samples

Content type
application/json
{
  • "day": "string",
  • "enable": true,
  • "hour": "string",
  • "id": "string",
  • "minute": "string",
  • "month": "string",
  • "name": "string",
  • "second": "string",
  • "target": { },
  • "type": "string",
  • "week": "string"
}

Delete a timer job.

Delete an existing timer job.

path Parameters
id
required
string

The Id of the timer job to delete

Responses