Skip to content

Observatory API

The Observatory API covers the hardware side of Skynet — sites, observatories, telescopes, instruments, devices, device models, snapshots, and the operational-constraint family.

Endpoints at a glance

Resource What it is
/v1/sites Physical sites (lat/lon/elevation). Edits via PATCH; creation is staff-only
/v1/observatories Observatory records on a site. Edits via PATCH; creation is staff-only
/v1/telescopes Telescope records — the unit observers ultimately submit against. CRUD
/v1/instruments Instruments — combinations of devices that fulfill an observation type. CRUD
/v1/devices Polymorphic device records (mount, camera, filter wheel, …). CRUD
/v1/device-models Device-model templates that devices reference for defaults
/v1/device-snapshots Live device state — usually you'd consume via WebSocket rather than poll
/v1/telescope-snapshots Aggregate telescope state — same; prefer WebSocket
/v1/constraint-snapshots Constraint definitions and current statuses
/v1/operational-constraints Constraint records — polymorphic on constraintType
/v1/shutdown-interlocks Shutdown interlocks (the strong "stop now" version of a constraint)
/v1/filter-specifiers Filter specifier records — references a filter wheel position

Permissions model

Most of these endpoints are gated by telescope access grants — read access typically follows the telescope's is_public flag plus explicit grants; write access requires update permission on the telescope or its owning entity. See Telescope access for the model and Access grants for the grant lifecycle.

Snapshots — REST vs WebSocket

*-snapshots endpoints exist as REST resources for ergonomics (point-in-time queries, debugging), but for live tracking you should subscribe to the relevant WebSocket streamsdevice_snapshot, telescope_snapshot, instrument_snapshot, constraint_status_snapshot. Polling the REST endpoint works but wastes round-trips and won't keep up under load.

Common task recipes

  • Discover what telescopes you can use. GET /v1/telescopes with no filters returns everything visible to your token (public
  • accessible). Pair with the Conventions pagination rules.
  • Inspect a telescope's hardware. GET /v1/telescopes/{id} returns the telescope record; expand devices and instruments via the graph endpoint (graphs router) for the relationships in one call.
  • Add a new telescope. Authorized owners can POST /v1/telescopes. Site and observatory provisioning is staff-only — see Onboarding.

Reference

Observatory API 2.0.0

Endpoints for managing observatories and related resources.


Devices


GET /device-models

Read Device Models

Input parameters

Parameter In Type Default Nullable Description
id query No
limit query integer 100 No
manufacturer query No
model_type query No
modelType query No
name query No
owner_id query No
ownerId query No
skip query integer 0 No
sort_by query No
sortBy query No
token query No

Responses

{
    "items": [
        null
    ],
    "page": 0,
    "pages": 0,
    "size": 0,
    "total": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "items": {
            "items": {
                "discriminator": {
                    "mapping": {
                        "camera": "#/components/schemas/CameraModelSummary",
                        "enclosure": "#/components/schemas/EnclosureModelSummary",
                        "filter_wheel": "#/components/schemas/FilterWheelModelSummary",
                        "focuser": "#/components/schemas/FocuserModelSummary",
                        "mount": "#/components/schemas/MountModelSummary",
                        "ota": "#/components/schemas/OtaModelSummary",
                        "weather_sensor": "#/components/schemas/WeatherSensorModelSummary"
                    },
                    "propertyName": "deviceType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/FocuserModelSummary"
                    },
                    {
                        "$ref": "#/components/schemas/CameraModelSummary"
                    },
                    {
                        "$ref": "#/components/schemas/EnclosureModelSummary"
                    },
                    {
                        "$ref": "#/components/schemas/FilterWheelModelSummary"
                    },
                    {
                        "$ref": "#/components/schemas/MountModelSummary"
                    },
                    {
                        "$ref": "#/components/schemas/OtaModelSummary"
                    },
                    {
                        "$ref": "#/components/schemas/WeatherSensorModelSummary"
                    }
                ]
            },
            "title": "Items",
            "type": "array"
        },
        "page": {
            "minimum": 1.0,
            "title": "Page",
            "type": "integer"
        },
        "pages": {
            "minimum": 0.0,
            "title": "Pages",
            "type": "integer"
        },
        "size": {
            "minimum": 1.0,
            "title": "Size",
            "type": "integer"
        },
        "total": {
            "minimum": 0.0,
            "title": "Total",
            "type": "integer"
        }
    },
    "required": [
        "items",
        "total",
        "page",
        "size",
        "pages"
    ],
    "title": "Page[Annotated[Union[FocuserModelSummary, CameraModelSummary, EnclosureModelSummary, FilterWheelModelSummary, MountModelSummary, OtaModelSummary, WeatherSensorModelSummary], FieldInfo(annotation=NoneType, required=True, discriminator='device_type')]]",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /device-models/models/{model_id}

Read Device Model

Input parameters

Parameter In Type Default Nullable Description
node_id query integer No
token query No

Responses

Schema of the response body
{
    "discriminator": {
        "mapping": {
            "camera": "#/components/schemas/CameraModel",
            "enclosure": "#/components/schemas/EnclosureModel",
            "filter_wheel": "#/components/schemas/FilterWheelModel",
            "focuser": "#/components/schemas/FocuserModel",
            "mount": "#/components/schemas/MountModel",
            "ota": "#/components/schemas/OtaModel",
            "weather_sensor": "#/components/schemas/WeatherSensorModel"
        },
        "propertyName": "deviceType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/FocuserModel"
        },
        {
            "$ref": "#/components/schemas/CameraModel"
        },
        {
            "$ref": "#/components/schemas/EnclosureModel"
        },
        {
            "$ref": "#/components/schemas/FilterWheelModel"
        },
        {
            "$ref": "#/components/schemas/MountModel"
        },
        {
            "$ref": "#/components/schemas/OtaModel"
        },
        {
            "$ref": "#/components/schemas/WeatherSensorModel"
        }
    ],
    "title": "Response Read Device Model Device Models Models  Model Id  Get"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /devices

Get Devices

Input parameters

Parameter In Type Default Nullable Description
assigned query No
device_type query No
deviceType query No
id query No
manufacturer query No
model_name query No
modelName query No
name query No
observatory_id query No
observatoryId query No
owner_id query No
ownerId query No
q query No
serial_number query No
serialNumber query No
sort_by query No
sortBy query No
telescope_id query No
telescopeId query No
token query No
uid query No

Responses

{
    "items": [
        null
    ],
    "page": 0,
    "pages": 0,
    "size": 0,
    "total": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "items": {
            "items": {
                "discriminator": {
                    "mapping": {
                        "antenna": "#/components/schemas/Antenna",
                        "camera": "#/components/schemas/Camera",
                        "enclosure": "#/components/schemas/Enclosure",
                        "filter_wheel": "#/components/schemas/FilterWheel",
                        "focuser": "#/components/schemas/Focuser",
                        "instrument_rotator": "#/components/schemas/InstrumentRotator",
                        "mount": "#/components/schemas/Mount",
                        "ota": "#/components/schemas/Ota",
                        "radio_backend": "#/components/schemas/RadioBackend",
                        "receiver": "#/components/schemas/Receiver",
                        "weather_sensor": "#/components/schemas/WeatherSensor"
                    },
                    "propertyName": "deviceType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/Antenna"
                    },
                    {
                        "$ref": "#/components/schemas/Focuser"
                    },
                    {
                        "$ref": "#/components/schemas/Camera"
                    },
                    {
                        "$ref": "#/components/schemas/Enclosure"
                    },
                    {
                        "$ref": "#/components/schemas/FilterWheel"
                    },
                    {
                        "$ref": "#/components/schemas/InstrumentRotator"
                    },
                    {
                        "$ref": "#/components/schemas/Mount"
                    },
                    {
                        "$ref": "#/components/schemas/Ota"
                    },
                    {
                        "$ref": "#/components/schemas/RadioBackend"
                    },
                    {
                        "$ref": "#/components/schemas/Receiver"
                    },
                    {
                        "$ref": "#/components/schemas/WeatherSensor"
                    }
                ]
            },
            "title": "Items",
            "type": "array"
        },
        "page": {
            "minimum": 1.0,
            "title": "Page",
            "type": "integer"
        },
        "pages": {
            "minimum": 0.0,
            "title": "Pages",
            "type": "integer"
        },
        "size": {
            "minimum": 1.0,
            "title": "Size",
            "type": "integer"
        },
        "total": {
            "minimum": 0.0,
            "title": "Total",
            "type": "integer"
        }
    },
    "required": [
        "items",
        "total",
        "page",
        "size",
        "pages"
    ],
    "title": "Page[Annotated[Union[Antenna, Focuser, Camera, Enclosure, FilterWheel, InstrumentRotator, Mount, Ota, RadioBackend, Receiver, WeatherSensor], FieldInfo(annotation=NoneType, required=True, discriminator='device_type')]]",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /devices/{device_id}

Get Device

Input parameters

Parameter In Type Default Nullable Description
device_id path No Device id or uid
token query No

Responses

Schema of the response body
{
    "discriminator": {
        "mapping": {
            "antenna": "#/components/schemas/Antenna",
            "camera": "#/components/schemas/Camera",
            "enclosure": "#/components/schemas/Enclosure",
            "filter_wheel": "#/components/schemas/FilterWheel",
            "focuser": "#/components/schemas/Focuser",
            "instrument_rotator": "#/components/schemas/InstrumentRotator",
            "mount": "#/components/schemas/Mount",
            "ota": "#/components/schemas/Ota",
            "radio_backend": "#/components/schemas/RadioBackend",
            "receiver": "#/components/schemas/Receiver",
            "weather_sensor": "#/components/schemas/WeatherSensor"
        },
        "propertyName": "deviceType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/Antenna"
        },
        {
            "$ref": "#/components/schemas/Focuser"
        },
        {
            "$ref": "#/components/schemas/Camera"
        },
        {
            "$ref": "#/components/schemas/Enclosure"
        },
        {
            "$ref": "#/components/schemas/FilterWheel"
        },
        {
            "$ref": "#/components/schemas/InstrumentRotator"
        },
        {
            "$ref": "#/components/schemas/Mount"
        },
        {
            "$ref": "#/components/schemas/Ota"
        },
        {
            "$ref": "#/components/schemas/RadioBackend"
        },
        {
            "$ref": "#/components/schemas/Receiver"
        },
        {
            "$ref": "#/components/schemas/WeatherSensor"
        }
    ],
    "title": "Response Get Device Devices  Device Id  Get"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

PATCH /devices/{device_id}

Update Device

Input parameters

Parameter In Type Default Nullable Description
device_id path No Device id or uid
token query No

Request body

Schema of the request body
{
    "discriminator": {
        "mapping": {
            "antenna": "#/components/schemas/AntennaUpdate",
            "camera": "#/components/schemas/CameraUpdate",
            "enclosure": "#/components/schemas/EnclosureUpdate",
            "filter_wheel": "#/components/schemas/FilterWheelUpdate",
            "focuser": "#/components/schemas/FocuserUpdate",
            "instrument_rotator": "#/components/schemas/InstrumentRotatorUpdate",
            "mount": "#/components/schemas/MountUpdate",
            "ota": "#/components/schemas/OtaUpdate",
            "radio_backend": "#/components/schemas/RadioBackendUpdate",
            "receiver": "#/components/schemas/ReceiverUpdate",
            "weather_sensor": "#/components/schemas/WeatherSensorUpdate"
        },
        "propertyName": "deviceType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/AntennaUpdate"
        },
        {
            "$ref": "#/components/schemas/FocuserUpdate"
        },
        {
            "$ref": "#/components/schemas/CameraUpdate"
        },
        {
            "$ref": "#/components/schemas/EnclosureUpdate"
        },
        {
            "$ref": "#/components/schemas/FilterWheelUpdate"
        },
        {
            "$ref": "#/components/schemas/InstrumentRotatorUpdate"
        },
        {
            "$ref": "#/components/schemas/MountUpdate"
        },
        {
            "$ref": "#/components/schemas/OtaUpdate"
        },
        {
            "$ref": "#/components/schemas/RadioBackendUpdate"
        },
        {
            "$ref": "#/components/schemas/ReceiverUpdate"
        },
        {
            "$ref": "#/components/schemas/WeatherSensorUpdate"
        }
    ],
    "title": "Body"
}

Responses

Schema of the response body
{
    "discriminator": {
        "mapping": {
            "antenna": "#/components/schemas/Antenna",
            "camera": "#/components/schemas/Camera",
            "enclosure": "#/components/schemas/Enclosure",
            "filter_wheel": "#/components/schemas/FilterWheel",
            "focuser": "#/components/schemas/Focuser",
            "instrument_rotator": "#/components/schemas/InstrumentRotator",
            "mount": "#/components/schemas/Mount",
            "ota": "#/components/schemas/Ota",
            "radio_backend": "#/components/schemas/RadioBackend",
            "receiver": "#/components/schemas/Receiver",
            "weather_sensor": "#/components/schemas/WeatherSensor"
        },
        "propertyName": "deviceType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/Antenna"
        },
        {
            "$ref": "#/components/schemas/Focuser"
        },
        {
            "$ref": "#/components/schemas/Camera"
        },
        {
            "$ref": "#/components/schemas/Enclosure"
        },
        {
            "$ref": "#/components/schemas/FilterWheel"
        },
        {
            "$ref": "#/components/schemas/InstrumentRotator"
        },
        {
            "$ref": "#/components/schemas/Mount"
        },
        {
            "$ref": "#/components/schemas/Ota"
        },
        {
            "$ref": "#/components/schemas/RadioBackend"
        },
        {
            "$ref": "#/components/schemas/Receiver"
        },
        {
            "$ref": "#/components/schemas/WeatherSensor"
        }
    ],
    "title": "Response Update Device Devices  Device Id  Patch"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /devices/{device_id}/active-operational-actions

Get Device Active Operational Actions

Input parameters

Parameter In Type Default Nullable Description
device_id path No Device id or uid
token query No

Responses

[
    {
        "action": "keep_enclosure_closed",
        "active": true,
        "deviceId": 0,
        "deviceUid": null,
        "evaluatedAt": "2022-04-13T15:42:05.901Z",
        "evaluatorInstallationId": null,
        "id": null,
        "operationalConstraintActionId": 0,
        "operationalConstraintActionUid": null,
        "operationalConstraintId": null,
        "operationalConstraintUid": null,
        "reason": null,
        "sourceStatus": "safe"
    }
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "items": {
        "$ref": "#/components/schemas/OperationalConstraintActionSnapshot"
    },
    "title": "Response Get Device Active Operational Actions Devices  Device Id  Active Operational Actions Get",
    "type": "array"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /devices/{device_id}/detail

Get Device Detail

Input parameters

Parameter In Type Default Nullable Description
device_id path No Device id or uid
include_deleted_positions query boolean False No
token query No

Responses

Schema of the response body
{
    "discriminator": {
        "mapping": {
            "antenna": "#/components/schemas/AntennaDetail",
            "camera": "#/components/schemas/CameraDetail",
            "enclosure": "#/components/schemas/EnclosureDetail",
            "filter_wheel": "#/components/schemas/FilterWheelDetail",
            "focuser": "#/components/schemas/FocuserDetail",
            "instrument_rotator": "#/components/schemas/InstrumentRotatorDetail",
            "mount": "#/components/schemas/MountDetail",
            "ota": "#/components/schemas/OtaDetail",
            "radio_backend": "#/components/schemas/RadioBackendDetail",
            "receiver": "#/components/schemas/ReceiverDetail",
            "weather_sensor": "#/components/schemas/WeatherSensorDetail"
        },
        "propertyName": "deviceType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/AntennaDetail"
        },
        {
            "$ref": "#/components/schemas/FocuserDetail"
        },
        {
            "$ref": "#/components/schemas/CameraDetail"
        },
        {
            "$ref": "#/components/schemas/EnclosureDetail"
        },
        {
            "$ref": "#/components/schemas/FilterWheelDetail"
        },
        {
            "$ref": "#/components/schemas/InstrumentRotatorDetail"
        },
        {
            "$ref": "#/components/schemas/MountDetail"
        },
        {
            "$ref": "#/components/schemas/OtaDetail"
        },
        {
            "$ref": "#/components/schemas/RadioBackendDetail"
        },
        {
            "$ref": "#/components/schemas/ReceiverDetail"
        },
        {
            "$ref": "#/components/schemas/WeatherSensorDetail"
        }
    ],
    "title": "Response Get Device Detail Devices  Device Id  Detail Get"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /devices/{device_id}/operational-constraint-actions

Get Device Operational Constraint Actions

Input parameters

Parameter In Type Default Nullable Description
device_id path No Device id or uid
token query No

Responses

[
    {
        "action": "keep_enclosure_closed",
        "deviceId": 0,
        "deviceUid": null,
        "id": null,
        "operationalConstraintId": 0,
        "priority": 0,
        "triggerOnStabilizing": true,
        "triggerOnUnknown": true,
        "triggerOnUnsafe": true,
        "uid": "11f028cd-2f67-43df-b84f-ea8cff58a78e"
    }
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "items": {
        "$ref": "#/components/schemas/OperationalConstraintAction"
    },
    "title": "Response Get Device Operational Constraint Actions Devices  Device Id  Operational Constraint Actions Get",
    "type": "array"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /devices/{device_id}/operational-constraints

Get Device Operational Constraints

Input parameters

Parameter In Type Default Nullable Description
device_id path No Device id or uid
token query No

Responses

[
    null
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "items": {
        "discriminator": {
            "mapping": {
                "battery": "#/components/schemas/BatteryConstraint",
                "mount_sun_separation": "#/components/schemas/MountSunSeparationConstraint",
                "storage": "#/components/schemas/StorageConstraint",
                "sun_altitude": "#/components/schemas/SunAltitudeConstraint",
                "weather_sensor": "#/components/schemas/WeatherSensorConstraint"
            },
            "propertyName": "constraintType"
        },
        "oneOf": [
            {
                "$ref": "#/components/schemas/WeatherSensorConstraint"
            },
            {
                "$ref": "#/components/schemas/StorageConstraint"
            },
            {
                "$ref": "#/components/schemas/BatteryConstraint"
            },
            {
                "$ref": "#/components/schemas/SunAltitudeConstraint"
            },
            {
                "$ref": "#/components/schemas/MountSunSeparationConstraint"
            }
        ]
    },
    "title": "Response Get Device Operational Constraints Devices  Device Id  Operational Constraints Get",
    "type": "array"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /devices:lookup

Lookup Device

Input parameters

Parameter In Type Default Nullable Description
device query No
owner query No
token query No

Responses

Schema of the response body
{
    "discriminator": {
        "mapping": {
            "antenna": "#/components/schemas/Antenna",
            "camera": "#/components/schemas/Camera",
            "enclosure": "#/components/schemas/Enclosure",
            "filter_wheel": "#/components/schemas/FilterWheel",
            "focuser": "#/components/schemas/Focuser",
            "instrument_rotator": "#/components/schemas/InstrumentRotator",
            "mount": "#/components/schemas/Mount",
            "ota": "#/components/schemas/Ota",
            "radio_backend": "#/components/schemas/RadioBackend",
            "receiver": "#/components/schemas/Receiver",
            "weather_sensor": "#/components/schemas/WeatherSensor"
        },
        "propertyName": "deviceType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/Antenna"
        },
        {
            "$ref": "#/components/schemas/Focuser"
        },
        {
            "$ref": "#/components/schemas/Camera"
        },
        {
            "$ref": "#/components/schemas/Enclosure"
        },
        {
            "$ref": "#/components/schemas/FilterWheel"
        },
        {
            "$ref": "#/components/schemas/InstrumentRotator"
        },
        {
            "$ref": "#/components/schemas/Mount"
        },
        {
            "$ref": "#/components/schemas/Ota"
        },
        {
            "$ref": "#/components/schemas/RadioBackend"
        },
        {
            "$ref": "#/components/schemas/Receiver"
        },
        {
            "$ref": "#/components/schemas/WeatherSensor"
        }
    ],
    "title": "Response Lookup Device Devices Lookup Get"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

Device Snapshots


GET /device-snapshots

Read Device Snapshots

Input parameters

Parameter In Type Default Nullable Description
bucket query No
device_id query No
device_type query No
device_uid query No
deviceId query No
deviceType query No
deviceUid query No
end query No
start query No
token query No

Responses

[
    null
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "items": {
        "discriminator": {
            "mapping": {
                "camera": "#/components/schemas/CameraSnapshot",
                "enclosure": "#/components/schemas/EnclosureSnapshot",
                "filter_wheel": "#/components/schemas/FilterWheelSnapshot",
                "focuser": "#/components/schemas/FocuserSnapshot",
                "instrument_rotator": "#/components/schemas/InstrumentRotatorSnapshot",
                "mount": "#/components/schemas/MountSnapshot",
                "ota": "#/components/schemas/OtaSnapshot",
                "weather_sensor": "#/components/schemas/WeatherSensorSnapshot"
            },
            "propertyName": "deviceType"
        },
        "oneOf": [
            {
                "$ref": "#/components/schemas/CameraSnapshot"
            },
            {
                "$ref": "#/components/schemas/EnclosureSnapshot"
            },
            {
                "$ref": "#/components/schemas/FilterWheelSnapshot"
            },
            {
                "$ref": "#/components/schemas/FocuserSnapshot"
            },
            {
                "$ref": "#/components/schemas/InstrumentRotatorSnapshot"
            },
            {
                "$ref": "#/components/schemas/MountSnapshot"
            },
            {
                "$ref": "#/components/schemas/OtaSnapshot"
            },
            {
                "$ref": "#/components/schemas/WeatherSensorSnapshot"
            }
        ]
    },
    "title": "Response Read Device Snapshots Device Snapshots Get",
    "type": "array"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /device-snapshots/weather-sensors

Read Weather Sensor Snapshots

Input parameters

Parameter In Type Default Nullable Description
bucket query auto No
device_id query No
device_uid query No
deviceId query No
deviceUid query No
end query No
max_ambient_temperature_c query No
max_cloud_temperature_delta_c query No
max_humidity_pct query No
max_light_level query No
max_pressure_hpa query No
max_surface_wetness query No
max_wind_speed_instantaneous_m_per_sec query No
maxAmbientTemperatureC query No
maxCloudTemperatureDeltaC query No
maxHumidityPct query No
maxLightLevel query No
maxPressureHpa query No
maxSurfaceWetness query No
maxWindSpeedInstantaneousMPerSec query No
min_ambient_temperature_c query No
min_cloud_temperature_delta_c query No
min_humidity_pct query No
min_light_level query No
min_pressure_hpa query No
min_surface_wetness query No
min_wind_speed_instantaneous_m_per_sec query No
minAmbientTemperatureC query No
minCloudTemperatureDeltaC query No
minHumidityPct query No
minLightLevel query No
minPressureHpa query No
minSurfaceWetness query No
minWindSpeedInstantaneousMPerSec query No
start query No
token query No

Responses

[
    {
        "ambientTemperatureC": null,
        "ambientTemperatureCAvg": null,
        "ambientTemperatureCMax": null,
        "ambientTemperatureCMin": null,
        "cloudTemperatureDeltaC": null,
        "cloudTemperatureDeltaCAvg": null,
        "cloudTemperatureDeltaCMax": null,
        "cloudTemperatureDeltaCMin": null,
        "deviceId": null,
        "deviceType": "string",
        "deviceUid": null,
        "faultReason": null,
        "humidityPct": null,
        "humidityPctAvg": null,
        "humidityPctMax": null,
        "humidityPctMin": null,
        "isConnected": true,
        "lightLevel": null,
        "lightLevelAvg": null,
        "lightLevelMax": null,
        "lightLevelMin": null,
        "operationalStatus": null,
        "pressureHpa": null,
        "pressureHpaAvg": null,
        "pressureHpaMax": null,
        "pressureHpaMin": null,
        "rainRateMmPerHr": null,
        "rainStormMm": null,
        "recordedOn": null,
        "signalOffline": null,
        "surfaceWetness": null,
        "surfaceWetnessAvg": null,
        "surfaceWetnessMax": null,
        "surfaceWetnessMin": null,
        "timestamp": "2022-04-13T15:42:05.901Z",
        "windDirectionDeg": null,
        "windSpeedAvg10MinMPerSec": null,
        "windSpeedAvg1MinMPerSec": null,
        "windSpeedAvg2MinMPerSec": null,
        "windSpeedInstantaneousMPerSec": null,
        "windSpeedInstantaneousMPerSecAvg": null,
        "windSpeedInstantaneousMPerSecMax": null,
        "windSpeedInstantaneousMPerSecMin": null,
        "windSpeedPeak10MinMPerSec": null,
        "windSpeedPeak1MinMPerSec": null,
        "windSpeedPeak2MinMPerSec": null
    }
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "items": {
        "$ref": "#/components/schemas/WeatherSensorSnapshotBucket"
    },
    "title": "Response Read Weather Sensor Snapshots Device Snapshots Weather Sensors Get",
    "type": "array"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

Filter Specifiers


GET /filter-specifiers

Read Filter Specifiers

Description

Get all filter specifiers. This endpoint retrieves all filter specifiers from the database.

Input parameters

Parameter In Type Default Nullable Description
filter_specifier_type query No
filterSpecifierType query No
id query No

Responses

[
    null
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "items": {
        "discriminator": {
            "mapping": {
                "filter": "#/components/schemas/Filter",
                "filter_group": "#/components/schemas/FilterGroup"
            },
            "propertyName": "filterSpecifierType"
        },
        "oneOf": [
            {
                "$ref": "#/components/schemas/Filter"
            },
            {
                "$ref": "#/components/schemas/FilterGroup"
            }
        ]
    },
    "title": "Response Read Filter Specifiers Filter Specifiers Get",
    "type": "array"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

Instruments


GET /instruments

Get Instruments

Input parameters

Parameter In Type Default Nullable Description
id query No
instrument_type query No
instrumentType query No
name query No
owner_id query No
ownerId query No
telescope_id query No
telescopeId query No
token query No
uid query No

Responses

{
    "items": [
        null
    ],
    "page": 0,
    "pages": 0,
    "size": 0,
    "total": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "items": {
            "items": {
                "discriminator": {
                    "mapping": {
                        "optical_imager": "#/components/schemas/OpticalImagerSummary",
                        "radio_spectrometer": "#/components/schemas/RadioSpectrometerSummary"
                    },
                    "propertyName": "instrumentType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/OpticalImagerSummary"
                    },
                    {
                        "$ref": "#/components/schemas/RadioSpectrometerSummary"
                    }
                ]
            },
            "title": "Items",
            "type": "array"
        },
        "page": {
            "minimum": 1.0,
            "title": "Page",
            "type": "integer"
        },
        "pages": {
            "minimum": 0.0,
            "title": "Pages",
            "type": "integer"
        },
        "size": {
            "minimum": 1.0,
            "title": "Size",
            "type": "integer"
        },
        "total": {
            "minimum": 0.0,
            "title": "Total",
            "type": "integer"
        }
    },
    "required": [
        "items",
        "total",
        "page",
        "size",
        "pages"
    ],
    "title": "Page[Annotated[Union[OpticalImagerSummary, RadioSpectrometerSummary], FieldInfo(annotation=NoneType, required=True, discriminator='instrument_type')]]",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

POST /instruments

Create Instrument

Input parameters

Parameter In Type Default Nullable Description
token query No

Request body

Schema of the request body
{
    "discriminator": {
        "mapping": {
            "optical_imager": "#/components/schemas/OpticalImagerCreate",
            "radio_spectrometer": "#/components/schemas/RadioSpectrometerCreate"
        },
        "propertyName": "instrumentType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/OpticalImagerCreate"
        },
        {
            "$ref": "#/components/schemas/RadioSpectrometerCreate"
        }
    ],
    "title": "Body"
}

Responses

Schema of the response body
{
    "discriminator": {
        "mapping": {
            "optical_imager": "#/components/schemas/OpticalImager",
            "radio_spectrometer": "#/components/schemas/RadioSpectrometer"
        },
        "propertyName": "instrumentType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/OpticalImager"
        },
        {
            "$ref": "#/components/schemas/RadioSpectrometer"
        }
    ],
    "title": "Response Create Instrument Instruments Post"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /instruments/{instrument_id}

Get Instrument

Input parameters

Parameter In Type Default Nullable Description
instrument_id path string No
token query No

Responses

Schema of the response body
{
    "discriminator": {
        "mapping": {
            "optical_imager": "#/components/schemas/OpticalImager",
            "radio_spectrometer": "#/components/schemas/RadioSpectrometer"
        },
        "propertyName": "instrumentType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/OpticalImager"
        },
        {
            "$ref": "#/components/schemas/RadioSpectrometer"
        }
    ],
    "title": "Response Get Instrument Instruments  Instrument Id  Get"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

PATCH /instruments/{instrument_id}

Update Instrument

Input parameters

Parameter In Type Default Nullable Description
instrument_id path string No
token query No

Request body

Schema of the request body
{
    "discriminator": {
        "mapping": {
            "optical_imager": "#/components/schemas/OpticalImagerUpdate",
            "radio_spectrometer": "#/components/schemas/RadioSpectrometerUpdate"
        },
        "propertyName": "instrumentType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/OpticalImagerUpdate"
        },
        {
            "$ref": "#/components/schemas/RadioSpectrometerUpdate"
        }
    ],
    "title": "Body"
}

Responses

Schema of the response body
{
    "discriminator": {
        "mapping": {
            "optical_imager": "#/components/schemas/OpticalImager",
            "radio_spectrometer": "#/components/schemas/RadioSpectrometer"
        },
        "propertyName": "instrumentType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/OpticalImager"
        },
        {
            "$ref": "#/components/schemas/RadioSpectrometer"
        }
    ],
    "title": "Response Update Instrument Instruments  Instrument Id  Patch"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /instruments/{instrument_id}/detail

Get Instrument Detail

Input parameters

Parameter In Type Default Nullable Description
instrument_id path string No
token query No

Responses

Schema of the response body
{
    "discriminator": {
        "mapping": {
            "optical_imager": "#/components/schemas/OpticalImagerDetail",
            "radio_spectrometer": "#/components/schemas/RadioSpectrometerDetail"
        },
        "propertyName": "instrumentType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/OpticalImagerDetail"
        },
        {
            "$ref": "#/components/schemas/RadioSpectrometerDetail"
        }
    ],
    "title": "Response Get Instrument Detail Instruments  Instrument Id  Detail Get"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /instruments/{instrument_id}/graph

Get Instrument Graph

Input parameters

Parameter In Type Default Nullable Description
instrument_id path string No
token query No

Responses

{
    "devices": {},
    "entities": {},
    "files": {},
    "filterWheelPositions": {},
    "filters": {},
    "instruments": {},
    "ipCameras": {},
    "observatories": {},
    "observatoryGalleryItems": {},
    "operationalConstraints": {},
    "root": {
        "id": 0,
        "kind": "observatory"
    },
    "sites": {},
    "telescopeGalleryItems": {},
    "telescopes": {}
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "devices": {
            "additionalProperties": {
                "discriminator": {
                    "mapping": {
                        "antenna": "#/components/schemas/Antenna",
                        "camera": "#/components/schemas/Camera",
                        "enclosure": "#/components/schemas/Enclosure",
                        "filter_wheel": "#/components/schemas/FilterWheel",
                        "focuser": "#/components/schemas/Focuser",
                        "instrument_rotator": "#/components/schemas/InstrumentRotator",
                        "mount": "#/components/schemas/Mount",
                        "ota": "#/components/schemas/Ota",
                        "radio_backend": "#/components/schemas/RadioBackend",
                        "receiver": "#/components/schemas/Receiver",
                        "weather_sensor": "#/components/schemas/WeatherSensor"
                    },
                    "propertyName": "deviceType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/Antenna"
                    },
                    {
                        "$ref": "#/components/schemas/Focuser"
                    },
                    {
                        "$ref": "#/components/schemas/Camera"
                    },
                    {
                        "$ref": "#/components/schemas/Enclosure"
                    },
                    {
                        "$ref": "#/components/schemas/FilterWheel"
                    },
                    {
                        "$ref": "#/components/schemas/InstrumentRotator"
                    },
                    {
                        "$ref": "#/components/schemas/Mount"
                    },
                    {
                        "$ref": "#/components/schemas/Ota"
                    },
                    {
                        "$ref": "#/components/schemas/RadioBackend"
                    },
                    {
                        "$ref": "#/components/schemas/Receiver"
                    },
                    {
                        "$ref": "#/components/schemas/WeatherSensor"
                    }
                ]
            },
            "type": "object"
        },
        "entities": {
            "additionalProperties": {
                "discriminator": {
                    "mapping": {
                        "organization": "#/components/schemas/OrganizationPublic",
                        "user": "#/components/schemas/UserPublic"
                    },
                    "propertyName": "entityType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/UserPublic"
                    },
                    {
                        "$ref": "#/components/schemas/OrganizationPublic"
                    }
                ]
            },
            "type": "object"
        },
        "files": {
            "additionalProperties": {
                "$ref": "#/components/schemas/File"
            },
            "propertyNames": {
                "format": "uuid"
            },
            "type": "object"
        },
        "filterWheelPositions": {
            "additionalProperties": {
                "$ref": "#/components/schemas/FilterWheelPosition"
            },
            "type": "object"
        },
        "filters": {
            "additionalProperties": {
                "$ref": "#/components/schemas/Filter"
            },
            "type": "object"
        },
        "instruments": {
            "additionalProperties": {
                "discriminator": {
                    "mapping": {
                        "optical_imager": "#/components/schemas/OpticalImager",
                        "radio_spectrometer": "#/components/schemas/RadioSpectrometer"
                    },
                    "propertyName": "instrumentType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/OpticalImager"
                    },
                    {
                        "$ref": "#/components/schemas/RadioSpectrometer"
                    }
                ]
            },
            "type": "object"
        },
        "ipCameras": {
            "additionalProperties": {
                "$ref": "#/components/schemas/IPCamera"
            },
            "type": "object"
        },
        "observatories": {
            "additionalProperties": {
                "$ref": "#/components/schemas/Observatory"
            },
            "type": "object"
        },
        "observatoryGalleryItems": {
            "additionalProperties": {
                "$ref": "#/components/schemas/ObservatoryGalleryItem"
            },
            "type": "object"
        },
        "operationalConstraints": {
            "additionalProperties": {
                "discriminator": {
                    "mapping": {
                        "battery": "#/components/schemas/BatteryConstraint",
                        "mount_sun_separation": "#/components/schemas/MountSunSeparationConstraint",
                        "storage": "#/components/schemas/StorageConstraint",
                        "sun_altitude": "#/components/schemas/SunAltitudeConstraint",
                        "weather_sensor": "#/components/schemas/WeatherSensorConstraint"
                    },
                    "propertyName": "constraintType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/WeatherSensorConstraint"
                    },
                    {
                        "$ref": "#/components/schemas/StorageConstraint"
                    },
                    {
                        "$ref": "#/components/schemas/BatteryConstraint"
                    },
                    {
                        "$ref": "#/components/schemas/SunAltitudeConstraint"
                    },
                    {
                        "$ref": "#/components/schemas/MountSunSeparationConstraint"
                    }
                ]
            },
            "type": "object"
        },
        "root": {
            "$ref": "#/components/schemas/HardwareGraphRoot"
        },
        "sites": {
            "additionalProperties": {
                "$ref": "#/components/schemas/Site"
            },
            "type": "object"
        },
        "telescopeGalleryItems": {
            "additionalProperties": {
                "$ref": "#/components/schemas/TelescopeGalleryItem"
            },
            "type": "object"
        },
        "telescopes": {
            "additionalProperties": {
                "$ref": "#/components/schemas/Telescope"
            },
            "type": "object"
        }
    },
    "required": [
        "root"
    ],
    "title": "HardwareGraph",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

Observatories


GET /observatories

Read Observatories

Input parameters

Parameter In Type Default Nullable Description
-ownerId query No
id query No
name query No
owner_id query No
owner_id_ query No
ownerId query No
slug query No
token query No
uid query No

Responses

{
    "items": [
        {
            "countryCode": "string",
            "description": null,
            "elevationM": 10.12,
            "galleryItemIds": null,
            "iauCode": null,
            "id": null,
            "imageId": null,
            "ipCameraIds": null,
            "isAvailable": true,
            "isPublic": true,
            "latitudeDeg": 10.12,
            "location": "string",
            "longitudeDeg": 10.12,
            "name": "string",
            "owner": null,
            "ownerId": 0,
            "publicLatitudeDeg": null,
            "publicLongitudeDeg": null,
            "shortName": null,
            "site": null,
            "siteId": null,
            "siteUid": null,
            "slug": "string",
            "telescopeIds": null,
            "uid": "75ded162-4232-4920-8aba-eac95764cc80",
            "weatherSensorIds": null
        }
    ],
    "page": 0,
    "pages": 0,
    "size": 0,
    "total": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "items": {
            "items": {
                "$ref": "#/components/schemas/ObservatorySummary"
            },
            "title": "Items",
            "type": "array"
        },
        "page": {
            "minimum": 1.0,
            "title": "Page",
            "type": "integer"
        },
        "pages": {
            "minimum": 0.0,
            "title": "Pages",
            "type": "integer"
        },
        "size": {
            "minimum": 1.0,
            "title": "Size",
            "type": "integer"
        },
        "total": {
            "minimum": 0.0,
            "title": "Total",
            "type": "integer"
        }
    },
    "required": [
        "items",
        "total",
        "page",
        "size",
        "pages"
    ],
    "title": "Page[ObservatorySummary]",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /observatories/{observatory_id}

Read Observatory

Input parameters

Parameter In Type Default Nullable Description
observatory_id path No Observatory id or uid
token query No

Responses

{
    "countryCode": "string",
    "description": null,
    "elevationM": 10.12,
    "galleryItemIds": null,
    "iauCode": null,
    "id": null,
    "imageId": null,
    "ipCameraIds": null,
    "isAvailable": true,
    "isPublic": true,
    "latitudeDeg": 10.12,
    "location": "string",
    "longitudeDeg": 10.12,
    "name": "string",
    "ownerId": 0,
    "publicLatitudeDeg": null,
    "publicLongitudeDeg": null,
    "shortName": null,
    "siteId": null,
    "siteUid": null,
    "slug": "string",
    "telescopeIds": null,
    "uid": "458c3a5b-8f41-4ca7-9eb6-5aef0dae78f4",
    "weatherSensorIds": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "countryCode": {
            "type": "string"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "elevationM": {
            "type": "number"
        },
        "galleryItemIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "iauCode": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "imageId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "ipCameraIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isAvailable": {
            "type": "boolean"
        },
        "isPublic": {
            "type": "boolean"
        },
        "latitudeDeg": {
            "type": "number"
        },
        "location": {
            "type": "string"
        },
        "longitudeDeg": {
            "type": "number"
        },
        "name": {
            "type": "string"
        },
        "ownerId": {
            "type": "integer"
        },
        "publicLatitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "publicLongitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "shortName": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "siteId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "siteUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "slug": {
            "type": "string"
        },
        "telescopeIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "uid": {
            "format": "uuid",
            "type": "string"
        },
        "weatherSensorIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "required": [
        "uid",
        "name",
        "slug",
        "location",
        "elevationM",
        "isAvailable",
        "ownerId",
        "countryCode",
        "latitudeDeg",
        "longitudeDeg",
        "isPublic"
    ],
    "title": "Observatory",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

PATCH /observatories/{observatory_id}

Update Observatory

Input parameters

Parameter In Type Default Nullable Description
observatory_id path No Observatory id or uid
token query No

Request body

{
    "countryCode": null,
    "description": null,
    "elevationM": null,
    "iauCode": null,
    "imageId": null,
    "isAvailable": null,
    "isPublic": null,
    "latitudeDeg": null,
    "location": null,
    "longitudeDeg": null,
    "name": null,
    "ownerId": null,
    "shortName": null,
    "siteId": null,
    "siteUid": null,
    "slug": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "countryCode": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "elevationM": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "iauCode": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "imageId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isAvailable": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isPublic": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ]
        },
        "latitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "location": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "longitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "name": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "ownerId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "shortName": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "siteId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "siteUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "slug": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "title": "ObservatoryUpdate",
    "type": "object"
}

Responses

{
    "countryCode": "string",
    "description": null,
    "elevationM": 10.12,
    "galleryItemIds": null,
    "iauCode": null,
    "id": null,
    "imageId": null,
    "ipCameraIds": null,
    "isAvailable": true,
    "isPublic": true,
    "latitudeDeg": 10.12,
    "location": "string",
    "longitudeDeg": 10.12,
    "name": "string",
    "ownerId": 0,
    "publicLatitudeDeg": null,
    "publicLongitudeDeg": null,
    "shortName": null,
    "siteId": null,
    "siteUid": null,
    "slug": "string",
    "telescopeIds": null,
    "uid": "f9be902a-f642-4eaa-9725-3bb1ad1e0356",
    "weatherSensorIds": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "countryCode": {
            "type": "string"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "elevationM": {
            "type": "number"
        },
        "galleryItemIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "iauCode": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "imageId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "ipCameraIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isAvailable": {
            "type": "boolean"
        },
        "isPublic": {
            "type": "boolean"
        },
        "latitudeDeg": {
            "type": "number"
        },
        "location": {
            "type": "string"
        },
        "longitudeDeg": {
            "type": "number"
        },
        "name": {
            "type": "string"
        },
        "ownerId": {
            "type": "integer"
        },
        "publicLatitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "publicLongitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "shortName": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "siteId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "siteUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "slug": {
            "type": "string"
        },
        "telescopeIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "uid": {
            "format": "uuid",
            "type": "string"
        },
        "weatherSensorIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "required": [
        "uid",
        "name",
        "slug",
        "location",
        "elevationM",
        "isAvailable",
        "ownerId",
        "countryCode",
        "latitudeDeg",
        "longitudeDeg",
        "isPublic"
    ],
    "title": "Observatory",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /observatories/{observatory_id}/detail

Read Observatory Detail

Input parameters

Parameter In Type Default Nullable Description
observatory_id path No Observatory id or uid
token query No

Responses

{
    "countryCode": "string",
    "description": null,
    "elevationM": 10.12,
    "galleryItemIds": null,
    "galleryItems": [
        {
            "file": null,
            "fileId": "c7fbb0c6-eb6c-4ec6-8b76-00830ab6c6fb",
            "id": 0,
            "observatoryId": 0,
            "order": null,
            "visibility": true
        }
    ],
    "iauCode": null,
    "id": null,
    "imageId": null,
    "ipCameraIds": null,
    "ipCameras": [
        {
            "id": null,
            "isPrimary": true,
            "lastSeen": null,
            "name": "string",
            "observatoryId": null,
            "onvifHost": null,
            "order": 0,
            "pose": null,
            "ptz": true,
            "role": "pier",
            "streams": [
                {
                    "active": true,
                    "cameraId": 0,
                    "expiresSec": null,
                    "id": 0,
                    "isPublic": true,
                    "kind": "rtsp",
                    "quality": null
                }
            ],
            "telescopeId": null,
            "uid": "f9f7d028-5083-4e08-9713-4e168c6c15cf",
            "vendor": null
        }
    ],
    "isAvailable": true,
    "isPublic": true,
    "latitudeDeg": 10.12,
    "location": "string",
    "longitudeDeg": 10.12,
    "name": "string",
    "owner": null,
    "ownerId": 0,
    "publicLatitudeDeg": null,
    "publicLongitudeDeg": null,
    "shortName": null,
    "site": null,
    "siteId": null,
    "siteUid": null,
    "slug": "string",
    "telescopeIds": null,
    "telescopes": [
        {
            "antennaIds": null,
            "calibrationObservingAccountId": null,
            "cameraIds": null,
            "description": null,
            "deviceIds": null,
            "elevationM": 10.12,
            "enclosureId": null,
            "enclosureUid": null,
            "filterWheelIds": null,
            "focuserIds": null,
            "galleryItemIds": null,
            "iauCode": null,
            "id": null,
            "imageId": null,
            "instrumentIds": null,
            "ipCameraIds": null,
            "isAvailable": true,
            "isPublic": true,
            "latitudeDeg": 10.12,
            "localHorizon": null,
            "location": "string",
            "longitudeDeg": 10.12,
            "mountId": null,
            "mountUid": null,
            "name": "string",
            "observatory": null,
            "observatoryId": 0,
            "observatoryUid": null,
            "otaIds": null,
            "owner": null,
            "ownerId": 0,
            "publicLatitudeDeg": null,
            "publicLongitudeDeg": null,
            "radioBackendIds": null,
            "receiverIds": null,
            "rotatorIds": null,
            "shortName": null,
            "slug": "string",
            "uid": "f63aa0ae-8ab4-4f06-899f-4801df8086b1"
        }
    ],
    "uid": "93ad867b-1fe1-43ed-a170-ff47c917ef4e",
    "weatherSensorIds": null,
    "weatherSensors": [
        {
            "deviceType": "string",
            "hasAmbientTemperature": true,
            "hasCloudTemperatureDeltaC": true,
            "hasHumidity": true,
            "hasLightLevel": true,
            "hasPressure": true,
            "hasRainRate": true,
            "hasRainStorm": true,
            "hasSurfaceWetness": true,
            "hasWindDirection": true,
            "hasWindSpeedAvg10Min": true,
            "hasWindSpeedAvg1Min": true,
            "hasWindSpeedAvg2Min": true,
            "hasWindSpeedInstantaneous": true,
            "hasWindSpeedPeak10Min": true,
            "hasWindSpeedPeak1Min": true,
            "hasWindSpeedPeak2Min": true,
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "8eb07411-e06b-494e-8118-6f32065ad255"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "countryCode": {
            "type": "string"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "elevationM": {
            "type": "number"
        },
        "galleryItemIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "galleryItems": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/ObservatoryGalleryItem"
            },
            "type": "array"
        },
        "iauCode": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "imageId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "ipCameraIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "ipCameras": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/IPCamera"
            },
            "type": "array"
        },
        "isAvailable": {
            "type": "boolean"
        },
        "isPublic": {
            "type": "boolean"
        },
        "latitudeDeg": {
            "type": "number"
        },
        "location": {
            "type": "string"
        },
        "longitudeDeg": {
            "type": "number"
        },
        "name": {
            "type": "string"
        },
        "owner": {
            "anyOf": [
                {
                    "discriminator": {
                        "mapping": {
                            "organization": "#/components/schemas/OrganizationPublic",
                            "user": "#/components/schemas/UserPublic"
                        },
                        "propertyName": "entityType"
                    },
                    "oneOf": [
                        {
                            "$ref": "#/components/schemas/UserPublic"
                        },
                        {
                            "$ref": "#/components/schemas/OrganizationPublic"
                        }
                    ]
                },
                {
                    "type": "null"
                }
            ]
        },
        "ownerId": {
            "type": "integer"
        },
        "publicLatitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "publicLongitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "shortName": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "site": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SiteSummary"
                },
                {
                    "type": "null"
                }
            ]
        },
        "siteId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "siteUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "slug": {
            "type": "string"
        },
        "telescopeIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "telescopes": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/TelescopeSummary"
            },
            "type": "array"
        },
        "uid": {
            "format": "uuid",
            "type": "string"
        },
        "weatherSensorIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "weatherSensors": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/WeatherSensor"
            },
            "type": "array"
        }
    },
    "required": [
        "uid",
        "name",
        "slug",
        "location",
        "elevationM",
        "isAvailable",
        "ownerId",
        "countryCode",
        "latitudeDeg",
        "longitudeDeg",
        "isPublic"
    ],
    "title": "ObservatoryDetail",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /observatories/{observatory_id}/graph

Read Observatory Graph

Input parameters

Parameter In Type Default Nullable Description
observatory_id path No Observatory id or uid
token query No

Responses

{
    "devices": {},
    "entities": {},
    "files": {},
    "filterWheelPositions": {},
    "filters": {},
    "instruments": {},
    "ipCameras": {},
    "observatories": {},
    "observatoryGalleryItems": {},
    "operationalConstraints": {},
    "root": {
        "id": 0,
        "kind": "observatory"
    },
    "sites": {},
    "telescopeGalleryItems": {},
    "telescopes": {}
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "devices": {
            "additionalProperties": {
                "discriminator": {
                    "mapping": {
                        "antenna": "#/components/schemas/Antenna",
                        "camera": "#/components/schemas/Camera",
                        "enclosure": "#/components/schemas/Enclosure",
                        "filter_wheel": "#/components/schemas/FilterWheel",
                        "focuser": "#/components/schemas/Focuser",
                        "instrument_rotator": "#/components/schemas/InstrumentRotator",
                        "mount": "#/components/schemas/Mount",
                        "ota": "#/components/schemas/Ota",
                        "radio_backend": "#/components/schemas/RadioBackend",
                        "receiver": "#/components/schemas/Receiver",
                        "weather_sensor": "#/components/schemas/WeatherSensor"
                    },
                    "propertyName": "deviceType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/Antenna"
                    },
                    {
                        "$ref": "#/components/schemas/Focuser"
                    },
                    {
                        "$ref": "#/components/schemas/Camera"
                    },
                    {
                        "$ref": "#/components/schemas/Enclosure"
                    },
                    {
                        "$ref": "#/components/schemas/FilterWheel"
                    },
                    {
                        "$ref": "#/components/schemas/InstrumentRotator"
                    },
                    {
                        "$ref": "#/components/schemas/Mount"
                    },
                    {
                        "$ref": "#/components/schemas/Ota"
                    },
                    {
                        "$ref": "#/components/schemas/RadioBackend"
                    },
                    {
                        "$ref": "#/components/schemas/Receiver"
                    },
                    {
                        "$ref": "#/components/schemas/WeatherSensor"
                    }
                ]
            },
            "type": "object"
        },
        "entities": {
            "additionalProperties": {
                "discriminator": {
                    "mapping": {
                        "organization": "#/components/schemas/OrganizationPublic",
                        "user": "#/components/schemas/UserPublic"
                    },
                    "propertyName": "entityType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/UserPublic"
                    },
                    {
                        "$ref": "#/components/schemas/OrganizationPublic"
                    }
                ]
            },
            "type": "object"
        },
        "files": {
            "additionalProperties": {
                "$ref": "#/components/schemas/File"
            },
            "propertyNames": {
                "format": "uuid"
            },
            "type": "object"
        },
        "filterWheelPositions": {
            "additionalProperties": {
                "$ref": "#/components/schemas/FilterWheelPosition"
            },
            "type": "object"
        },
        "filters": {
            "additionalProperties": {
                "$ref": "#/components/schemas/Filter"
            },
            "type": "object"
        },
        "instruments": {
            "additionalProperties": {
                "discriminator": {
                    "mapping": {
                        "optical_imager": "#/components/schemas/OpticalImager",
                        "radio_spectrometer": "#/components/schemas/RadioSpectrometer"
                    },
                    "propertyName": "instrumentType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/OpticalImager"
                    },
                    {
                        "$ref": "#/components/schemas/RadioSpectrometer"
                    }
                ]
            },
            "type": "object"
        },
        "ipCameras": {
            "additionalProperties": {
                "$ref": "#/components/schemas/IPCamera"
            },
            "type": "object"
        },
        "observatories": {
            "additionalProperties": {
                "$ref": "#/components/schemas/Observatory"
            },
            "type": "object"
        },
        "observatoryGalleryItems": {
            "additionalProperties": {
                "$ref": "#/components/schemas/ObservatoryGalleryItem"
            },
            "type": "object"
        },
        "operationalConstraints": {
            "additionalProperties": {
                "discriminator": {
                    "mapping": {
                        "battery": "#/components/schemas/BatteryConstraint",
                        "mount_sun_separation": "#/components/schemas/MountSunSeparationConstraint",
                        "storage": "#/components/schemas/StorageConstraint",
                        "sun_altitude": "#/components/schemas/SunAltitudeConstraint",
                        "weather_sensor": "#/components/schemas/WeatherSensorConstraint"
                    },
                    "propertyName": "constraintType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/WeatherSensorConstraint"
                    },
                    {
                        "$ref": "#/components/schemas/StorageConstraint"
                    },
                    {
                        "$ref": "#/components/schemas/BatteryConstraint"
                    },
                    {
                        "$ref": "#/components/schemas/SunAltitudeConstraint"
                    },
                    {
                        "$ref": "#/components/schemas/MountSunSeparationConstraint"
                    }
                ]
            },
            "type": "object"
        },
        "root": {
            "$ref": "#/components/schemas/HardwareGraphRoot"
        },
        "sites": {
            "additionalProperties": {
                "$ref": "#/components/schemas/Site"
            },
            "type": "object"
        },
        "telescopeGalleryItems": {
            "additionalProperties": {
                "$ref": "#/components/schemas/TelescopeGalleryItem"
            },
            "type": "object"
        },
        "telescopes": {
            "additionalProperties": {
                "$ref": "#/components/schemas/Telescope"
            },
            "type": "object"
        }
    },
    "required": [
        "root"
    ],
    "title": "HardwareGraph",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /observatories/{observatory_id}/ip-cameras/{camera_id}/streams/{stream_id}/play-url

Get Ip Camera Stream Play Url

Input parameters

Parameter In Type Default Nullable Description
camera_id path integer No
observatory_id path No Observatory id or uid
stream_id path integer No
token query No

Responses

{
    "url": "string"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "url": {
            "type": "string"
        }
    },
    "required": [
        "url"
    ],
    "title": "IPCameraStreamPlayURL",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /observatories:lookup

Lookup Observatory

Input parameters

Parameter In Type Default Nullable Description
observatory query No
owner query No
token query No

Responses

{
    "countryCode": "string",
    "description": null,
    "elevationM": 10.12,
    "galleryItemIds": null,
    "iauCode": null,
    "id": null,
    "imageId": null,
    "ipCameraIds": null,
    "isAvailable": true,
    "isPublic": true,
    "latitudeDeg": 10.12,
    "location": "string",
    "longitudeDeg": 10.12,
    "name": "string",
    "ownerId": 0,
    "publicLatitudeDeg": null,
    "publicLongitudeDeg": null,
    "shortName": null,
    "siteId": null,
    "siteUid": null,
    "slug": "string",
    "telescopeIds": null,
    "uid": "243537e9-171b-4d4c-91c0-a635bece074b",
    "weatherSensorIds": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "countryCode": {
            "type": "string"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "elevationM": {
            "type": "number"
        },
        "galleryItemIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "iauCode": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "imageId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "ipCameraIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isAvailable": {
            "type": "boolean"
        },
        "isPublic": {
            "type": "boolean"
        },
        "latitudeDeg": {
            "type": "number"
        },
        "location": {
            "type": "string"
        },
        "longitudeDeg": {
            "type": "number"
        },
        "name": {
            "type": "string"
        },
        "ownerId": {
            "type": "integer"
        },
        "publicLatitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "publicLongitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "shortName": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "siteId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "siteUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "slug": {
            "type": "string"
        },
        "telescopeIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "uid": {
            "format": "uuid",
            "type": "string"
        },
        "weatherSensorIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "required": [
        "uid",
        "name",
        "slug",
        "location",
        "elevationM",
        "isAvailable",
        "ownerId",
        "countryCode",
        "latitudeDeg",
        "longitudeDeg",
        "isPublic"
    ],
    "title": "Observatory",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

Constraint Snapshots


GET /operational-constraint-snapshots

Read Constraint Snapshots

Input parameters

Parameter In Type Default Nullable Description
constraint_id query No
constraintId query No
end query No
start query No
token query No

Responses

[
    null
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "items": {
        "discriminator": {
            "mapping": {
                "mount_sun_separation": "#/components/schemas/MountSunSeparationConstraintSnapshot",
                "storage": "#/components/schemas/StorageConstraintSnapshot",
                "sun_altitude": "#/components/schemas/SunElevationConstraintSnapshot",
                "weather_sensor": "#/components/schemas/WeatherSensorConstraintSnapshot"
            },
            "propertyName": "constraintType"
        },
        "oneOf": [
            {
                "$ref": "#/components/schemas/WeatherSensorConstraintSnapshot"
            },
            {
                "$ref": "#/components/schemas/StorageConstraintSnapshot"
            },
            {
                "$ref": "#/components/schemas/SunElevationConstraintSnapshot"
            },
            {
                "$ref": "#/components/schemas/MountSunSeparationConstraintSnapshot"
            }
        ]
    },
    "title": "Response Read Constraint Snapshots Operational Constraint Snapshots Get",
    "type": "array"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

Operational Constraints


GET /operational-constraints

Get Operational Constraints

Input parameters

Parameter In Type Default Nullable Description
action query No
constraint_type query No
constraintType query No
id query No
observatory_id query No
observatoryId query No
owner_id query No
ownerId query No
target_device_id query No
targetDeviceId query No
telescope_id query No
telescopeId query No
token query No
uid query No

Responses

{
    "items": [
        null
    ],
    "page": 0,
    "pages": 0,
    "size": 0,
    "total": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "items": {
            "items": {
                "discriminator": {
                    "mapping": {
                        "battery": "#/components/schemas/BatteryConstraint",
                        "mount_sun_separation": "#/components/schemas/MountSunSeparationConstraint",
                        "storage": "#/components/schemas/StorageConstraint",
                        "sun_altitude": "#/components/schemas/SunAltitudeConstraint",
                        "weather_sensor": "#/components/schemas/WeatherSensorConstraint"
                    },
                    "propertyName": "constraintType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/WeatherSensorConstraint"
                    },
                    {
                        "$ref": "#/components/schemas/StorageConstraint"
                    },
                    {
                        "$ref": "#/components/schemas/BatteryConstraint"
                    },
                    {
                        "$ref": "#/components/schemas/SunAltitudeConstraint"
                    },
                    {
                        "$ref": "#/components/schemas/MountSunSeparationConstraint"
                    }
                ]
            },
            "title": "Items",
            "type": "array"
        },
        "page": {
            "minimum": 1.0,
            "title": "Page",
            "type": "integer"
        },
        "pages": {
            "minimum": 0.0,
            "title": "Pages",
            "type": "integer"
        },
        "size": {
            "minimum": 1.0,
            "title": "Size",
            "type": "integer"
        },
        "total": {
            "minimum": 0.0,
            "title": "Total",
            "type": "integer"
        }
    },
    "required": [
        "items",
        "total",
        "page",
        "size",
        "pages"
    ],
    "title": "Page[Annotated[Union[WeatherSensorConstraint, StorageConstraint, BatteryConstraint, SunAltitudeConstraint, MountSunSeparationConstraint], FieldInfo(annotation=NoneType, required=True, discriminator='constraint_type')]]",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

POST /operational-constraints

Create Operational Constraint

Request body

Schema of the request body
{
    "discriminator": {
        "mapping": {
            "battery": "#/components/schemas/BatteryConstraintCreate",
            "mount_sun_separation": "#/components/schemas/MountSunSeparationConstraintCreate",
            "storage": "#/components/schemas/StorageConstraintCreate",
            "sun_altitude": "#/components/schemas/SunAltitudeConstraintCreate",
            "weather_sensor": "#/components/schemas/WeatherSensorConstraintCreate"
        },
        "propertyName": "constraintType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/WeatherSensorConstraintCreate"
        },
        {
            "$ref": "#/components/schemas/StorageConstraintCreate"
        },
        {
            "$ref": "#/components/schemas/BatteryConstraintCreate"
        },
        {
            "$ref": "#/components/schemas/SunAltitudeConstraintCreate"
        },
        {
            "$ref": "#/components/schemas/MountSunSeparationConstraintCreate"
        }
    ],
    "title": "Body"
}

Responses

Schema of the response body
{
    "discriminator": {
        "mapping": {
            "battery": "#/components/schemas/BatteryConstraint",
            "mount_sun_separation": "#/components/schemas/MountSunSeparationConstraint",
            "storage": "#/components/schemas/StorageConstraint",
            "sun_altitude": "#/components/schemas/SunAltitudeConstraint",
            "weather_sensor": "#/components/schemas/WeatherSensorConstraint"
        },
        "propertyName": "constraintType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/WeatherSensorConstraint"
        },
        {
            "$ref": "#/components/schemas/StorageConstraint"
        },
        {
            "$ref": "#/components/schemas/BatteryConstraint"
        },
        {
            "$ref": "#/components/schemas/SunAltitudeConstraint"
        },
        {
            "$ref": "#/components/schemas/MountSunSeparationConstraint"
        }
    ],
    "title": "Response Create Operational Constraint Operational Constraints Post"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

DELETE /operational-constraints/{operational_constraint_id}

Delete Operational Constraint

Input parameters

Parameter In Type Default Nullable Description
operational_constraint_id path integer No Operational constraint id
token query No

Responses

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /operational-constraints/{operational_constraint_id}

Read Operational Constraint

Input parameters

Parameter In Type Default Nullable Description
operational_constraint_id path integer No Operational constraint id
token query No

Responses

Schema of the response body
{
    "discriminator": {
        "mapping": {
            "battery": "#/components/schemas/BatteryConstraint",
            "mount_sun_separation": "#/components/schemas/MountSunSeparationConstraint",
            "storage": "#/components/schemas/StorageConstraint",
            "sun_altitude": "#/components/schemas/SunAltitudeConstraint",
            "weather_sensor": "#/components/schemas/WeatherSensorConstraint"
        },
        "propertyName": "constraintType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/WeatherSensorConstraint"
        },
        {
            "$ref": "#/components/schemas/StorageConstraint"
        },
        {
            "$ref": "#/components/schemas/BatteryConstraint"
        },
        {
            "$ref": "#/components/schemas/SunAltitudeConstraint"
        },
        {
            "$ref": "#/components/schemas/MountSunSeparationConstraint"
        }
    ],
    "title": "Response Read Operational Constraint Operational Constraints  Operational Constraint Id  Get"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

PATCH /operational-constraints/{operational_constraint_id}

Update Operational Constraint

Input parameters

Parameter In Type Default Nullable Description
operational_constraint_id path integer No Operational constraint id
token query No

Request body

Schema of the request body
{
    "discriminator": {
        "mapping": {
            "battery": "#/components/schemas/BatteryConstraintUpdate",
            "mount_sun_separation": "#/components/schemas/MountSunSeparationConstraintUpdate",
            "storage": "#/components/schemas/StorageConstraintUpdate",
            "sun_altitude": "#/components/schemas/SunAltitudeConstraintUpdate",
            "weather_sensor": "#/components/schemas/WeatherSensorConstraintUpdate"
        },
        "propertyName": "constraintType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/WeatherSensorConstraintUpdate"
        },
        {
            "$ref": "#/components/schemas/StorageConstraintUpdate"
        },
        {
            "$ref": "#/components/schemas/BatteryConstraintUpdate"
        },
        {
            "$ref": "#/components/schemas/SunAltitudeConstraintUpdate"
        },
        {
            "$ref": "#/components/schemas/MountSunSeparationConstraintUpdate"
        }
    ],
    "title": "Body"
}

Responses

Schema of the response body
{
    "discriminator": {
        "mapping": {
            "battery": "#/components/schemas/BatteryConstraint",
            "mount_sun_separation": "#/components/schemas/MountSunSeparationConstraint",
            "storage": "#/components/schemas/StorageConstraint",
            "sun_altitude": "#/components/schemas/SunAltitudeConstraint",
            "weather_sensor": "#/components/schemas/WeatherSensorConstraint"
        },
        "propertyName": "constraintType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/WeatherSensorConstraint"
        },
        {
            "$ref": "#/components/schemas/StorageConstraint"
        },
        {
            "$ref": "#/components/schemas/BatteryConstraint"
        },
        {
            "$ref": "#/components/schemas/SunAltitudeConstraint"
        },
        {
            "$ref": "#/components/schemas/MountSunSeparationConstraint"
        }
    ],
    "title": "Response Update Operational Constraint Operational Constraints  Operational Constraint Id  Patch"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /operational-constraints/{operational_constraint_id}/status-snapshot

Get Operational Constraint Status Snapshot

Input parameters

Parameter In Type Default Nullable Description
operational_constraint_id path integer No Operational constraint id
token query No

Responses

{
    "at": "2022-04-13T15:42:05.901Z",
    "constraint_uid": "381a5824-a790-4cbd-946e-cdedde58fc38",
    "reason_codes": [
        "string"
    ],
    "stale": true,
    "status": "SAFE"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "at": {
            "format": "date-time",
            "title": "At",
            "type": "string"
        },
        "constraint_uid": {
            "format": "uuid",
            "title": "Constraint Uid",
            "type": "string"
        },
        "reason_codes": {
            "items": {
                "type": "string"
            },
            "title": "Reason Codes",
            "type": "array"
        },
        "stale": {
            "default": false,
            "title": "Stale",
            "type": "boolean"
        },
        "status": {
            "$ref": "#/components/schemas/EffectiveStatus"
        }
    },
    "required": [
        "constraint_uid",
        "at",
        "status"
    ],
    "title": "ConstraintStatusSnapshot",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

Shutdown Interlocks


GET /shutdown-interlocks

Get Shutdown Interlocks

Input parameters

Parameter In Type Default Nullable Description
active_now query No
activeNow query No
id query No
is_enabled query No
isEnabled query No
observatory_id query No
observatoryId query No
owner_id query No
ownerId query No
scope_type query No
scopeType query No
telescope_id query No
telescopeId query No
token query No
uid query No

Responses

{
    "items": [
        {
            "expiresAt": null,
            "id": null,
            "isDeleted": true,
            "isEnabled": true,
            "lastModified": null,
            "name": "string",
            "observatoryId": null,
            "observatoryUid": null,
            "ownerId": 0,
            "reason": null,
            "scopeType": "telescope",
            "startsAt": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": null
        }
    ],
    "page": 0,
    "pages": 0,
    "size": 0,
    "total": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "items": {
            "items": {
                "$ref": "#/components/schemas/ShutdownInterlock"
            },
            "title": "Items",
            "type": "array"
        },
        "page": {
            "minimum": 1.0,
            "title": "Page",
            "type": "integer"
        },
        "pages": {
            "minimum": 0.0,
            "title": "Pages",
            "type": "integer"
        },
        "size": {
            "minimum": 1.0,
            "title": "Size",
            "type": "integer"
        },
        "total": {
            "minimum": 0.0,
            "title": "Total",
            "type": "integer"
        }
    },
    "required": [
        "items",
        "total",
        "page",
        "size",
        "pages"
    ],
    "title": "Page[ShutdownInterlock]",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

POST /shutdown-interlocks

Create Shutdown Interlock

Input parameters

Parameter In Type Default Nullable Description
token query No

Request body

{
    "expiresAt": null,
    "isEnabled": true,
    "name": "string",
    "observatoryId": null,
    "ownerId": 0,
    "reason": null,
    "scopeType": "telescope",
    "startsAt": null,
    "telescopeId": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "expiresAt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isEnabled": {
            "default": true,
            "type": "boolean"
        },
        "name": {
            "maxLength": 255,
            "minLength": 1,
            "type": "string"
        },
        "observatoryId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "ownerId": {
            "type": "integer"
        },
        "reason": {
            "anyOf": [
                {
                    "maxLength": 1024,
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "scopeType": {
            "$ref": "#/components/schemas/ShutdownInterlockScopeType"
        },
        "startsAt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "telescopeId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "required": [
        "ownerId",
        "scopeType",
        "name"
    ],
    "title": "ShutdownInterlockCreate",
    "type": "object"
}

Responses

{
    "expiresAt": null,
    "id": null,
    "isDeleted": true,
    "isEnabled": true,
    "lastModified": null,
    "name": "string",
    "observatoryId": null,
    "observatoryUid": null,
    "ownerId": 0,
    "reason": null,
    "scopeType": "telescope",
    "startsAt": null,
    "telescopeId": null,
    "telescopeUid": null,
    "uid": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "expiresAt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isDeleted": {
            "default": false,
            "type": "boolean"
        },
        "isEnabled": {
            "default": true,
            "type": "boolean"
        },
        "lastModified": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "name": {
            "type": "string"
        },
        "observatoryId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "ownerId": {
            "type": "integer"
        },
        "reason": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "scopeType": {
            "$ref": "#/components/schemas/ShutdownInterlockScopeType"
        },
        "startsAt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "telescopeId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "telescopeUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "uid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "required": [
        "ownerId",
        "scopeType",
        "name"
    ],
    "title": "ShutdownInterlock",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

DELETE /shutdown-interlocks/{shutdown_interlock_id}

Delete Shutdown Interlock

Input parameters

Parameter In Type Default Nullable Description
shutdown_interlock_id path integer No
token query No

Responses

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /shutdown-interlocks/{shutdown_interlock_id}

Read Shutdown Interlock

Input parameters

Parameter In Type Default Nullable Description
shutdown_interlock_id path integer No
token query No

Responses

{
    "expiresAt": null,
    "id": null,
    "isDeleted": true,
    "isEnabled": true,
    "lastModified": null,
    "name": "string",
    "observatoryId": null,
    "observatoryUid": null,
    "ownerId": 0,
    "reason": null,
    "scopeType": "telescope",
    "startsAt": null,
    "telescopeId": null,
    "telescopeUid": null,
    "uid": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "expiresAt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isDeleted": {
            "default": false,
            "type": "boolean"
        },
        "isEnabled": {
            "default": true,
            "type": "boolean"
        },
        "lastModified": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "name": {
            "type": "string"
        },
        "observatoryId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "ownerId": {
            "type": "integer"
        },
        "reason": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "scopeType": {
            "$ref": "#/components/schemas/ShutdownInterlockScopeType"
        },
        "startsAt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "telescopeId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "telescopeUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "uid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "required": [
        "ownerId",
        "scopeType",
        "name"
    ],
    "title": "ShutdownInterlock",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

PATCH /shutdown-interlocks/{shutdown_interlock_id}

Update Shutdown Interlock

Input parameters

Parameter In Type Default Nullable Description
shutdown_interlock_id path integer No
token query No

Request body

{
    "expiresAt": null,
    "isEnabled": null,
    "name": null,
    "reason": null,
    "startsAt": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "expiresAt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isEnabled": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ]
        },
        "name": {
            "anyOf": [
                {
                    "maxLength": 255,
                    "minLength": 1,
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "reason": {
            "anyOf": [
                {
                    "maxLength": 1024,
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "startsAt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "title": "ShutdownInterlockUpdate",
    "type": "object"
}

Responses

{
    "expiresAt": null,
    "id": null,
    "isDeleted": true,
    "isEnabled": true,
    "lastModified": null,
    "name": "string",
    "observatoryId": null,
    "observatoryUid": null,
    "ownerId": 0,
    "reason": null,
    "scopeType": "telescope",
    "startsAt": null,
    "telescopeId": null,
    "telescopeUid": null,
    "uid": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "expiresAt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isDeleted": {
            "default": false,
            "type": "boolean"
        },
        "isEnabled": {
            "default": true,
            "type": "boolean"
        },
        "lastModified": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "name": {
            "type": "string"
        },
        "observatoryId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "ownerId": {
            "type": "integer"
        },
        "reason": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "scopeType": {
            "$ref": "#/components/schemas/ShutdownInterlockScopeType"
        },
        "startsAt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "telescopeId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "telescopeUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "uid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "required": [
        "ownerId",
        "scopeType",
        "name"
    ],
    "title": "ShutdownInterlock",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

Sites


GET /sites

Read Sites

Input parameters

Parameter In Type Default Nullable Description
id query No
is_owner query No
isOwner query No
name query No
telescope_id query No
telescopeId query No
token query No

Responses

{
    "items": [
        {
            "countryCode": "string",
            "elevationM": 10.12,
            "iauCode": null,
            "id": null,
            "latitudeDeg": 10.12,
            "location": "string",
            "longitudeDeg": 10.12,
            "name": "string",
            "owner": null,
            "ownerId": null,
            "slug": "string",
            "uid": "214c91be-da15-41f9-9f4b-ec2e0997d6d2"
        }
    ],
    "page": 0,
    "pages": 0,
    "size": 0,
    "total": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "items": {
            "items": {
                "$ref": "#/components/schemas/SiteSummary"
            },
            "title": "Items",
            "type": "array"
        },
        "page": {
            "minimum": 1.0,
            "title": "Page",
            "type": "integer"
        },
        "pages": {
            "minimum": 0.0,
            "title": "Pages",
            "type": "integer"
        },
        "size": {
            "minimum": 1.0,
            "title": "Size",
            "type": "integer"
        },
        "total": {
            "minimum": 0.0,
            "title": "Total",
            "type": "integer"
        }
    },
    "required": [
        "items",
        "total",
        "page",
        "size",
        "pages"
    ],
    "title": "Page[SiteSummary]",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /sites/{site_id}

Read Site

Input parameters

Parameter In Type Default Nullable Description
site_id path integer No
token query No

Responses

{
    "countryCode": "string",
    "elevationM": 10.12,
    "iauCode": null,
    "id": null,
    "latitudeDeg": 10.12,
    "location": "string",
    "longitudeDeg": 10.12,
    "name": "string",
    "ownerId": null,
    "slug": "string",
    "uid": "91662d0e-0f4b-48bc-9e20-099b002eed66"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "countryCode": {
            "type": "string"
        },
        "elevationM": {
            "type": "number"
        },
        "iauCode": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "latitudeDeg": {
            "type": "number"
        },
        "location": {
            "type": "string"
        },
        "longitudeDeg": {
            "type": "number"
        },
        "name": {
            "type": "string"
        },
        "ownerId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "slug": {
            "type": "string"
        },
        "uid": {
            "format": "uuid",
            "type": "string"
        }
    },
    "required": [
        "uid",
        "name",
        "slug",
        "location",
        "countryCode",
        "latitudeDeg",
        "longitudeDeg",
        "elevationM"
    ],
    "title": "Site",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

PATCH /sites/{site_id}

Update Site

Input parameters

Parameter In Type Default Nullable Description
site_id path integer No
token query No

Request body

{
    "countryCode": null,
    "elevationM": null,
    "iauCode": null,
    "latitudeDeg": null,
    "location": null,
    "longitudeDeg": null,
    "name": null,
    "ownerId": null,
    "slug": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "countryCode": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "elevationM": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "iauCode": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "latitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "location": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "longitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "name": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "ownerId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "slug": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "title": "SiteUpdate",
    "type": "object"
}

Responses

{
    "countryCode": "string",
    "elevationM": 10.12,
    "iauCode": null,
    "id": null,
    "latitudeDeg": 10.12,
    "location": "string",
    "longitudeDeg": 10.12,
    "name": "string",
    "ownerId": null,
    "slug": "string",
    "uid": "a644ac15-0953-476d-a58b-ca6d02a778a3"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "countryCode": {
            "type": "string"
        },
        "elevationM": {
            "type": "number"
        },
        "iauCode": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "latitudeDeg": {
            "type": "number"
        },
        "location": {
            "type": "string"
        },
        "longitudeDeg": {
            "type": "number"
        },
        "name": {
            "type": "string"
        },
        "ownerId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "slug": {
            "type": "string"
        },
        "uid": {
            "format": "uuid",
            "type": "string"
        }
    },
    "required": [
        "uid",
        "name",
        "slug",
        "location",
        "countryCode",
        "latitudeDeg",
        "longitudeDeg",
        "elevationM"
    ],
    "title": "Site",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /sites/{site_id}/detail

Read Site Detail

Input parameters

Parameter In Type Default Nullable Description
site_id path integer No
token query No

Responses

{
    "countryCode": "string",
    "elevationM": 10.12,
    "iauCode": null,
    "id": null,
    "latitudeDeg": 10.12,
    "location": "string",
    "longitudeDeg": 10.12,
    "name": "string",
    "owner": null,
    "ownerId": null,
    "slug": "string",
    "uid": "e4963ec1-8b04-48c6-a5fe-ae9ed53a09d1"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "countryCode": {
            "type": "string"
        },
        "elevationM": {
            "type": "number"
        },
        "iauCode": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "latitudeDeg": {
            "type": "number"
        },
        "location": {
            "type": "string"
        },
        "longitudeDeg": {
            "type": "number"
        },
        "name": {
            "type": "string"
        },
        "owner": {
            "anyOf": [
                {
                    "discriminator": {
                        "mapping": {
                            "organization": "#/components/schemas/OrganizationPublic",
                            "user": "#/components/schemas/UserPublic"
                        },
                        "propertyName": "entityType"
                    },
                    "oneOf": [
                        {
                            "$ref": "#/components/schemas/UserPublic"
                        },
                        {
                            "$ref": "#/components/schemas/OrganizationPublic"
                        }
                    ]
                },
                {
                    "type": "null"
                }
            ]
        },
        "ownerId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "slug": {
            "type": "string"
        },
        "uid": {
            "format": "uuid",
            "type": "string"
        }
    },
    "required": [
        "uid",
        "name",
        "slug",
        "location",
        "countryCode",
        "latitudeDeg",
        "longitudeDeg",
        "elevationM"
    ],
    "title": "SiteDetail",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

Telescope States


GET /telescope-snapshots

Read Telescope Snapshots

Input parameters

Parameter In Type Default Nullable Description
end query No
start query No
telescope_id query No
telescopeId query No
token query No

Responses

[
    {
        "acquisitionActive": true,
        "acquisitionEnclosureReady": null,
        "acquisitionInstrumentUid": null,
        "acquisitionLastError": null,
        "acquisitionMountReady": null,
        "acquisitionPhase": null,
        "acquisitionTargetId": null,
        "activeShutdownInterlock": null,
        "automationState": null,
        "automationStateReason": null,
        "blockedReason": null,
        "controlAuthority": "manual",
        "currentTaskId": null,
        "degradedReason": null,
        "dispatchGateReason": null,
        "manualControlLease": null,
        "shutdownInterlockStatus": null,
        "shutdownReason": null,
        "shutdownSource": null,
        "taskActive": true,
        "taskId": null,
        "taskInstrumentUid": null,
        "taskLastTerminalOutcome": null,
        "taskPhase": null,
        "taskTargetId": null,
        "telescopeId": null,
        "telescopeUid": null,
        "timestamp": "2022-04-13T15:42:05.901Z"
    }
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "items": {
        "$ref": "#/components/schemas/TelescopeSnapshot"
    },
    "title": "Response Read Telescope Snapshots Telescope Snapshots Get",
    "type": "array"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

Telescopes


GET /telescopes

Read Telescopes

Input parameters

Parameter In Type Default Nullable Description
-ownerId query No
id query No
name query No
observatory_id query No
observatory_uid query No
observatoryId query No
observatoryUid query No
owner_id query No
owner_id_ query No
ownerId query No
slug query No
sort_by query No
sortBy query No
token query No
uid query No

Responses

{
    "items": [
        {
            "antennaIds": null,
            "calibrationObservingAccountId": null,
            "cameraIds": null,
            "description": null,
            "deviceIds": null,
            "elevationM": 10.12,
            "enclosureId": null,
            "enclosureUid": null,
            "filterWheelIds": null,
            "focuserIds": null,
            "galleryItemIds": null,
            "iauCode": null,
            "id": null,
            "imageId": null,
            "instrumentIds": null,
            "ipCameraIds": null,
            "isAvailable": true,
            "isPublic": true,
            "latitudeDeg": 10.12,
            "localHorizon": null,
            "location": "string",
            "longitudeDeg": 10.12,
            "mountId": null,
            "mountUid": null,
            "name": "string",
            "observatory": null,
            "observatoryId": 0,
            "observatoryUid": null,
            "otaIds": null,
            "owner": null,
            "ownerId": 0,
            "publicLatitudeDeg": null,
            "publicLongitudeDeg": null,
            "radioBackendIds": null,
            "receiverIds": null,
            "rotatorIds": null,
            "shortName": null,
            "slug": "string",
            "uid": "2eb588c1-c87e-4322-8866-bc998bf5feb9"
        }
    ],
    "page": 0,
    "pages": 0,
    "size": 0,
    "total": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "items": {
            "items": {
                "$ref": "#/components/schemas/TelescopeSummary"
            },
            "title": "Items",
            "type": "array"
        },
        "page": {
            "minimum": 1.0,
            "title": "Page",
            "type": "integer"
        },
        "pages": {
            "minimum": 0.0,
            "title": "Pages",
            "type": "integer"
        },
        "size": {
            "minimum": 1.0,
            "title": "Size",
            "type": "integer"
        },
        "total": {
            "minimum": 0.0,
            "title": "Total",
            "type": "integer"
        }
    },
    "required": [
        "items",
        "total",
        "page",
        "size",
        "pages"
    ],
    "title": "Page[TelescopeSummary]",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

POST /telescopes

Create Telescope

Input parameters

Parameter In Type Default Nullable Description
token query No

Request body

{
    "description": null,
    "elevationM": 10.12,
    "enclosureId": null,
    "enclosureUid": null,
    "iauCode": null,
    "imageId": null,
    "isAvailable": true,
    "isPublic": null,
    "latitudeDeg": 10.12,
    "localHorizon": null,
    "location": "string",
    "longitudeDeg": 10.12,
    "mountId": null,
    "mountUid": null,
    "name": "string",
    "observatoryId": 0,
    "ownerId": 0,
    "shortName": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "elevationM": {
            "type": "number"
        },
        "enclosureId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "enclosureUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "iauCode": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "imageId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isAvailable": {
            "type": "boolean"
        },
        "isPublic": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ],
            "default": true
        },
        "latitudeDeg": {
            "type": "number"
        },
        "localHorizon": {
            "anyOf": [
                {
                    "items": {
                        "maxItems": 2,
                        "minItems": 2,
                        "prefixItems": [
                            {
                                "type": "number"
                            },
                            {
                                "type": "number"
                            }
                        ],
                        "type": "array"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "location": {
            "type": "string"
        },
        "longitudeDeg": {
            "type": "number"
        },
        "mountId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "mountUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "name": {
            "type": "string"
        },
        "observatoryId": {
            "type": "integer"
        },
        "ownerId": {
            "type": "integer"
        },
        "shortName": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "required": [
        "observatoryId",
        "ownerId",
        "name",
        "location",
        "latitudeDeg",
        "longitudeDeg",
        "elevationM",
        "isAvailable"
    ],
    "title": "TelescopeCreate",
    "type": "object"
}

Responses

{
    "antennaIds": null,
    "antennas": [
        {
            "apertureM": 10.12,
            "deviceType": "string",
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": [
                {
                    "action": "keep_enclosure_closed",
                    "deviceId": 0,
                    "deviceUid": null,
                    "id": null,
                    "operationalConstraintId": 0,
                    "priority": 0,
                    "triggerOnStabilizing": true,
                    "triggerOnUnknown": true,
                    "triggerOnUnsafe": true,
                    "uid": "2fa1a964-32a5-4a32-aa09-b86a2c9e6b53"
                }
            ],
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "4cec794d-fc01-4d34-9cfd-aaee88e1f1c2"
        }
    ],
    "calibrationObservingAccountId": null,
    "cameraIds": null,
    "cameras": [
        {
            "arrayHeight": 0,
            "arrayWidth": 0,
            "coolerIdleTimeoutSec": 10.12,
            "coolerPolicy": "always_on",
            "coolerPrestartLeadTimeSec": 10.12,
            "defaultBinning": 0,
            "deviceType": "string",
            "fullWellCapacityElectrons": 10.12,
            "hasElectronicShutter": true,
            "id": null,
            "imageId": null,
            "isColor": true,
            "isGlobalShutter": true,
            "manufacturer": null,
            "model": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "pixelSizeUm": 10.12,
            "readoutModes": null,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "temperatureSetpointC": null,
            "temperatureSetpointToleranceC": null,
            "uid": "6efdac8d-3cf9-4e8b-86b4-ec85580e2a67"
        }
    ],
    "description": null,
    "deviceIds": null,
    "elevationM": 10.12,
    "enclosure": null,
    "enclosureId": null,
    "enclosureUid": null,
    "filterWheelIds": null,
    "filterWheels": [
        {
            "deletedPositions": null,
            "deviceType": "string",
            "filterShape": null,
            "filterSizeMm": null,
            "filterWheelPositionIds": null,
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "model": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "positions": [
                {
                    "filterIds": [
                        "string"
                    ],
                    "filterWheelId": 0,
                    "filterWheelUid": null,
                    "filters": [
                        {
                            "bandpassNm": null,
                            "centralWavelengthNm": null,
                            "filterSpecifierType": "string",
                            "flatExposureScaler": null,
                            "id": "string",
                            "isModifier": null
                        }
                    ],
                    "flatExposureScaler": null,
                    "focusOffset": null,
                    "id": null,
                    "isActive": true,
                    "isDeleted": true,
                    "label": null,
                    "position": 0,
                    "uid": "9048df20-89f4-4fa0-83d3-0d0ecce5a74b"
                }
            ],
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "590a0060-8614-48da-a529-954f643e5fef"
        }
    ],
    "focuserIds": null,
    "focusers": [
        {
            "deviceType": "string",
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "maxPosition": 0,
            "minPosition": 0,
            "model": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "stepSize": 10.12,
            "telescopeId": null,
            "telescopeUid": null,
            "temperatureCompensated": true,
            "uid": "d815ba3f-8c58-457a-8bff-7719bbe09886"
        }
    ],
    "galleryItemIds": null,
    "galleryItems": null,
    "iauCode": null,
    "id": null,
    "imageId": null,
    "instrumentIds": null,
    "instruments": [
        null
    ],
    "ipCameraIds": null,
    "ipCameras": [
        {
            "id": null,
            "isPrimary": true,
            "lastSeen": null,
            "name": "string",
            "observatoryId": null,
            "onvifHost": null,
            "order": 0,
            "pose": null,
            "ptz": true,
            "role": "pier",
            "streams": [
                {
                    "active": true,
                    "cameraId": 0,
                    "expiresSec": null,
                    "id": 0,
                    "isPublic": true,
                    "kind": "rtsp",
                    "quality": null
                }
            ],
            "telescopeId": null,
            "uid": "a3b12d4c-5fda-4e7e-8cec-9a8e44b3a048",
            "vendor": null
        }
    ],
    "isAvailable": true,
    "isPublic": true,
    "latitudeDeg": 10.12,
    "localHorizon": null,
    "location": "string",
    "longitudeDeg": 10.12,
    "mount": null,
    "mountId": null,
    "mountUid": null,
    "name": "string",
    "observatory": null,
    "observatoryId": 0,
    "observatoryUid": null,
    "otaIds": null,
    "otas": [
        {
            "apertureM": 10.12,
            "deviceType": "string",
            "focalLengthM": 10.12,
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "model": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "offsetScalar": null,
            "offsetXM": null,
            "offsetYM": null,
            "offsetZM": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "opticalDesign": null,
            "ownerId": 0,
            "parentOta": null,
            "parentOtaId": null,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "869c7109-61d0-46fd-bcfe-d8db88c33b93"
        }
    ],
    "owner": null,
    "ownerId": 0,
    "publicLatitudeDeg": null,
    "publicLongitudeDeg": null,
    "radioBackendIds": null,
    "radioBackends": [
        {
            "description": null,
            "deviceType": "string",
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "55a1a21a-387a-40db-ab60-11269003274f"
        }
    ],
    "receiverIds": null,
    "receivers": [
        {
            "band": null,
            "channels": [
                {
                    "id": 0,
                    "isActive": true,
                    "offsetXArcsec": 10.12,
                    "offsetYArcsec": 10.12,
                    "polarization": "linear",
                    "receiverId": 0
                }
            ],
            "deviceType": "string",
            "id": 0,
            "imageId": null,
            "isAvailable": true,
            "manufacturer": null,
            "maxFrequencyMhz": 10.12,
            "minFrequencyMhz": 10.12,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "8233e84a-c963-40c6-a4c6-0b6360d7239a"
        }
    ],
    "rotatorIds": null,
    "rotators": [
        {
            "deviceType": "string",
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "a11ebb1b-78f8-4ae6-ad23-47a83b64e79b"
        }
    ],
    "shortName": null,
    "slug": "string",
    "uid": "7f348b88-7c68-4ca4-9167-63910583852b"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "antennaIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "antennas": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/AntennaDetail"
            },
            "type": "array"
        },
        "calibrationObservingAccountId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "cameraIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "cameras": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/CameraDetail"
            },
            "type": "array"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "deviceIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "elevationM": {
            "type": "number"
        },
        "enclosure": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/EnclosureDetail"
                },
                {
                    "type": "null"
                }
            ]
        },
        "enclosureId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "enclosureUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "filterWheelIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "filterWheels": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/FilterWheelDetail"
            },
            "type": "array"
        },
        "focuserIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "focusers": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/FocuserDetail"
            },
            "type": "array"
        },
        "galleryItemIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "galleryItems": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/TelescopeGalleryItem"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "iauCode": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "imageId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "instrumentIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "instruments": {
            "default": [],
            "items": {
                "discriminator": {
                    "mapping": {
                        "optical_imager": "#/components/schemas/OpticalImagerDetail",
                        "radio_spectrometer": "#/components/schemas/RadioSpectrometerDetail"
                    },
                    "propertyName": "instrumentType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/OpticalImagerDetail"
                    },
                    {
                        "$ref": "#/components/schemas/RadioSpectrometerDetail"
                    }
                ]
            },
            "type": "array"
        },
        "ipCameraIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "ipCameras": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/IPCamera"
            },
            "type": "array"
        },
        "isAvailable": {
            "type": "boolean"
        },
        "isPublic": {
            "type": "boolean"
        },
        "latitudeDeg": {
            "type": "number"
        },
        "localHorizon": {
            "anyOf": [
                {
                    "items": {
                        "maxItems": 2,
                        "minItems": 2,
                        "prefixItems": [
                            {
                                "type": "number"
                            },
                            {
                                "type": "number"
                            }
                        ],
                        "type": "array"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "location": {
            "type": "string"
        },
        "longitudeDeg": {
            "type": "number"
        },
        "mount": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MountDetail"
                },
                {
                    "type": "null"
                }
            ]
        },
        "mountId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "mountUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "name": {
            "type": "string"
        },
        "observatory": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservatoryWithoutTelescopes"
                },
                {
                    "type": "null"
                }
            ]
        },
        "observatoryId": {
            "type": "integer"
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "otaIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "otas": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/OtaDetail"
            },
            "type": "array"
        },
        "owner": {
            "anyOf": [
                {
                    "discriminator": {
                        "mapping": {
                            "organization": "#/components/schemas/OrganizationPublic",
                            "user": "#/components/schemas/UserPublic"
                        },
                        "propertyName": "entityType"
                    },
                    "oneOf": [
                        {
                            "$ref": "#/components/schemas/UserPublic"
                        },
                        {
                            "$ref": "#/components/schemas/OrganizationPublic"
                        }
                    ]
                },
                {
                    "type": "null"
                }
            ]
        },
        "ownerId": {
            "type": "integer"
        },
        "publicLatitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "publicLongitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "radioBackendIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "radioBackends": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/RadioBackendDetail"
            },
            "type": "array"
        },
        "receiverIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "receivers": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/ReceiverDetail"
            },
            "type": "array"
        },
        "rotatorIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "rotators": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/InstrumentRotatorDetail"
            },
            "type": "array"
        },
        "shortName": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "slug": {
            "type": "string"
        },
        "uid": {
            "format": "uuid",
            "type": "string"
        }
    },
    "required": [
        "uid",
        "name",
        "slug",
        "location",
        "elevationM",
        "isAvailable",
        "ownerId",
        "observatoryId",
        "latitudeDeg",
        "longitudeDeg",
        "isPublic"
    ],
    "title": "TelescopeDetail",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}

Read Telescope

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Responses

{
    "antennaIds": null,
    "calibrationObservingAccountId": null,
    "cameraIds": null,
    "description": null,
    "deviceIds": null,
    "elevationM": 10.12,
    "enclosureId": null,
    "enclosureUid": null,
    "filterWheelIds": null,
    "focuserIds": null,
    "galleryItemIds": null,
    "iauCode": null,
    "id": null,
    "imageId": null,
    "instrumentIds": null,
    "ipCameraIds": null,
    "isAvailable": true,
    "isPublic": true,
    "latitudeDeg": 10.12,
    "location": "string",
    "longitudeDeg": 10.12,
    "mountId": null,
    "mountUid": null,
    "name": "string",
    "observatoryId": 0,
    "observatoryUid": null,
    "otaIds": null,
    "ownerId": 0,
    "publicLatitudeDeg": null,
    "publicLongitudeDeg": null,
    "radioBackendIds": null,
    "receiverIds": null,
    "rotatorIds": null,
    "shortName": null,
    "slug": "string",
    "uid": "d28fc2b2-aa14-4490-962a-b000fb5fa621"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "antennaIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "calibrationObservingAccountId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "cameraIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "deviceIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "elevationM": {
            "type": "number"
        },
        "enclosureId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "enclosureUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "filterWheelIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "focuserIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "galleryItemIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "iauCode": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "imageId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "instrumentIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "ipCameraIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isAvailable": {
            "type": "boolean"
        },
        "isPublic": {
            "type": "boolean"
        },
        "latitudeDeg": {
            "type": "number"
        },
        "location": {
            "type": "string"
        },
        "longitudeDeg": {
            "type": "number"
        },
        "mountId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "mountUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "name": {
            "type": "string"
        },
        "observatoryId": {
            "type": "integer"
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "otaIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "ownerId": {
            "type": "integer"
        },
        "publicLatitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "publicLongitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "radioBackendIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "receiverIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "rotatorIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "shortName": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "slug": {
            "type": "string"
        },
        "uid": {
            "format": "uuid",
            "type": "string"
        }
    },
    "required": [
        "uid",
        "name",
        "slug",
        "location",
        "elevationM",
        "isAvailable",
        "ownerId",
        "observatoryId",
        "latitudeDeg",
        "longitudeDeg",
        "isPublic"
    ],
    "title": "Telescope",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

PATCH /telescopes/{telescope_id}

Update Telescope

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Request body

{
    "description": null,
    "elevationM": null,
    "enclosureId": null,
    "enclosureUid": null,
    "iauCode": null,
    "imageId": null,
    "isAvailable": null,
    "isPublic": null,
    "latitudeDeg": null,
    "localHorizon": null,
    "location": null,
    "longitudeDeg": null,
    "mountId": null,
    "mountUid": null,
    "name": null,
    "observatoryUid": null,
    "ownerId": null,
    "shortName": null,
    "slug": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "elevationM": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "enclosureId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "enclosureUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "iauCode": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "imageId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isAvailable": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isPublic": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ]
        },
        "latitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "localHorizon": {
            "anyOf": [
                {
                    "items": {
                        "maxItems": 2,
                        "minItems": 2,
                        "prefixItems": [
                            {
                                "type": "number"
                            },
                            {
                                "type": "number"
                            }
                        ],
                        "type": "array"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "location": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "longitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "mountId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "mountUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "name": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "ownerId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "shortName": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "slug": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "title": "TelescopeUpdate",
    "type": "object"
}

Responses

{
    "antennaIds": null,
    "antennas": [
        {
            "apertureM": 10.12,
            "deviceType": "string",
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": [
                {
                    "action": "keep_enclosure_closed",
                    "deviceId": 0,
                    "deviceUid": null,
                    "id": null,
                    "operationalConstraintId": 0,
                    "priority": 0,
                    "triggerOnStabilizing": true,
                    "triggerOnUnknown": true,
                    "triggerOnUnsafe": true,
                    "uid": "521ecd0e-79a1-4b50-8370-f385744c5a58"
                }
            ],
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "af40a57f-9e69-424e-bf3a-a0284a1d1e89"
        }
    ],
    "calibrationObservingAccountId": null,
    "cameraIds": null,
    "cameras": [
        {
            "arrayHeight": 0,
            "arrayWidth": 0,
            "coolerIdleTimeoutSec": 10.12,
            "coolerPolicy": "always_on",
            "coolerPrestartLeadTimeSec": 10.12,
            "defaultBinning": 0,
            "deviceType": "string",
            "fullWellCapacityElectrons": 10.12,
            "hasElectronicShutter": true,
            "id": null,
            "imageId": null,
            "isColor": true,
            "isGlobalShutter": true,
            "manufacturer": null,
            "model": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "pixelSizeUm": 10.12,
            "readoutModes": null,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "temperatureSetpointC": null,
            "temperatureSetpointToleranceC": null,
            "uid": "327a6f63-7f31-4935-a0a1-d671a1d8fd0e"
        }
    ],
    "description": null,
    "deviceIds": null,
    "elevationM": 10.12,
    "enclosure": null,
    "enclosureId": null,
    "enclosureUid": null,
    "filterWheelIds": null,
    "filterWheels": [
        {
            "deletedPositions": null,
            "deviceType": "string",
            "filterShape": null,
            "filterSizeMm": null,
            "filterWheelPositionIds": null,
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "model": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "positions": [
                {
                    "filterIds": [
                        "string"
                    ],
                    "filterWheelId": 0,
                    "filterWheelUid": null,
                    "filters": [
                        {
                            "bandpassNm": null,
                            "centralWavelengthNm": null,
                            "filterSpecifierType": "string",
                            "flatExposureScaler": null,
                            "id": "string",
                            "isModifier": null
                        }
                    ],
                    "flatExposureScaler": null,
                    "focusOffset": null,
                    "id": null,
                    "isActive": true,
                    "isDeleted": true,
                    "label": null,
                    "position": 0,
                    "uid": "60fe068c-4972-4234-89e0-2a060bca02b0"
                }
            ],
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "204d5f5f-c8b7-44d6-aff8-c8a6f27e2930"
        }
    ],
    "focuserIds": null,
    "focusers": [
        {
            "deviceType": "string",
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "maxPosition": 0,
            "minPosition": 0,
            "model": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "stepSize": 10.12,
            "telescopeId": null,
            "telescopeUid": null,
            "temperatureCompensated": true,
            "uid": "d0bbf001-fe42-4145-a44f-3ecc599bc800"
        }
    ],
    "galleryItemIds": null,
    "galleryItems": null,
    "iauCode": null,
    "id": null,
    "imageId": null,
    "instrumentIds": null,
    "instruments": [
        null
    ],
    "ipCameraIds": null,
    "ipCameras": [
        {
            "id": null,
            "isPrimary": true,
            "lastSeen": null,
            "name": "string",
            "observatoryId": null,
            "onvifHost": null,
            "order": 0,
            "pose": null,
            "ptz": true,
            "role": "pier",
            "streams": [
                {
                    "active": true,
                    "cameraId": 0,
                    "expiresSec": null,
                    "id": 0,
                    "isPublic": true,
                    "kind": "rtsp",
                    "quality": null
                }
            ],
            "telescopeId": null,
            "uid": "47708b7a-9aef-4650-aa23-f36bed0d0323",
            "vendor": null
        }
    ],
    "isAvailable": true,
    "isPublic": true,
    "latitudeDeg": 10.12,
    "localHorizon": null,
    "location": "string",
    "longitudeDeg": 10.12,
    "mount": null,
    "mountId": null,
    "mountUid": null,
    "name": "string",
    "observatory": null,
    "observatoryId": 0,
    "observatoryUid": null,
    "otaIds": null,
    "otas": [
        {
            "apertureM": 10.12,
            "deviceType": "string",
            "focalLengthM": 10.12,
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "model": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "offsetScalar": null,
            "offsetXM": null,
            "offsetYM": null,
            "offsetZM": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "opticalDesign": null,
            "ownerId": 0,
            "parentOta": null,
            "parentOtaId": null,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "495b9499-bdea-4314-b021-eb8fe8aaa6d1"
        }
    ],
    "owner": null,
    "ownerId": 0,
    "publicLatitudeDeg": null,
    "publicLongitudeDeg": null,
    "radioBackendIds": null,
    "radioBackends": [
        {
            "description": null,
            "deviceType": "string",
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "7504ccc6-6e08-4d62-a802-e4f410ad48fc"
        }
    ],
    "receiverIds": null,
    "receivers": [
        {
            "band": null,
            "channels": [
                {
                    "id": 0,
                    "isActive": true,
                    "offsetXArcsec": 10.12,
                    "offsetYArcsec": 10.12,
                    "polarization": "linear",
                    "receiverId": 0
                }
            ],
            "deviceType": "string",
            "id": 0,
            "imageId": null,
            "isAvailable": true,
            "manufacturer": null,
            "maxFrequencyMhz": 10.12,
            "minFrequencyMhz": 10.12,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "07f77a59-c87b-4427-bb27-eb7883a324f7"
        }
    ],
    "rotatorIds": null,
    "rotators": [
        {
            "deviceType": "string",
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "461b5cb8-bfaf-416b-9106-9675c018faff"
        }
    ],
    "shortName": null,
    "slug": "string",
    "uid": "2790cd77-3535-4634-853f-519767577e77"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "antennaIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "antennas": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/AntennaDetail"
            },
            "type": "array"
        },
        "calibrationObservingAccountId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "cameraIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "cameras": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/CameraDetail"
            },
            "type": "array"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "deviceIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "elevationM": {
            "type": "number"
        },
        "enclosure": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/EnclosureDetail"
                },
                {
                    "type": "null"
                }
            ]
        },
        "enclosureId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "enclosureUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "filterWheelIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "filterWheels": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/FilterWheelDetail"
            },
            "type": "array"
        },
        "focuserIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "focusers": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/FocuserDetail"
            },
            "type": "array"
        },
        "galleryItemIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "galleryItems": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/TelescopeGalleryItem"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "iauCode": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "imageId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "instrumentIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "instruments": {
            "default": [],
            "items": {
                "discriminator": {
                    "mapping": {
                        "optical_imager": "#/components/schemas/OpticalImagerDetail",
                        "radio_spectrometer": "#/components/schemas/RadioSpectrometerDetail"
                    },
                    "propertyName": "instrumentType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/OpticalImagerDetail"
                    },
                    {
                        "$ref": "#/components/schemas/RadioSpectrometerDetail"
                    }
                ]
            },
            "type": "array"
        },
        "ipCameraIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "ipCameras": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/IPCamera"
            },
            "type": "array"
        },
        "isAvailable": {
            "type": "boolean"
        },
        "isPublic": {
            "type": "boolean"
        },
        "latitudeDeg": {
            "type": "number"
        },
        "localHorizon": {
            "anyOf": [
                {
                    "items": {
                        "maxItems": 2,
                        "minItems": 2,
                        "prefixItems": [
                            {
                                "type": "number"
                            },
                            {
                                "type": "number"
                            }
                        ],
                        "type": "array"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "location": {
            "type": "string"
        },
        "longitudeDeg": {
            "type": "number"
        },
        "mount": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MountDetail"
                },
                {
                    "type": "null"
                }
            ]
        },
        "mountId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "mountUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "name": {
            "type": "string"
        },
        "observatory": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservatoryWithoutTelescopes"
                },
                {
                    "type": "null"
                }
            ]
        },
        "observatoryId": {
            "type": "integer"
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "otaIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "otas": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/OtaDetail"
            },
            "type": "array"
        },
        "owner": {
            "anyOf": [
                {
                    "discriminator": {
                        "mapping": {
                            "organization": "#/components/schemas/OrganizationPublic",
                            "user": "#/components/schemas/UserPublic"
                        },
                        "propertyName": "entityType"
                    },
                    "oneOf": [
                        {
                            "$ref": "#/components/schemas/UserPublic"
                        },
                        {
                            "$ref": "#/components/schemas/OrganizationPublic"
                        }
                    ]
                },
                {
                    "type": "null"
                }
            ]
        },
        "ownerId": {
            "type": "integer"
        },
        "publicLatitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "publicLongitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "radioBackendIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "radioBackends": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/RadioBackendDetail"
            },
            "type": "array"
        },
        "receiverIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "receivers": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/ReceiverDetail"
            },
            "type": "array"
        },
        "rotatorIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "rotators": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/InstrumentRotatorDetail"
            },
            "type": "array"
        },
        "shortName": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "slug": {
            "type": "string"
        },
        "uid": {
            "format": "uuid",
            "type": "string"
        }
    },
    "required": [
        "uid",
        "name",
        "slug",
        "location",
        "elevationM",
        "isAvailable",
        "ownerId",
        "observatoryId",
        "latitudeDeg",
        "longitudeDeg",
        "isPublic"
    ],
    "title": "TelescopeDetail",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/access-grants

Read Telescope Access Grants

Input parameters

Parameter In Type Default Nullable Description
excluded_queue_id query No
search query No
telescope_id path No Telescope id, uid, or slug
token query No

Responses

[
    {
        "entityId": null,
        "id": 0,
        "revoked": true,
        "shares": 10.12,
        "telescopeId": 0,
        "timeContested": 10.12,
        "timeUsed": 10.12,
        "timeWaiting": 10.12
    }
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "items": {
        "$ref": "#/components/schemas/TelescopeAccessGrantDetail"
    },
    "title": "Response Read Telescope Access Grants Telescopes  Telescope Id  Access Grants Get",
    "type": "array"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

POST /telescopes/{telescope_id}/access-grants

Create Telescope Access Grant

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Request body

{
    "entityId": null,
    "invitation": null,
    "queueIds": [
        0
    ],
    "shares": 10.12
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "entityId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "invitation": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/TelescopeAccessGrantInvitationCreate"
                },
                {
                    "type": "null"
                }
            ]
        },
        "queueIds": {
            "default": [],
            "items": {
                "type": "integer"
            },
            "type": "array"
        },
        "shares": {
            "default": 1,
            "type": "number"
        }
    },
    "title": "TelescopeAccessGrantCreate",
    "type": "object"
}

Responses

{
    "entityId": null,
    "id": 0,
    "revoked": true,
    "shares": 10.12,
    "telescopeId": 0,
    "timeContested": 10.12,
    "timeUsed": 10.12,
    "timeWaiting": 10.12
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "description": "Canonical-flat: principals and queue access grants are referenced by id.\n\nGraph consumers resolve the grantee through the bundle's ``entities`` map,\nthe invitation through ``telescope_access_grant_invitations``, and the\nqueue access grants by filtering the bundle's ``queue_access_grants``\nwhere ``telescope_access_grant_id == grant.id``.",
    "properties": {
        "entityId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "id": {
            "type": "integer"
        },
        "revoked": {
            "type": "boolean"
        },
        "shares": {
            "type": "number"
        },
        "telescopeId": {
            "type": "integer"
        },
        "timeContested": {
            "type": "number"
        },
        "timeUsed": {
            "type": "number"
        },
        "timeWaiting": {
            "type": "number"
        }
    },
    "required": [
        "id",
        "telescopeId",
        "shares",
        "timeUsed",
        "timeContested",
        "timeWaiting",
        "revoked"
    ],
    "title": "TelescopeAccessGrant",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

DELETE /telescopes/{telescope_id}/access-grants/{grant_id}

Delete Telescope Access Grant

Input parameters

Parameter In Type Default Nullable Description
grant_id path integer No
telescope_id path No Telescope id, uid, or slug
token query No

Responses

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/access-grants/{grant_id}

Read Telescope Access Grant

Input parameters

Parameter In Type Default Nullable Description
grant_id path integer No
telescope_id path No Telescope id, uid, or slug
token query No

Responses

{
    "entityId": null,
    "id": 0,
    "revoked": true,
    "shares": 10.12,
    "telescopeId": 0,
    "timeContested": 10.12,
    "timeUsed": 10.12,
    "timeWaiting": 10.12
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "entityId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "id": {
            "type": "integer"
        },
        "revoked": {
            "type": "boolean"
        },
        "shares": {
            "type": "number"
        },
        "telescopeId": {
            "type": "integer"
        },
        "timeContested": {
            "type": "number"
        },
        "timeUsed": {
            "type": "number"
        },
        "timeWaiting": {
            "type": "number"
        }
    },
    "required": [
        "id",
        "telescopeId",
        "shares",
        "timeUsed",
        "timeContested",
        "timeWaiting",
        "revoked"
    ],
    "title": "TelescopeAccessGrantDetail",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

PATCH /telescopes/{telescope_id}/access-grants/{grant_id}

Update Telescope Access Grant

Input parameters

Parameter In Type Default Nullable Description
grant_id path integer No
telescope_id path No Telescope id, uid, or slug
token query No

Request body

{
    "entityId": null,
    "invitation": null,
    "queueIds": [
        0
    ],
    "shares": 10.12
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "entityId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "invitation": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/TelescopeAccessGrantInvitationCreate"
                },
                {
                    "type": "null"
                }
            ]
        },
        "queueIds": {
            "default": [],
            "items": {
                "type": "integer"
            },
            "type": "array"
        },
        "shares": {
            "default": 1,
            "type": "number"
        }
    },
    "title": "TelescopeAccessGrantUpdate",
    "type": "object"
}

Responses

{
    "entityId": null,
    "id": 0,
    "revoked": true,
    "shares": 10.12,
    "telescopeId": 0,
    "timeContested": 10.12,
    "timeUsed": 10.12,
    "timeWaiting": 10.12
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "description": "Canonical-flat: principals and queue access grants are referenced by id.\n\nGraph consumers resolve the grantee through the bundle's ``entities`` map,\nthe invitation through ``telescope_access_grant_invitations``, and the\nqueue access grants by filtering the bundle's ``queue_access_grants``\nwhere ``telescope_access_grant_id == grant.id``.",
    "properties": {
        "entityId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "id": {
            "type": "integer"
        },
        "revoked": {
            "type": "boolean"
        },
        "shares": {
            "type": "number"
        },
        "telescopeId": {
            "type": "integer"
        },
        "timeContested": {
            "type": "number"
        },
        "timeUsed": {
            "type": "number"
        },
        "timeWaiting": {
            "type": "number"
        }
    },
    "required": [
        "id",
        "telescopeId",
        "shares",
        "timeUsed",
        "timeContested",
        "timeWaiting",
        "revoked"
    ],
    "title": "TelescopeAccessGrant",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/control-leases

Read Manual Control Leases

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Responses

[
    {
        "createdAt": null,
        "expiresAt": null,
        "id": 0,
        "ownerId": 0,
        "reason": null,
        "status": null,
        "telescopeId": 0
    }
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "items": {
        "$ref": "#/components/schemas/ManualControlLease"
    },
    "title": "Response Read Manual Control Leases Telescopes  Telescope Id  Control Leases Get",
    "type": "array"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

POST /telescopes/{telescope_id}/control-leases

Create Manual Control Lease

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Request body

{
    "reason": null,
    "ttlSeconds": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "reason": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Optional reason for taking manual control."
        },
        "ttlSeconds": {
            "anyOf": [
                {
                    "minimum": 1.0,
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Lease duration in seconds. Leave empty for a non-expiring lease."
        }
    },
    "title": "ManualControlLeaseClientCreate",
    "type": "object"
}

Responses

{
    "createdAt": null,
    "expiresAt": null,
    "id": 0,
    "ownerId": 0,
    "reason": null,
    "status": null,
    "telescopeId": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "createdAt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Lease creation timestamp (UTC)."
        },
        "expiresAt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Lease expiration timestamp (UTC)."
        },
        "id": {
            "description": "Manual control lease identifier.",
            "type": "integer"
        },
        "ownerId": {
            "description": "Entity ID that owns the lease.",
            "type": "integer"
        },
        "reason": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Optional reason for taking manual control."
        },
        "status": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ManualControlLeaseState"
                },
                {
                    "enum": [
                        "active",
                        "canceled",
                        "expired"
                    ],
                    "type": "string"
                }
            ],
            "description": "Lease lifecycle status."
        },
        "telescopeId": {
            "description": "Telescope associated with this lease.",
            "type": "integer"
        }
    },
    "required": [
        "id",
        "telescopeId",
        "ownerId",
        "status"
    ],
    "title": "ManualControlLease",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

DELETE /telescopes/{telescope_id}/current-control-lease

Cancel Manual Control Lease

Description

Cancel the telescope's active manual-control lease.

Two acceptable principal kinds: - The lease owner (the user who acquired it) can always release their own lease. - A SkyNodeInstallation bound to this telescope can revoke the active lease regardless of who holds it. The operator standing next to the hardware is the ultimate authority — they need a way to take manual control back from a remote holder who can't be reached (network down, holder forgot to release, etc.).

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Responses

Schema of the response body
{
    "anyOf": [
        {
            "$ref": "#/components/schemas/ManualControlLease"
        },
        {
            "type": "null"
        }
    ],
    "title": "Response Cancel Manual Control Lease Telescopes  Telescope Id  Current Control Lease Delete"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/current-control-lease

Read Manual Control Lease

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Responses

Schema of the response body
{
    "anyOf": [
        {
            "$ref": "#/components/schemas/ManualControlLease"
        },
        {
            "type": "null"
        }
    ],
    "title": "Response Read Manual Control Lease Telescopes  Telescope Id  Current Control Lease Get"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/current-task

Get Telescope Current Task

Description

Return the telescope's currently-executing task (status=active), with target and instrument hydrated, or null when none is active.

The hub does not stream a current-task signal of its own — the canonical "what's running now" indicator is status=active on the task list, and only one task is active per telescope at a time by construction. The website's WebSocketDataSource polls this endpoint to fill the dashboard's Current Task slot; SkyNode uses its own skynode_get_current_task IPC instead (which returns the task detail directly from the in-process TaskManager).

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Responses

Schema of the response body
{
    "anyOf": [
        {
            "discriminator": {
                "mapping": {
                    "optical_imaging": "#/components/schemas/OpticalImagingTaskDetail",
                    "optical_imaging_bias_calibration": "#/components/schemas/OpticalImagingBiasCalibrationTaskDetail",
                    "optical_imaging_dark_calibration": "#/components/schemas/OpticalImagingDarkCalibrationTaskDetail",
                    "optical_imaging_flat_calibration": "#/components/schemas/OpticalImagingFlatCalibrationTaskDetail",
                    "radio_mapping": "#/components/schemas/RadioMappingTaskDetail",
                    "radio_tracking": "#/components/schemas/RadioTrackingTaskDetail"
                },
                "propertyName": "taskType"
            },
            "oneOf": [
                {
                    "$ref": "#/components/schemas/OpticalImagingTaskDetail"
                },
                {
                    "$ref": "#/components/schemas/OpticalImagingBiasCalibrationTaskDetail"
                },
                {
                    "$ref": "#/components/schemas/OpticalImagingDarkCalibrationTaskDetail"
                },
                {
                    "$ref": "#/components/schemas/OpticalImagingFlatCalibrationTaskDetail"
                },
                {
                    "$ref": "#/components/schemas/RadioTrackingTaskDetail"
                },
                {
                    "$ref": "#/components/schemas/RadioMappingTaskDetail"
                }
            ]
        },
        {
            "type": "null"
        }
    ],
    "title": "Response Get Telescope Current Task Telescopes  Telescope Id  Current Task Get"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/detail

Read Telescope Detail

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Responses

{
    "antennaIds": null,
    "antennas": [
        {
            "apertureM": 10.12,
            "deviceType": "string",
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": [
                {
                    "action": "keep_enclosure_closed",
                    "deviceId": 0,
                    "deviceUid": null,
                    "id": null,
                    "operationalConstraintId": 0,
                    "priority": 0,
                    "triggerOnStabilizing": true,
                    "triggerOnUnknown": true,
                    "triggerOnUnsafe": true,
                    "uid": "ed0e46f1-bd9d-4c9c-a0a6-a896929264f7"
                }
            ],
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "6e94a1b7-bfd9-414d-b6d8-95c0b4805584"
        }
    ],
    "calibrationObservingAccountId": null,
    "cameraIds": null,
    "cameras": [
        {
            "arrayHeight": 0,
            "arrayWidth": 0,
            "coolerIdleTimeoutSec": 10.12,
            "coolerPolicy": "always_on",
            "coolerPrestartLeadTimeSec": 10.12,
            "defaultBinning": 0,
            "deviceType": "string",
            "fullWellCapacityElectrons": 10.12,
            "hasElectronicShutter": true,
            "id": null,
            "imageId": null,
            "isColor": true,
            "isGlobalShutter": true,
            "manufacturer": null,
            "model": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "pixelSizeUm": 10.12,
            "readoutModes": null,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "temperatureSetpointC": null,
            "temperatureSetpointToleranceC": null,
            "uid": "dab009b0-c30d-4548-9ab4-50375d976098"
        }
    ],
    "description": null,
    "deviceIds": null,
    "elevationM": 10.12,
    "enclosure": null,
    "enclosureId": null,
    "enclosureUid": null,
    "filterWheelIds": null,
    "filterWheels": [
        {
            "deletedPositions": null,
            "deviceType": "string",
            "filterShape": null,
            "filterSizeMm": null,
            "filterWheelPositionIds": null,
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "model": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "positions": [
                {
                    "filterIds": [
                        "string"
                    ],
                    "filterWheelId": 0,
                    "filterWheelUid": null,
                    "filters": [
                        {
                            "bandpassNm": null,
                            "centralWavelengthNm": null,
                            "filterSpecifierType": "string",
                            "flatExposureScaler": null,
                            "id": "string",
                            "isModifier": null
                        }
                    ],
                    "flatExposureScaler": null,
                    "focusOffset": null,
                    "id": null,
                    "isActive": true,
                    "isDeleted": true,
                    "label": null,
                    "position": 0,
                    "uid": "d59d7aab-2263-4888-9b33-18282ba9adaa"
                }
            ],
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "ca4e9f18-193c-49d5-bb4a-1b4bc16cec9e"
        }
    ],
    "focuserIds": null,
    "focusers": [
        {
            "deviceType": "string",
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "maxPosition": 0,
            "minPosition": 0,
            "model": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "stepSize": 10.12,
            "telescopeId": null,
            "telescopeUid": null,
            "temperatureCompensated": true,
            "uid": "b2f08a72-bc00-48a9-845b-5aa7fb8cf31a"
        }
    ],
    "galleryItemIds": null,
    "galleryItems": null,
    "iauCode": null,
    "id": null,
    "imageId": null,
    "instrumentIds": null,
    "instruments": [
        null
    ],
    "ipCameraIds": null,
    "ipCameras": [
        {
            "id": null,
            "isPrimary": true,
            "lastSeen": null,
            "name": "string",
            "observatoryId": null,
            "onvifHost": null,
            "order": 0,
            "pose": null,
            "ptz": true,
            "role": "pier",
            "streams": [
                {
                    "active": true,
                    "cameraId": 0,
                    "expiresSec": null,
                    "id": 0,
                    "isPublic": true,
                    "kind": "rtsp",
                    "quality": null
                }
            ],
            "telescopeId": null,
            "uid": "c874aad0-39d9-45ef-8975-dd69dc64b375",
            "vendor": null
        }
    ],
    "isAvailable": true,
    "isPublic": true,
    "latitudeDeg": 10.12,
    "localHorizon": null,
    "location": "string",
    "longitudeDeg": 10.12,
    "mount": null,
    "mountId": null,
    "mountUid": null,
    "name": "string",
    "observatory": null,
    "observatoryId": 0,
    "observatoryUid": null,
    "otaIds": null,
    "otas": [
        {
            "apertureM": 10.12,
            "deviceType": "string",
            "focalLengthM": 10.12,
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "model": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "offsetScalar": null,
            "offsetXM": null,
            "offsetYM": null,
            "offsetZM": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "opticalDesign": null,
            "ownerId": 0,
            "parentOta": null,
            "parentOtaId": null,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "36835dea-c2f8-4bac-a86e-c8865e9f3718"
        }
    ],
    "owner": null,
    "ownerId": 0,
    "publicLatitudeDeg": null,
    "publicLongitudeDeg": null,
    "radioBackendIds": null,
    "radioBackends": [
        {
            "description": null,
            "deviceType": "string",
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "ee7df581-a64d-45da-a15d-5a7ec777206a"
        }
    ],
    "receiverIds": null,
    "receivers": [
        {
            "band": null,
            "channels": [
                {
                    "id": 0,
                    "isActive": true,
                    "offsetXArcsec": 10.12,
                    "offsetYArcsec": 10.12,
                    "polarization": "linear",
                    "receiverId": 0
                }
            ],
            "deviceType": "string",
            "id": 0,
            "imageId": null,
            "isAvailable": true,
            "manufacturer": null,
            "maxFrequencyMhz": 10.12,
            "minFrequencyMhz": 10.12,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "632be71f-050f-4ec5-83cc-22770dee190f"
        }
    ],
    "rotatorIds": null,
    "rotators": [
        {
            "deviceType": "string",
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "3c31c620-612f-4778-b517-f1df6dcde426"
        }
    ],
    "shortName": null,
    "slug": "string",
    "uid": "8e8bb3a7-0c25-48f3-8e25-9871fcbf264f"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "antennaIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "antennas": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/AntennaDetail"
            },
            "type": "array"
        },
        "calibrationObservingAccountId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "cameraIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "cameras": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/CameraDetail"
            },
            "type": "array"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "deviceIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "elevationM": {
            "type": "number"
        },
        "enclosure": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/EnclosureDetail"
                },
                {
                    "type": "null"
                }
            ]
        },
        "enclosureId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "enclosureUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "filterWheelIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "filterWheels": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/FilterWheelDetail"
            },
            "type": "array"
        },
        "focuserIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "focusers": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/FocuserDetail"
            },
            "type": "array"
        },
        "galleryItemIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "galleryItems": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/TelescopeGalleryItem"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "iauCode": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "imageId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "instrumentIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "instruments": {
            "default": [],
            "items": {
                "discriminator": {
                    "mapping": {
                        "optical_imager": "#/components/schemas/OpticalImagerDetail",
                        "radio_spectrometer": "#/components/schemas/RadioSpectrometerDetail"
                    },
                    "propertyName": "instrumentType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/OpticalImagerDetail"
                    },
                    {
                        "$ref": "#/components/schemas/RadioSpectrometerDetail"
                    }
                ]
            },
            "type": "array"
        },
        "ipCameraIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "ipCameras": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/IPCamera"
            },
            "type": "array"
        },
        "isAvailable": {
            "type": "boolean"
        },
        "isPublic": {
            "type": "boolean"
        },
        "latitudeDeg": {
            "type": "number"
        },
        "localHorizon": {
            "anyOf": [
                {
                    "items": {
                        "maxItems": 2,
                        "minItems": 2,
                        "prefixItems": [
                            {
                                "type": "number"
                            },
                            {
                                "type": "number"
                            }
                        ],
                        "type": "array"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "location": {
            "type": "string"
        },
        "longitudeDeg": {
            "type": "number"
        },
        "mount": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MountDetail"
                },
                {
                    "type": "null"
                }
            ]
        },
        "mountId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "mountUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "name": {
            "type": "string"
        },
        "observatory": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservatoryWithoutTelescopes"
                },
                {
                    "type": "null"
                }
            ]
        },
        "observatoryId": {
            "type": "integer"
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "otaIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "otas": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/OtaDetail"
            },
            "type": "array"
        },
        "owner": {
            "anyOf": [
                {
                    "discriminator": {
                        "mapping": {
                            "organization": "#/components/schemas/OrganizationPublic",
                            "user": "#/components/schemas/UserPublic"
                        },
                        "propertyName": "entityType"
                    },
                    "oneOf": [
                        {
                            "$ref": "#/components/schemas/UserPublic"
                        },
                        {
                            "$ref": "#/components/schemas/OrganizationPublic"
                        }
                    ]
                },
                {
                    "type": "null"
                }
            ]
        },
        "ownerId": {
            "type": "integer"
        },
        "publicLatitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "publicLongitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "radioBackendIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "radioBackends": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/RadioBackendDetail"
            },
            "type": "array"
        },
        "receiverIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "receivers": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/ReceiverDetail"
            },
            "type": "array"
        },
        "rotatorIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "rotators": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/InstrumentRotatorDetail"
            },
            "type": "array"
        },
        "shortName": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "slug": {
            "type": "string"
        },
        "uid": {
            "format": "uuid",
            "type": "string"
        }
    },
    "required": [
        "uid",
        "name",
        "slug",
        "location",
        "elevationM",
        "isAvailable",
        "ownerId",
        "observatoryId",
        "latitudeDeg",
        "longitudeDeg",
        "isPublic"
    ],
    "title": "TelescopeDetail",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/enclosure

Read Telescope Enclosure

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Responses

{
    "deviceType": "string",
    "diameterM": null,
    "enclosurePolicy": "always_open_when_safe",
    "enclosureType": "rolloff",
    "hasRotation": true,
    "hasShutter": true,
    "id": null,
    "idleCloseTimeoutSec": null,
    "imageId": null,
    "manufacturer": null,
    "modelId": null,
    "name": null,
    "observatoryId": null,
    "observatoryUid": null,
    "operationalConstraintIds": null,
    "ownerId": 0,
    "serialNumber": null,
    "slitWidthM": null,
    "sunAltitudeOpenCondition": "OPEN_BELOW_THRESHOLD",
    "sunAltitudeThresholdDeg": null,
    "telescopeId": null,
    "telescopeUid": null,
    "uid": "edceb02d-db2b-444b-a0e7-cf83fe2d9bf6",
    "zenithOverlapAngleDeg": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "deviceType": {
            "const": "enclosure",
            "type": "string"
        },
        "diameterM": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Diameter of the enclosure in meters."
        },
        "enclosurePolicy": {
            "$ref": "#/components/schemas/EnclosurePolicy",
            "description": "Enclosure policy for automatic opening/closing behavior."
        },
        "enclosureType": {
            "$ref": "#/components/schemas/EnclosureType",
            "description": ""
        },
        "hasRotation": {
            "description": "",
            "type": "boolean"
        },
        "hasShutter": {
            "description": "",
            "type": "boolean"
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The unique identifier for the device."
        },
        "idleCloseTimeoutSec": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Idle time in seconds before closing when open-for-tasks-only policy is active."
        },
        "imageId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Image asset ID for the device."
        },
        "manufacturer": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "modelId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": ""
        },
        "name": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The name of the device."
        },
        "observatoryId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory ID this device belongs to."
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory UID this device belongs to."
        },
        "operationalConstraintIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Operational constraint PKs"
        },
        "ownerId": {
            "description": "The organization or user which owns the device.",
            "type": "integer"
        },
        "serialNumber": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Serial number for the device."
        },
        "slitWidthM": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Width of the dome slit in meters."
        },
        "sunAltitudeOpenCondition": {
            "$ref": "#/components/schemas/SunAltitudeOpenCondition",
            "description": "Condition that determines when to open based on sun altitude."
        },
        "sunAltitudeThresholdDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Sun altitude threshold used to determine when to open (degrees)."
        },
        "telescopeId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope ID this device belongs to."
        },
        "telescopeUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope UID this device belongs to."
        },
        "uid": {
            "description": "The unique UID for the device.",
            "format": "uuid",
            "type": "string"
        },
        "zenithOverlapAngleDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Zenith overlap angle in degrees."
        }
    },
    "required": [
        "uid",
        "ownerId",
        "deviceType",
        "hasRotation",
        "hasShutter"
    ],
    "title": "Enclosure",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

PATCH /telescopes/{telescope_id}/enclosure

Update Telescope Enclosure

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Request body

{
    "deviceType": "string",
    "diameterM": null,
    "enclosurePolicy": null,
    "enclosureType": null,
    "hasRotation": null,
    "hasShutter": null,
    "idleCloseTimeoutSec": null,
    "manufacturer": null,
    "modelId": null,
    "name": null,
    "observatoryId": null,
    "observatoryUid": null,
    "serialNumber": null,
    "slitWidthM": null,
    "sunAltitudeOpenCondition": null,
    "sunAltitudeThresholdDeg": null,
    "telescopeId": null,
    "telescopeUid": null,
    "zenithOverlapAngleDeg": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "deviceType": {
            "const": "enclosure",
            "type": "string"
        },
        "diameterM": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Diameter of the enclosure in meters."
        },
        "enclosurePolicy": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/EnclosurePolicy"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Enclosure policy for automatic opening/closing behavior."
        },
        "enclosureType": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/EnclosureType"
                },
                {
                    "type": "null"
                }
            ],
            "description": ""
        },
        "hasRotation": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ],
            "description": ""
        },
        "hasShutter": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ],
            "description": ""
        },
        "idleCloseTimeoutSec": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Idle time in seconds before closing when open-for-tasks-only policy is active."
        },
        "manufacturer": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "modelId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": ""
        },
        "name": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The name of the device."
        },
        "observatoryId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory ID this device belongs to."
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory UID this device belongs to."
        },
        "serialNumber": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Serial number for the device."
        },
        "slitWidthM": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Width of the dome slit in meters."
        },
        "sunAltitudeOpenCondition": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SunAltitudeOpenCondition"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Condition that determines when to open based on sun altitude."
        },
        "sunAltitudeThresholdDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Sun altitude threshold used to determine when to open (degrees)."
        },
        "telescopeId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope ID this device belongs to."
        },
        "telescopeUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope UID this device belongs to."
        },
        "zenithOverlapAngleDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Zenith overlap angle in degrees."
        }
    },
    "required": [
        "deviceType"
    ],
    "title": "EnclosureUpdate",
    "type": "object"
}

Responses

{
    "deviceType": "string",
    "diameterM": null,
    "enclosurePolicy": "always_open_when_safe",
    "enclosureType": "rolloff",
    "hasRotation": true,
    "hasShutter": true,
    "id": null,
    "idleCloseTimeoutSec": null,
    "imageId": null,
    "manufacturer": null,
    "modelId": null,
    "name": null,
    "observatoryId": null,
    "observatoryUid": null,
    "operationalConstraintIds": null,
    "ownerId": 0,
    "serialNumber": null,
    "slitWidthM": null,
    "sunAltitudeOpenCondition": "OPEN_BELOW_THRESHOLD",
    "sunAltitudeThresholdDeg": null,
    "telescopeId": null,
    "telescopeUid": null,
    "uid": "339db461-6e8d-4331-8347-0d5233639499",
    "zenithOverlapAngleDeg": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "deviceType": {
            "const": "enclosure",
            "type": "string"
        },
        "diameterM": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Diameter of the enclosure in meters."
        },
        "enclosurePolicy": {
            "$ref": "#/components/schemas/EnclosurePolicy",
            "description": "Enclosure policy for automatic opening/closing behavior."
        },
        "enclosureType": {
            "$ref": "#/components/schemas/EnclosureType",
            "description": ""
        },
        "hasRotation": {
            "description": "",
            "type": "boolean"
        },
        "hasShutter": {
            "description": "",
            "type": "boolean"
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The unique identifier for the device."
        },
        "idleCloseTimeoutSec": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Idle time in seconds before closing when open-for-tasks-only policy is active."
        },
        "imageId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Image asset ID for the device."
        },
        "manufacturer": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "modelId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": ""
        },
        "name": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The name of the device."
        },
        "observatoryId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory ID this device belongs to."
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory UID this device belongs to."
        },
        "operationalConstraintIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Operational constraint PKs"
        },
        "ownerId": {
            "description": "The organization or user which owns the device.",
            "type": "integer"
        },
        "serialNumber": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Serial number for the device."
        },
        "slitWidthM": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Width of the dome slit in meters."
        },
        "sunAltitudeOpenCondition": {
            "$ref": "#/components/schemas/SunAltitudeOpenCondition",
            "description": "Condition that determines when to open based on sun altitude."
        },
        "sunAltitudeThresholdDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Sun altitude threshold used to determine when to open (degrees)."
        },
        "telescopeId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope ID this device belongs to."
        },
        "telescopeUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope UID this device belongs to."
        },
        "uid": {
            "description": "The unique UID for the device.",
            "format": "uuid",
            "type": "string"
        },
        "zenithOverlapAngleDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Zenith overlap angle in degrees."
        }
    },
    "required": [
        "uid",
        "ownerId",
        "deviceType",
        "hasRotation",
        "hasShutter"
    ],
    "title": "Enclosure",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/graph

Read Telescope Graph

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Responses

{
    "devices": {},
    "entities": {},
    "files": {},
    "filterWheelPositions": {},
    "filters": {},
    "instruments": {},
    "ipCameras": {},
    "observatories": {},
    "observatoryGalleryItems": {},
    "operationalConstraints": {},
    "root": {
        "id": 0,
        "kind": "observatory"
    },
    "sites": {},
    "telescopeGalleryItems": {},
    "telescopes": {}
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "devices": {
            "additionalProperties": {
                "discriminator": {
                    "mapping": {
                        "antenna": "#/components/schemas/Antenna",
                        "camera": "#/components/schemas/Camera",
                        "enclosure": "#/components/schemas/Enclosure",
                        "filter_wheel": "#/components/schemas/FilterWheel",
                        "focuser": "#/components/schemas/Focuser",
                        "instrument_rotator": "#/components/schemas/InstrumentRotator",
                        "mount": "#/components/schemas/Mount",
                        "ota": "#/components/schemas/Ota",
                        "radio_backend": "#/components/schemas/RadioBackend",
                        "receiver": "#/components/schemas/Receiver",
                        "weather_sensor": "#/components/schemas/WeatherSensor"
                    },
                    "propertyName": "deviceType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/Antenna"
                    },
                    {
                        "$ref": "#/components/schemas/Focuser"
                    },
                    {
                        "$ref": "#/components/schemas/Camera"
                    },
                    {
                        "$ref": "#/components/schemas/Enclosure"
                    },
                    {
                        "$ref": "#/components/schemas/FilterWheel"
                    },
                    {
                        "$ref": "#/components/schemas/InstrumentRotator"
                    },
                    {
                        "$ref": "#/components/schemas/Mount"
                    },
                    {
                        "$ref": "#/components/schemas/Ota"
                    },
                    {
                        "$ref": "#/components/schemas/RadioBackend"
                    },
                    {
                        "$ref": "#/components/schemas/Receiver"
                    },
                    {
                        "$ref": "#/components/schemas/WeatherSensor"
                    }
                ]
            },
            "type": "object"
        },
        "entities": {
            "additionalProperties": {
                "discriminator": {
                    "mapping": {
                        "organization": "#/components/schemas/OrganizationPublic",
                        "user": "#/components/schemas/UserPublic"
                    },
                    "propertyName": "entityType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/UserPublic"
                    },
                    {
                        "$ref": "#/components/schemas/OrganizationPublic"
                    }
                ]
            },
            "type": "object"
        },
        "files": {
            "additionalProperties": {
                "$ref": "#/components/schemas/File"
            },
            "propertyNames": {
                "format": "uuid"
            },
            "type": "object"
        },
        "filterWheelPositions": {
            "additionalProperties": {
                "$ref": "#/components/schemas/FilterWheelPosition"
            },
            "type": "object"
        },
        "filters": {
            "additionalProperties": {
                "$ref": "#/components/schemas/Filter"
            },
            "type": "object"
        },
        "instruments": {
            "additionalProperties": {
                "discriminator": {
                    "mapping": {
                        "optical_imager": "#/components/schemas/OpticalImager",
                        "radio_spectrometer": "#/components/schemas/RadioSpectrometer"
                    },
                    "propertyName": "instrumentType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/OpticalImager"
                    },
                    {
                        "$ref": "#/components/schemas/RadioSpectrometer"
                    }
                ]
            },
            "type": "object"
        },
        "ipCameras": {
            "additionalProperties": {
                "$ref": "#/components/schemas/IPCamera"
            },
            "type": "object"
        },
        "observatories": {
            "additionalProperties": {
                "$ref": "#/components/schemas/Observatory"
            },
            "type": "object"
        },
        "observatoryGalleryItems": {
            "additionalProperties": {
                "$ref": "#/components/schemas/ObservatoryGalleryItem"
            },
            "type": "object"
        },
        "operationalConstraints": {
            "additionalProperties": {
                "discriminator": {
                    "mapping": {
                        "battery": "#/components/schemas/BatteryConstraint",
                        "mount_sun_separation": "#/components/schemas/MountSunSeparationConstraint",
                        "storage": "#/components/schemas/StorageConstraint",
                        "sun_altitude": "#/components/schemas/SunAltitudeConstraint",
                        "weather_sensor": "#/components/schemas/WeatherSensorConstraint"
                    },
                    "propertyName": "constraintType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/WeatherSensorConstraint"
                    },
                    {
                        "$ref": "#/components/schemas/StorageConstraint"
                    },
                    {
                        "$ref": "#/components/schemas/BatteryConstraint"
                    },
                    {
                        "$ref": "#/components/schemas/SunAltitudeConstraint"
                    },
                    {
                        "$ref": "#/components/schemas/MountSunSeparationConstraint"
                    }
                ]
            },
            "type": "object"
        },
        "root": {
            "$ref": "#/components/schemas/HardwareGraphRoot"
        },
        "sites": {
            "additionalProperties": {
                "$ref": "#/components/schemas/Site"
            },
            "type": "object"
        },
        "telescopeGalleryItems": {
            "additionalProperties": {
                "$ref": "#/components/schemas/TelescopeGalleryItem"
            },
            "type": "object"
        },
        "telescopes": {
            "additionalProperties": {
                "$ref": "#/components/schemas/Telescope"
            },
            "type": "object"
        }
    },
    "required": [
        "root"
    ],
    "title": "HardwareGraph",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

POST /telescopes/{telescope_id}/image

Create Telescope Image

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Request body

{
    "altTag": null,
    "bucket": null,
    "createdBy": null,
    "createdOn": "2022-04-13T15:42:05.901Z",
    "isDataReady": true,
    "mimeType": "application/json",
    "name": "string",
    "objectKey": null,
    "remoteUri": null,
    "renderSettings": null,
    "secretLinkKey": null,
    "size": null,
    "storageType": null,
    "updatedOn": "2022-04-13T15:42:05.901Z",
    "visibility": "private"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "altTag": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "bucket": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "createdBy": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/AssetCreationMethod"
                },
                {
                    "type": "null"
                }
            ]
        },
        "createdOn": {
            "format": "date-time",
            "type": "string"
        },
        "isDataReady": {
            "default": true,
            "type": "boolean"
        },
        "mimeType": {
            "$ref": "#/components/schemas/MimeType"
        },
        "name": {
            "type": "string"
        },
        "objectKey": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "remoteUri": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "renderSettings": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/RenderSettings"
                },
                {
                    "type": "null"
                }
            ]
        },
        "secretLinkKey": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "size": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "storageType": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SkynetStorageType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "updatedOn": {
            "format": "date-time",
            "type": "string"
        },
        "visibility": {
            "$ref": "#/components/schemas/FileVisibility",
            "default": "private"
        }
    },
    "required": [
        "mimeType",
        "name",
        "updatedOn",
        "createdOn"
    ],
    "title": "FileCreate",
    "type": "object"
}

Responses

{
    "altTag": null,
    "bucket": null,
    "createdBy": null,
    "createdOn": "2022-04-13T15:42:05.901Z",
    "id": "103a7d9a-6044-4c3e-ba98-4b2b08ca9ebf",
    "isDataReady": true,
    "lastAccessedOn": null,
    "mimeType": "application/json",
    "name": "string",
    "objectKey": null,
    "remoteUri": null,
    "renderSettings": null,
    "secretLinkKey": null,
    "sizeBytes": null,
    "storageType": null,
    "updatedOn": "2022-04-13T15:42:05.901Z",
    "visibility": "private"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "altTag": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "bucket": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "createdBy": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/AssetCreationMethod"
                },
                {
                    "type": "null"
                }
            ]
        },
        "createdOn": {
            "format": "date-time",
            "type": "string"
        },
        "id": {
            "format": "uuid",
            "type": "string"
        },
        "isDataReady": {
            "default": true,
            "type": "boolean"
        },
        "lastAccessedOn": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "mimeType": {
            "$ref": "#/components/schemas/MimeType"
        },
        "name": {
            "type": "string"
        },
        "objectKey": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "remoteUri": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "renderSettings": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/RenderSettings"
                },
                {
                    "type": "null"
                }
            ]
        },
        "secretLinkKey": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "sizeBytes": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "storageType": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SkynetStorageType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "updatedOn": {
            "format": "date-time",
            "type": "string"
        },
        "visibility": {
            "$ref": "#/components/schemas/FileVisibility",
            "default": "private"
        }
    },
    "required": [
        "id",
        "mimeType",
        "name",
        "updatedOn",
        "createdOn"
    ],
    "title": "File",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

PATCH /telescopes/{telescope_id}/image/{file_id}

Update Telescope Image

Input parameters

Parameter In Type Default Nullable Description
file_id path string No
telescope_id path No Telescope id, uid, or slug
token query No

Request body

{
    "bucket": null,
    "createdBy": null,
    "isDataReady": null,
    "objectKey": null,
    "remoteUri": null,
    "renderSettings": null,
    "secretLinkKey": null,
    "storageType": null,
    "visibility": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "bucket": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "createdBy": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/AssetCreationMethod"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isDataReady": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ]
        },
        "objectKey": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "remoteUri": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "renderSettings": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/RenderSettings"
                },
                {
                    "type": "null"
                }
            ]
        },
        "secretLinkKey": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "storageType": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SkynetStorageType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "visibility": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/FileVisibility"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "title": "FileUpdate",
    "type": "object"
}

Responses

{
    "altTag": null,
    "bucket": null,
    "createdBy": null,
    "createdOn": "2022-04-13T15:42:05.901Z",
    "id": "a656bb3a-6523-48f3-b021-65b75a94b553",
    "isDataReady": true,
    "lastAccessedOn": null,
    "mimeType": "application/json",
    "name": "string",
    "objectKey": null,
    "remoteUri": null,
    "renderSettings": null,
    "secretLinkKey": null,
    "sizeBytes": null,
    "storageType": null,
    "updatedOn": "2022-04-13T15:42:05.901Z",
    "visibility": "private"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "altTag": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "bucket": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "createdBy": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/AssetCreationMethod"
                },
                {
                    "type": "null"
                }
            ]
        },
        "createdOn": {
            "format": "date-time",
            "type": "string"
        },
        "id": {
            "format": "uuid",
            "type": "string"
        },
        "isDataReady": {
            "default": true,
            "type": "boolean"
        },
        "lastAccessedOn": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "mimeType": {
            "$ref": "#/components/schemas/MimeType"
        },
        "name": {
            "type": "string"
        },
        "objectKey": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "remoteUri": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "renderSettings": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/RenderSettings"
                },
                {
                    "type": "null"
                }
            ]
        },
        "secretLinkKey": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "sizeBytes": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "storageType": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/SkynetStorageType"
                },
                {
                    "type": "null"
                }
            ]
        },
        "updatedOn": {
            "format": "date-time",
            "type": "string"
        },
        "visibility": {
            "$ref": "#/components/schemas/FileVisibility",
            "default": "private"
        }
    },
    "required": [
        "id",
        "mimeType",
        "name",
        "updatedOn",
        "createdOn"
    ],
    "title": "File",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/image/{file_id}/upload-url

Get Telescope Image Upload Url

Input parameters

Parameter In Type Default Nullable Description
file_id path string No
telescope_id path No Telescope id, uid, or slug
token query No

Responses

Schema of the response body

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/ip-cameras/{camera_id}/streams/{stream_id}/play-url

Get Ip Camera Stream Play Url

Input parameters

Parameter In Type Default Nullable Description
camera_id path integer No
stream_id path integer No
telescope_id path No Telescope id, uid, or slug
token query No

Responses

{
    "url": "string"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "url": {
            "type": "string"
        }
    },
    "required": [
        "url"
    ],
    "title": "IPCameraStreamPlayURL",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/mount

Read Telescope Mount

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Responses

{
    "defaultPierSide": "east",
    "deviceType": "string",
    "id": null,
    "imageId": null,
    "manufacturer": null,
    "maxSlewAccelerationAxis1DegPerSec2": null,
    "maxSlewAccelerationAxis2DegPerSec2": null,
    "maxSlewRateAxis1DegPerSec": 10.12,
    "maxSlewRateAxis2DegPerSec": 10.12,
    "maxSlewRateDegPerSec": 10.12,
    "maxTrackingDurationSec": 10.12,
    "meridianAvoidanceDeg": 10.12,
    "meridianTrackingLimitDeg": 10.12,
    "minAltitudeDeg": 10.12,
    "modelId": null,
    "mountType": "german_equatorial",
    "name": null,
    "observatoryId": null,
    "observatoryUid": null,
    "operationalConstraintIds": null,
    "ownerId": 0,
    "pivotXM": 10.12,
    "pivotYM": 10.12,
    "pivotZM": 10.12,
    "serialNumber": null,
    "telescopeId": null,
    "telescopeUid": null,
    "uid": "fb78dbc1-7ba6-4944-a98f-f06c8f1975a4",
    "zenithAvoidanceDeg": 10.12
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "defaultPierSide": {
            "$ref": "#/components/schemas/PierSide",
            "description": ""
        },
        "deviceType": {
            "const": "mount",
            "type": "string"
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The unique identifier for the device."
        },
        "imageId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Image asset ID for the device."
        },
        "manufacturer": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "maxSlewAccelerationAxis1DegPerSec2": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": ""
        },
        "maxSlewAccelerationAxis2DegPerSec2": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": ""
        },
        "maxSlewRateAxis1DegPerSec": {
            "description": "",
            "type": "number"
        },
        "maxSlewRateAxis2DegPerSec": {
            "description": "",
            "type": "number"
        },
        "maxSlewRateDegPerSec": {
            "description": "",
            "type": "number"
        },
        "maxTrackingDurationSec": {
            "description": "",
            "type": "number"
        },
        "meridianAvoidanceDeg": {
            "description": "",
            "type": "number"
        },
        "meridianTrackingLimitDeg": {
            "description": "",
            "type": "number"
        },
        "minAltitudeDeg": {
            "description": "",
            "type": "number"
        },
        "modelId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": ""
        },
        "mountType": {
            "$ref": "#/components/schemas/MountType",
            "description": ""
        },
        "name": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The name of the device."
        },
        "observatoryId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory ID this device belongs to."
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory UID this device belongs to."
        },
        "operationalConstraintIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Operational constraint PKs"
        },
        "ownerId": {
            "description": "The organization or user which owns the device.",
            "type": "integer"
        },
        "pivotXM": {
            "description": "X coordinate of the mount pivot in meters.",
            "type": "number"
        },
        "pivotYM": {
            "description": "Y coordinate of the mount pivot in meters.",
            "type": "number"
        },
        "pivotZM": {
            "description": "Z coordinate of the mount pivot in meters.",
            "type": "number"
        },
        "serialNumber": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Serial number for the device."
        },
        "telescopeId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope ID this device belongs to."
        },
        "telescopeUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope UID this device belongs to."
        },
        "uid": {
            "description": "The unique UID for the device.",
            "format": "uuid",
            "type": "string"
        },
        "zenithAvoidanceDeg": {
            "description": "",
            "type": "number"
        }
    },
    "required": [
        "uid",
        "ownerId",
        "deviceType",
        "meridianTrackingLimitDeg",
        "maxTrackingDurationSec",
        "maxSlewRateDegPerSec",
        "maxSlewRateAxis1DegPerSec",
        "maxSlewRateAxis2DegPerSec",
        "meridianAvoidanceDeg",
        "zenithAvoidanceDeg",
        "minAltitudeDeg",
        "pivotXM",
        "pivotYM",
        "pivotZM"
    ],
    "title": "Mount",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

PATCH /telescopes/{telescope_id}/mount

Update Telescope Mount

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Request body

{
    "defaultPierSide": null,
    "deviceType": "string",
    "manufacturer": null,
    "maxSlewAccelerationAxis1DegPerSec2": null,
    "maxSlewAccelerationAxis2DegPerSec2": null,
    "maxSlewRateAxis1DegPerSec": 10.12,
    "maxSlewRateAxis2DegPerSec": 10.12,
    "maxSlewRateDegPerSec": null,
    "maxTrackingDurationSec": null,
    "meridianAvoidanceDeg": null,
    "meridianTrackingLimitDeg": null,
    "minAltitudeDeg": null,
    "modelId": null,
    "mountType": null,
    "name": null,
    "observatoryId": null,
    "observatoryUid": null,
    "pivotXM": null,
    "pivotYM": null,
    "pivotZM": null,
    "serialNumber": null,
    "telescopeId": null,
    "telescopeUid": null,
    "zenithAvoidanceDeg": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "defaultPierSide": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/PierSide"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Default pier side"
        },
        "deviceType": {
            "const": "mount",
            "type": "string"
        },
        "manufacturer": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "maxSlewAccelerationAxis1DegPerSec2": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": ""
        },
        "maxSlewAccelerationAxis2DegPerSec2": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": ""
        },
        "maxSlewRateAxis1DegPerSec": {
            "description": "",
            "type": "number"
        },
        "maxSlewRateAxis2DegPerSec": {
            "description": "",
            "type": "number"
        },
        "maxSlewRateDegPerSec": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Maximum slew rate"
        },
        "maxTrackingDurationSec": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Maximum tracking duration"
        },
        "meridianAvoidanceDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Meridian avoidance"
        },
        "meridianTrackingLimitDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Meridian tracking limit"
        },
        "minAltitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Minimum altitude"
        },
        "modelId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Mount model ID"
        },
        "mountType": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MountType"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Mount type"
        },
        "name": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The name of the device."
        },
        "observatoryId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory ID this device belongs to."
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory UID this device belongs to."
        },
        "pivotXM": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Pivot X in meters"
        },
        "pivotYM": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Pivot Y in meters"
        },
        "pivotZM": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Pivot Z in meters"
        },
        "serialNumber": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Serial number for the device."
        },
        "telescopeId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope ID this device belongs to."
        },
        "telescopeUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope UID this device belongs to."
        },
        "zenithAvoidanceDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Zenith avoidance"
        }
    },
    "required": [
        "deviceType",
        "maxSlewRateAxis1DegPerSec",
        "maxSlewRateAxis2DegPerSec"
    ],
    "title": "MountUpdate",
    "type": "object"
}

Responses

{
    "defaultPierSide": "east",
    "deviceType": "string",
    "id": null,
    "imageId": null,
    "manufacturer": null,
    "maxSlewAccelerationAxis1DegPerSec2": null,
    "maxSlewAccelerationAxis2DegPerSec2": null,
    "maxSlewRateAxis1DegPerSec": 10.12,
    "maxSlewRateAxis2DegPerSec": 10.12,
    "maxSlewRateDegPerSec": 10.12,
    "maxTrackingDurationSec": 10.12,
    "meridianAvoidanceDeg": 10.12,
    "meridianTrackingLimitDeg": 10.12,
    "minAltitudeDeg": 10.12,
    "modelId": null,
    "mountType": "german_equatorial",
    "name": null,
    "observatoryId": null,
    "observatoryUid": null,
    "operationalConstraintIds": null,
    "ownerId": 0,
    "pivotXM": 10.12,
    "pivotYM": 10.12,
    "pivotZM": 10.12,
    "serialNumber": null,
    "telescopeId": null,
    "telescopeUid": null,
    "uid": "b299ce0a-b470-4b30-ab21-0da9b968605b",
    "zenithAvoidanceDeg": 10.12
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "defaultPierSide": {
            "$ref": "#/components/schemas/PierSide",
            "description": ""
        },
        "deviceType": {
            "const": "mount",
            "type": "string"
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The unique identifier for the device."
        },
        "imageId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Image asset ID for the device."
        },
        "manufacturer": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "maxSlewAccelerationAxis1DegPerSec2": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": ""
        },
        "maxSlewAccelerationAxis2DegPerSec2": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ],
            "description": ""
        },
        "maxSlewRateAxis1DegPerSec": {
            "description": "",
            "type": "number"
        },
        "maxSlewRateAxis2DegPerSec": {
            "description": "",
            "type": "number"
        },
        "maxSlewRateDegPerSec": {
            "description": "",
            "type": "number"
        },
        "maxTrackingDurationSec": {
            "description": "",
            "type": "number"
        },
        "meridianAvoidanceDeg": {
            "description": "",
            "type": "number"
        },
        "meridianTrackingLimitDeg": {
            "description": "",
            "type": "number"
        },
        "minAltitudeDeg": {
            "description": "",
            "type": "number"
        },
        "modelId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": ""
        },
        "mountType": {
            "$ref": "#/components/schemas/MountType",
            "description": ""
        },
        "name": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The name of the device."
        },
        "observatoryId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory ID this device belongs to."
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory UID this device belongs to."
        },
        "operationalConstraintIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Operational constraint PKs"
        },
        "ownerId": {
            "description": "The organization or user which owns the device.",
            "type": "integer"
        },
        "pivotXM": {
            "description": "X coordinate of the mount pivot in meters.",
            "type": "number"
        },
        "pivotYM": {
            "description": "Y coordinate of the mount pivot in meters.",
            "type": "number"
        },
        "pivotZM": {
            "description": "Z coordinate of the mount pivot in meters.",
            "type": "number"
        },
        "serialNumber": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Serial number for the device."
        },
        "telescopeId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope ID this device belongs to."
        },
        "telescopeUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope UID this device belongs to."
        },
        "uid": {
            "description": "The unique UID for the device.",
            "format": "uuid",
            "type": "string"
        },
        "zenithAvoidanceDeg": {
            "description": "",
            "type": "number"
        }
    },
    "required": [
        "uid",
        "ownerId",
        "deviceType",
        "meridianTrackingLimitDeg",
        "maxTrackingDurationSec",
        "maxSlewRateDegPerSec",
        "maxSlewRateAxis1DegPerSec",
        "maxSlewRateAxis2DegPerSec",
        "meridianAvoidanceDeg",
        "zenithAvoidanceDeg",
        "minAltitudeDeg",
        "pivotXM",
        "pivotYM",
        "pivotZM"
    ],
    "title": "Mount",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/operational-overview

Read Telescope Operational Overview

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Responses

Schema of the response body
{
    "anyOf": [
        {
            "$ref": "#/components/schemas/TelescopeOperationalOverview"
        },
        {
            "type": "null"
        }
    ],
    "title": "Response Read Telescope Operational Overview Telescopes  Telescope Id  Operational Overview Get"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/queues

Read Telescope Queues

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Responses

{
    "items": [
        {
            "accessPrioritization": "default",
            "canInterrupt": true,
            "description": "string",
            "enabled": true,
            "id": 0,
            "name": "string",
            "order": 0,
            "slug": "string",
            "telescopeId": 0
        }
    ],
    "page": 0,
    "pages": 0,
    "size": 0,
    "total": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "items": {
            "items": {
                "$ref": "#/components/schemas/ObservingQueue"
            },
            "title": "Items",
            "type": "array"
        },
        "page": {
            "minimum": 1.0,
            "title": "Page",
            "type": "integer"
        },
        "pages": {
            "minimum": 0.0,
            "title": "Pages",
            "type": "integer"
        },
        "size": {
            "minimum": 1.0,
            "title": "Size",
            "type": "integer"
        },
        "total": {
            "minimum": 0.0,
            "title": "Total",
            "type": "integer"
        }
    },
    "required": [
        "items",
        "total",
        "page",
        "size",
        "pages"
    ],
    "title": "Page[ObservingQueue]",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

PATCH /telescopes/{telescope_id}/queues/{queue_id}

Update Telescope Queue

Input parameters

Parameter In Type Default Nullable Description
queue_id path integer No
telescope_id path No Telescope id, uid, or slug
token query No

Request body

{
    "accessPrioritization": "default",
    "canInterrupt": true,
    "description": "string",
    "enabled": true,
    "name": "string",
    "order": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "accessPrioritization": {
            "$ref": "#/components/schemas/ObservingQueueAccessPrioritization"
        },
        "canInterrupt": {
            "type": "boolean"
        },
        "description": {
            "type": "string"
        },
        "enabled": {
            "type": "boolean"
        },
        "name": {
            "type": "string"
        },
        "order": {
            "type": "integer"
        }
    },
    "required": [
        "name",
        "description",
        "canInterrupt",
        "order",
        "enabled",
        "accessPrioritization"
    ],
    "title": "ObservingQueueUpdate",
    "type": "object"
}

Responses

{
    "accessPrioritization": "default",
    "canInterrupt": true,
    "description": "string",
    "enabled": true,
    "id": 0,
    "name": "string",
    "order": 0,
    "slug": "string",
    "telescope": null,
    "telescopeId": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "accessPrioritization": {
            "$ref": "#/components/schemas/ObservingQueueAccessPrioritization"
        },
        "canInterrupt": {
            "type": "boolean"
        },
        "description": {
            "type": "string"
        },
        "enabled": {
            "type": "boolean"
        },
        "id": {
            "type": "integer"
        },
        "name": {
            "type": "string"
        },
        "order": {
            "type": "integer"
        },
        "slug": {
            "type": "string"
        },
        "telescope": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/TelescopeLtd"
                },
                {
                    "type": "null"
                }
            ]
        },
        "telescopeId": {
            "type": "integer"
        }
    },
    "required": [
        "id",
        "telescopeId",
        "name",
        "slug",
        "description",
        "canInterrupt",
        "accessPrioritization",
        "order",
        "enabled"
    ],
    "title": "ObservingQueueDetail",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/queues/{queue_id}/access-grants

Read Queue Access Grants

Input parameters

Parameter In Type Default Nullable Description
queue_id path integer No
telescope_id path No Telescope id, uid, or slug
token query No

Responses

[
    {
        "effectiveOrder": 0,
        "id": 0,
        "observingPolicy": null,
        "observingPolicyId": null,
        "order": 0,
        "queue": null,
        "queueId": 0,
        "revoked": true,
        "telescopeAccessGrant": null,
        "telescopeAccessGrantId": 0,
        "timeContested": 10.12,
        "timeUsed": 10.12,
        "timeWaiting": 10.12
    }
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "items": {
        "$ref": "#/components/schemas/ObservingQueueAccessGrantWithTelescopeAccessGrant"
    },
    "title": "Response Read Queue Access Grants Telescopes  Telescope Id  Queues  Queue Id  Access Grants Get",
    "type": "array"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

POST /telescopes/{telescope_id}/queues/{queue_id}/access-grants

Create Queue Access Grant

Input parameters

Parameter In Type Default Nullable Description
queue_id path integer No
telescope_id path No Telescope id, uid, or slug
token query No

Request body

{
    "observingPolicyId": null,
    "order": 0,
    "queueId": 0,
    "telescopeAccessGrantId": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "observingPolicyId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "order": {
            "type": "integer"
        },
        "queueId": {
            "type": "integer"
        },
        "telescopeAccessGrantId": {
            "type": "integer"
        }
    },
    "required": [
        "queueId",
        "order",
        "telescopeAccessGrantId"
    ],
    "title": "ObservingQueueAccessGrantCreate",
    "type": "object"
}

Responses

{
    "effectiveOrder": 0,
    "id": 0,
    "observingPolicyId": null,
    "order": 0,
    "queueId": 0,
    "revoked": true,
    "telescopeAccessGrantId": 0,
    "timeContested": 10.12,
    "timeUsed": 10.12,
    "timeWaiting": 10.12
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "description": "Core fields for an observing queue.",
    "properties": {
        "effectiveOrder": {
            "type": "integer"
        },
        "id": {
            "type": "integer"
        },
        "observingPolicyId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "order": {
            "type": "integer"
        },
        "queueId": {
            "type": "integer"
        },
        "revoked": {
            "type": "boolean"
        },
        "telescopeAccessGrantId": {
            "type": "integer"
        },
        "timeContested": {
            "type": "number"
        },
        "timeUsed": {
            "type": "number"
        },
        "timeWaiting": {
            "type": "number"
        }
    },
    "required": [
        "id",
        "queueId",
        "order",
        "effectiveOrder",
        "timeUsed",
        "timeContested",
        "timeWaiting",
        "revoked",
        "telescopeAccessGrantId"
    ],
    "title": "ObservingQueueAccessGrant",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

DELETE /telescopes/{telescope_id}/queues/{queue_id}/access-grants/{grant_id}

Delete Queue Access Grant

Input parameters

Parameter In Type Default Nullable Description
grant_id path integer No
queue_id path integer No
telescope_id path No Telescope id, uid, or slug
token query No

Responses

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

PATCH /telescopes/{telescope_id}/queues/{queue_id}/access-grants/{grant_id}

Update Queue Access Grant

Input parameters

Parameter In Type Default Nullable Description
grant_id path integer No
queue_id path integer No
telescope_id path No Telescope id, uid, or slug
token query No

Request body

{
    "order": 0,
    "queueId": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "order": {
            "type": "integer"
        },
        "queueId": {
            "type": "integer"
        }
    },
    "required": [
        "queueId",
        "order"
    ],
    "title": "ObservingQueueAccessGrantUpdate",
    "type": "object"
}

Responses

{
    "effectiveOrder": 0,
    "id": 0,
    "observingPolicy": null,
    "observingPolicyId": null,
    "order": 0,
    "queue": null,
    "queueId": 0,
    "revoked": true,
    "telescopeAccessGrant": null,
    "telescopeAccessGrantId": 0,
    "timeContested": 10.12,
    "timeUsed": 10.12,
    "timeWaiting": 10.12
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "effectiveOrder": {
            "type": "integer"
        },
        "id": {
            "type": "integer"
        },
        "observingPolicy": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservingPolicyDetail"
                },
                {
                    "type": "null"
                }
            ]
        },
        "observingPolicyId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "order": {
            "type": "integer"
        },
        "queue": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservingQueueDetail"
                },
                {
                    "type": "null"
                }
            ]
        },
        "queueId": {
            "type": "integer"
        },
        "revoked": {
            "type": "boolean"
        },
        "telescopeAccessGrant": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/TelescopeAccessGrant"
                },
                {
                    "type": "null"
                }
            ]
        },
        "telescopeAccessGrantId": {
            "type": "integer"
        },
        "timeContested": {
            "type": "number"
        },
        "timeUsed": {
            "type": "number"
        },
        "timeWaiting": {
            "type": "number"
        }
    },
    "required": [
        "id",
        "queueId",
        "order",
        "effectiveOrder",
        "timeUsed",
        "timeContested",
        "timeWaiting",
        "revoked",
        "telescopeAccessGrantId"
    ],
    "title": "ObservingQueueAccessGrantDetail",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

POST /telescopes/{telescope_id}/queues/{queue_id}/access-grants/{grant_id}/reinstate

Reinstate Queue Access Grant

Input parameters

Parameter In Type Default Nullable Description
grant_id path integer No
queue_id path integer No
telescope_id path No Telescope id, uid, or slug
token query No

Responses

{
    "effectiveOrder": 0,
    "id": 0,
    "observingPolicyId": null,
    "order": 0,
    "queueId": 0,
    "revoked": true,
    "telescopeAccessGrantId": 0,
    "timeContested": 10.12,
    "timeUsed": 10.12,
    "timeWaiting": 10.12
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "description": "Core fields for an observing queue.",
    "properties": {
        "effectiveOrder": {
            "type": "integer"
        },
        "id": {
            "type": "integer"
        },
        "observingPolicyId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "order": {
            "type": "integer"
        },
        "queueId": {
            "type": "integer"
        },
        "revoked": {
            "type": "boolean"
        },
        "telescopeAccessGrantId": {
            "type": "integer"
        },
        "timeContested": {
            "type": "number"
        },
        "timeUsed": {
            "type": "number"
        },
        "timeWaiting": {
            "type": "number"
        }
    },
    "required": [
        "id",
        "queueId",
        "order",
        "effectiveOrder",
        "timeUsed",
        "timeContested",
        "timeWaiting",
        "revoked",
        "telescopeAccessGrantId"
    ],
    "title": "ObservingQueueAccessGrant",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/radio-backend

Read Telescope Radio Backend

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Responses

{
    "description": null,
    "deviceType": "string",
    "id": null,
    "imageId": null,
    "manufacturer": null,
    "modelId": null,
    "name": null,
    "observatoryId": null,
    "observatoryUid": null,
    "operationalConstraintIds": null,
    "ownerId": 0,
    "serialNumber": null,
    "telescopeId": null,
    "telescopeUid": null,
    "uid": "d7412f5b-db59-47cf-8239-4842fc57f80a"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "description": "Radio backend device.",
    "properties": {
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Description"
        },
        "deviceType": {
            "const": "radio_backend",
            "type": "string"
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Radio backend PK"
        },
        "imageId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Image asset ID for the device."
        },
        "manufacturer": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "modelId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": ""
        },
        "name": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The name of the device."
        },
        "observatoryId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory ID this device belongs to."
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory UID this device belongs to."
        },
        "operationalConstraintIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Operational constraint PKs"
        },
        "ownerId": {
            "description": "The organization or user which owns the device.",
            "type": "integer"
        },
        "serialNumber": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Serial number for the device."
        },
        "telescopeId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope ID this device belongs to."
        },
        "telescopeUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope UID this device belongs to."
        },
        "uid": {
            "description": "The unique UID for the device.",
            "format": "uuid",
            "type": "string"
        }
    },
    "required": [
        "uid",
        "ownerId",
        "deviceType"
    ],
    "title": "RadioBackend",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

PATCH /telescopes/{telescope_id}/radio-backend

Update Telescope Radio Backend

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Request body

{
    "deviceType": "string",
    "manufacturer": null,
    "modelId": null,
    "name": null,
    "observatoryId": null,
    "observatoryUid": null,
    "serialNumber": null,
    "telescopeId": null,
    "telescopeUid": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "deviceType": {
            "const": "radio_backend",
            "type": "string"
        },
        "manufacturer": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "modelId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": ""
        },
        "name": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The name of the device."
        },
        "observatoryId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory ID this device belongs to."
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory UID this device belongs to."
        },
        "serialNumber": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Serial number for the device."
        },
        "telescopeId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope ID this device belongs to."
        },
        "telescopeUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope UID this device belongs to."
        }
    },
    "required": [
        "deviceType"
    ],
    "title": "RadioBackendUpdate",
    "type": "object"
}

Responses

{
    "description": null,
    "deviceType": "string",
    "id": null,
    "imageId": null,
    "manufacturer": null,
    "modelId": null,
    "name": null,
    "observatoryId": null,
    "observatoryUid": null,
    "operationalConstraintIds": null,
    "ownerId": 0,
    "serialNumber": null,
    "telescopeId": null,
    "telescopeUid": null,
    "uid": "f95085b0-e285-475b-9a49-4e7ad8aeb75d"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "description": "Radio backend device.",
    "properties": {
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Description"
        },
        "deviceType": {
            "const": "radio_backend",
            "type": "string"
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Radio backend PK"
        },
        "imageId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Image asset ID for the device."
        },
        "manufacturer": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "modelId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": ""
        },
        "name": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The name of the device."
        },
        "observatoryId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory ID this device belongs to."
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory UID this device belongs to."
        },
        "operationalConstraintIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Operational constraint PKs"
        },
        "ownerId": {
            "description": "The organization or user which owns the device.",
            "type": "integer"
        },
        "serialNumber": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Serial number for the device."
        },
        "telescopeId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope ID this device belongs to."
        },
        "telescopeUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope UID this device belongs to."
        },
        "uid": {
            "description": "The unique UID for the device.",
            "format": "uuid",
            "type": "string"
        }
    },
    "required": [
        "uid",
        "ownerId",
        "deviceType"
    ],
    "title": "RadioBackend",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/receiver

Read Telescope Receiver

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Responses

{
    "band": null,
    "channels": [
        {
            "id": 0,
            "isActive": true,
            "offsetXArcsec": 10.12,
            "offsetYArcsec": 10.12,
            "polarization": "linear",
            "receiverId": 0
        }
    ],
    "deviceType": "string",
    "id": 0,
    "imageId": null,
    "isAvailable": true,
    "manufacturer": null,
    "maxFrequencyMhz": 10.12,
    "minFrequencyMhz": 10.12,
    "modelId": null,
    "name": null,
    "observatoryId": null,
    "observatoryUid": null,
    "operationalConstraintIds": null,
    "ownerId": 0,
    "serialNumber": null,
    "telescopeId": null,
    "telescopeUid": null,
    "uid": "7015a6be-ebfd-4ecb-8f50-25546a4c25ce"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "description": "Radio receiver device.",
    "properties": {
        "band": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/RadioReceiverBand"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Receiver band"
        },
        "channels": {
            "description": "Receiver channels",
            "items": {
                "$ref": "#/components/schemas/ReceiverChannel"
            },
            "type": "array"
        },
        "deviceType": {
            "const": "receiver",
            "type": "string"
        },
        "id": {
            "description": "Receiver PK",
            "type": "integer"
        },
        "imageId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Image asset ID for the device."
        },
        "isAvailable": {
            "description": "Is receiver available?",
            "type": "boolean"
        },
        "manufacturer": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "maxFrequencyMhz": {
            "description": "Maximum frequency (MHz)",
            "type": "number"
        },
        "minFrequencyMhz": {
            "description": "Minimum frequency (MHz)",
            "type": "number"
        },
        "modelId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": ""
        },
        "name": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The name of the device."
        },
        "observatoryId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory ID this device belongs to."
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory UID this device belongs to."
        },
        "operationalConstraintIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Operational constraint PKs"
        },
        "ownerId": {
            "description": "The organization or user which owns the device.",
            "type": "integer"
        },
        "serialNumber": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Serial number for the device."
        },
        "telescopeId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope ID this device belongs to."
        },
        "telescopeUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope UID this device belongs to."
        },
        "uid": {
            "description": "The unique UID for the device.",
            "format": "uuid",
            "type": "string"
        }
    },
    "required": [
        "id",
        "uid",
        "ownerId",
        "deviceType",
        "isAvailable",
        "minFrequencyMhz",
        "maxFrequencyMhz"
    ],
    "title": "Receiver",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

PATCH /telescopes/{telescope_id}/receiver

Update Telescope Receiver

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Request body

{
    "deviceType": "string",
    "manufacturer": null,
    "modelId": null,
    "name": null,
    "observatoryId": null,
    "observatoryUid": null,
    "serialNumber": null,
    "telescopeId": null,
    "telescopeUid": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "deviceType": {
            "const": "receiver",
            "type": "string"
        },
        "manufacturer": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "modelId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": ""
        },
        "name": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The name of the device."
        },
        "observatoryId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory ID this device belongs to."
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory UID this device belongs to."
        },
        "serialNumber": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Serial number for the device."
        },
        "telescopeId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope ID this device belongs to."
        },
        "telescopeUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope UID this device belongs to."
        }
    },
    "required": [
        "deviceType"
    ],
    "title": "ReceiverUpdate",
    "type": "object"
}

Responses

{
    "band": null,
    "channels": [
        {
            "id": 0,
            "isActive": true,
            "offsetXArcsec": 10.12,
            "offsetYArcsec": 10.12,
            "polarization": "linear",
            "receiverId": 0
        }
    ],
    "deviceType": "string",
    "id": 0,
    "imageId": null,
    "isAvailable": true,
    "manufacturer": null,
    "maxFrequencyMhz": 10.12,
    "minFrequencyMhz": 10.12,
    "modelId": null,
    "name": null,
    "observatoryId": null,
    "observatoryUid": null,
    "operationalConstraintIds": null,
    "ownerId": 0,
    "serialNumber": null,
    "telescopeId": null,
    "telescopeUid": null,
    "uid": "271bf53f-af5d-47b4-a774-642d6ce0f2f3"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "description": "Radio receiver device.",
    "properties": {
        "band": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/RadioReceiverBand"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Receiver band"
        },
        "channels": {
            "description": "Receiver channels",
            "items": {
                "$ref": "#/components/schemas/ReceiverChannel"
            },
            "type": "array"
        },
        "deviceType": {
            "const": "receiver",
            "type": "string"
        },
        "id": {
            "description": "Receiver PK",
            "type": "integer"
        },
        "imageId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Image asset ID for the device."
        },
        "isAvailable": {
            "description": "Is receiver available?",
            "type": "boolean"
        },
        "manufacturer": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "maxFrequencyMhz": {
            "description": "Maximum frequency (MHz)",
            "type": "number"
        },
        "minFrequencyMhz": {
            "description": "Minimum frequency (MHz)",
            "type": "number"
        },
        "modelId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": ""
        },
        "name": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The name of the device."
        },
        "observatoryId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory ID this device belongs to."
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The observatory UID this device belongs to."
        },
        "operationalConstraintIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Operational constraint PKs"
        },
        "ownerId": {
            "description": "The organization or user which owns the device.",
            "type": "integer"
        },
        "serialNumber": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "Serial number for the device."
        },
        "telescopeId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope ID this device belongs to."
        },
        "telescopeUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ],
            "description": "The telescope UID this device belongs to."
        },
        "uid": {
            "description": "The unique UID for the device.",
            "format": "uuid",
            "type": "string"
        }
    },
    "required": [
        "id",
        "uid",
        "ownerId",
        "deviceType",
        "isAvailable",
        "minFrequencyMhz",
        "maxFrequencyMhz"
    ],
    "title": "Receiver",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/shutdown-interlock-snapshot

Read Telescope Shutdown Interlock Snapshot

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Responses

{
    "interlocks": [
        {
            "expiresAt": null,
            "id": 0,
            "isEnabled": true,
            "lastModified": null,
            "name": "string",
            "observatoryId": null,
            "observatoryUid": null,
            "ownerId": 0,
            "reason": null,
            "scopeType": "telescope",
            "startsAt": null,
            "status": "active",
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "f64d1e9a-dc0f-4a99-966c-ba336d36eb10"
        }
    ],
    "observatoryId": null,
    "observatoryUid": null,
    "revision": 0,
    "status": "clear",
    "telescopeId": 0,
    "telescopeUid": "6cbc6900-2525-45be-a6da-20fed3abd063",
    "timestamp": "2022-04-13T15:42:05.901Z"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "interlocks": {
            "items": {
                "$ref": "#/components/schemas/EffectiveShutdownInterlock"
            },
            "type": "array"
        },
        "observatoryId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "revision": {
            "type": "integer"
        },
        "status": {
            "$ref": "#/components/schemas/ShutdownInterlockSnapshotStatus"
        },
        "telescopeId": {
            "type": "integer"
        },
        "telescopeUid": {
            "format": "uuid",
            "type": "string"
        },
        "timestamp": {
            "format": "date-time",
            "type": "string"
        }
    },
    "required": [
        "telescopeId",
        "telescopeUid",
        "timestamp",
        "revision",
        "status"
    ],
    "title": "TelescopeShutdownInterlockSnapshot",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/state

Read Telescope Snapshot

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Responses

Schema of the response body
{
    "anyOf": [
        {
            "$ref": "#/components/schemas/TelescopeSnapshot"
        },
        {
            "type": "null"
        }
    ],
    "title": "Response Read Telescope Snapshot Telescopes  Telescope Id  State Get"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/task-assets

Get Telescope Task Assets

Input parameters

Parameter In Type Default Nullable Description
created_by query No
createdBy query No
id query No
is_transferrable query No
isTransferrable query No
mime_type query No
mimeType query No
name query No
processing_flags query No
processing_flags_exclude query No
processingFlags query No
processingFlagsExclude query No
role query No
role_exclude query No
roleExclude query No
sort_by query No
sortBy query No
task_id query No
taskId query No
telescope_id path No Telescope id, uid, or slug
token query No
transfer_state query No
transferState query No
view query No

Responses

{
    "items": [
        {
            "currentAnalysisRun": null,
            "currentAnalysisRunId": null,
            "currentProcessingOutput": null,
            "currentProcessingOutputId": null,
            "currentProcessingRun": null,
            "currentProcessingRunId": null,
            "currentRenderRun": null,
            "currentRenderRunId": null,
            "file": null,
            "fileId": "0fc5396b-51a0-49e5-8b55-f711674afd25",
            "id": 0,
            "instrumentId": 0,
            "instrumentUid": null,
            "isTransferrable": true,
            "lastTransferAttempt": null,
            "nextEligibleRenderAt": null,
            "observationId": 0,
            "observationUid": null,
            "previewFile": null,
            "previewFileId": null,
            "processingFlags": null,
            "reductionInfo": null,
            "remoteFilePath": null,
            "renderDirtyAt": null,
            "role": null,
            "rootObservationAssetId": null,
            "rootObservationAssetUid": null,
            "taskInfo": null,
            "taskResultProcessingOutputs": null,
            "thumbnailFile": null,
            "thumbnailFileId": null,
            "transferError": null,
            "transferProgressFraction": null,
            "transferState": null,
            "uid": "b4ba2cd5-af5d-4d80-9eec-659cd34ad192"
        }
    ],
    "page": 0,
    "pages": 0,
    "size": 0,
    "total": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "items": {
            "items": {
                "$ref": "#/components/schemas/ObservationAssetSummary"
            },
            "title": "Items",
            "type": "array"
        },
        "page": {
            "minimum": 1.0,
            "title": "Page",
            "type": "integer"
        },
        "pages": {
            "minimum": 0.0,
            "title": "Pages",
            "type": "integer"
        },
        "size": {
            "minimum": 1.0,
            "title": "Size",
            "type": "integer"
        },
        "total": {
            "minimum": 0.0,
            "title": "Total",
            "type": "integer"
        }
    },
    "required": [
        "items",
        "total",
        "page",
        "size",
        "pages"
    ],
    "title": "Page[ObservationAssetSummary]",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/task-assets/{task_asset_id}

Get Observation Task Asset

Input parameters

Parameter In Type Default Nullable Description
task_asset_id path integer No
task_id query No
telescope_id path No Telescope id, uid, or slug
token query No

Responses

{
    "currentAnalysisRunId": null,
    "currentProcessingOutputId": null,
    "currentProcessingRunId": null,
    "currentRenderRunId": null,
    "fileId": "0e07b226-9521-4c50-aeb3-2ecb55a9db76",
    "id": 0,
    "instrumentId": 0,
    "instrumentUid": null,
    "isTransferrable": true,
    "lastTransferAttempt": null,
    "nextEligibleRenderAt": null,
    "observationId": 0,
    "observationUid": null,
    "previewFileId": null,
    "processingFlags": null,
    "remoteFilePath": null,
    "renderDirtyAt": null,
    "role": null,
    "rootObservationAssetId": null,
    "rootObservationAssetUid": null,
    "thumbnailFileId": null,
    "transferError": null,
    "transferProgressFraction": null,
    "transferState": null,
    "uid": "87f0e905-cad1-44e0-b85c-b413c35db9d4"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "currentAnalysisRunId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentProcessingOutputId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentProcessingRunId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentRenderRunId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "fileId": {
            "format": "uuid",
            "type": "string"
        },
        "id": {
            "type": "integer"
        },
        "instrumentId": {
            "type": "integer"
        },
        "instrumentUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isTransferrable": {
            "default": false,
            "type": "boolean"
        },
        "lastTransferAttempt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "nextEligibleRenderAt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "observationId": {
            "type": "integer"
        },
        "observationUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "previewFileId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "processingFlags": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/ObservationAssetProcessingFlag"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "remoteFilePath": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "renderDirtyAt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "role": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetRole"
                },
                {
                    "type": "null"
                }
            ]
        },
        "rootObservationAssetId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "rootObservationAssetUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "thumbnailFileId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "transferError": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "transferProgressFraction": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "transferState": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/RemoteAssetTransferState"
                },
                {
                    "type": "null"
                }
            ],
            "default": "pending"
        },
        "uid": {
            "format": "uuid",
            "type": "string"
        }
    },
    "required": [
        "id",
        "uid",
        "observationId",
        "instrumentId",
        "fileId"
    ],
    "title": "ObservationAsset",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

PATCH /telescopes/{telescope_id}/task-assets/{task_asset_id}

Update Observation Task Asset

Input parameters

Parameter In Type Default Nullable Description
task_asset_id path integer No
task_id query No
telescope_id path No Telescope id, uid, or slug
token query No

Request body

{
    "fileId": null,
    "isTransferrable": null,
    "lastTransferAttempt": null,
    "processingFlags": null,
    "remoteFilePath": null,
    "role": null,
    "taskInfo": null,
    "transferError": null,
    "transferState": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "fileId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isTransferrable": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ]
        },
        "lastTransferAttempt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "processingFlags": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/ObservationAssetProcessingFlag"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "remoteFilePath": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "role": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetRole"
                },
                {
                    "type": "null"
                }
            ]
        },
        "taskInfo": {
            "anyOf": [
                {
                    "oneOf": [
                        {
                            "$ref": "#/components/schemas/OpticalImagingObservationAssetTaskInfoUpdate"
                        },
                        {
                            "$ref": "#/components/schemas/OpticalImagingCalibrationObservationAssetTaskInfoUpdate"
                        },
                        {
                            "$ref": "#/components/schemas/RadioTrackingObservationAssetTaskInfoUpdate"
                        }
                    ]
                },
                {
                    "type": "null"
                }
            ]
        },
        "transferError": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "transferState": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/RemoteAssetTransferState"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "title": "ObservationAssetUpdate",
    "type": "object"
}

Responses

{
    "currentAnalysisRun": null,
    "currentAnalysisRunId": null,
    "currentProcessingOutput": null,
    "currentProcessingOutputId": null,
    "currentProcessingRun": null,
    "currentProcessingRunId": null,
    "currentRenderRun": null,
    "currentRenderRunId": null,
    "file": null,
    "fileId": "06e72956-3211-4485-afe3-3d7071c89fa5",
    "id": 0,
    "instrumentId": 0,
    "instrumentUid": null,
    "isTransferrable": true,
    "lastTransferAttempt": null,
    "nextEligibleRenderAt": null,
    "observationId": 0,
    "observationUid": null,
    "previewFile": null,
    "previewFileId": null,
    "processingFlags": null,
    "reductionInfo": null,
    "remoteFilePath": null,
    "renderDirtyAt": null,
    "role": null,
    "rootObservationAssetId": null,
    "rootObservationAssetUid": null,
    "taskInfo": null,
    "taskResultProcessingOutputs": null,
    "thumbnailFile": null,
    "thumbnailFileId": null,
    "transferError": null,
    "transferProgressFraction": null,
    "transferState": null,
    "uid": "170e8249-65ea-40ab-ace1-6af4748d770e"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "currentAnalysisRun": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetAnalysisRun"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentAnalysisRunId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentProcessingOutput": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetProcessingOutputSummary"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentProcessingOutputId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentProcessingRun": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetProcessingRun"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentProcessingRunId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentRenderRun": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetRenderRun"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentRenderRunId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "file": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/File"
                },
                {
                    "type": "null"
                }
            ]
        },
        "fileId": {
            "format": "uuid",
            "type": "string"
        },
        "id": {
            "type": "integer"
        },
        "instrumentId": {
            "type": "integer"
        },
        "instrumentUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isTransferrable": {
            "default": false,
            "type": "boolean"
        },
        "lastTransferAttempt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "nextEligibleRenderAt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "observationId": {
            "type": "integer"
        },
        "observationUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "previewFile": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/File"
                },
                {
                    "type": "null"
                }
            ]
        },
        "previewFileId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "processingFlags": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/ObservationAssetProcessingFlag"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "reductionInfo": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetReductionInfo"
                },
                {
                    "type": "null"
                }
            ]
        },
        "remoteFilePath": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "renderDirtyAt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "role": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetRole"
                },
                {
                    "type": "null"
                }
            ]
        },
        "rootObservationAssetId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "rootObservationAssetUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "taskInfo": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/OpticalImagingObservationAssetTaskInfoDetail"
                },
                {
                    "$ref": "#/components/schemas/OpticalImagingCalibrationObservationAssetTaskInfoDetail"
                },
                {
                    "$ref": "#/components/schemas/RadioTrackingObservationAssetTaskInfoDetail"
                },
                {
                    "type": "null"
                }
            ]
        },
        "taskResultProcessingOutputs": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/ObservationTaskResultProcessingRunOutputSummary"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "thumbnailFile": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/File"
                },
                {
                    "type": "null"
                }
            ]
        },
        "thumbnailFileId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "transferError": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "transferProgressFraction": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "transferState": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/RemoteAssetTransferState"
                },
                {
                    "type": "null"
                }
            ],
            "default": "pending"
        },
        "uid": {
            "format": "uuid",
            "type": "string"
        }
    },
    "required": [
        "id",
        "uid",
        "observationId",
        "instrumentId",
        "fileId"
    ],
    "title": "ObservationAssetDetail",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/task-assets/{task_asset_id}/download-url

Get Task Asset Download Url

Input parameters

Parameter In Type Default Nullable Description
task_asset_id path integer No
telescope_id path No Telescope id, uid, or slug
token query No

Responses

Schema of the response body

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/task-assets/{task_asset_id}/upload-url

Get Task Asset Upload Url

Input parameters

Parameter In Type Default Nullable Description
task_asset_id path integer No
telescope_id path No Telescope id, uid, or slug
token query No

Responses

Schema of the response body

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/tasks

Get Telescope Tasks

Input parameters

Parameter In Type Default Nullable Description
binning query No
completed_after query No
completed_before query No
completedAfter query No
completedBefore query No
earliest_start_after query No
earliest_start_before query No
earliestStartAfter query No
earliestStartBefore query No
expiration_after query No
expirationAfter query No
filter_id query No
filterId query No
id query No
observation_id query No
observation_iteration query No
observationId query No
observationIteration query No
planned_start_after query No
planned_start_before query No
plannedStartAfter query No
plannedStartBefore query No
request_id query No
requestId query No
shutter_state query No
shutterState query No
sort_by query No
sortBy query No
status query No
telescope_id path No Telescope id, uid, or slug
token query No

Responses

{
    "items": [
        null
    ],
    "page": 0,
    "pages": 0,
    "size": 0,
    "total": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "items": {
            "items": {
                "discriminator": {
                    "mapping": {
                        "optical_imaging": "#/components/schemas/OpticalImagingTaskSummary",
                        "optical_imaging_bias_calibration": "#/components/schemas/OpticalImagingBiasCalibrationTaskSummary",
                        "optical_imaging_dark_calibration": "#/components/schemas/OpticalImagingDarkCalibrationTaskSummary",
                        "optical_imaging_flat_calibration": "#/components/schemas/OpticalImagingFlatCalibrationTaskSummary",
                        "radio_mapping": "#/components/schemas/RadioMappingTaskSummary",
                        "radio_tracking": "#/components/schemas/RadioTrackingTaskSummary"
                    },
                    "propertyName": "taskType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/OpticalImagingTaskSummary"
                    },
                    {
                        "$ref": "#/components/schemas/OpticalImagingBiasCalibrationTaskSummary"
                    },
                    {
                        "$ref": "#/components/schemas/OpticalImagingDarkCalibrationTaskSummary"
                    },
                    {
                        "$ref": "#/components/schemas/OpticalImagingFlatCalibrationTaskSummary"
                    },
                    {
                        "$ref": "#/components/schemas/RadioTrackingTaskSummary"
                    },
                    {
                        "$ref": "#/components/schemas/RadioMappingTaskSummary"
                    }
                ]
            },
            "title": "Items",
            "type": "array"
        },
        "page": {
            "minimum": 1.0,
            "title": "Page",
            "type": "integer"
        },
        "pages": {
            "minimum": 0.0,
            "title": "Pages",
            "type": "integer"
        },
        "size": {
            "minimum": 1.0,
            "title": "Size",
            "type": "integer"
        },
        "total": {
            "minimum": 0.0,
            "title": "Total",
            "type": "integer"
        }
    },
    "required": [
        "items",
        "total",
        "page",
        "size",
        "pages"
    ],
    "title": "Page[Annotated[Union[OpticalImagingTaskSummary, OpticalImagingBiasCalibrationTaskSummary, OpticalImagingDarkCalibrationTaskSummary, OpticalImagingFlatCalibrationTaskSummary, RadioTrackingTaskSummary, RadioMappingTaskSummary], FieldInfo(annotation=NoneType, required=True, discriminator='task_type')]]",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/tasks/{task_id}

Get Telescope Task

Input parameters

Parameter In Type Default Nullable Description
task_id path integer No
telescope_id path No Telescope id, uid, or slug
token query No

Responses

Schema of the response body
{
    "discriminator": {
        "mapping": {
            "optical_imaging": "#/components/schemas/OpticalImagingTask",
            "optical_imaging_bias_calibration": "#/components/schemas/OpticalImagingBiasCalibrationTask",
            "optical_imaging_dark_calibration": "#/components/schemas/OpticalImagingDarkCalibrationTask",
            "optical_imaging_flat_calibration": "#/components/schemas/OpticalImagingFlatCalibrationTask",
            "radio_mapping": "#/components/schemas/RadioMappingTask",
            "radio_tracking": "#/components/schemas/RadioTrackingTask"
        },
        "propertyName": "taskType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/OpticalImagingTask"
        },
        {
            "$ref": "#/components/schemas/OpticalImagingBiasCalibrationTask"
        },
        {
            "$ref": "#/components/schemas/OpticalImagingDarkCalibrationTask"
        },
        {
            "$ref": "#/components/schemas/OpticalImagingFlatCalibrationTask"
        },
        {
            "$ref": "#/components/schemas/RadioTrackingTask"
        },
        {
            "$ref": "#/components/schemas/RadioMappingTask"
        }
    ],
    "title": "Response Get Telescope Task Telescopes  Telescope Id  Tasks  Task Id  Get"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

PATCH /telescopes/{telescope_id}/tasks/{task_id}

Update Telescope Task

Input parameters

Parameter In Type Default Nullable Description
task_id path integer No
telescope_id path No Telescope id, uid, or slug
token query No

Request body

Schema of the request body
{
    "discriminator": {
        "mapping": {
            "optical_imaging": "#/components/schemas/OpticalImagingTaskUpdate",
            "optical_imaging_bias_calibration": "#/components/schemas/OpticalImagingBiasCalibrationTaskUpdate",
            "optical_imaging_dark_calibration": "#/components/schemas/OpticalImagingDarkCalibrationTaskUpdate",
            "optical_imaging_flat_calibration": "#/components/schemas/OpticalImagingFlatCalibrationTaskUpdate",
            "radio_mapping": "#/components/schemas/RadioMappingTaskUpdate",
            "radio_tracking": "#/components/schemas/RadioTrackingTaskUpdate"
        },
        "propertyName": "taskType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/OpticalImagingTaskUpdate"
        },
        {
            "$ref": "#/components/schemas/OpticalImagingBiasCalibrationTaskUpdate"
        },
        {
            "$ref": "#/components/schemas/OpticalImagingDarkCalibrationTaskUpdate"
        },
        {
            "$ref": "#/components/schemas/OpticalImagingFlatCalibrationTaskUpdate"
        },
        {
            "$ref": "#/components/schemas/RadioTrackingTaskUpdate"
        },
        {
            "$ref": "#/components/schemas/RadioMappingTaskUpdate"
        }
    ],
    "title": "Body"
}

Responses

Schema of the response body
{
    "discriminator": {
        "mapping": {
            "optical_imaging": "#/components/schemas/OpticalImagingTaskDetail",
            "optical_imaging_bias_calibration": "#/components/schemas/OpticalImagingBiasCalibrationTaskDetail",
            "optical_imaging_dark_calibration": "#/components/schemas/OpticalImagingDarkCalibrationTaskDetail",
            "optical_imaging_flat_calibration": "#/components/schemas/OpticalImagingFlatCalibrationTaskDetail",
            "radio_mapping": "#/components/schemas/RadioMappingTaskDetail",
            "radio_tracking": "#/components/schemas/RadioTrackingTaskDetail"
        },
        "propertyName": "taskType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/OpticalImagingTaskDetail"
        },
        {
            "$ref": "#/components/schemas/OpticalImagingBiasCalibrationTaskDetail"
        },
        {
            "$ref": "#/components/schemas/OpticalImagingDarkCalibrationTaskDetail"
        },
        {
            "$ref": "#/components/schemas/OpticalImagingFlatCalibrationTaskDetail"
        },
        {
            "$ref": "#/components/schemas/RadioTrackingTaskDetail"
        },
        {
            "$ref": "#/components/schemas/RadioMappingTaskDetail"
        }
    ],
    "title": "Response Update Telescope Task Telescopes  Telescope Id  Tasks  Task Id  Patch"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/tasks/{task_id}/detail

Get Telescope Task Detail

Input parameters

Parameter In Type Default Nullable Description
task_id path integer No
telescope_id path No Telescope id, uid, or slug
token query No

Responses

Schema of the response body
{
    "discriminator": {
        "mapping": {
            "optical_imaging": "#/components/schemas/OpticalImagingTaskDetail",
            "optical_imaging_bias_calibration": "#/components/schemas/OpticalImagingBiasCalibrationTaskDetail",
            "optical_imaging_dark_calibration": "#/components/schemas/OpticalImagingDarkCalibrationTaskDetail",
            "optical_imaging_flat_calibration": "#/components/schemas/OpticalImagingFlatCalibrationTaskDetail",
            "radio_mapping": "#/components/schemas/RadioMappingTaskDetail",
            "radio_tracking": "#/components/schemas/RadioTrackingTaskDetail"
        },
        "propertyName": "taskType"
    },
    "oneOf": [
        {
            "$ref": "#/components/schemas/OpticalImagingTaskDetail"
        },
        {
            "$ref": "#/components/schemas/OpticalImagingBiasCalibrationTaskDetail"
        },
        {
            "$ref": "#/components/schemas/OpticalImagingDarkCalibrationTaskDetail"
        },
        {
            "$ref": "#/components/schemas/OpticalImagingFlatCalibrationTaskDetail"
        },
        {
            "$ref": "#/components/schemas/RadioTrackingTaskDetail"
        },
        {
            "$ref": "#/components/schemas/RadioMappingTaskDetail"
        }
    ],
    "title": "Response Get Telescope Task Detail Telescopes  Telescope Id  Tasks  Task Id  Detail Get"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/tasks/{task_id}/task-assets

Get Task Assets For Task

Input parameters

Parameter In Type Default Nullable Description
created_by query No
createdBy query No
id query No
is_transferrable query No
isTransferrable query No
mime_type query No
mimeType query No
name query No
processing_flags query No
processing_flags_exclude query No
processingFlags query No
processingFlagsExclude query No
role query No
role_exclude query No
roleExclude query No
sort_by query No
sortBy query No
task_id path integer No
telescope_id path No Telescope id, uid, or slug
token query No
transfer_state query No
transferState query No
view query No

Responses

{
    "items": [
        {
            "currentAnalysisRun": null,
            "currentAnalysisRunId": null,
            "currentProcessingOutput": null,
            "currentProcessingOutputId": null,
            "currentProcessingRun": null,
            "currentProcessingRunId": null,
            "currentRenderRun": null,
            "currentRenderRunId": null,
            "file": null,
            "fileId": "c9969577-33c5-4842-bf14-f0da02b4add0",
            "id": 0,
            "instrumentId": 0,
            "instrumentUid": null,
            "isTransferrable": true,
            "lastTransferAttempt": null,
            "nextEligibleRenderAt": null,
            "observationId": 0,
            "observationUid": null,
            "previewFile": null,
            "previewFileId": null,
            "processingFlags": null,
            "reductionInfo": null,
            "remoteFilePath": null,
            "renderDirtyAt": null,
            "role": null,
            "rootObservationAssetId": null,
            "rootObservationAssetUid": null,
            "taskInfo": null,
            "taskResultProcessingOutputs": null,
            "thumbnailFile": null,
            "thumbnailFileId": null,
            "transferError": null,
            "transferProgressFraction": null,
            "transferState": null,
            "uid": "f1e04186-b4c9-4ff1-99eb-c16099272367"
        }
    ],
    "page": 0,
    "pages": 0,
    "size": 0,
    "total": 0
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "items": {
            "items": {
                "$ref": "#/components/schemas/ObservationAssetSummary"
            },
            "title": "Items",
            "type": "array"
        },
        "page": {
            "minimum": 1.0,
            "title": "Page",
            "type": "integer"
        },
        "pages": {
            "minimum": 0.0,
            "title": "Pages",
            "type": "integer"
        },
        "size": {
            "minimum": 1.0,
            "title": "Size",
            "type": "integer"
        },
        "total": {
            "minimum": 0.0,
            "title": "Total",
            "type": "integer"
        }
    },
    "required": [
        "items",
        "total",
        "page",
        "size",
        "pages"
    ],
    "title": "Page[ObservationAssetSummary]",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

POST /telescopes/{telescope_id}/tasks/{task_id}/task-assets

Create Telescope Task Asset

Input parameters

Parameter In Type Default Nullable Description
task_id path integer No
telescope_id path No Telescope id, uid, or slug
token query No

Request body

{
    "file": {
        "altTag": null,
        "bucket": null,
        "createdBy": null,
        "createdOn": "2022-04-13T15:42:05.901Z",
        "isDataReady": true,
        "mimeType": "application/json",
        "name": "string",
        "objectKey": null,
        "remoteUri": null,
        "renderSettings": null,
        "secretLinkKey": null,
        "size": null,
        "storageType": null,
        "updatedOn": "2022-04-13T15:42:05.901Z",
        "visibility": "private"
    },
    "instrumentId": 0,
    "isTransferrable": true,
    "processingFlags": null,
    "remoteFilePath": null,
    "role": null,
    "taskInfo": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "file": {
            "$ref": "#/components/schemas/FileCreate"
        },
        "instrumentId": {
            "type": "integer"
        },
        "isTransferrable": {
            "default": true,
            "type": "boolean"
        },
        "processingFlags": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/ObservationAssetProcessingFlag"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "remoteFilePath": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "role": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetRole"
                },
                {
                    "type": "null"
                }
            ]
        },
        "taskInfo": {
            "anyOf": [
                {
                    "oneOf": [
                        {
                            "$ref": "#/components/schemas/OpticalImagingObservationAssetTaskInfoCreate"
                        },
                        {
                            "$ref": "#/components/schemas/OpticalImagingCalibrationObservationAssetTaskInfoCreate"
                        },
                        {
                            "$ref": "#/components/schemas/RadioTrackingObservationAssetTaskInfoCreate"
                        }
                    ]
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "required": [
        "instrumentId",
        "file"
    ],
    "title": "ObservationAssetCreate",
    "type": "object"
}

Responses

{
    "currentAnalysisRun": null,
    "currentAnalysisRunId": null,
    "currentProcessingOutput": null,
    "currentProcessingOutputId": null,
    "currentProcessingRun": null,
    "currentProcessingRunId": null,
    "currentRenderRun": null,
    "currentRenderRunId": null,
    "file": null,
    "fileId": "0b41a0f5-6578-4160-831b-fa4d0ec032b3",
    "id": 0,
    "instrumentId": 0,
    "instrumentUid": null,
    "isTransferrable": true,
    "lastTransferAttempt": null,
    "nextEligibleRenderAt": null,
    "observationId": 0,
    "observationUid": null,
    "previewFile": null,
    "previewFileId": null,
    "processingFlags": null,
    "reductionInfo": null,
    "remoteFilePath": null,
    "renderDirtyAt": null,
    "role": null,
    "rootObservationAssetId": null,
    "rootObservationAssetUid": null,
    "taskInfo": null,
    "taskResultProcessingOutputs": null,
    "thumbnailFile": null,
    "thumbnailFileId": null,
    "transferError": null,
    "transferProgressFraction": null,
    "transferState": null,
    "uid": "afbd320a-3132-4640-a082-2adc65e17c2d"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "currentAnalysisRun": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetAnalysisRun"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentAnalysisRunId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentProcessingOutput": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetProcessingOutputSummary"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentProcessingOutputId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentProcessingRun": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetProcessingRun"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentProcessingRunId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentRenderRun": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetRenderRun"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentRenderRunId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "file": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/File"
                },
                {
                    "type": "null"
                }
            ]
        },
        "fileId": {
            "format": "uuid",
            "type": "string"
        },
        "id": {
            "type": "integer"
        },
        "instrumentId": {
            "type": "integer"
        },
        "instrumentUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isTransferrable": {
            "default": false,
            "type": "boolean"
        },
        "lastTransferAttempt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "nextEligibleRenderAt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "observationId": {
            "type": "integer"
        },
        "observationUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "previewFile": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/File"
                },
                {
                    "type": "null"
                }
            ]
        },
        "previewFileId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "processingFlags": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/ObservationAssetProcessingFlag"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "reductionInfo": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetReductionInfo"
                },
                {
                    "type": "null"
                }
            ]
        },
        "remoteFilePath": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "renderDirtyAt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "role": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetRole"
                },
                {
                    "type": "null"
                }
            ]
        },
        "rootObservationAssetId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "rootObservationAssetUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "taskInfo": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/OpticalImagingObservationAssetTaskInfoDetail"
                },
                {
                    "$ref": "#/components/schemas/OpticalImagingCalibrationObservationAssetTaskInfoDetail"
                },
                {
                    "$ref": "#/components/schemas/RadioTrackingObservationAssetTaskInfoDetail"
                },
                {
                    "type": "null"
                }
            ]
        },
        "taskResultProcessingOutputs": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/ObservationTaskResultProcessingRunOutputSummary"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "thumbnailFile": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/File"
                },
                {
                    "type": "null"
                }
            ]
        },
        "thumbnailFileId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "transferError": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "transferProgressFraction": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "transferState": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/RemoteAssetTransferState"
                },
                {
                    "type": "null"
                }
            ],
            "default": "pending"
        },
        "uid": {
            "format": "uuid",
            "type": "string"
        }
    },
    "required": [
        "id",
        "uid",
        "observationId",
        "instrumentId",
        "fileId"
    ],
    "title": "ObservationAssetDetail",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

PATCH /telescopes/{telescope_id}/tasks/{task_id}/task-assets/{task_asset_id}

Update Task Asset For Task

Input parameters

Parameter In Type Default Nullable Description
task_asset_id path integer No
task_id path integer No
telescope_id path No Telescope id, uid, or slug
token query No

Request body

{
    "fileId": null,
    "isTransferrable": null,
    "lastTransferAttempt": null,
    "processingFlags": null,
    "remoteFilePath": null,
    "role": null,
    "taskInfo": null,
    "transferError": null,
    "transferState": null
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the request body
{
    "properties": {
        "fileId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isTransferrable": {
            "anyOf": [
                {
                    "type": "boolean"
                },
                {
                    "type": "null"
                }
            ]
        },
        "lastTransferAttempt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "processingFlags": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/ObservationAssetProcessingFlag"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "remoteFilePath": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "role": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetRole"
                },
                {
                    "type": "null"
                }
            ]
        },
        "taskInfo": {
            "anyOf": [
                {
                    "oneOf": [
                        {
                            "$ref": "#/components/schemas/OpticalImagingObservationAssetTaskInfoUpdate"
                        },
                        {
                            "$ref": "#/components/schemas/OpticalImagingCalibrationObservationAssetTaskInfoUpdate"
                        },
                        {
                            "$ref": "#/components/schemas/RadioTrackingObservationAssetTaskInfoUpdate"
                        }
                    ]
                },
                {
                    "type": "null"
                }
            ]
        },
        "transferError": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "transferState": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/RemoteAssetTransferState"
                },
                {
                    "type": "null"
                }
            ]
        }
    },
    "title": "ObservationAssetUpdate",
    "type": "object"
}

Responses

{
    "currentAnalysisRun": null,
    "currentAnalysisRunId": null,
    "currentProcessingOutput": null,
    "currentProcessingOutputId": null,
    "currentProcessingRun": null,
    "currentProcessingRunId": null,
    "currentRenderRun": null,
    "currentRenderRunId": null,
    "file": null,
    "fileId": "3610f0ab-36e8-4aaa-8543-b42323d51177",
    "id": 0,
    "instrumentId": 0,
    "instrumentUid": null,
    "isTransferrable": true,
    "lastTransferAttempt": null,
    "nextEligibleRenderAt": null,
    "observationId": 0,
    "observationUid": null,
    "previewFile": null,
    "previewFileId": null,
    "processingFlags": null,
    "reductionInfo": null,
    "remoteFilePath": null,
    "renderDirtyAt": null,
    "role": null,
    "rootObservationAssetId": null,
    "rootObservationAssetUid": null,
    "taskInfo": null,
    "taskResultProcessingOutputs": null,
    "thumbnailFile": null,
    "thumbnailFileId": null,
    "transferError": null,
    "transferProgressFraction": null,
    "transferState": null,
    "uid": "23328805-ce7a-4f8b-8c0f-e316a8afaf28"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "currentAnalysisRun": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetAnalysisRun"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentAnalysisRunId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentProcessingOutput": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetProcessingOutputSummary"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentProcessingOutputId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentProcessingRun": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetProcessingRun"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentProcessingRunId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentRenderRun": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetRenderRun"
                },
                {
                    "type": "null"
                }
            ]
        },
        "currentRenderRunId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "file": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/File"
                },
                {
                    "type": "null"
                }
            ]
        },
        "fileId": {
            "format": "uuid",
            "type": "string"
        },
        "id": {
            "type": "integer"
        },
        "instrumentId": {
            "type": "integer"
        },
        "instrumentUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "isTransferrable": {
            "default": false,
            "type": "boolean"
        },
        "lastTransferAttempt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "nextEligibleRenderAt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "observationId": {
            "type": "integer"
        },
        "observationUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "previewFile": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/File"
                },
                {
                    "type": "null"
                }
            ]
        },
        "previewFileId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "processingFlags": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/ObservationAssetProcessingFlag"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "reductionInfo": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetReductionInfo"
                },
                {
                    "type": "null"
                }
            ]
        },
        "remoteFilePath": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "renderDirtyAt": {
            "anyOf": [
                {
                    "format": "date-time",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "role": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservationAssetRole"
                },
                {
                    "type": "null"
                }
            ]
        },
        "rootObservationAssetId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "rootObservationAssetUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "taskInfo": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/OpticalImagingObservationAssetTaskInfoDetail"
                },
                {
                    "$ref": "#/components/schemas/OpticalImagingCalibrationObservationAssetTaskInfoDetail"
                },
                {
                    "$ref": "#/components/schemas/RadioTrackingObservationAssetTaskInfoDetail"
                },
                {
                    "type": "null"
                }
            ]
        },
        "taskResultProcessingOutputs": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/ObservationTaskResultProcessingRunOutputSummary"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "thumbnailFile": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/File"
                },
                {
                    "type": "null"
                }
            ]
        },
        "thumbnailFileId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "transferError": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "transferProgressFraction": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "transferState": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/RemoteAssetTransferState"
                },
                {
                    "type": "null"
                }
            ],
            "default": "pending"
        },
        "uid": {
            "format": "uuid",
            "type": "string"
        }
    },
    "required": [
        "id",
        "uid",
        "observationId",
        "instrumentId",
        "fileId"
    ],
    "title": "ObservationAssetDetail",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes/{telescope_id}/tokens

Read Telescope Tokens

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No

Responses

[
    {
        "client": null,
        "description": null,
        "expiresAt": null,
        "id": "23d2640c-8a30-4abf-b37a-c71ece115e92",
        "issuedAt": "2022-04-13T15:42:05.901Z",
        "scope": null,
        "tokenType": "access"
    }
]
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "items": {
        "$ref": "#/components/schemas/TokenPublic"
    },
    "title": "Response Read Telescope Tokens Telescopes  Telescope Id  Tokens Get",
    "type": "array"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

DELETE /telescopes/{telescope_id}/tokens/{token_id}

Delete Telescope Token

Input parameters

Parameter In Type Default Nullable Description
telescope_id path No Telescope id, uid, or slug
token query No
token_id path string No

Responses

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

GET /telescopes:lookup

Lookup Telescope

Input parameters

Parameter In Type Default Nullable Description
owner query No
telescope query No
token query No

Responses

{
    "antennaIds": null,
    "antennas": [
        {
            "apertureM": 10.12,
            "deviceType": "string",
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": [
                {
                    "action": "keep_enclosure_closed",
                    "deviceId": 0,
                    "deviceUid": null,
                    "id": null,
                    "operationalConstraintId": 0,
                    "priority": 0,
                    "triggerOnStabilizing": true,
                    "triggerOnUnknown": true,
                    "triggerOnUnsafe": true,
                    "uid": "2eb3df51-1e2a-4d4f-b330-58a89807b4a2"
                }
            ],
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "d2151be9-bc52-4a2e-b21e-023dc8e1c403"
        }
    ],
    "calibrationObservingAccountId": null,
    "cameraIds": null,
    "cameras": [
        {
            "arrayHeight": 0,
            "arrayWidth": 0,
            "coolerIdleTimeoutSec": 10.12,
            "coolerPolicy": "always_on",
            "coolerPrestartLeadTimeSec": 10.12,
            "defaultBinning": 0,
            "deviceType": "string",
            "fullWellCapacityElectrons": 10.12,
            "hasElectronicShutter": true,
            "id": null,
            "imageId": null,
            "isColor": true,
            "isGlobalShutter": true,
            "manufacturer": null,
            "model": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "pixelSizeUm": 10.12,
            "readoutModes": null,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "temperatureSetpointC": null,
            "temperatureSetpointToleranceC": null,
            "uid": "dcbcbf0e-fc15-44e9-b764-f0e0d0c1a5de"
        }
    ],
    "description": null,
    "deviceIds": null,
    "elevationM": 10.12,
    "enclosure": null,
    "enclosureId": null,
    "enclosureUid": null,
    "filterWheelIds": null,
    "filterWheels": [
        {
            "deletedPositions": null,
            "deviceType": "string",
            "filterShape": null,
            "filterSizeMm": null,
            "filterWheelPositionIds": null,
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "model": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "positions": [
                {
                    "filterIds": [
                        "string"
                    ],
                    "filterWheelId": 0,
                    "filterWheelUid": null,
                    "filters": [
                        {
                            "bandpassNm": null,
                            "centralWavelengthNm": null,
                            "filterSpecifierType": "string",
                            "flatExposureScaler": null,
                            "id": "string",
                            "isModifier": null
                        }
                    ],
                    "flatExposureScaler": null,
                    "focusOffset": null,
                    "id": null,
                    "isActive": true,
                    "isDeleted": true,
                    "label": null,
                    "position": 0,
                    "uid": "4cd9362e-74fd-4ea8-8936-36b5abacbecc"
                }
            ],
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "698aa00e-c7b1-4638-a061-ca3d40209f2b"
        }
    ],
    "focuserIds": null,
    "focusers": [
        {
            "deviceType": "string",
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "maxPosition": 0,
            "minPosition": 0,
            "model": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "stepSize": 10.12,
            "telescopeId": null,
            "telescopeUid": null,
            "temperatureCompensated": true,
            "uid": "7c08cbc1-3bd3-4752-8005-533cb745e02d"
        }
    ],
    "galleryItemIds": null,
    "galleryItems": null,
    "iauCode": null,
    "id": null,
    "imageId": null,
    "instrumentIds": null,
    "instruments": [
        null
    ],
    "ipCameraIds": null,
    "ipCameras": [
        {
            "id": null,
            "isPrimary": true,
            "lastSeen": null,
            "name": "string",
            "observatoryId": null,
            "onvifHost": null,
            "order": 0,
            "pose": null,
            "ptz": true,
            "role": "pier",
            "streams": [
                {
                    "active": true,
                    "cameraId": 0,
                    "expiresSec": null,
                    "id": 0,
                    "isPublic": true,
                    "kind": "rtsp",
                    "quality": null
                }
            ],
            "telescopeId": null,
            "uid": "561dbd3f-0c0b-4a35-a6f4-4b422c33c73d",
            "vendor": null
        }
    ],
    "isAvailable": true,
    "isPublic": true,
    "latitudeDeg": 10.12,
    "localHorizon": null,
    "location": "string",
    "longitudeDeg": 10.12,
    "mount": null,
    "mountId": null,
    "mountUid": null,
    "name": "string",
    "observatory": null,
    "observatoryId": 0,
    "observatoryUid": null,
    "otaIds": null,
    "otas": [
        {
            "apertureM": 10.12,
            "deviceType": "string",
            "focalLengthM": 10.12,
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "model": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "offsetScalar": null,
            "offsetXM": null,
            "offsetYM": null,
            "offsetZM": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "opticalDesign": null,
            "ownerId": 0,
            "parentOta": null,
            "parentOtaId": null,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "b1bb96fd-88f9-47b4-b945-de9ddb7a86e3"
        }
    ],
    "owner": null,
    "ownerId": 0,
    "publicLatitudeDeg": null,
    "publicLongitudeDeg": null,
    "radioBackendIds": null,
    "radioBackends": [
        {
            "description": null,
            "deviceType": "string",
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "af6a8dad-96d2-410d-b9d9-5601d11632a8"
        }
    ],
    "receiverIds": null,
    "receivers": [
        {
            "band": null,
            "channels": [
                {
                    "id": 0,
                    "isActive": true,
                    "offsetXArcsec": 10.12,
                    "offsetYArcsec": 10.12,
                    "polarization": "linear",
                    "receiverId": 0
                }
            ],
            "deviceType": "string",
            "id": 0,
            "imageId": null,
            "isAvailable": true,
            "manufacturer": null,
            "maxFrequencyMhz": 10.12,
            "minFrequencyMhz": 10.12,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "f64a36f8-fbc3-4423-b2eb-14a0431b9d7f"
        }
    ],
    "rotatorIds": null,
    "rotators": [
        {
            "deviceType": "string",
            "id": null,
            "imageId": null,
            "manufacturer": null,
            "modelId": null,
            "name": null,
            "observatoryId": null,
            "observatoryUid": null,
            "operationalConstraintActions": null,
            "operationalConstraintIds": null,
            "ownerId": 0,
            "serialNumber": null,
            "telescopeId": null,
            "telescopeUid": null,
            "uid": "00db24cc-8e8f-485c-8eda-7f9bf09770b7"
        }
    ],
    "shortName": null,
    "slug": "string",
    "uid": "ed358e7a-33e3-4e52-9703-7629a1c37609"
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "antennaIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "antennas": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/AntennaDetail"
            },
            "type": "array"
        },
        "calibrationObservingAccountId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "cameraIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "cameras": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/CameraDetail"
            },
            "type": "array"
        },
        "description": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "deviceIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "elevationM": {
            "type": "number"
        },
        "enclosure": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/EnclosureDetail"
                },
                {
                    "type": "null"
                }
            ]
        },
        "enclosureId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "enclosureUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "filterWheelIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "filterWheels": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/FilterWheelDetail"
            },
            "type": "array"
        },
        "focuserIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "focusers": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/FocuserDetail"
            },
            "type": "array"
        },
        "galleryItemIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "galleryItems": {
            "anyOf": [
                {
                    "items": {
                        "$ref": "#/components/schemas/TelescopeGalleryItem"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "iauCode": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "id": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "imageId": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "instrumentIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "instruments": {
            "default": [],
            "items": {
                "discriminator": {
                    "mapping": {
                        "optical_imager": "#/components/schemas/OpticalImagerDetail",
                        "radio_spectrometer": "#/components/schemas/RadioSpectrometerDetail"
                    },
                    "propertyName": "instrumentType"
                },
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/OpticalImagerDetail"
                    },
                    {
                        "$ref": "#/components/schemas/RadioSpectrometerDetail"
                    }
                ]
            },
            "type": "array"
        },
        "ipCameraIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "ipCameras": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/IPCamera"
            },
            "type": "array"
        },
        "isAvailable": {
            "type": "boolean"
        },
        "isPublic": {
            "type": "boolean"
        },
        "latitudeDeg": {
            "type": "number"
        },
        "localHorizon": {
            "anyOf": [
                {
                    "items": {
                        "maxItems": 2,
                        "minItems": 2,
                        "prefixItems": [
                            {
                                "type": "number"
                            },
                            {
                                "type": "number"
                            }
                        ],
                        "type": "array"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "location": {
            "type": "string"
        },
        "longitudeDeg": {
            "type": "number"
        },
        "mount": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/MountDetail"
                },
                {
                    "type": "null"
                }
            ]
        },
        "mountId": {
            "anyOf": [
                {
                    "type": "integer"
                },
                {
                    "type": "null"
                }
            ]
        },
        "mountUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "name": {
            "type": "string"
        },
        "observatory": {
            "anyOf": [
                {
                    "$ref": "#/components/schemas/ObservatoryWithoutTelescopes"
                },
                {
                    "type": "null"
                }
            ]
        },
        "observatoryId": {
            "type": "integer"
        },
        "observatoryUid": {
            "anyOf": [
                {
                    "format": "uuid",
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "otaIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "otas": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/OtaDetail"
            },
            "type": "array"
        },
        "owner": {
            "anyOf": [
                {
                    "discriminator": {
                        "mapping": {
                            "organization": "#/components/schemas/OrganizationPublic",
                            "user": "#/components/schemas/UserPublic"
                        },
                        "propertyName": "entityType"
                    },
                    "oneOf": [
                        {
                            "$ref": "#/components/schemas/UserPublic"
                        },
                        {
                            "$ref": "#/components/schemas/OrganizationPublic"
                        }
                    ]
                },
                {
                    "type": "null"
                }
            ]
        },
        "ownerId": {
            "type": "integer"
        },
        "publicLatitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "publicLongitudeDeg": {
            "anyOf": [
                {
                    "type": "number"
                },
                {
                    "type": "null"
                }
            ]
        },
        "radioBackendIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "radioBackends": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/RadioBackendDetail"
            },
            "type": "array"
        },
        "receiverIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "receivers": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/ReceiverDetail"
            },
            "type": "array"
        },
        "rotatorIds": {
            "anyOf": [
                {
                    "items": {
                        "type": "integer"
                    },
                    "type": "array"
                },
                {
                    "type": "null"
                }
            ]
        },
        "rotators": {
            "default": [],
            "items": {
                "$ref": "#/components/schemas/InstrumentRotatorDetail"
            },
            "type": "array"
        },
        "shortName": {
            "anyOf": [
                {
                    "type": "string"
                },
                {
                    "type": "null"
                }
            ]
        },
        "slug": {
            "type": "string"
        },
        "uid": {
            "format": "uuid",
            "type": "string"
        }
    },
    "required": [
        "uid",
        "name",
        "slug",
        "location",
        "elevationM",
        "isAvailable",
        "ownerId",
        "observatoryId",
        "latitudeDeg",
        "longitudeDeg",
        "isPublic"
    ],
    "title": "TelescopeDetail",
    "type": "object"
}

{
    "detail": [
        {
            "ctx": {},
            "input": null,
            "loc": [
                null
            ],
            "msg": "string",
            "type": "string"
        }
    ]
}
⚠️ This example has been generated automatically from the schema and it is not accurate. Refer to the schema for more information.

Schema of the response body
{
    "properties": {
        "detail": {
            "items": {
                "$ref": "#/components/schemas/ValidationError"
            },
            "title": "Detail",
            "type": "array"
        }
    },
    "title": "HTTPValidationError",
    "type": "object"
}

Schemas

Antenna

Name Type Description
apertureM number
deviceType string
id The unique identifier for the device.
imageId Image asset ID for the device.
manufacturer
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
operationalConstraintIds Operational constraint PKs
ownerId integer The organization or user which owns the device.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
uid string(uuid) The unique UID for the device.

AntennaDetail

Name Type Description
apertureM number
deviceType string
id The unique identifier for the device.
imageId Image asset ID for the device.
manufacturer
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
operationalConstraintActions Array<OperationalConstraintAction>
operationalConstraintIds Operational constraint PKs
ownerId integer The organization or user which owns the device.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
uid string(uuid) The unique UID for the device.

AntennaUpdate

Name Type Description
deviceType string
manufacturer
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.

AssetCreationMethod

Type: string

AutomationState

Type: string

BatteryConstraint

Name Type Description
actions Array<OperationalConstraintAction>
constraintType string
id
isActive boolean
isDeleted boolean
lastModified string(date-time)
maxDataAgeSec integer
maxValue
minValue
observatoryId integer
ownerId integer
stabilityThresholdSec integer
telescopeId
uid string(uuid)

BatteryConstraintCreate

Name Type Description
actions Array<OperationalConstraintActionCreate>
constraintType string
isActive
maxDataAgeSec
maxValue
minValue
observatoryId integer
ownerId integer
stabilityThresholdSec
telescopeId

BatteryConstraintUpdate

Name Type Description
actions
constraintType string
isActive
maxDataAgeSec
maxValue
minValue
observatoryId
ownerId
stabilityThresholdSec
telescopeId

CalibrationMasterStrategy

Type: string

Camera

Name Type Description
arrayHeight integer Number of physical pixels along the vertical axis.
arrayWidth integer Number of physical pixels along the horizontal axis.
coolerIdleTimeoutSec number Idle timeout in seconds before turning off the cooler.
coolerPolicy CameraCoolerPolicy Camera cooler policy for automatic temperature control.
coolerPrestartLeadTimeSec number Lead time in seconds to pre-cool before tasks.
defaultBinning integer Default binning factor for the camera.
deviceType string
fullWellCapacityElectrons number Unbinned full well capacity in electrons.
hasElectronicShutter boolean Whether the camera has an electronic shutter.
id The unique identifier for the device.
imageId Image asset ID for the device.
isColor boolean Whether the camera is color or monochrome.
isGlobalShutter boolean Whether the camera is either a CCD or a global shutter CMOS.
manufacturer
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
operationalConstraintIds Operational constraint PKs
ownerId integer The organization or user which owns the device.
pixelSizeUm number Unbinned pixel size in microns.
readoutModes
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
temperatureSetpointC Target camera temperature setpoint in degrees Celsius.
temperatureSetpointToleranceC Allowed temperature tolerance in degrees Celsius.
uid string(uuid) The unique UID for the device.

CameraCoolerPolicy

Type: string

CameraDetail

Name Type Description
arrayHeight integer Number of physical pixels along the vertical axis.
arrayWidth integer Number of physical pixels along the horizontal axis.
coolerIdleTimeoutSec number Idle timeout in seconds before turning off the cooler.
coolerPolicy CameraCoolerPolicy Camera cooler policy for automatic temperature control.
coolerPrestartLeadTimeSec number Lead time in seconds to pre-cool before tasks.
defaultBinning integer Default binning factor for the camera.
deviceType string
fullWellCapacityElectrons number Unbinned full well capacity in electrons.
hasElectronicShutter boolean Whether the camera has an electronic shutter.
id The unique identifier for the device.
imageId Image asset ID for the device.
isColor boolean Whether the camera is color or monochrome.
isGlobalShutter boolean Whether the camera is either a CCD or a global shutter CMOS.
manufacturer
model
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
operationalConstraintActions Array<OperationalConstraintAction>
operationalConstraintIds Operational constraint PKs
ownerId integer The organization or user which owns the device.
pixelSizeUm number Unbinned pixel size in microns.
readoutModes
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
temperatureSetpointC Target camera temperature setpoint in degrees Celsius.
temperatureSetpointToleranceC Allowed temperature tolerance in degrees Celsius.
uid string(uuid) The unique UID for the device.

CameraModel

Name Type Description
arrayHeight integer
arrayWidth integer
deviceType string
fullWellCapacity number
hasElectronicShutter boolean
id
imageId
isColor boolean
isGlobalShutter boolean
manufacturer
modelName string
pixelSize number
readoutModes

CameraModelSummary

Name Type Description
arrayHeight integer
arrayWidth integer
deviceType string
fullWellCapacity number
hasElectronicShutter boolean
id integer
imageId
isColor boolean
isGlobalShutter boolean
manufacturer
modelName string
pixelSize number
readoutModes

CameraReadoutMode

Name Type Description
binning integer Binning factor for the readout mode.
bitDepth integer Bit depth for the readout mode.
blankLevelCounts number Blank level in counts.
cameraId ID of the camera this readout mode belongs to.
cameraModelId ID of the camera model this readout mode belongs to.
darkCurrentElectronsPerSec number Dark current in electrons/second at standard temperature.
description string Description of the readout mode.
gainElectronsPerCount number Inverse gain factor in electrons/count.
hardwareId string ID of the readout mode in the TCS backend.
id integer ID of the readout mode.
isFastReadout boolean Whether the readout mode is fast.
isHdr boolean Whether the readout mode is high dynamic range.
isHighGain boolean Whether the readout mode is high gain.
isLdr boolean Whether the readout mode is low dynamic range.
isLowGain boolean Whether the readout mode is low gain.
isLowNoise boolean Whether the readout mode is low noise.
isNonRbiFlood boolean Whether RBI flooding is disabled for the readout mode.
isRbiFlood boolean Whether RBI flooding is enabled for the readout mode.
readoutNoiseElectrons number Readout noise in electrons.
readoutTimeSec number Full-frame readout time in seconds.

CameraSnapshot

Name Type Description
atTemperatureSetpoint
coolerOn
deviceId
deviceType string
deviceUid
exposureDurationSec
exposureElapsedSec
faultReason
isConnected boolean
nativeStatusCode
nativeStatusName
operationalStatus
recordedOn
signalOffline
status CameraStatus
temperatureC
temperatureSetpointC
timestamp string(date-time)

CameraStatus

Type: string

CameraUpdate

Name Type Description
arrayHeight Number of physical pixels along the vertical axis.
arrayWidth Number of physical pixels along the horizontal axis.
coolerIdleTimeoutSec Idle timeout in seconds before turning off the cooler.
coolerPolicy Camera cooler policy for automatic temperature control.
coolerPrestartLeadTimeSec Lead time in seconds to pre-cool before tasks.
deviceType string
fullWellCapacityElectrons Unbinned full well capacity in electrons.
hasElectronicShutter Whether the camera has an electronic shutter.
isColor Whether the camera is color or monochrome.
isGlobalShutter Whether the camera is either a CCD or a global shutter CMOS.
manufacturer
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
pixelSizeUm Unbinned pixel size in microns.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
temperatureSetpointC Target camera temperature setpoint in degrees Celsius.
temperatureSetpointToleranceC Allowed temperature tolerance in degrees Celsius.

CatalogObjectType

Type: string

CatalogPosition

Name Type Description
catalogObject
catalogObjectId integer
id integer
positionType string
targetId
uid string(uuid)

ConstraintStatusSnapshot

Name Type Description
at string(date-time)
constraint_uid string(uuid)
reason_codes Array<string>
stale boolean
status EffectiveStatus

CoordinateType

Type: string

DataPolicy

Type: string

DeviceModelSortField

Type: string

DeviceOperationalSnapshot

Name Type Description
id integer
resourceType string
resourceUid string(uuid)
status OperationalStatus
timestamp string(date-time)

DeviceSortField

Type: string

DeviceType

Type: string

EclipticCoordinates

Name Type Description
coordinateType string Type of the coordinate system
distanceAu Distance from origin in AU
epoch Epoch of observation
equinoxJyear Equinox of coordinates in Julian years
id integer Primary key for the TargetCoordinates
latDeg number Ecliptic latitude in degrees
lonDeg number Ecliptic longitude in degrees
pmLatMasPerYear Proper motion in latitude in mas/year
pmLonMasPerYear Proper motion in longitude times cos(lat) in mas/year
radialVelocityKmPerSec Radial velocity in km/s
type Type of ecliptic coordinates

EclipticCoordinateType

Type: string

EffectiveShutdownInterlock

Name Type Description
expiresAt
id integer
isEnabled boolean
lastModified
name string
observatoryId
observatoryUid
ownerId integer
reason
scopeType ShutdownInterlockScopeType
startsAt
status ShutdownInterlockStatus
telescopeId
telescopeUid
uid string(uuid)

EffectiveStatus

Type: string

Enclosure

Name Type Description
deviceType string
diameterM Diameter of the enclosure in meters.
enclosurePolicy EnclosurePolicy Enclosure policy for automatic opening/closing behavior.
enclosureType EnclosureType
hasRotation boolean
hasShutter boolean
id The unique identifier for the device.
idleCloseTimeoutSec Idle time in seconds before closing when open-for-tasks-only policy is active.
imageId Image asset ID for the device.
manufacturer
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
operationalConstraintIds Operational constraint PKs
ownerId integer The organization or user which owns the device.
serialNumber Serial number for the device.
slitWidthM Width of the dome slit in meters.
sunAltitudeOpenCondition SunAltitudeOpenCondition Condition that determines when to open based on sun altitude.
sunAltitudeThresholdDeg Sun altitude threshold used to determine when to open (degrees).
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
uid string(uuid) The unique UID for the device.
zenithOverlapAngleDeg Zenith overlap angle in degrees.

EnclosureDetail

Name Type Description
deviceType string
diameterM Diameter of the enclosure in meters.
enclosurePolicy EnclosurePolicy Enclosure policy for automatic opening/closing behavior.
enclosureType EnclosureType
hasRotation boolean
hasShutter boolean
id The unique identifier for the device.
idleCloseTimeoutSec Idle time in seconds before closing when open-for-tasks-only policy is active.
imageId Image asset ID for the device.
manufacturer
model
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
operationalConstraintActions Array<OperationalConstraintAction>
operationalConstraintIds Operational constraint PKs
ownerId integer The organization or user which owns the device.
serialNumber Serial number for the device.
slitWidthM Width of the dome slit in meters.
sunAltitudeOpenCondition SunAltitudeOpenCondition Condition that determines when to open based on sun altitude.
sunAltitudeThresholdDeg Sun altitude threshold used to determine when to open (degrees).
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
uid string(uuid) The unique UID for the device.
zenithOverlapAngleDeg Zenith overlap angle in degrees.

EnclosureModel

Name Type Description
deviceType string
diameterM
enclosureType
hasRotation boolean
hasShutter boolean
id
imageId
manufacturer
modelName string
slitWidth
zenithOverlapAngleDeg Zenith overlap angle in degrees.

EnclosureModelSummary

Name Type Description
deviceType string
diameterM
enclosureType
hasRotation boolean
hasShutter boolean
id integer
imageId
manufacturer
modelName string
slitWidth
zenithOverlapAngleDeg Zenith overlap angle in degrees.

EnclosurePolicy

Type: string

EnclosureRotationStatus

Type: string

EnclosureShutterStatus

Type: string

EnclosureSnapshot

Name Type Description
altitudeDeg
azimuthDeg
deviceId
deviceType string
deviceUid
faultReason
isConnected boolean
operationalStatus
recordedOn
rotationStatus
shutterStatus
signalOffline
status
targetAzimuthDeg
timestamp string(date-time)

EnclosureStatus

Type: string

EnclosureType

Type: string

EnclosureUpdate

Name Type Description
deviceType string
diameterM Diameter of the enclosure in meters.
enclosurePolicy Enclosure policy for automatic opening/closing behavior.
enclosureType
hasRotation
hasShutter
idleCloseTimeoutSec Idle time in seconds before closing when open-for-tasks-only policy is active.
manufacturer
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
serialNumber Serial number for the device.
slitWidthM Width of the dome slit in meters.
sunAltitudeOpenCondition Condition that determines when to open based on sun altitude.
sunAltitudeThresholdDeg Sun altitude threshold used to determine when to open (degrees).
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
zenithOverlapAngleDeg Zenith overlap angle in degrees.

EphemeralPosition

Name Type Description
ephemeris Array<EphemerisRecord>
id integer
positionType string
targetId
uid string(uuid)

EphemerisRecord

Name Type Description
coordinates
coordinatesId
epoch string(date-time)
id

EquatorialCoordinates

Name Type Description
coordinateType string Type of the coordinate system
decDeg number ICRS declination in degrees
distancePc Distance in pc
epoch Epoch of observation
id integer Primary key for the TargetCoordinates
pmDecMasPerYear Proper motion in Dec in mas/year
pmRaMasPerYear Proper motion in RA times cos(Dec) in mas/year
raDeg number ICRS right ascension in degrees
radialVelocityKmPerSec Radial velocity in km/s

ExposureStatus

Type: string

File

Name Type Description
altTag
bucket
createdBy
createdOn string(date-time)
id string(uuid)
isDataReady boolean
lastAccessedOn
mimeType MimeType
name string
objectKey
remoteUri
renderSettings
secretLinkKey
sizeBytes
storageType
updatedOn string(date-time)
visibility FileVisibility

FileCreate

Name Type Description
altTag
bucket
createdBy
createdOn string(date-time)
isDataReady boolean
mimeType MimeType
name string
objectKey
remoteUri
renderSettings
secretLinkKey
size
storageType
updatedOn string(date-time)
visibility FileVisibility

FileSortField

Type: string

FileUpdate

Name Type Description
bucket
createdBy
isDataReady
objectKey
remoteUri
renderSettings
secretLinkKey
storageType
visibility

FileVisibility

Type: string

Filter

Name Type Description
bandpassNm Bandpass of the filter in nanometers
centralWavelengthNm Central wavelength of the filter in nanometers
filterSpecifierType string
flatExposureScaler Scale factor applied to the base twilight flat exposure time for this filter.
id string Unique identifier of the filter specifier
isModifier True if the filter is a modifier (e.g. polarizer)

FilterGroup

Name Type Description
description Description of the filter group
filterIds Array<string> List of filter IDs in the group
filters Array<Filter>
filterSpecifierType string
id string Unique identifier of the filter specifier
order integer Display order of the filter group

FilterShape

Type: string

FilterSpecifierType

Type: string

FilterWheel

Name Type Description
deviceType string
filterShape The shape of the filter slot
filterSizeMm The diameter of the filter slot if round the length of a side if square in millimeters
filterWheelPositionIds List of filter wheel position PKs
id The unique identifier for the device.
imageId Image asset ID for the device.
manufacturer
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
operationalConstraintIds Operational constraint PKs
ownerId integer The organization or user which owns the device.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
uid string(uuid) The unique UID for the device.

FilterWheelDetail

Name Type Description
deletedPositions Deleted filter wheel positions when explicitly requested.
deviceType string
filterShape The shape of the filter slot
filterSizeMm The diameter of the filter slot if round the length of a side if square in millimeters
filterWheelPositionIds List of filter wheel position PKs
id The unique identifier for the device.
imageId Image asset ID for the device.
manufacturer
model
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
operationalConstraintActions Array<OperationalConstraintAction>
operationalConstraintIds Operational constraint PKs
ownerId integer The organization or user which owns the device.
positions Array<FilterWheelPositionDetail> List of filter wheel positions.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
uid string(uuid) The unique UID for the device.

FilterWheelModel

Name Type Description
deviceType string
filterShape
filterSize
id
imageId
manufacturer
modelName string

FilterWheelModelSummary

Name Type Description
deviceType string
filterShape
filterSize
id integer
imageId
manufacturer
modelName string

FilterWheelPosition

Name Type Description
filterIds Array<string> Filter specifier IDs for this position.
filterWheelId integer The ID of the filter wheel this position belongs to.
filterWheelUid The UID of the filter wheel this position belongs to.
flatExposureScaler Initial twilight flat exposure scale in seconds for this filter wheel position.
focusOffset The focus offset in mm when this filter is in use.
id The unique identifier for the filter wheel position.
isActive boolean Whether this filter wheel position is selectable.
isDeleted boolean Whether this filter wheel position is removed from the current configuration view.
label The label of the filter wheel position.
position integer The zero-based slot index of the filter wheel position.
uid string(uuid) The unique UID for the filter wheel position.

FilterWheelPositionDetail

Name Type Description
filterIds Array<string> Filter specifier IDs for this position.
filters Array<Filter> List of filters in this position
filterWheelId integer The ID of the filter wheel this position belongs to.
filterWheelUid The UID of the filter wheel this position belongs to.
flatExposureScaler Initial twilight flat exposure scale in seconds for this filter wheel position.
focusOffset The focus offset in mm when this filter is in use.
id The unique identifier for the filter wheel position.
isActive boolean Whether this filter wheel position is selectable.
isDeleted boolean Whether this filter wheel position is removed from the current configuration view.
label The label of the filter wheel position.
position integer The zero-based slot index of the filter wheel position.
uid string(uuid) The unique UID for the filter wheel position.

FilterWheelPositionUpdate

Name Type Description
filterIds Filter specifier IDs for this position.
flatExposureScaler Initial twilight flat exposure scale in seconds for this filter wheel position.
focusOffset The focus offset in mm when this filter is in use.
id The unique identifier for the filter wheel position.
isActive Whether this filter wheel position is selectable.
isDeleted Whether this filter wheel position is removed from the current configuration view.
label string The label of the filter wheel position.
position integer The zero-based slot index of the filter wheel position.

FilterWheelSnapshot

Name Type Description
currentPosition
currentPositionId
deviceId
deviceType string
deviceUid
faultReason
isConnected boolean
operationalStatus
recordedOn
signalOffline
status FilterWheelStatus
targetPosition
targetPositionId
timestamp string(date-time)

FilterWheelStatus

Type: string

FilterWheelUpdate

Name Type Description
deviceType string
manufacturer
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
positions List of filter wheel positions.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.

FixedPosition

Name Type Description
coordinates
coordinatesId integer
id integer
positionType string
targetId
uid string(uuid)

FlatFieldSource

Type: string

Focuser

Name Type Description
deviceType string
id The unique identifier for the device.
imageId Image asset ID for the device.
manufacturer
maxPosition integer Maximum focuser position.
minPosition integer Minimum focuser position.
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
operationalConstraintIds Operational constraint PKs
ownerId integer The organization or user which owns the device.
serialNumber Serial number for the device.
stepSize number Size of each step, in the focuser driver's reported position units (e.g. microns for ASCOM, motor steps for others).
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
temperatureCompensated boolean Whether temperature compensation is supported.
uid string(uuid) The unique UID for the device.

FocuserDetail

Name Type Description
deviceType string
id The unique identifier for the device.
imageId Image asset ID for the device.
manufacturer
maxPosition integer Maximum focuser position.
minPosition integer Minimum focuser position.
model
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
operationalConstraintActions Array<OperationalConstraintAction>
operationalConstraintIds Operational constraint PKs
ownerId integer The organization or user which owns the device.
serialNumber Serial number for the device.
stepSize number Size of each step, in the focuser driver's reported position units (e.g. microns for ASCOM, motor steps for others).
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
temperatureCompensated boolean Whether temperature compensation is supported.
uid string(uuid) The unique UID for the device.

FocuserModel

Name Type Description
deviceType string
id
imageId
manufacturer
maxPosition integer
minPosition integer
modelName string
stepSize number
temperatureCompensated boolean

FocuserModelSummary

Name Type Description
deviceType string
id integer
imageId
manufacturer
maxPosition integer
minPosition integer
modelName string
stepSize number
temperatureCompensated boolean

FocuserSnapshot

Name Type Description
deviceId
deviceType string
deviceUid
faultReason
isConnected boolean
isMoving boolean
operationalStatus
position
recordedOn
signalOffline
status FocuserStatus
targetPosition
temperatureC
timestamp string(date-time)

FocuserStatus

Type: string

FocuserUpdate

Name Type Description
deviceType string
manufacturer
maxPosition Maximum focuser position.
minPosition Minimum focuser position.
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
serialNumber Serial number for the device.
stepSize Size of each step, in the focuser driver's reported position units (e.g. microns for ASCOM, motor steps for others).
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
temperatureCompensated Whether temperature compensation is supported.

FocusTemperatureSource

Type: string

GalacticCoordinates

Name Type Description
coordinateType string Type of the coordinate system
distancePc Distance in pc
epoch Epoch of observation
id integer Primary key for the TargetCoordinates
latDeg number Galactic latitude in degrees
lonDeg number Galactic longitude in degrees
pmLatMasPerYear Proper motion in latitude in mas/year
pmLonMasPerYear Proper motion in longitude times cos(lat) in mas/year
radialVelocityKmPerSec Radial velocity in km/s

GroupSummary

Name Type Description
allowDataPolicyOverride boolean Whether overriding the data policy is allowed
allowInvitations boolean Whether invitations are allowed
dataPolicy Data policy.
defaultRoleId Default role for users in this group.
description string Description of the group
id integer Unique identifier of the group.
memberCount Number of members in the group
name string Name of the group
organizationId Unique identifier of the organization to which the group belongs
slug string Unique identifier used in URLs referencing the group.

HardwareGraph

Name Type Description
devices
entities
files
filters
filterWheelPositions
instruments
ipCameras
observatories
observatoryGalleryItems
operationalConstraints
root HardwareGraphRoot
sites
telescopeGalleryItems
telescopes

HardwareGraphRoot

Name Type Description
id integer
kind string

HorizontalCoordinates

Name Type Description
altDeg number Altitude in degrees
azDeg number Azimuth in degrees
coordinateType string Type of the coordinate system
epoch Epoch of observation
id integer Primary key for the TargetCoordinates
pmAltArcsecPerSec Proper motion in altitude in arcsec/s
pmAzArcsecPerSec Proper motion in azimuth times cos(alt) in arcsec/s

HTTPValidationError

Name Type Description
detail Array<ValidationError>

InstrumentAccessMode

Type: string

InstrumentOperationalSnapshot

Name Type Description
id integer
resourceType string
resourceUid string(uuid)
status OperationalStatus
timestamp string(date-time)

InstrumentRotator

Name Type Description
deviceType string
id The unique identifier for the device.
imageId Image asset ID for the device.
manufacturer
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
operationalConstraintIds Operational constraint PKs
ownerId integer The organization or user which owns the device.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
uid string(uuid) The unique UID for the device.

InstrumentRotatorDetail

Name Type Description
deviceType string
id The unique identifier for the device.
imageId Image asset ID for the device.
manufacturer
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
operationalConstraintActions Array<OperationalConstraintAction>
operationalConstraintIds Operational constraint PKs
ownerId integer The organization or user which owns the device.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
uid string(uuid) The unique UID for the device.

InstrumentRotatorSnapshot

Name Type Description
deviceId
deviceType string
deviceUid
faultReason
isConnected boolean
operationalStatus
positionAngleDeg
recordedOn
signalOffline
status InstrumentRotatorStatus
targetPositionAngleDeg
timestamp string(date-time)

InstrumentRotatorStatus

Type: string

InstrumentRotatorUpdate

Name Type Description
deviceType string
manufacturer
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.

IPCamera

Name Type Description
id
isPrimary boolean
lastSeen
name string
observatoryId
onvifHost
order integer
pose
ptz boolean
role IPCameraRole
streams Array<IPCameraStream>
telescopeId
uid string(uuid)
vendor

IPCameraRole

Type: string

IPCameraStream

Name Type Description
active boolean
cameraId integer
expiresSec
id integer
isPublic boolean
kind StreamKind
quality

IPCameraStreamPlayURL

Name Type Description
url string

JobExceptionMessage

Name Type Description
message string
timestamp string(date-time)
traceback
type string

JobStatus

Type: string

JPLPlanetName

Type: string

MajorSolarSystemObject

Name Type Description
catalogObjectType string
id integer Primary key of the catalog object
name MajorSolarSystemObjectName Name of the major solar‑system object
uid string(uuid) Stable UUID of the catalog object

MajorSolarSystemObjectName

Type: string

ManualControlLease

Name Type Description
createdAt Lease creation timestamp (UTC).
expiresAt Lease expiration timestamp (UTC).
id integer Manual control lease identifier.
ownerId integer Entity ID that owns the lease.
reason Optional reason for taking manual control.
status Lease lifecycle status.
telescopeId integer Telescope associated with this lease.

ManualControlLeaseClientCreate

Name Type Description
reason Optional reason for taking manual control.
ttlSeconds Lease duration in seconds. Leave empty for a non-expiring lease.

ManualControlLeaseState

Type: string

MimeType

Type: string

Mount

Name Type Description
defaultPierSide PierSide
deviceType string
id The unique identifier for the device.
imageId Image asset ID for the device.
manufacturer
maxSlewAccelerationAxis1DegPerSec2
maxSlewAccelerationAxis2DegPerSec2
maxSlewRateAxis1DegPerSec number
maxSlewRateAxis2DegPerSec number
maxSlewRateDegPerSec number
maxTrackingDurationSec number
meridianAvoidanceDeg number
meridianTrackingLimitDeg number
minAltitudeDeg number
modelId
mountType MountType
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
operationalConstraintIds Operational constraint PKs
ownerId integer The organization or user which owns the device.
pivotXM number X coordinate of the mount pivot in meters.
pivotYM number Y coordinate of the mount pivot in meters.
pivotZM number Z coordinate of the mount pivot in meters.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
uid string(uuid) The unique UID for the device.
zenithAvoidanceDeg number

MountDetail

Name Type Description
defaultPierSide PierSide
deviceType string
id The unique identifier for the device.
imageId Image asset ID for the device.
manufacturer
maxSlewAccelerationAxis1DegPerSec2
maxSlewAccelerationAxis2DegPerSec2
maxSlewRateAxis1DegPerSec number
maxSlewRateAxis2DegPerSec number
maxSlewRateDegPerSec number
maxTrackingDurationSec number
meridianAvoidanceDeg number
meridianTrackingLimitDeg number
minAltitudeDeg number
model
modelId
mountType MountType
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
operationalConstraintActions Array<OperationalConstraintAction>
operationalConstraintIds Operational constraint PKs
ownerId integer The organization or user which owns the device.
pivotXM number X coordinate of the mount pivot in meters.
pivotYM number Y coordinate of the mount pivot in meters.
pivotZM number Z coordinate of the mount pivot in meters.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
uid string(uuid) The unique UID for the device.
zenithAvoidanceDeg number

MountModel

Name Type Description
defaultPierSide PierSide
deviceType string
id
imageId
manufacturer
maxSlewAccelerationAxis1DegPerSec2
maxSlewAccelerationAxis2DegPerSec2
maxSlewRateAxis1DegPerSec number
maxSlewRateAxis2DegPerSec number
meridianTrackingLimitDeg number
modelName string
mountType MountType

MountModelSummary

Name Type Description
defaultPierSide PierSide
deviceType string
id integer
imageId
manufacturer
maxSlewAccelerationAxis1DegPerSec2
maxSlewAccelerationAxis2DegPerSec2
maxSlewRateAxis1DegPerSec number
maxSlewRateAxis2DegPerSec number
meridianTrackingLimitDeg number
modelName string
mountType MountType

MountSnapshot

Name Type Description
altDeg
azDeg
decDeg
deviceId
deviceType string
deviceUid
faultReason
isConnected boolean
operationalStatus
raDeg
recordedOn
signalOffline
status MountStatus
targetAltDeg
targetAzDeg
targetDecDeg
targetRaDeg
timestamp string(date-time)
trackingRateAltArcsecPerSec
trackingRateAzArcsecPerSec
trackingRateDecArcsecPerSec
trackingRateRaArcsecPerSec

MountStatus

Type: string

MountSunSeparationConstraint

Name Type Description
actions Array<OperationalConstraintAction>
constraintType string
currentMountUid
id
isActive boolean
isDeleted boolean
lastModified string(date-time)
maxDataAgeSec integer
maxValue
minValue
observatoryId integer
ownerId integer
stabilityThresholdSec integer
telescopeId integer
telescopeUid
uid string(uuid)

MountSunSeparationConstraintCreate

Name Type Description
actions Array<OperationalConstraintActionCreate>
constraintType string
isActive
maxDataAgeSec
maxValue
minValue
observatoryId integer
ownerId integer
stabilityThresholdSec
telescopeId integer

MountSunSeparationConstraintSnapshot

Name Type Description
constraintId integer
constraintType string
constraintUid string(uuid)
lastValue
lastValueTimestamp
secondsSinceLastSafe
secondsUntilStable
status OperationalConstraintStatus
timestamp string(date-time)

MountSunSeparationConstraintUpdate

Name Type Description
actions
constraintType string
isActive
maxDataAgeSec
maxValue
minValue
observatoryId
ownerId
stabilityThresholdSec
telescopeId

MountType

Type: string

MountUpdate

Name Type Description
defaultPierSide Default pier side
deviceType string
manufacturer
maxSlewAccelerationAxis1DegPerSec2
maxSlewAccelerationAxis2DegPerSec2
maxSlewRateAxis1DegPerSec number
maxSlewRateAxis2DegPerSec number
maxSlewRateDegPerSec Maximum slew rate
maxTrackingDurationSec Maximum tracking duration
meridianAvoidanceDeg Meridian avoidance
meridianTrackingLimitDeg Meridian tracking limit
minAltitudeDeg Minimum altitude
modelId Mount model ID
mountType Mount type
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
pivotXM Pivot X in meters
pivotYM Pivot Y in meters
pivotZM Pivot Z in meters
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
zenithAvoidanceDeg Zenith avoidance

MpcComet

Name Type Description
argumentOfPerihelionDeg number Argument of perihelion in degrees
catalogObjectType string
designation Comet designation
eccentricity number Orbital eccentricity
id integer Primary key of the catalog object
inclinationDeg number Inclination in degrees
longitudeOfAscendingNodeDeg number Longitude of ascending node in degrees
name string Comet name
number Comet number
orbitType string Orbit type
perihelionDistanceAu number Perihelion distance in AU
perihelionEpochJyear number Epoch of perihelion in Julian years
uid string(uuid) Stable UUID of the catalog object

MpcOrbit

Name Type Description
argumentOfPerihelionDeg number Argument of perihelion in degrees
catalogObjectType string
designation string Orbit designation
eccentricity number Orbital eccentricity
epochJyear number Epoch of elements in Julian years
gMag G magnitude
hMag H magnitude
id integer Primary key of the catalog object
inclinationDeg number Inclination in degrees
longitudeOfAscendingNodeDeg number Longitude of ascending node in degrees
meanAnomalyDeg number Mean anomaly in degrees
name string Name of the orbited object
number Orbit number
semimajorAxisAu number Semimajor axis in AU
uid string(uuid) Stable UUID of the catalog object

NoradSatellite

Name Type Description
catalogObjectType string
classification string Satellite classification
id integer Primary key of the catalog object
internationalDesignator International Designator (COSPAR ID)
name Satellite name
omm Orbit Mean‑Elements Message fields
satelliteCatalogNumber integer NORAD catalog number
tle Two‑ or Three‑Line Elements
uid string(uuid) Stable UUID of the catalog object

ObservationAsset

Name Type Description
currentAnalysisRunId
currentProcessingOutputId
currentProcessingRunId
currentRenderRunId
fileId string(uuid)
id integer
instrumentId integer
instrumentUid
isTransferrable boolean
lastTransferAttempt
nextEligibleRenderAt
observationId integer
observationUid
previewFileId
processingFlags
remoteFilePath
renderDirtyAt
role
rootObservationAssetId
rootObservationAssetUid
thumbnailFileId
transferError
transferProgressFraction
transferState
uid string(uuid)

ObservationAssetAnalysisRun

Name Type Description
completedOn
config
errorMessages
headerCore
id string(uuid)
imageQualityMetrics
observationAssetId integer
startedAt
status JobStatus

ObservationAssetAnalysisRunHeaderCore

Name Type Description
airmass
binX
binY
bitpix
bscale
bzero
ccdTemperatureC
decTelescopeDeg
exposureTimeSec
filterId
gainElectronsPerCount
midExposureMjd
naxis
naxis1
naxis2
raTelescopeDeg
readNoiseElectrons
takenAtEndUtc
takenAtStartUtc
wcsCd11
wcsCd12
wcsCd21
wcsCd22
wcsCrota2
wcsCrpix1
wcsCrpix2
wcsCrval1
wcsCrval2
wcsInHeader
wcsPixelScaleArcsecPerPx

ObservationAssetAnalysisRunImageQualityMetrics

Name Type Description
backgroundCounts
ellipticity
fwhmArcsec
sourceCount

ObservationAssetCreate

Name Type Description
file FileCreate
instrumentId integer
isTransferrable boolean
processingFlags
remoteFilePath
role
taskInfo

ObservationAssetDetail

Name Type Description
currentAnalysisRun
currentAnalysisRunId
currentProcessingOutput
currentProcessingOutputId
currentProcessingRun
currentProcessingRunId
currentRenderRun
currentRenderRunId
file
fileId string(uuid)
id integer
instrumentId integer
instrumentUid
isTransferrable boolean
lastTransferAttempt
nextEligibleRenderAt
observationId integer
observationUid
previewFile
previewFileId
processingFlags
reductionInfo
remoteFilePath
renderDirtyAt
role
rootObservationAssetId
rootObservationAssetUid
taskInfo
taskResultProcessingOutputs
thumbnailFile
thumbnailFileId
transferError
transferProgressFraction
transferState
uid string(uuid)

ObservationAssetPipelineOutputKind

Type: string

ObservationAssetProcessingFlag

Type: string

ObservationAssetProcessingOutput

Name Type Description
id string(uuid)
isCanonical boolean
outputObservationAsset
outputObservationAssetId integer
processingRunId string(uuid)
productKind ObservationAssetPipelineOutputKind

ObservationAssetProcessingOutputSummary

Name Type Description
id string(uuid)
isCanonical boolean
outputObservationAssetId integer
processingRunId string(uuid)
productKind ObservationAssetPipelineOutputKind

ObservationAssetProcessingRun

Name Type Description
completedOn
config
errorMessages
headerCore
id string(uuid)
imageQualityMetrics
observationAssetId integer
outputs Array<ObservationAssetProcessingOutput>
photometry
pipelineVersion
reductionInfo
startedAt
status JobStatus
wcsSolution

ObservationAssetProcessingRunHeaderCore

Name Type Description
airmass
binX
binY
bitpix
bscale
bzero
ccdTemperatureC
decTelescopeDeg
exposureTimeSec
filterId
gainElectronsPerCount
midExposureMjd
naxis
naxis1
naxis2
raTelescopeDeg
readNoiseElectrons
takenAtEndUtc
takenAtStartUtc

ObservationAssetProcessingRunImageQualityMetrics

Name Type Description
backgroundCounts
ellipticity
fwhmArcsec
sourceCount

ObservationAssetProcessingRunImageReductionInfo

Name Type Description
masterBiasId
masterDarkId
masterFlatId
rawAssetId

ObservationAssetProcessingRunPhotometry

Name Type Description
zeroPointErrorMag
zeroPointMag

ObservationAssetProcessingRunWcsSolution

Name Type Description
cd11
cd12
cd21
cd22
cdelt1
cdelt2
crota2
crpix1
crpix2
crval1
crval2
dateSolved
decDeg
deltaDecDeg
deltaRaDeg
foundSolution
heightPx
mirrored
nField
pixelScaleArcsecPerPx
pointingErrorArcsec
raDeg
rotationDeg
scienceHduIndex
widthPx

ObservationAssetReductionInfo

Name Type Description
biasId
darkId
flatId
observationAssetId
observationAssetUid
rawFileId
uid string(uuid)

ObservationAssetRenderRun

Name Type Description
completedOn
config
configHash
createdOn string(date-time)
currentStage
currentStageIndex
currentStageProgressFraction
errorMessages
id string(uuid)
iterations integer
observationAssetId integer
priority integer
rendererVersion
startedOn
status JobStatus
totalStages
version

ObservationAssetRole

Type: string

ObservationAssetSortField

Type: string

ObservationAssetSummary

Name Type Description
currentAnalysisRun
currentAnalysisRunId
currentProcessingOutput
currentProcessingOutputId
currentProcessingRun
currentProcessingRunId
currentRenderRun
currentRenderRunId
file
fileId string(uuid)
id integer
instrumentId integer
instrumentUid
isTransferrable boolean
lastTransferAttempt
nextEligibleRenderAt
observationId integer
observationUid
previewFile
previewFileId
processingFlags
reductionInfo
remoteFilePath
renderDirtyAt
role
rootObservationAssetId
rootObservationAssetUid
taskInfo
taskResultProcessingOutputs
thumbnailFile
thumbnailFileId
transferError
transferProgressFraction
transferState
uid string(uuid)

ObservationAssetUpdate

Name Type Description
fileId
isTransferrable
lastTransferAttempt
processingFlags
remoteFilePath
role
taskInfo
transferError
transferState

ObservationAssetView

Type: string

ObservationKind

Type: string

ObservationPositionOffsetFrame

Type: string

ObservationRequestStatus

Type: string

ObservationTaskResultPipelineOutputKind

Type: string

ObservationTaskResultProcessingRunOutputSummary

Name Type Description
id integer
observationAssetId integer
outputKind ObservationTaskResultPipelineOutputKind
processingRunId integer
tileId

ObservationTaskSortField

Type: string

ObservationTaskStatus

Type: string

ObservationType

Type: string

Observatory

Name Type Description
countryCode string
description
elevationM number
galleryItemIds
iauCode
id
imageId
ipCameraIds
isAvailable boolean
isPublic boolean
latitudeDeg number
location string
longitudeDeg number
name string
ownerId integer
publicLatitudeDeg
publicLongitudeDeg
shortName
siteId
siteUid
slug string
telescopeIds
uid string(uuid)
weatherSensorIds

ObservatoryDetail

Name Type Description
countryCode string
description
elevationM number
galleryItemIds
galleryItems Array<ObservatoryGalleryItem>
iauCode
id
imageId
ipCameraIds
ipCameras Array<IPCamera>
isAvailable boolean
isPublic boolean
latitudeDeg number
location string
longitudeDeg number
name string
owner
ownerId integer
publicLatitudeDeg
publicLongitudeDeg
shortName
site
siteId
siteUid
slug string
telescopeIds
telescopes Array<TelescopeSummary>
uid string(uuid)
weatherSensorIds
weatherSensors Array<WeatherSensor>

ObservatoryGalleryItem

Name Type Description
file
fileId string(uuid)
id integer
observatoryId integer
order
visibility boolean

ObservatoryOperationalSnapshot

Name Type Description
id integer
resourceType string
resourceUid string(uuid)
status OperationalStatus
timestamp string(date-time)

ObservatorySummary

Name Type Description
countryCode string
description
elevationM number
galleryItemIds
iauCode
id
imageId
ipCameraIds
isAvailable boolean
isPublic boolean
latitudeDeg number
location string
longitudeDeg number
name string
owner
ownerId integer
publicLatitudeDeg
publicLongitudeDeg
shortName
site
siteId
siteUid
slug string
telescopeIds
uid string(uuid)
weatherSensorIds

ObservatoryUpdate

Name Type Description
countryCode
description
elevationM
iauCode
imageId
isAvailable
isPublic
latitudeDeg
location
longitudeDeg
name
ownerId
shortName
siteId
siteUid
slug

ObservatoryWithoutTelescopes

Name Type Description
countryCode string
description
elevationM number
galleryItemIds
galleryItems Array<ObservatoryGalleryItem>
iauCode
id
imageId
ipCameraIds
ipCameras Array<IPCamera>
isAvailable boolean
isPublic boolean
latitudeDeg number
location string
longitudeDeg number
name string
owner
ownerId integer
publicLatitudeDeg
publicLongitudeDeg
shortName
site
siteId
siteUid
slug string
telescopeIds
telescopes Array<TelescopeSummary>
uid string(uuid)
weatherSensorIds
weatherSensors Array<WeatherSensor>

ObservingAccountQuota

Name Type Description
accountId integer
anchorAt
createdOn string(date-time)
creditsRemainingInWindow number
creditsUsedInWindow number
currentWindowEnd
currentWindowStart
enabled boolean
id integer
maxCredits number
periodType ObservingQuotaPeriodType
startsAtLocalTime
timezone string
updatedOn string(date-time)

ObservingAccountSummary

Name Type Description
creditsUsed
effectiveQueueAccessGrants
id integer
isDeleted boolean
lastActivityOn
managingGroup
managingGroupId
name
observingPolicy
observingPolicyId
order integer
owner
ownerId integer
path
queueAccessGrantIds
quotas
slug
sourceAccountGrantId
sourceAccountId
sponsor

ObservingDataPolicy

Type: string

ObservingPolicyDetail

Name Type Description
allowedCatalogObjectTypes
allowedCoordinateTypes
allowedDataPolicies Array<ObservingDataPolicy>
allowedRequestTypes Array<ObservationType>
allowedTargetPositionTypes
allowHiddenObservation boolean
allowHiddenTelemetry boolean
dataPublicAfter
description
id integer
name string
observingAccounts List of observing accounts associated with this policy.
observingQueueAccessGrants List of observing queue access grants associated with this policy.
organizationId integer

ObservingPolicySummary

Name Type Description
allowedCatalogObjectTypes
allowedCoordinateTypes
allowedDataPolicies Array<ObservingDataPolicy>
allowedRequestTypes Array<ObservationType>
allowedTargetPositionTypes
allowHiddenObservation boolean
allowHiddenTelemetry boolean
dataPublicAfter
description
id integer
name string
organizationId integer

ObservingQueue

Name Type Description
accessPrioritization ObservingQueueAccessPrioritization
canInterrupt boolean
description string
enabled boolean
id integer
name string
order integer
slug string
telescopeId integer

ObservingQueueAccessGrant

Name Type Description
effectiveOrder integer
id integer
observingPolicyId
order integer
queueId integer
revoked boolean
telescopeAccessGrantId integer
timeContested number
timeUsed number
timeWaiting number

ObservingQueueAccessGrantCreate

Name Type Description
observingPolicyId
order integer
queueId integer
telescopeAccessGrantId integer

ObservingQueueAccessGrantDetail

Name Type Description
effectiveOrder integer
id integer
observingPolicy
observingPolicyId
order integer
queue
queueId integer
revoked boolean
telescopeAccessGrant
telescopeAccessGrantId integer
timeContested number
timeUsed number
timeWaiting number

ObservingQueueAccessGrantSummary

Name Type Description
effectiveOrder integer
id integer
observingPolicyId
order integer
queue
queueId integer
revoked boolean
telescopeAccessGrant
telescopeAccessGrantId integer
timeContested number
timeUsed number
timeWaiting number

ObservingQueueAccessGrantUpdate

Name Type Description
order integer
queueId integer

ObservingQueueAccessGrantWithTelescopeAccessGrant

Name Type Description
effectiveOrder integer
id integer
observingPolicy
observingPolicyId
order integer
queue
queueId integer
revoked boolean
telescopeAccessGrant
telescopeAccessGrantId integer
timeContested number
timeUsed number
timeWaiting number

ObservingQueueAccessPrioritization

Type: string

ObservingQueueDetail

Name Type Description
accessPrioritization ObservingQueueAccessPrioritization
canInterrupt boolean
description string
enabled boolean
id integer
name string
order integer
slug string
telescope
telescopeId integer

ObservingQueueSummary

Name Type Description
accessPrioritization ObservingQueueAccessPrioritization
canInterrupt boolean
description string
enabled boolean
id integer
name string
order integer
slug string
telescope
telescopeId integer

ObservingQueueUpdate

Name Type Description
accessPrioritization ObservingQueueAccessPrioritization
canInterrupt boolean
description string
enabled boolean
name string
order integer

ObservingQuotaPeriodType

Type: string

OperationalConstraintAction

Name Type Description
action OperationalConstraintActionType
deviceId integer
deviceUid
id
operationalConstraintId integer
priority integer
triggerOnStabilizing boolean
triggerOnUnknown boolean
triggerOnUnsafe boolean
uid string(uuid)

OperationalConstraintActionCreate

Name Type Description
action OperationalConstraintActionType
deviceId integer
priority integer
triggerOnStabilizing boolean
triggerOnUnknown boolean
triggerOnUnsafe boolean

OperationalConstraintActionSnapshot

Name Type Description
action OperationalConstraintActionType
active boolean
deviceId integer
deviceUid
evaluatedAt string(date-time)
evaluatorInstallationId
id
operationalConstraintActionId integer
operationalConstraintActionUid
operationalConstraintId
operationalConstraintUid
reason
sourceStatus OperationalConstraintStatus

OperationalConstraintActionType

Type: string

OperationalConstraintActionUpdate

Name Type Description
action OperationalConstraintActionType
deviceId integer
id
priority integer
triggerOnStabilizing boolean
triggerOnUnknown boolean
triggerOnUnsafe boolean

OperationalConstraintStatus

Type: string

OperationalConstraintType

Type: string

OperationalStatus

Type: string

OpticalImager

Name Type Description
calibrationConfiguration Calibration configuration
calibrationMasterStrategy CalibrationMasterStrategy How calibration masters are produced
cameraId integer Camera PK
cameraUid Camera UID
configurationUpdatedOn string(date-time) Timestamp of last scheduling-relevant configuration update
configurationVersion integer Monotonic scheduling configuration version
filterCombinations Allowed filter combos
filterWheelIds Array<integer> Filter Wheel PKs
filterWheelUids Filter Wheel UIDs
focuserId Focuser PK
focuserUid Focuser UID
focusReferenceTemperatureC Reference temperature for focus calibration
focusTemperatureCompensationEnabled boolean Whether focus temperature compensation is enabled
focusTemperatureSlope Focus slope (position units per degree)
focusTemperatureSource Temperature source for focus compensation
focusZeroPoint Focuser position at reference temperature
fov FOV (width, height) in degrees
id Instrument PK
instrumentRotatorId Instrument rotator PK
instrumentRotatorUid Instrument rotator UID
instrumentType string Optical imager
isActive boolean Is active?
name string Instrument name
otaId integer OTA PK
otaUid OTA UID
pixelScale Pixel scale (arcsec/pixel)
seeingArcsec number Seeing (arcsec)
skyParams Sky parameters
telescopeId integer Owning telescope PK
telescopeUid Owning telescope UID
uid string(uuid) Instrument UID
weatherSensorId Weather sensor PK for ambient focus compensation
weatherSensorUid Weather sensor UID for ambient focus compensation

OpticalImagerCalibrationConfiguration

Name Type Description
biasMaxSunElevationDeg number Maximum allowed Sun elevation for bias calibrations (degrees)
biasMinSunElevationDeg number Minimum allowed Sun elevation for bias calibrations (degrees)
calibrationIntervalHours number Desired interval between calibration observations (hours)
darkExposureTimes Array<number> Dark exposure times to collect, in seconds.
darkMaxSunElevationDeg number Maximum allowed Sun elevation for dark calibrations (degrees)
darkMinSunElevationDeg number Minimum allowed Sun elevation for dark calibrations (degrees)
flatFieldSource FlatFieldSource Flat field illumination source
flatToleranceFraction number Fractional tolerance for flat-field average counts
imagerId integer Optical imager ID
maxExposureTimeSec number Maximum acceptable exposure time for flats (seconds)
minExposureTimeSec number Minimum acceptable exposure time for flats (seconds)
numBiases integer Number of bias frames
numDarks integer Number of dark frames
numFlats integer Number of flat frames
screenFlatEnclosureAzimuthDeg Enclosure azimuth for enclosure-screen flats (degrees)
screenFlatMaxSunElevationDeg number Maximum allowed Sun elevation for enclosure-screen flat calibrations (degrees)
screenFlatMinSunElevationDeg number Minimum allowed Sun elevation for enclosure-screen flat calibrations (degrees)
screenFlatMountAltitudeDeg Mount altitude for enclosure-screen flats (degrees)
screenFlatMountAzimuthDeg Mount azimuth for enclosure-screen flats (degrees)
targetFullWellFraction number Target fraction of full well depth for flats
twilightFlatMaxSunElevationDeg number Maximum allowed Sun elevation for twilight flat calibrations (degrees)
twilightFlatMinSunElevationDeg number Minimum allowed Sun elevation for twilight flat calibrations (degrees)

OpticalImagerCalibrationConfigurationCreate

Name Type Description
biasMaxSunElevationDeg number Maximum allowed Sun elevation for bias calibrations (degrees)
biasMinSunElevationDeg number Minimum allowed Sun elevation for bias calibrations (degrees)
calibrationIntervalHours number Desired interval between calibration observations (hours)
darkMaxSunElevationDeg number Maximum allowed Sun elevation for dark calibrations (degrees)
darkMinSunElevationDeg number Minimum allowed Sun elevation for dark calibrations (degrees)
flatFieldSource FlatFieldSource Flat field illumination source
flatToleranceFraction number Fractional tolerance for flat-field average counts
imagerId integer Optical imager ID
maxExposureTimeSec number Maximum acceptable exposure time for flats (seconds)
minExposureTimeSec number Minimum acceptable exposure time for flats (seconds)
numBiases integer Number of bias frames
numDarks integer Number of dark frames
numFlats integer Number of flat frames
screenFlatEnclosureAzimuthDeg Enclosure azimuth for enclosure-screen flats (degrees)
screenFlatMaxSunElevationDeg number Maximum allowed Sun elevation for enclosure-screen flat calibrations (degrees)
screenFlatMinSunElevationDeg number Minimum allowed Sun elevation for enclosure-screen flat calibrations (degrees)
screenFlatMountAltitudeDeg Mount altitude for enclosure-screen flats (degrees)
screenFlatMountAzimuthDeg Mount azimuth for enclosure-screen flats (degrees)
targetFullWellFraction number Target fraction of full well depth for flats
twilightFlatMaxSunElevationDeg number Maximum allowed Sun elevation for twilight flat calibrations (degrees)
twilightFlatMinSunElevationDeg number Minimum allowed Sun elevation for twilight flat calibrations (degrees)

OpticalImagerCalibrationConfigurationUpdate

Name Type Description
biasMaxSunElevationDeg Maximum allowed Sun elevation for bias calibrations (degrees)
biasMinSunElevationDeg Minimum allowed Sun elevation for bias calibrations (degrees)
calibrationIntervalHours Desired interval between calibration observations (hours)
darkMaxSunElevationDeg Maximum allowed Sun elevation for dark calibrations (degrees)
darkMinSunElevationDeg Minimum allowed Sun elevation for dark calibrations (degrees)
flatFieldSource Flat field illumination source
flatToleranceFraction Fractional tolerance for flat-field average counts
maxExposureTimeSec Maximum acceptable exposure time for flats (seconds)
minExposureTimeSec Minimum acceptable exposure time for flats (seconds)
numBiases Number of bias frames
numDarks Number of dark frames
numFlats Number of flat frames
screenFlatEnclosureAzimuthDeg Enclosure azimuth for enclosure-screen flats (degrees)
screenFlatMaxSunElevationDeg Maximum allowed Sun elevation for enclosure-screen flat calibrations (degrees)
screenFlatMinSunElevationDeg Minimum allowed Sun elevation for enclosure-screen flat calibrations (degrees)
screenFlatMountAltitudeDeg Mount altitude for enclosure-screen flats (degrees)
screenFlatMountAzimuthDeg Mount azimuth for enclosure-screen flats (degrees)
targetFullWellFraction Target fraction of full well depth for flats
twilightFlatMaxSunElevationDeg Maximum allowed Sun elevation for twilight flat calibrations (degrees)
twilightFlatMinSunElevationDeg Minimum allowed Sun elevation for twilight flat calibrations (degrees)

OpticalImagerCreate

Name Type Description
calibrationConfiguration Calibration configuration
calibrationMasterStrategy How calibration masters are produced
cameraId integer ID of the camera
cameraUid UID of the camera
filterWheelUids Filter wheel UIDs
focuserId ID of the focuser
focuserUid UID of the focuser
focusReferenceTemperatureC Reference temperature for focus calibration
focusTemperatureCompensationEnabled Whether focus temperature compensation is enabled
focusTemperatureSlope Focus slope (position units per degree)
focusTemperatureSource Temperature source for focus compensation
focusZeroPoint Focuser position at reference temperature
instrumentRotatorId ID of the instrument rotator
instrumentRotatorUid UID of the instrument rotator
instrumentType string Optical imager
isActive Whether the instrument is active
otaId integer ID of the OTA (optical tube assembly)
otaUid UID of the OTA (optical tube assembly)
seeingArcsec number Seeing in arcseconds.
skyParams Sky parameters dictionary
telescopeId integer Unique identifier of the telescope
telescopeUid UID of the associated telescope
weatherSensorId Weather sensor PK for ambient focus compensation
weatherSensorUid Weather sensor UID for ambient focus compensation

OpticalImagerDetail

Name Type Description
calibrationConfiguration Calibration configuration
calibrationMasterStrategy CalibrationMasterStrategy How calibration masters are produced
camera Camera details
cameraId integer Camera PK
cameraUid Camera UID
configurationUpdatedOn string(date-time) Timestamp of last scheduling-relevant configuration update
configurationVersion integer Monotonic scheduling configuration version
filterCombinations Allowed filter combos
filterWheelIds Array<integer> Filter Wheel PKs
filterWheels Array<FilterWheelDetail>
filterWheelUids Filter Wheel UIDs
focuser Focuser details
focuserId Focuser PK
focuserUid Focuser UID
focusReferenceTemperatureC Reference temperature for focus calibration
focusTemperatureCompensationEnabled boolean Whether focus temperature compensation is enabled
focusTemperatureSlope Focus slope (position units per degree)
focusTemperatureSource Temperature source for focus compensation
focusZeroPoint Focuser position at reference temperature
fov FOV (width, height) in degrees
id Instrument PK
instrumentRotator Instrument rotator details
instrumentRotatorId Instrument rotator PK
instrumentRotatorUid Instrument rotator UID
instrumentType string Optical imager
isActive boolean Is active?
name string Instrument name
ota OTA details
otaId integer OTA PK
otaUid OTA UID
pixelScale Pixel scale (arcsec/pixel)
seeingArcsec number Seeing (arcsec)
skyParams Sky parameters
telescope Telescope
telescopeId integer Owning telescope PK
telescopeUid Owning telescope UID
uid string(uuid) Instrument UID
weatherSensorId Weather sensor PK for ambient focus compensation
weatherSensorUid Weather sensor UID for ambient focus compensation

OpticalImagerSummary

Name Type Description
calibrationConfiguration Calibration configuration
camera Camera details
cameraId integer Camera PK
cameraUid Camera UID
filterCombinations Allowed filter combos
filterWheels Filter wheels
focuser Focuser details
focuserId Focuser PK
focuserUid Focuser UID
focusReferenceTemperatureC Reference temperature for focus calibration
focusTemperatureCompensationEnabled boolean Whether focus temperature compensation is enabled
focusTemperatureSlope Focus slope (position units per degree)
focusTemperatureSource Temperature source for focus compensation
focusZeroPoint Focuser position at reference temperature
fov FOV (width, height) in degrees
id integer Instrument PK
instrumentRotator Instrument rotator details
instrumentRotatorId Instrument rotator PK
instrumentRotatorUid Instrument rotator UID
instrumentType string Optical imager
isActive boolean Is active?
ota OTA details
otaId integer OTA PK
otaUid OTA UID
pixelScale Pixel scale (arcsec/pixel)
seeingArcsec number Seeing (arcsec)
skyParams Sky parameters
telescope Telescope
telescopeId integer Owning telescope PK
telescopeUid Owning telescope UID
uid string(uuid) Instrument UID
weatherSensorId Weather sensor PK for ambient focus compensation
weatherSensorUid Weather sensor UID for ambient focus compensation

OpticalImagerUpdate

Name Type Description
calibrationConfiguration Calibration configuration
calibrationMasterStrategy How calibration masters are produced
cameraId ID of the camera
cameraUid UID of the camera
filterWheelUids Filter wheel UIDs
focuserId ID of the focuser
focuserUid UID of the focuser
focusReferenceTemperatureC Reference temperature for focus calibration
focusTemperatureCompensationEnabled Whether focus temperature compensation is enabled
focusTemperatureSlope Focus slope (position units per degree)
focusTemperatureSource Temperature source for focus compensation
focusZeroPoint Focuser position at reference temperature
instrumentRotatorId ID of the instrument rotator
instrumentRotatorUid UID of the instrument rotator
instrumentType string Optical imager
isActive Whether the instrument is active
otaId ID of the OTA (optical tube assembly)
otaUid UID of the OTA (optical tube assembly)
seeingArcsec Seeing in arcseconds.
skyParams Sky parameters dictionary
telescopeId ID of the associated telescope
telescopeUid UID of the associated telescope
weatherSensorId Weather sensor PK for ambient focus compensation
weatherSensorUid Weather sensor UID for ambient focus compensation

OpticalImagingBiasCalibrationRequestDetail

Name Type Description
active boolean
cameraId
ccdTemperatureC
createdOn
currentIteration integer
currentTask
expiresOn
id integer
instrumentId
instrumentMode InstrumentAccessMode
isDeleted boolean
iterations integer
kind ObservationKind
modifiedOn
observationId integer
observationUid
order integer
originalId
originalUid
progressFraction number
readoutModeId
requestType string
requiredFrames integer
status ObservationRequestStatus
temperatureBand
uid string(uuid)

OpticalImagingBiasCalibrationTask

Name Type Description
acquiredFrames integer
actualEndTime
actualStartTime
assetsRevision integer
cameraId
cameraUid
ccdTemperatureC
completedOn
earliestStartTime
expirationTime
expiresOn
id integer
instrumentConfigurationVersion
instrumentId integer
instrumentUid
masterFileId
modifiedOn string(date-time)
observationId integer
observationIteration integer
observationUid
observingGrantId integer
observingGrantUid
plannedDuration
plannedStartTime
progressFraction number
queueAccessGrantId
queueAccessGrantUid
readoutModeId
requestId integer
requestIteration integer
requestUid
requiredFrames integer
schedulerRunId
schedulerRunUid
status ObservationTaskStatus
targetId
taskType string
temperatureBand
totalPlannedDuration
uid string(uuid)

OpticalImagingBiasCalibrationTaskDetail

Name Type Description
acquiredFrames integer
actualEndTime
actualStartTime
assetsRevision integer
camera
cameraId
cameraUid
ccdTemperatureC
completedOn
earliestStartTime
expirationTime
expiresOn
id integer
instrument OpticalImagerDetail
instrumentConfigurationVersion
instrumentId integer
instrumentUid
masterFileId
modifiedOn string(date-time)
observationId integer
observationIteration integer
observationUid
observingGrantId integer
observingGrantUid
plannedDuration
plannedStartTime
progressFraction number
queueAccessGrantId
queueAccessGrantUid
readoutMode
readoutModeId
request OpticalImagingBiasCalibrationRequestDetail
requestId integer
requestIteration integer
requestUid
requiredFrames integer
schedulerRunId
schedulerRunUid
status ObservationTaskStatus
target
targetId
taskType string
temperatureBand
totalPlannedDuration
uid string(uuid)

OpticalImagingBiasCalibrationTaskSummary

Name Type Description
acquiredFrames integer
actualEndTime
actualStartTime
assetsRevision integer
cameraId
cameraUid
ccdTemperatureC
completedOn
earliestStartTime
expirationTime
expiresOn
id integer
instrument OpticalImagerDetail
instrumentConfigurationVersion
instrumentId integer
instrumentUid
masterFileId
modifiedOn string(date-time)
observationId integer
observationIteration integer
observationUid
observingGrantId integer
observingGrantUid
plannedDuration
plannedStartTime
progressFraction number
queueAccessGrantId
queueAccessGrantUid
readoutModeId
requestId integer
requestIteration integer
requestUid
requiredFrames integer
schedulerRunId
schedulerRunUid
status ObservationTaskStatus
targetId
taskType string
temperatureBand
totalPlannedDuration
uid string(uuid)

OpticalImagingBiasCalibrationTaskUpdate

Name Type Description
acquiredFrames
actualEndTime
actualStartTime
cameraId
cameraUid
ccdTemperatureC
completedOn
earliestStartTime
expirationTime
expiresOn
instrumentId
instrumentUid
masterFileId
observationIteration
observingGrantId
plannedDuration
plannedStartTime
progressFraction
queueAccessGrantId
readoutModeId
requestId
requestIteration
requiredFrames
status
targetId
targetIteration
taskType string
temperatureBand
totalPlannedDuration

OpticalImagingCalibrationObservationAssetTaskInfoCreate

Name Type Description
exposureTimeSec
frameNumber
observationAssetId
taskId integer
taskType string

OpticalImagingCalibrationObservationAssetTaskInfoDetail

Name Type Description
exposureTimeSec
frameNumber
observationAssetId
observationAssetUid
task
taskId integer
taskType string
taskUid
uid string(uuid)

OpticalImagingCalibrationObservationAssetTaskInfoUpdate

Name Type Description
exposureTimeSec
frameNumber
observationAssetId
taskId integer
taskType string

OpticalImagingDarkCalibrationRequestDetail

Name Type Description
active boolean
cameraId
ccdTemperatureC
createdOn
currentIteration integer
currentTask
expiresOn
exposureTimeSec
id integer
instrumentId
instrumentMode InstrumentAccessMode
isDeleted boolean
iterations integer
kind ObservationKind
modifiedOn
observationId integer
observationUid
order integer
originalId
originalUid
progressFraction number
readoutModeId
requestType string
requiredFrames integer
status ObservationRequestStatus
temperatureBand
uid string(uuid)

OpticalImagingDarkCalibrationTask

Name Type Description
acquiredFrames integer
actualEndTime
actualStartTime
assetsRevision integer
cameraId
cameraUid
ccdTemperatureC
completedOn
earliestStartTime
expirationTime
expiresOn
exposureTimeSec
id integer
instrumentConfigurationVersion
instrumentId integer
instrumentUid
masterFileId
modifiedOn string(date-time)
observationId integer
observationIteration integer
observationUid
observingGrantId integer
observingGrantUid
plannedDuration
plannedStartTime
progressFraction number
queueAccessGrantId
queueAccessGrantUid
readoutModeId
requestId integer
requestIteration integer
requestUid
requiredFrames integer
schedulerRunId
schedulerRunUid
status ObservationTaskStatus
targetId
taskType string
temperatureBand
totalPlannedDuration
uid string(uuid)

OpticalImagingDarkCalibrationTaskDetail

Name Type Description
acquiredFrames integer
actualEndTime
actualStartTime
assetsRevision integer
camera
cameraId
cameraUid
ccdTemperatureC
completedOn
earliestStartTime
expirationTime
expiresOn
exposureTimeSec
id integer
instrument OpticalImagerDetail
instrumentConfigurationVersion
instrumentId integer
instrumentUid
masterFileId
modifiedOn string(date-time)
observationId integer
observationIteration integer
observationUid
observingGrantId integer
observingGrantUid
plannedDuration
plannedStartTime
progressFraction number
queueAccessGrantId
queueAccessGrantUid
readoutMode
readoutModeId
request OpticalImagingDarkCalibrationRequestDetail
requestId integer
requestIteration integer
requestUid
requiredFrames integer
schedulerRunId
schedulerRunUid
status ObservationTaskStatus
target
targetId
taskType string
temperatureBand
totalPlannedDuration
uid string(uuid)

OpticalImagingDarkCalibrationTaskSummary

Name Type Description
acquiredFrames integer
actualEndTime
actualStartTime
assetsRevision integer
cameraId
cameraUid
ccdTemperatureC
completedOn
earliestStartTime
expirationTime
expiresOn
exposureTimeSec
id integer
instrument OpticalImagerDetail
instrumentConfigurationVersion
instrumentId integer
instrumentUid
masterFileId
modifiedOn string(date-time)
observationId integer
observationIteration integer
observationUid
observingGrantId integer
observingGrantUid
plannedDuration
plannedStartTime
progressFraction number
queueAccessGrantId
queueAccessGrantUid
readoutModeId
requestId integer
requestIteration integer
requestUid
requiredFrames integer
schedulerRunId
schedulerRunUid
status ObservationTaskStatus
targetId
taskType string
temperatureBand
totalPlannedDuration
uid string(uuid)

OpticalImagingDarkCalibrationTaskUpdate

Name Type Description
acquiredFrames
actualEndTime
actualStartTime
cameraId
cameraUid
ccdTemperatureC
completedOn
earliestStartTime
expirationTime
expiresOn
exposureTimeSec
instrumentId
instrumentUid
masterFileId
observationIteration
observingGrantId
plannedDuration
plannedStartTime
progressFraction
queueAccessGrantId
readoutModeId
requestId
requestIteration
requiredFrames
status
targetId
targetIteration
taskType string
temperatureBand
totalPlannedDuration

OpticalImagingFlatCalibrationRequestDetail

Name Type Description
active boolean
cameraId
ccdTemperatureC
createdOn
currentIteration integer
currentTask
expiresOn
filterIds Array<string>
filters Array<Filter>
id integer
instrumentId
instrumentMode InstrumentAccessMode
isDeleted boolean
iterations integer
kind ObservationKind
maxExposureTimeSec
minExposureTimeSec
modifiedOn
observationId integer
observationUid
order integer
originalId
originalUid
progressFraction number
readoutModeId
requestType string
requiredFrames integer
status ObservationRequestStatus
targetFullWellFraction
temperatureBand
uid string(uuid)

OpticalImagingFlatCalibrationTask

Name Type Description
acquiredFrames integer
actualEndTime
actualStartTime
assetsRevision integer
cameraId
cameraUid
ccdTemperatureC
completedOn
earliestStartTime
expirationTime
expiresOn
filterIds
filterWheelPositionIds
id integer
instrumentConfigurationVersion
instrumentId integer
instrumentUid
masterFileId
maxExposureTimeSec
minExposureTimeSec
modifiedOn string(date-time)
observationId integer
observationIteration integer
observationUid
observingGrantId integer
observingGrantUid
plannedDuration
plannedStartTime
progressFraction number
queueAccessGrantId
queueAccessGrantUid
readoutModeId
requestId integer
requestIteration integer
requestUid
requiredFrames integer
schedulerRunId
schedulerRunUid
status ObservationTaskStatus
targetFullWellFraction
targetId
taskType string
temperatureBand
totalPlannedDuration
uid string(uuid)

OpticalImagingFlatCalibrationTaskDetail

Name Type Description
acquiredFrames integer
actualEndTime
actualStartTime
assetsRevision integer
camera
cameraId
cameraUid
ccdTemperatureC
completedOn
earliestStartTime
expirationTime
expiresOn
filterIds
filters Array<Filter>
filterWheelPositionIds
filterWheelPositions Array<FilterWheelPosition>
id integer
instrument OpticalImagerDetail
instrumentConfigurationVersion
instrumentId integer
instrumentUid
masterFileId
maxExposureTimeSec
minExposureTimeSec
modifiedOn string(date-time)
observationId integer
observationIteration integer
observationUid
observingGrantId integer
observingGrantUid
plannedDuration
plannedStartTime
progressFraction number
queueAccessGrantId
queueAccessGrantUid
readoutMode
readoutModeId
request OpticalImagingFlatCalibrationRequestDetail
requestId integer
requestIteration integer
requestUid
requiredFrames integer
schedulerRunId
schedulerRunUid
status ObservationTaskStatus
target
targetFullWellFraction
targetId
taskType string
temperatureBand
totalPlannedDuration
uid string(uuid)

OpticalImagingFlatCalibrationTaskSummary

Name Type Description
acquiredFrames integer
actualEndTime
actualStartTime
assetsRevision integer
cameraId
cameraUid
ccdTemperatureC
completedOn
earliestStartTime
expirationTime
expiresOn
filterIds
filterWheelPositionIds
id integer
instrument OpticalImagerDetail
instrumentConfigurationVersion
instrumentId integer
instrumentUid
masterFileId
maxExposureTimeSec
minExposureTimeSec
modifiedOn string(date-time)
observationId integer
observationIteration integer
observationUid
observingGrantId integer
observingGrantUid
plannedDuration
plannedStartTime
progressFraction number
queueAccessGrantId
queueAccessGrantUid
readoutModeId
requestId integer
requestIteration integer
requestUid
requiredFrames integer
schedulerRunId
schedulerRunUid
status ObservationTaskStatus
targetFullWellFraction
targetId
taskType string
temperatureBand
totalPlannedDuration
uid string(uuid)

OpticalImagingFlatCalibrationTaskUpdate

Name Type Description
acquiredFrames
actualEndTime
actualStartTime
cameraId
cameraUid
ccdTemperatureC
completedOn
earliestStartTime
expirationTime
expiresOn
filterIds
filterWheelPositionIds
instrumentId
instrumentUid
masterFileId
maxExposureTimeSec
minExposureTimeSec
observationIteration
observingGrantId
plannedDuration
plannedStartTime
progressFraction
queueAccessGrantId
readoutModeId
requestId
requestIteration
requiredFrames
status
targetFullWellFraction
targetId
targetIteration
taskType string
temperatureBand
totalPlannedDuration

OpticalImagingObservationAssetTaskInfoCreate

Name Type Description
exposureTimeSec
frameNumber
observationAssetId
taskId integer
taskType string
tileId

OpticalImagingObservationAssetTaskInfoDetail

Name Type Description
exposureTimeSec
frameNumber
observationAssetId
observationAssetUid
task
taskId integer
taskType string
taskUid
tileId
uid string(uuid)

OpticalImagingObservationAssetTaskInfoUpdate

Name Type Description
exposureTimeSec
frameNumber
observationAssetId
taskId integer
taskType string
tileId

OpticalImagingRequestDetail

Name Type Description
active boolean
allowBinning
allowCoadding boolean
allowRegistration boolean
createdOn
currentIteration integer
currentTask
electronicShutter
exposureTimeSec
fastReadout
filterSpecifierIds Array<string>
filterSpecifiers Array<>
globalShutter
hdr
highGain
id integer
instrumentMode InstrumentAccessMode
isDeleted boolean
iterations integer
kind ObservationKind
maxBitDepth
minBitDepth
modifiedOn
observationId integer
observationUid
order integer
originalId
originalUid
progressFraction number
rbiFlood
requestType string
status ObservationRequestStatus
targetFullWellFraction
targetSnr
uid string(uuid)

OpticalImagingTask

Name Type Description
acquiredExposureTimeSec number
acquiredFrames integer
actualEndTime
actualStartTime
assetsRevision integer
cameraId integer
cameraUid
completedOn
earliestStartTime
expirationTime
filterIds Array<string>
filterWheelPositionIds Array<integer>
id integer
instrumentConfigurationVersion
instrumentId integer
instrumentUid
maxExposureTimeSec
modifiedOn string(date-time)
observationId integer
observationIteration integer
observationUid
observingGrantId integer
observingGrantUid
otaId integer
otaUid
plannedDuration
plannedStartTime
progressFraction number
queueAccessGrantId
queueAccessGrantUid
requestId integer
requestIteration integer
requestUid
requiredExposureTimeSec number
schedulerRunId
schedulerRunUid
status ObservationTaskStatus
targetId
taskType string
totalExposures integer
totalPlannedDuration
uid string(uuid)

OpticalImagingTaskDetail

Name Type Description
acquiredExposureTimeSec number
acquiredFrames integer
actualEndTime
actualStartTime
assetsRevision integer
camera CameraDetail
cameraId integer
cameraUid
completedOn
earliestStartTime
expirationTime
filterIds Array<string>
filters Array<Filter>
filterWheelPositionIds Array<integer>
filterWheelPositions Array<FilterWheelPosition>
id integer
instrument OpticalImagerDetail
instrumentConfigurationVersion
instrumentId integer
instrumentUid
maxExposureTimeSec
modifiedOn string(date-time)
observationId integer
observationIteration integer
observationUid
observingGrantId integer
observingGrantUid
ota OtaDetail
otaId integer
otaUid
plannedDuration
plannedStartTime
progressFraction number
queueAccessGrantId
queueAccessGrantUid
request OpticalImagingRequestDetail
requestId integer
requestIteration integer
requestUid
requiredExposureTimeSec number
schedulerRunId
schedulerRunUid
status ObservationTaskStatus
target Target
targetId
taskType string
tiles Array<OpticalImagingTaskTile>
totalExposures integer
totalPlannedDuration
uid string(uuid)

OpticalImagingTaskSummary

Name Type Description
acquiredExposureTimeSec number
acquiredFrames integer
actualEndTime
actualStartTime
assetsRevision integer
cameraId integer
cameraUid
completedOn
earliestStartTime
expirationTime
filterIds Array<string>
filters Array<Filter>
filterWheelPositionIds Array<integer>
id integer
instrument OpticalImagerDetail
instrumentConfigurationVersion
instrumentId integer
instrumentUid
maxExposureTimeSec
modifiedOn string(date-time)
observationId integer
observationIteration integer
observationUid
observingGrantId integer
observingGrantUid
otaId integer
otaUid
plannedDuration
plannedStartTime
progressFraction number
queueAccessGrantId
queueAccessGrantUid
requestId integer
requestIteration integer
requestUid
requiredExposureTimeSec number
schedulerRunId
schedulerRunUid
status ObservationTaskStatus
targetId
taskType string
totalExposures integer
totalPlannedDuration
uid string(uuid)

OpticalImagingTaskTile

Name Type Description
acquiredExposureTimeSec number
acquiredFrames integer
id integer
offsetXDeg number
offsetYDeg number
order integer
status ExposureStatus
taskId integer
totalExposureTimeSec number
totalFrames integer
uid

OpticalImagingTaskTileUpdate

Name Type Description
acquiredExposureTimeSec
acquiredFrames
id integer
status

OpticalImagingTaskUpdate

Name Type Description
acquiredExposureTimeSec
acquiredFrames
actualEndTime
actualStartTime
cameraId
cameraUid
completedOn
earliestStartTime
expirationTime
instrumentId
instrumentUid
maxExposureTimeSec
observationIteration
observingGrantId
otaId
otaUid
plannedDuration
plannedStartTime
progressFraction
queueAccessGrantId
requestId
requestIteration
requiredExposureTimeSec
status
targetId
targetIteration
taskType string
tiles
totalExposures
totalPlannedDuration

OrbitalPosition

Name Type Description
argumentOfPerihelionDeg number
eccentricity number
epochJyear number
id integer
inclinationDeg number
longitudeOfAscendingNodeDeg number
meanAnomalyDeg number
orbitType OrbitType
positionType string
semilatusRectumAu number
targetId
uid string(uuid)

OrbitType

Type: string

OrganizationPublic

Name Type Description
allowRequestToJoin boolean Whether request-to-join is allowed
country Country provided by the user or organization in their public profile
createdOn Creation time of this account
defaultRoleId Default role for users in this organization.
description Description/Bio provided by the user or organization in their public profile
entityType string
id integer Unique identifier of the user/organization.
location Location provided by the user or organization in their public profile
memberCount Number of members in the organization
name string Name of the user/organization.
observingPolicyIds Observing policy PKs configured for the organization.
profileImageId Profile image of the user/organization.
shortName Short name of the organization
slug string Unique identifier used in URLs referencing the user/organization.
websiteUrl Website URL provided by the user or organization in their public profile

OrganizationSummary

Name Type Description
allowRequestToJoin boolean Whether request-to-join is allowed
country Country provided by the user or organization in their public profile
createdOn Creation time of this account
defaultRoleId Default role for users in this organization.
description Description/Bio provided by the user or organization in their public profile
entityType string
id integer Unique identifier of the user/organization.
location Location provided by the user or organization in their public profile
memberCount Number of members in the organization
name string Name of the user/organization.
observingPolicyIds Observing policy PKs configured for the organization.
profileImageId Profile image of the user/organization.
shortName Short name of the organization
slug string Unique identifier used in URLs referencing the user/organization.
websiteUrl Website URL provided by the user or organization in their public profile

Ota

Name Type Description
apertureM number Unobstructed aperture of the OTA in meters.
deviceType string
focalLengthM number Focal length of the OTA in meters.
id The unique identifier for the device.
imageId Image asset ID for the device.
manufacturer
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
offsetScalar Distance from mount pivot to OTA axis in meters along mount reference axis.
offsetXM X offset from parent OTA axis in meters.
offsetYM Y offset from parent OTA axis in meters.
offsetZM Z offset from parent OTA axis in meters.
operationalConstraintIds Operational constraint PKs
opticalDesign
ownerId integer The organization or user which owns the device.
parentOta
parentOtaId ID of the parent OTA if piggybacked.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
uid string(uuid) The unique UID for the device.

OtaDetail

Name Type Description
apertureM number Unobstructed aperture of the OTA in meters.
deviceType string
focalLengthM number Focal length of the OTA in meters.
id The unique identifier for the device.
imageId Image asset ID for the device.
manufacturer
model
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
offsetScalar Distance from mount pivot to OTA axis in meters along mount reference axis.
offsetXM X offset from parent OTA axis in meters.
offsetYM Y offset from parent OTA axis in meters.
offsetZM Z offset from parent OTA axis in meters.
operationalConstraintActions Array<OperationalConstraintAction>
operationalConstraintIds Operational constraint PKs
opticalDesign
ownerId integer The organization or user which owns the device.
parentOta
parentOtaId ID of the parent OTA if piggybacked.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
uid string(uuid) The unique UID for the device.

OtaModel

Name Type Description
apertureM number
deviceType string
focalLength number
id
imageId
manufacturer
modelName string
opticalDesign

OtaModelSummary

Name Type Description
apertureM number
deviceType string
focalLength number
id integer
imageId
manufacturer
modelName string
opticalDesign

OtaSnapshot

Name Type Description
deviceId
deviceType string
deviceUid
faultReason
isConnected boolean
operationalStatus
primaryTemperatureC
recordedOn
secondaryTemperatureC
signalOffline
timestamp string(date-time)

OtaUpdate

Name Type Description
deviceType string
manufacturer
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.

Page_Annotated_Union_Antenna__Focuser__Camera__Enclosure__FilterWheel__InstrumentRotator__Mount__Ota__RadioBackend__Receiver__WeatherSensorFieldInfoannotation_NoneTyperequired_True__discriminator__device_type____

Name Type Description
items Array<>
page integer
pages integer
size integer
total integer

Page_Annotated_Union_FocuserModelSummary__CameraModelSummary__EnclosureModelSummary__FilterWheelModelSummary__MountModelSummary__OtaModelSummary__WeatherSensorModelSummaryFieldInfoannotation_NoneTyperequired_True__discriminator__device_type____

Name Type Description
items Array<>
page integer
pages integer
size integer
total integer

Page_Annotated_Union_OpticalImagerSummary__RadioSpectrometerSummaryFieldInfoannotation_NoneTyperequired_True__discriminator__instrument_type____

Name Type Description
items Array<>
page integer
pages integer
size integer
total integer

Page_Annotated_Union_OpticalImagingTaskSummary__OpticalImagingBiasCalibrationTaskSummary__OpticalImagingDarkCalibrationTaskSummary__OpticalImagingFlatCalibrationTaskSummary__RadioTrackingTaskSummary__RadioMappingTaskSummaryFieldInfoannotation_NoneTyperequired_True__discriminator__task_type____

Name Type Description
items Array<>
page integer
pages integer
size integer
total integer

Page_Annotated_Union_WeatherSensorConstraint__StorageConstraint__BatteryConstraint__SunAltitudeConstraint__MountSunSeparationConstraintFieldInfoannotation_NoneTyperequired_True__discriminator__constraint_type____

Name Type Description
items Array<>
page integer
pages integer
size integer
total integer

Page_ObservationAssetSummary_

Name Type Description
items Array<ObservationAssetSummary>
page integer
pages integer
size integer
total integer

Page_ObservatorySummary_

Name Type Description
items Array<ObservatorySummary>
page integer
pages integer
size integer
total integer

Page_ObservingQueue_

Name Type Description
items Array<ObservingQueue>
page integer
pages integer
size integer
total integer

Page_ShutdownInterlock_

Name Type Description
items Array<ShutdownInterlock>
page integer
pages integer
size integer
total integer

Page_SiteSummary_

Name Type Description
items Array<SiteSummary>
page integer
pages integer
size integer
total integer

Page_TelescopeSummary_

Name Type Description
items Array<TelescopeSummary>
page integer
pages integer
size integer
total integer

PierSide

Type: string

PlanetarySatellite

Name Type Description
bsp string Name of the SPK ephemeris file
catalogObjectType string
id integer Primary key of the catalog object
name string Name of the satellite
number integer The JPL number of the satellite
planet JPLPlanetName Central planet of the satellite
uid string(uuid) Stable UUID of the catalog object

PolarizationType

Type: string

RadioBackend

Name Type Description
description Description
deviceType string
id Radio backend PK
imageId Image asset ID for the device.
manufacturer
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
operationalConstraintIds Operational constraint PKs
ownerId integer The organization or user which owns the device.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
uid string(uuid) The unique UID for the device.

RadioBackendDetail

Name Type Description
description Description
deviceType string
id Radio backend PK
imageId Image asset ID for the device.
manufacturer
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
operationalConstraintActions Array<OperationalConstraintAction>
operationalConstraintIds Operational constraint PKs
ownerId integer The organization or user which owns the device.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
uid string(uuid) The unique UID for the device.

RadioBackendMode

Name Type Description
availableRadioFilters Array<RadioFilter> Available radio filters
bandwidthMhz number Bandwidth (MHz)
channelsExponent integer Channels exponent
frequencyWindows integer Number of frequency windows
id integer Radio backend mode PK
integrationTimesMs Integration times (ms)
isSimultaneous boolean Is simultaneous?
minimumIntegrationTimeMs Minimum integration time (ms)
name string Mode name
radioBackendId integer Radio backend PK

RadioBackendUpdate

Name Type Description
deviceType string
manufacturer
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.

RadioFilter

Name Type Description
id integer Radio filter PK
name Filter name

RadioMappingRequestDetail

Name Type Description
active boolean
createdOn
currentIteration integer
currentTask
id integer
instrumentMode InstrumentAccessMode
isDeleted boolean
iterations integer
kind ObservationKind
minResolutionMhz
modifiedOn
observationId integer
observationUid
order integer
originalId
originalUid
polarization
progressFraction number
requestType string
spectroscopyWindowIds Array<integer>
spectroscopyWindows Array<RadioSpectroscopyWindow>
status ObservationRequestStatus
uid string(uuid)

RadioMappingTask

Name Type Description
actualEndTime
actualStartTime
antennaId integer
antennaUid
assetsRevision integer
centralFrequenciesMhz Array<number>
completedOn
daisyDurationSec
daisyRadialPeriodSec
daisyRadiusDeg
earliestStartTime
expirationTime
id integer
instrumentConfigurationVersion
instrumentId integer
instrumentUid
integrationTimeMs number
modifiedOn string(date-time)
observationId integer
observationIteration integer
observationUid
observingGrantId integer
observingGrantUid
plannedDuration
plannedStartTime
progressFraction number
queueAccessGrantId
queueAccessGrantUid
radioBackendId integer
radioBackendModeId integer
radioBackendUid
radioFilterId
receiverChannelIds Array<integer>
requestId integer
requestIteration integer
requestUid
schedulerRunId
schedulerRunUid
status ObservationTaskStatus
targetId
taskType string
totalPlannedDuration
uid string(uuid)

RadioMappingTaskDetail

Name Type Description
actualEndTime
actualStartTime
antenna Antenna
antennaId integer
antennaUid
assetsRevision integer
centralFrequenciesMhz Array<number>
channels Array<ReceiverChannel>
completedOn
daisyDurationSec
daisyRadialPeriodSec
daisyRadiusDeg
earliestStartTime
expirationTime
id integer
instrument RadioSpectrometerDetail
instrumentConfigurationVersion
instrumentId integer
instrumentUid
integrationTimeMs number
modifiedOn string(date-time)
observationId integer
observationIteration integer
observationUid
observingGrantId integer
observingGrantUid
plannedDuration
plannedStartTime
progressFraction number
queueAccessGrantId
queueAccessGrantUid
radioBackend RadioBackend
radioBackendId integer
radioBackendMode RadioBackendMode
radioBackendModeId integer
radioBackendUid
radioFilter
radioFilterId
request RadioMappingRequestDetail
requestId integer
requestIteration integer
requestUid
schedulerRunId
schedulerRunUid
status ObservationTaskStatus
target Target
targetId
taskType string
totalPlannedDuration
uid string(uuid)

RadioMappingTaskSummary

Name Type Description
actualEndTime
actualStartTime
antennaId integer
antennaUid
assetsRevision integer
centralFrequenciesMhz Array<number>
completedOn
daisyDurationSec
daisyRadialPeriodSec
daisyRadiusDeg
earliestStartTime
expirationTime
id integer
instrument RadioSpectrometerDetail
instrumentConfigurationVersion
instrumentId integer
instrumentUid
integrationTimeMs number
modifiedOn string(date-time)
observationId integer
observationIteration integer
observationUid
observingGrantId integer
observingGrantUid
plannedDuration
plannedStartTime
progressFraction number
queueAccessGrantId
queueAccessGrantUid
radioBackendId integer
radioBackendModeId integer
radioBackendUid
radioFilterId
receiverChannelIds Array<integer>
requestId integer
requestIteration integer
requestUid
schedulerRunId
schedulerRunUid
status ObservationTaskStatus
targetId
taskType string
totalPlannedDuration
uid string(uuid)

RadioMappingTaskUpdate

Name Type Description
actualEndTime
actualStartTime
antennaId
antennaUid
centralFrequenciesMhz
completedOn
earliestStartTime
expirationTime
instrumentId
instrumentUid
integrationTime
observationIteration
observingGrantId
plannedDuration
plannedStartTime
progressFraction
queueAccessGrantId
radioBackendId
radioBackendModeId
radioBackendUid
radioFilterId
receiverChannelIds
requestId
requestIteration
status
targetId
targetIteration
taskType string
totalPlannedDuration

RadioReceiverBand

Type: string

RadioReceiverChannelBackendConnection

Name Type Description
id integer Connection PK
isActive boolean Is active?
radioBackendId integer Radio backend PK
receiverChannelId integer Receiver channel PK

RadioSpectrometer

Name Type Description
antennaId Antenna PK
antennaUid Antenna UID
beamwidth Beamwidth (degrees)
channelBackendConnections Array<RadioReceiverChannelBackendConnection> Receiver channel to backend connections
configurationUpdatedOn string(date-time) Timestamp of last scheduling-relevant configuration update
configurationVersion integer Monotonic scheduling configuration version
id Instrument PK
instrumentType string Radio spectrometer
isActive boolean Is active?
name string Instrument name
receiverIds Receiver PKs
telescopeId integer Owning telescope PK
telescopeUid Owning telescope UID
uid string(uuid) Instrument UID

RadioSpectrometerCreate

Name Type Description
antennaId Antenna PK
antennaUid Antenna UID
instrumentType string Radio spectrometer
isActive Whether the instrument is active
telescopeId integer Unique identifier of the telescope
telescopeUid UID of the associated telescope

RadioSpectrometerDetail

Name Type Description
antenna Antenna details
antennaId Antenna PK
antennaUid Antenna UID
beamwidth Beamwidth (degrees)
channelBackendConnections Array<RadioReceiverChannelBackendConnection> Receiver channel to backend connections
configurationUpdatedOn string(date-time) Timestamp of last scheduling-relevant configuration update
configurationVersion integer Monotonic scheduling configuration version
id Instrument PK
instrumentType string Radio spectrometer
isActive boolean Is active?
name string Instrument name
receiverIds Receiver PKs
receivers Receivers
telescope Telescope
telescopeId integer Owning telescope PK
telescopeUid Owning telescope UID
uid string(uuid) Instrument UID

RadioSpectrometerSummary

Name Type Description
antennaId Antenna PK
antennaUid Antenna UID
id integer Instrument PK
instrumentType string Radio spectrometer
isActive boolean Is active?
telescope Telescope
telescopeId integer Owning telescope PK
telescopeUid Owning telescope UID
uid string(uuid) Instrument UID

RadioSpectrometerUpdate

Name Type Description
antennaId Antenna PK
antennaUid Antenna UID
instrumentType string Radio spectrometer
isActive Whether the instrument is active
telescopeId ID of the associated telescope
telescopeUid UID of the associated telescope

RadioSpectroscopyWindow

Name Type Description
bandwidthMhz number
centerFrequencyMhz number
id integer
requestId integer

RadioTrackingObservationAssetTaskInfoCreate

Name Type Description
durationSec
observationAssetId
taskId integer
taskType string

RadioTrackingObservationAssetTaskInfoDetail

Name Type Description
durationSec
observationAssetId
observationAssetUid
task
taskId integer
taskType string
taskUid
uid string(uuid)

RadioTrackingObservationAssetTaskInfoUpdate

Name Type Description
durationSec
observationAssetId
taskId integer
taskType string

RadioTrackingRequestDetail

Name Type Description
active boolean
createdOn
currentIteration integer
currentTask
durationSec number
id integer
instrumentMode InstrumentAccessMode
isDeleted boolean
iterations integer
kind ObservationKind
maxIntegrationTimeMs
minResolutionMhz
modifiedOn
observationId integer
observationUid
order integer
originalId
originalUid
polarization
progressFraction number
requestType string
requireContinuum boolean
spectroscopyWindowIds Array<integer>
spectroscopyWindows Array<RadioSpectroscopyWindow>
status ObservationRequestStatus
uid string(uuid)

RadioTrackingTask

Name Type Description
actualEndTime
actualStartTime
antennaId integer
antennaUid
assetsRevision integer
centralFrequenciesMhz Array<number>
completedOn
durationSec number
earliestStartTime
expirationTime
id integer
instrumentConfigurationVersion
instrumentId integer
instrumentUid
integrationTimeMs number
modifiedOn string(date-time)
observationId integer
observationIteration integer
observationUid
observingGrantId integer
observingGrantUid
plannedDuration
plannedStartTime
progressFraction number
queueAccessGrantId
queueAccessGrantUid
radioBackendId integer
radioBackendModeId integer
radioBackendUid
radioFilterId
receiverChannelIds Array<integer>
requestId integer
requestIteration integer
requestUid
schedulerRunId
schedulerRunUid
status ObservationTaskStatus
targetId
taskType string
totalPlannedDuration
uid string(uuid)

RadioTrackingTaskDetail

Name Type Description
actualEndTime
actualStartTime
antenna Antenna
antennaId integer
antennaUid
assetsRevision integer
centralFrequenciesMhz Array<number>
channels Array<ReceiverChannel>
completedOn
durationSec number
earliestStartTime
expirationTime
id integer
instrument RadioSpectrometerDetail
instrumentConfigurationVersion
instrumentId integer
instrumentUid
integrationTimeMs number
modifiedOn string(date-time)
observationId integer
observationIteration integer
observationUid
observingGrantId integer
observingGrantUid
plannedDuration
plannedStartTime
progressFraction number
queueAccessGrantId
queueAccessGrantUid
radioBackend RadioBackend
radioBackendId integer
radioBackendMode RadioBackendMode
radioBackendModeId integer
radioBackendUid
radioFilter
radioFilterId
receivers Array<ReceiverDetail>
request RadioTrackingRequestDetail
requestId integer
requestIteration integer
requestUid
schedulerRunId
schedulerRunUid
status ObservationTaskStatus
target Target
targetId
taskType string
totalPlannedDuration
uid string(uuid)

RadioTrackingTaskSummary

Name Type Description
actualEndTime
actualStartTime
antennaId integer
antennaUid
assetsRevision integer
centralFrequenciesMhz Array<number>
completedOn
durationSec number
earliestStartTime
expirationTime
id integer
instrument RadioSpectrometerDetail
instrumentConfigurationVersion
instrumentId integer
instrumentUid
integrationTimeMs number
modifiedOn string(date-time)
observationId integer
observationIteration integer
observationUid
observingGrantId integer
observingGrantUid
plannedDuration
plannedStartTime
progressFraction number
queueAccessGrantId
queueAccessGrantUid
radioBackendId integer
radioBackendModeId integer
radioBackendUid
radioFilterId
receiverChannelIds Array<integer>
requestId integer
requestIteration integer
requestUid
schedulerRunId
schedulerRunUid
status ObservationTaskStatus
targetId
taskType string
totalPlannedDuration
uid string(uuid)

RadioTrackingTaskUpdate

Name Type Description
actualEndTime
actualStartTime
antennaId
antennaUid
centralFrequenciesMhz
completedOn
duration
earliestStartTime
expirationTime
instrumentId
instrumentUid
integrationTime
observationIteration
observingGrantId
plannedDuration
plannedStartTime
progressFraction
queueAccessGrantId
radioBackendId
radioBackendModeId
radioBackendUid
radioFilterId
receiverChannelIds
requestId
requestIteration
status
targetId
targetIteration
taskType string
totalPlannedDuration

Receiver

Name Type Description
band Receiver band
channels Array<ReceiverChannel> Receiver channels
deviceType string
id integer Receiver PK
imageId Image asset ID for the device.
isAvailable boolean Is receiver available?
manufacturer
maxFrequencyMhz number Maximum frequency (MHz)
minFrequencyMhz number Minimum frequency (MHz)
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
operationalConstraintIds Operational constraint PKs
ownerId integer The organization or user which owns the device.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
uid string(uuid) The unique UID for the device.

ReceiverChannel

Name Type Description
id integer Receiver channel PK
isActive boolean Is active?
offsetXArcsec number Offset in X (arcsec)
offsetYArcsec number Offset in Y (arcsec)
polarization PolarizationType Polarization type
receiverId integer Receiver PK

ReceiverDetail

Name Type Description
band Receiver band
channels Array<ReceiverChannel> Receiver channels
deviceType string
id integer Receiver PK
imageId Image asset ID for the device.
isAvailable boolean Is receiver available?
manufacturer
maxFrequencyMhz number Maximum frequency (MHz)
minFrequencyMhz number Minimum frequency (MHz)
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
operationalConstraintActions Array<OperationalConstraintAction>
operationalConstraintIds Operational constraint PKs
ownerId integer The organization or user which owns the device.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
uid string(uuid) The unique UID for the device.

ReceiverUpdate

Name Type Description
deviceType string
manufacturer
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.

RemoteAssetTransferState

Type: string

RenderNormalization

Name Type Description
backgroundPercentile number Percentile used for the background level.
midtonePercentile number Percentile used for the midtone level.
saturationPercentile number Percentile used for the saturation level.
stretch string Stretch algorithm to apply.

RenderPalette

Name Type Description
colormap string Colormap name.
invert boolean Whether to invert the colormap.
nan string How to render NaN values.

RenderSettings

Name Type Description
normalization RenderNormalization
rendering RenderPalette
schemaVersion integer Render settings schema version.

ShutdownInterlock

Name Type Description
expiresAt
id
isDeleted boolean
isEnabled boolean
lastModified
name string
observatoryId
observatoryUid
ownerId integer
reason
scopeType ShutdownInterlockScopeType
startsAt
telescopeId
telescopeUid
uid

ShutdownInterlockCreate

Name Type Description
expiresAt
isEnabled boolean
name string
observatoryId
ownerId integer
reason
scopeType ShutdownInterlockScopeType
startsAt
telescopeId

ShutdownInterlockScopeType

Type: string

ShutdownInterlockSnapshotStatus

Type: string

ShutdownInterlockStatus

Type: string

ShutdownInterlockUpdate

Name Type Description
expiresAt
isEnabled
name
reason
startsAt

Site

Name Type Description
countryCode string
elevationM number
iauCode
id
latitudeDeg number
location string
longitudeDeg number
name string
ownerId
slug string
uid string(uuid)

SiteDetail

Name Type Description
countryCode string
elevationM number
iauCode
id
latitudeDeg number
location string
longitudeDeg number
name string
owner
ownerId
slug string
uid string(uuid)

SiteSummary

Name Type Description
countryCode string
elevationM number
iauCode
id
latitudeDeg number
location string
longitudeDeg number
name string
owner
ownerId
slug string
uid string(uuid)

SiteUpdate

Name Type Description
countryCode
elevationM
iauCode
latitudeDeg
location
longitudeDeg
name
ownerId
slug

SkynetStorageType

Type: string

StorageConstraint

Name Type Description
actions Array<OperationalConstraintAction>
constraintType string
id
isActive boolean
isDeleted boolean
lastModified string(date-time)
maxDataAgeSec integer
maxValue
minValue
observatoryId integer
ownerId integer
stabilityThresholdSec integer
telescopeId
uid string(uuid)

StorageConstraintCreate

Name Type Description
actions Array<OperationalConstraintActionCreate>
constraintType string
isActive
maxDataAgeSec
maxValue
minValue
observatoryId integer
ownerId integer
stabilityThresholdSec
telescopeId

StorageConstraintSnapshot

Name Type Description
constraintId integer
constraintType string
constraintUid string(uuid)
lastValue
lastValueTimestamp
secondsSinceLastSafe
secondsUntilStable
status OperationalConstraintStatus
timestamp string(date-time)

StorageConstraintUpdate

Name Type Description
actions
constraintType string
isActive
maxDataAgeSec
maxValue
minValue
observatoryId
ownerId
stabilityThresholdSec
telescopeId

StreamKind

Type: string

StreamQuality

Type: string

SunAltitudeConstraint

Name Type Description
actions Array<OperationalConstraintAction>
constraintType string
id
isActive boolean
isDeleted boolean
lastModified string(date-time)
maxDataAgeSec integer
maxValue
minValue
observatoryId integer
ownerId integer
stabilityThresholdSec integer
telescopeId
uid string(uuid)

SunAltitudeConstraintCreate

Name Type Description
actions Array<OperationalConstraintActionCreate>
constraintType string
isActive
maxDataAgeSec
maxValue
minValue
observatoryId integer
ownerId integer
stabilityThresholdSec
telescopeId

SunAltitudeConstraintUpdate

Name Type Description
actions
constraintType string
isActive
maxDataAgeSec
maxValue
minValue
observatoryId
ownerId
stabilityThresholdSec
telescopeId

SunAltitudeOpenCondition

Type: string

SunElevationConstraintSnapshot

Name Type Description
constraintId integer
constraintType string
constraintUid string(uuid)
lastValue
lastValueTimestamp
secondsSinceLastSafe
secondsUntilStable
status OperationalConstraintStatus
timestamp string(date-time)

Target

Name Type Description
id integer Primary key for the Target
isDeleted boolean Flag indicating if the target is deleted
kind ObservationKind Lifecycle classification for the target
name string Name of the Target
originalId Original target id
positionId Primary key of the target's position. Resolved through the graph bundle's `target_positions` map.
positionOffsetFrame ObservationPositionOffsetFrame
positionOffsetReferenceTime
positionOffsetXDeg number
positionOffsetYDeg number
status TargetStatus Status of the target
targetPosition

TargetAcquisitionPhase

Type: string

TargetPositionType

Type: string

TargetStatus

Type: string

TaskPhase

Type: string

Telescope

Name Type Description
antennaIds
calibrationObservingAccountId
cameraIds
description
deviceIds
elevationM number
enclosureId
enclosureUid
filterWheelIds
focuserIds
galleryItemIds
iauCode
id
imageId
instrumentIds
ipCameraIds
isAvailable boolean
isPublic boolean
latitudeDeg number
location string
longitudeDeg number
mountId
mountUid
name string
observatoryId integer
observatoryUid
otaIds
ownerId integer
publicLatitudeDeg
publicLongitudeDeg
radioBackendIds
receiverIds
rotatorIds
shortName
slug string
uid string(uuid)

TelescopeAccessGrant

Name Type Description
entityId
id integer
revoked boolean
shares number
telescopeId integer
timeContested number
timeUsed number
timeWaiting number

TelescopeAccessGrantCreate

Name Type Description
entityId
invitation
queueIds Array<integer>
shares number

TelescopeAccessGrantDetail

Name Type Description
entityId
id integer
revoked boolean
shares number
telescopeId integer
timeContested number
timeUsed number
timeWaiting number

TelescopeAccessGrantInvitationCreate

Name Type Description
email
entityId

TelescopeAccessGrantUpdate

Name Type Description
entityId
invitation
queueIds Array<integer>
shares number

TelescopeControlAuthority

Type: string

TelescopeCreate

Name Type Description
description
elevationM number
enclosureId
enclosureUid
iauCode
imageId
isAvailable boolean
isPublic
latitudeDeg number
localHorizon
location string
longitudeDeg number
mountId
mountUid
name string
observatoryId integer
ownerId integer
shortName

TelescopeDetail

Name Type Description
antennaIds
antennas Array<AntennaDetail>
calibrationObservingAccountId
cameraIds
cameras Array<CameraDetail>
description
deviceIds
elevationM number
enclosure
enclosureId
enclosureUid
filterWheelIds
filterWheels Array<FilterWheelDetail>
focuserIds
focusers Array<FocuserDetail>
galleryItemIds
galleryItems
iauCode
id
imageId
instrumentIds
instruments Array<>
ipCameraIds
ipCameras Array<IPCamera>
isAvailable boolean
isPublic boolean
latitudeDeg number
localHorizon
location string
longitudeDeg number
mount
mountId
mountUid
name string
observatory
observatoryId integer
observatoryUid
otaIds
otas Array<OtaDetail>
owner
ownerId integer
publicLatitudeDeg
publicLongitudeDeg
radioBackendIds
radioBackends Array<RadioBackendDetail>
receiverIds
receivers Array<ReceiverDetail>
rotatorIds
rotators Array<InstrumentRotatorDetail>
shortName
slug string
uid string(uuid)

TelescopeGalleryItem

Name Type Description
file
fileId string(uuid)
id integer
order
telescopeId integer
visibility boolean

TelescopeLtd

Name Type Description
antennaIds
calibrationObservingAccountId
cameraIds
description
deviceIds
elevationM number
enclosureId
enclosureUid
filterWheelIds
focuserIds
galleryItemIds
iauCode
id
imageId
instrumentIds
ipCameraIds
isAvailable boolean
isPublic boolean
latitudeDeg number
location string
longitudeDeg number
mountId
mountUid
name string
observatoryId integer
observatoryUid
otaIds
ownerId integer
publicLatitudeDeg
publicLongitudeDeg
radioBackendIds
receiverIds
rotatorIds
shortName
slug string
uid string(uuid)

TelescopeOperationalOverview

Name Type Description
devices
instruments
observatory
telescope

TelescopeShutdownInterlockSnapshot

Name Type Description
interlocks Array<EffectiveShutdownInterlock>
observatoryId
observatoryUid
revision integer
status ShutdownInterlockSnapshotStatus
telescopeId integer
telescopeUid string(uuid)
timestamp string(date-time)

TelescopeSnapshot

Name Type Description
acquisitionActive boolean
acquisitionEnclosureReady
acquisitionInstrumentUid
acquisitionLastError
acquisitionMountReady
acquisitionPhase
acquisitionTargetId
activeShutdownInterlock
automationState
automationStateReason
blockedReason
controlAuthority TelescopeControlAuthority
currentTaskId
degradedReason
dispatchGateReason
manualControlLease
shutdownInterlockStatus
shutdownReason
shutdownSource
taskActive boolean
taskId
taskInstrumentUid
taskLastTerminalOutcome
taskPhase
taskTargetId
telescopeId
telescopeUid
timestamp string(date-time)

TelescopeSortField

Type: string

TelescopeSummary

Name Type Description
antennaIds
calibrationObservingAccountId
cameraIds
description
deviceIds
elevationM number
enclosureId
enclosureUid
filterWheelIds
focuserIds
galleryItemIds
iauCode
id
imageId
instrumentIds
ipCameraIds
isAvailable boolean
isPublic boolean
latitudeDeg number
localHorizon
location string
longitudeDeg number
mountId
mountUid
name string
observatory
observatoryId integer
observatoryUid
otaIds
owner
ownerId integer
publicLatitudeDeg
publicLongitudeDeg
radioBackendIds
receiverIds
rotatorIds
shortName
slug string
uid string(uuid)

TelescopeUpdate

Name Type Description
description
elevationM
enclosureId
enclosureUid
iauCode
imageId
isAvailable
isPublic
latitudeDeg
localHorizon
location
longitudeDeg
mountId
mountUid
name
observatoryUid
ownerId
shortName
slug

TokenClientInfo

Name Type Description
clientId
description
isConfidential
name

TokenPublic

Name Type Description
client
description
expiresAt
id string(uuid)
issuedAt string(date-time)
scope
tokenType TokenType

TokenType

Type: string

TopocentricCoordinates

Name Type Description
coordinateType string Type of the coordinate system
decDeg number Topocentric or observed declination in degrees
epoch Epoch of observation
haDeg number Topocentric or observed hour angle in degrees
id integer Primary key for the TargetCoordinates
pmDecArcsecPerSec Proper motion in Dec in arcsec/s
pmHaArcsecPerSec Proper motion in HA times cos(Dec) in arcsec/s
refraction boolean Coordinates need correction for refraction? False = observed (refraction-corrected), true = topocentric

UserPublic

Name Type Description
affiliation Affiliation provided by the user in their public profile
age Age of the user
birthdate Birthdate provided by the user in their public profile
country Country provided by the user or organization in their public profile
createdOn Creation time of this account
description Description/Bio provided by the user or organization in their public profile
email string Email address of the user
entityType string
facebookId Facebook ID provided by the user in their public profile
firstName First name of the user
githubId GitHub ID provided by the user in their public profile
id integer Unique identifier of the user/organization.
language Language provided by the user or organization in their public profile
lastName Last name of the user
linkedinId LinkedIn ID provided by the user in their public profile
location Location provided by the user or organization in their public profile
name string Name of the user/organization.
orcidId ORCID ID provided by the user in their public profile
profileImageId Profile image of the user/organization.
slug string Unique identifier used in URLs referencing the user/organization.
title Title provided by the user in their public profile
twitterId Twitter ID provided by the user in their public profile
username string Username of the user
websiteUrl Website URL provided by the user or organization in their public profile

UserSummary

Name Type Description
affiliation Affiliation provided by the user in their public profile
age Age of the user
birthdate Birthdate provided by the user in their public profile
country Country provided by the user or organization in their public profile
createdOn Creation time of this account
description Description/Bio provided by the user or organization in their public profile
email string Email address of the user
entityType string
facebookId Facebook ID provided by the user in their public profile
firstName First name of the user
githubId GitHub ID provided by the user in their public profile
id integer Unique identifier of the user/organization.
language Language provided by the user or organization in their public profile
lastName Last name of the user
linkedinId LinkedIn ID provided by the user in their public profile
location Location provided by the user or organization in their public profile
name string Name of the user/organization.
orcidId ORCID ID provided by the user in their public profile
profileImageId Profile image of the user/organization.
slug string Unique identifier used in URLs referencing the user/organization.
title Title provided by the user in their public profile
twitterId Twitter ID provided by the user in their public profile
username string Username of the user
websiteUrl Website URL provided by the user or organization in their public profile

ValidationError

Name Type Description
ctx
input
loc Array<>
msg string
type string

WeatherParameter

Type: string

WeatherSensor

Name Type Description
deviceType string
hasAmbientTemperature boolean
hasCloudTemperatureDeltaC boolean
hasHumidity boolean
hasLightLevel boolean
hasPressure boolean
hasRainRate boolean
hasRainStorm boolean
hasSurfaceWetness boolean
hasWindDirection boolean
hasWindSpeedAvg10Min boolean
hasWindSpeedAvg1Min boolean
hasWindSpeedAvg2Min boolean
hasWindSpeedInstantaneous boolean
hasWindSpeedPeak10Min boolean
hasWindSpeedPeak1Min boolean
hasWindSpeedPeak2Min boolean
id The unique identifier for the device.
imageId Image asset ID for the device.
manufacturer
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
operationalConstraintIds Operational constraint PKs
ownerId integer The organization or user which owns the device.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
uid string(uuid) The unique UID for the device.

WeatherSensorConstraint

Name Type Description
actions Array<OperationalConstraintAction>
constraintType string
id
isActive boolean
isDeleted boolean
lastModified string(date-time)
maxDataAgeSec integer
maxValue
minValue
observatoryId integer
ownerId integer
stabilityThresholdSec integer
telescopeId
uid string(uuid)
weatherParameter WeatherParameter
weatherSensorId
weatherSensorUid

WeatherSensorConstraintCreate

Name Type Description
actions Array<OperationalConstraintActionCreate>
constraintType string
isActive
maxDataAgeSec
maxValue
minValue
observatoryId integer
ownerId integer
stabilityThresholdSec
telescopeId
weatherParameter WeatherParameter
weatherSensorId
weatherSensorUid

WeatherSensorConstraintSnapshot

Name Type Description
constraintId integer
constraintType string
constraintUid string(uuid)
lastValue
lastValueTimestamp
secondsSinceLastSafe
secondsUntilStable
status OperationalConstraintStatus
timestamp string(date-time)

WeatherSensorConstraintUpdate

Name Type Description
actions
constraintType string
isActive
maxDataAgeSec
maxValue
minValue
observatoryId
ownerId
stabilityThresholdSec
telescopeId
weatherParameter
weatherSensorId
weatherSensorUid

WeatherSensorDetail

Name Type Description
deviceType string
hasAmbientTemperature boolean
hasCloudTemperatureDeltaC boolean
hasHumidity boolean
hasLightLevel boolean
hasPressure boolean
hasRainRate boolean
hasRainStorm boolean
hasSurfaceWetness boolean
hasWindDirection boolean
hasWindSpeedAvg10Min boolean
hasWindSpeedAvg1Min boolean
hasWindSpeedAvg2Min boolean
hasWindSpeedInstantaneous boolean
hasWindSpeedPeak10Min boolean
hasWindSpeedPeak1Min boolean
hasWindSpeedPeak2Min boolean
id The unique identifier for the device.
imageId Image asset ID for the device.
manufacturer
model
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
operationalConstraintActions Array<OperationalConstraintAction>
operationalConstraintIds Operational constraint PKs
ownerId integer The organization or user which owns the device.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.
uid string(uuid) The unique UID for the device.

WeatherSensorModel

Name Type Description
deviceType string
hasAmbientTemperature boolean
hasCloudTemperatureDeltaC boolean
hasHumidity boolean
hasLightLevel boolean
hasPressure boolean
hasRainRate boolean
hasRainStorm boolean
hasSurfaceWetness boolean
hasWindDirection boolean
hasWindSpeedAvg10Min boolean
hasWindSpeedAvg1Min boolean
hasWindSpeedAvg2Min boolean
hasWindSpeedInstantaneous boolean
hasWindSpeedPeak10Min boolean
hasWindSpeedPeak1Min boolean
hasWindSpeedPeak2Min boolean
id
imageId
manufacturer
modelName string

WeatherSensorModelSummary

Name Type Description
deviceType string
hasAmbientTemperature boolean
hasCloudTemperatureDeltaC boolean
hasHumidity boolean
hasLightLevel boolean
hasPressure boolean
hasRainRate boolean
hasRainStorm boolean
hasSurfaceWetness boolean
hasWindDirection boolean
hasWindSpeedAvg10Min boolean
hasWindSpeedAvg1Min boolean
hasWindSpeedAvg2Min boolean
hasWindSpeedInstantaneous boolean
hasWindSpeedPeak10Min boolean
hasWindSpeedPeak1Min boolean
hasWindSpeedPeak2Min boolean
id integer
imageId
manufacturer
modelName string

WeatherSensorSnapshot

Name Type Description
ambientTemperatureC
cloudTemperatureDeltaC
deviceId
deviceType string
deviceUid
faultReason
humidityPct
isConnected boolean
lightLevel
operationalStatus
pressureHpa
rainRateMmPerHr
rainStormMm
recordedOn
signalOffline
surfaceWetness
timestamp string(date-time)
windDirectionDeg
windSpeedAvg10MinMPerSec
windSpeedAvg1MinMPerSec
windSpeedAvg2MinMPerSec
windSpeedInstantaneousMPerSec
windSpeedPeak10MinMPerSec
windSpeedPeak1MinMPerSec
windSpeedPeak2MinMPerSec

WeatherSensorSnapshotBucket

Name Type Description
ambientTemperatureC
ambientTemperatureCAvg
ambientTemperatureCMax
ambientTemperatureCMin
cloudTemperatureDeltaC
cloudTemperatureDeltaCAvg
cloudTemperatureDeltaCMax
cloudTemperatureDeltaCMin
deviceId
deviceType string
deviceUid
faultReason
humidityPct
humidityPctAvg
humidityPctMax
humidityPctMin
isConnected boolean
lightLevel
lightLevelAvg
lightLevelMax
lightLevelMin
operationalStatus
pressureHpa
pressureHpaAvg
pressureHpaMax
pressureHpaMin
rainRateMmPerHr
rainStormMm
recordedOn
signalOffline
surfaceWetness
surfaceWetnessAvg
surfaceWetnessMax
surfaceWetnessMin
timestamp string(date-time)
windDirectionDeg
windSpeedAvg10MinMPerSec
windSpeedAvg1MinMPerSec
windSpeedAvg2MinMPerSec
windSpeedInstantaneousMPerSec
windSpeedInstantaneousMPerSecAvg
windSpeedInstantaneousMPerSecMax
windSpeedInstantaneousMPerSecMin
windSpeedPeak10MinMPerSec
windSpeedPeak1MinMPerSec
windSpeedPeak2MinMPerSec

WeatherSensorUpdate

Name Type Description
deviceType string
hasAmbientTemperature
hasCloudTemperatureDeltaC
hasHumidity
hasLightLevel
hasPressure
hasRainRate
hasRainStorm
hasSurfaceWetness
hasWindDirection
hasWindSpeedAvg10Min
hasWindSpeedAvg1Min
hasWindSpeedAvg2Min
hasWindSpeedInstantaneous
hasWindSpeedPeak10Min
hasWindSpeedPeak1Min
hasWindSpeedPeak2Min
manufacturer
modelId
name The name of the device.
observatoryId The observatory ID this device belongs to.
observatoryUid The observatory UID this device belongs to.
serialNumber Serial number for the device.
telescopeId The telescope ID this device belongs to.
telescopeUid The telescope UID this device belongs to.