Loading...

API

API Types

API Types

This reference contains every protobuf message and enum reachable from the public SynapseDevice RPCs. Expand a type to inspect its fields or values.

Protobuf JSON

The schema tables show the field names used by protobuf JSON:

  • Message fields use the lower camel-case JSON field shown in each table.
  • Enum values use their symbolic names, such as kStopped.
  • bytes values are base64-encoded strings.
  • 64-bit integer values are encoded as decimal strings in protobuf JSON.
  • A repeated field is a JSON array.
  • A map<K, V> field is a JSON object.
  • Fields in the same oneof group are mutually exclusive.
  • Fields omitted from protobuf JSON use their protobuf default value.

The field number is part of the binary protobuf wire format; JSON clients use the field name instead.

Messages

google.protobuf.Empty

A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }

This message has no fields.

google.protobuf.ListValue

`ListValue` is a wrapper around a repeated field of values. The JSON representation for `ListValue` is JSON array.

JSON fieldTypeRulesDescription
valuesValuerepeatedRepeated field of dynamically typed values.
google.protobuf.Struct

`Struct` represents a structured data value, consisting of fields which map to dynamically typed values. In some languages, `Struct` might be supported by a native representation. For example, in scripting languages like JS a struct is represented as an object. The details of that representation are described together with the proto support for the language. The JSON representation for `Struct` is JSON object.

JSON fieldTypeRulesDescription
fieldsmap<string, Value>singularUnordered map of dynamically typed values.
google.protobuf.Value

`Value` represents a dynamically typed value which can be either null, a number, a string, a boolean, a recursive struct value, or a list of values. A producer of value is expected to set one of these variants. Absence of any variant indicates an error. The JSON representation for `Value` is JSON value.

JSON fieldTypeRulesDescription
nullValue

protobuf: null_value

NullValueoneof kindRepresents a null value.
numberValue

protobuf: number_value

doubleoneof kindRepresents a double value.
stringValue

protobuf: string_value

stringoneof kindRepresents a string value.
boolValue

protobuf: bool_value

booloneof kindRepresents a boolean value.
structValue

protobuf: struct_value

Structoneof kindRepresents a structured value.
listValue

protobuf: list_value

ListValueoneof kindRepresents a repeated `Value`.
synapse.AppDeployResponse
JSON fieldTypeRulesDescription
statusStatusCodesingular
messagestringsingularInformational messages
synapse.AppInfo

Information about an installed application

JSON fieldTypeRulesDescription
namestringsingularApplication name (e.g., "synapse-example-app")
versionstringsingularInstalled version
synapse.AppPackageChunk
JSON fieldTypeRules
metadataPackageMetadataoneof data
fileChunk

protobuf: file_chunk

bytesoneof data
synapse.ApplicationNodeConfig
JSON fieldTypeRulesDescription
namestringsingularYour application name, it should match what is deployed
parametersmap<string, Value>singularApplication specific configuration, will be loaded by the custom application during runtime
synapse.ApplicationNodeStatus
JSON fieldTypeRulesDescription
namestringsingular
runningboolsingularIs the application started and running?
errorLogs

protobuf: error_logs

stringsingularIf the application failed to start, what were the logs
synapse.BroadbandSourceConfig
JSON fieldTypeRulesDescription
peripheralId

protobuf: peripheral_id

uint32singular
bitWidth

protobuf: bit_width

uint32singular
sampleRateHz

protobuf: sample_rate_hz

uint32singular
gainfloatsingular
signalSignalConfigsingularImplementation specific configurations
synapse.BroadbandSourceStatus
JSON fieldTypeRules
statusSignalStatussingular
synapse.Channel
JSON fieldTypeRules
iduint32singular
electrodeId

protobuf: electrode_id

uint32singular
referenceId

protobuf: reference_id

uint32singular
typeChannelTypesingular
synapse.DeleteFileRequest
JSON fieldTypeRules
namestringsingular
synapse.DeleteFileResponse
JSON fieldTypeRules
namestringsingular
statusCode

protobuf: status_code

StatusCodesingular
synapse.DeviceConfiguration
JSON fieldTypeRules
nodesNodeConfigrepeated
connectionsNodeConnectionrepeated
synapse.DeviceInfo
JSON fieldTypeRules
namestringsingular
serialstringsingular
synapseVersion

protobuf: synapse_version

uint32singular
firmwareVersion

protobuf: firmware_version

uint32singular
statusStatussingular
peripheralsPeripheralrepeated
configurationDeviceConfigurationsingular
synapse.DevicePower
JSON fieldTypeRules
batteryLevelPercent

protobuf: battery_level_percent

floatsingular
isCharging

protobuf: is_charging

boolsingular
synapse.DeviceSettings

Device settings that are configurable by the user. Keys and value types are defined by the device and advertised via GetSettingsResponse.schema.

JSON fieldTypeRules
valuesStructsingular
synapse.DeviceStorage
JSON fieldTypeRules
storageDevices

protobuf: storage_devices

StorageDevicerepeated
synapse.DiskWriterConfig
JSON fieldTypeRules
filenamestringsingular
storageDeviceId

protobuf: storage_device_id

uint32singular
synapse.DiskWriterStatus
JSON fieldTypeRulesDescription
outputPath

protobuf: output_path

stringsingularThe output path of the file on the path of the sftp directory
bytesWritten

protobuf: bytes_written

uint64singularHow many bytes has been written for this file?
isWriting

protobuf: is_writing

boolsingularAre we currently writing or are we stopped?
availableDiskSpaceBytes

protobuf: available_disk_space_bytes

uint64singularHow many bytes are available for us to use
currentBitrateMbps

protobuf: current_bitrate_mbps

floatsingularCurrent write performance for this node, megabits/sec
synapse.ElectricalStimulationConfig
JSON fieldTypeRules
peripheralId

protobuf: peripheral_id

uint32singular
channelsChannelrepeated
bitWidth

protobuf: bit_width

uint32singular
sampleRate

protobuf: sample_rate

uint32singular
lsbuint32singular
synapse.ElectricalStimulationStatus
JSON fieldTypeRules
lsbUV

protobuf: lsb_uV

floatsingular
synapse.ElectrodeConfig
JSON fieldTypeRulesDescription
channelsChannelrepeated
lowCutoffHz

protobuf: low_cutoff_hz

floatsingularAnalog filter settings for electrode channels
highCutoffHz

protobuf: high_cutoff_hz

floatsingular
synapse.ElectrodeStatus
JSON fieldTypeRules
lsbUV

protobuf: lsb_uV

floatsingular
synapse.GetSettingsQuery

This message has no fields.

synapse.GetSettingsResponse
JSON fieldTypeRulesDescription
settingsDeviceSettingssingular
schemaSettingDescriptorrepeatedDescribes the keys this device accepts in DeviceSettings.values.
synapse.ImpedanceMeasurement
JSON fieldTypeRules
electrodeId

protobuf: electrode_id

uint32singular
magnitudefloatsingular
phasefloatsingular
synapse.ImpedanceQuery
JSON fieldTypeRules
electrodeIds

protobuf: electrode_ids

uint32repeated
synapse.ImpedanceResponse
JSON fieldTypeRules
measurementsImpedanceMeasurementrepeated
synapse.ListAppsRequest

This message has no fields.

synapse.ListAppsResponse
JSON fieldTypeRules
appsAppInforepeated
synapse.ListFilesResponse
JSON fieldTypeRules
filesFilerepeated
synapse.ListFilesResponse.File
JSON fieldTypeRules
namestringsingular
sizeuint32singular
createduint32singular
modifieduint32singular
typestringsingular
synapse.ListTapsQuery

This message has no fields.

synapse.ListTapsResponse
JSON fieldTypeRules
tapsTapConnectionrepeated
synapse.LogEntry
JSON fieldTypeRulesDescription
timestampNs

protobuf: timestamp_ns

uint64singular
levelLogLevelsingular
sourcestringsingularWhich entity is the source of the log (e.g. filename or module name)
messagestringsingular
synapse.LogQueryRequest
JSON fieldTypeRulesDescription
startTimeNs

protobuf: start_time_ns

uint64singularOptional start time, inclusive
endTimeNs

protobuf: end_time_ns

uint64singularOptional end time, exclusive
sinceMs

protobuf: since_ms

uint64singularOptional time since current time, in milliseconds Will ignore the start and end time
minLevel

protobuf: min_level

LogLevelsingularOptional minimum level, defaults to INFO
synapse.LogQueryResponse
JSON fieldTypeRules
entriesLogEntryrepeated
synapse.NodeConfig
JSON fieldTypeRules
typeNodeTypesingular
iduint32singular
broadbandSource

protobuf: broadband_source

BroadbandSourceConfigoneof config
electricalStimulation

protobuf: electrical_stimulation

ElectricalStimulationConfigoneof config
opticalStimulation

protobuf: optical_stimulation

OpticalStimulationConfigoneof config
spikeDetector

protobuf: spike_detector

SpikeDetectorConfigoneof config
spectralFilter

protobuf: spectral_filter

SpectralFilterConfigoneof config
diskWriter

protobuf: disk_writer

DiskWriterConfigoneof config
spikeSource

protobuf: spike_source

SpikeSourceConfigoneof config
spikeBinner

protobuf: spike_binner

SpikeBinnerConfigoneof config
applicationApplicationNodeConfigoneof config
synapse.NodeConnection
JSON fieldTypeRules
srcNodeId

protobuf: src_node_id

uint32singular
dstNodeId

protobuf: dst_node_id

uint32singular
synapse.NodeStatus
JSON fieldTypeRules
typeNodeTypesingular
iduint32singular
broadbandSource

protobuf: broadband_source

BroadbandSourceStatusoneof status
electricalStimulation

protobuf: electrical_stimulation

ElectricalStimulationStatusoneof status
applicationApplicationNodeStatusoneof status
opticalStimulation

protobuf: optical_stimulation

OpticalStimulationStatusoneof status
diskWriter

protobuf: disk_writer

DiskWriterStatusoneof status
synapse.OpticalStimulationConfig
JSON fieldTypeRulesDescription
peripheralId

protobuf: peripheral_id

uint32singular
pixelMask

protobuf: pixel_mask

uint32repeated
bitWidth

protobuf: bit_width

uint32singular
frameRate

protobuf: frame_rate

uint32singular
gainfloatsingular
sendReceipts

protobuf: send_receipts

boolsingularInstruct the FPGA to send out a 1xN vector where N is the number of LEDs with each Axon frame
synapse.OpticalStimulationStatus
JSON fieldTypeRulesDescription
framesWritten

protobuf: frames_written

uint64singularHow many frames have we written?
synapse.PackageMetadata
JSON fieldTypeRulesDescription
namestringsingularthe package name e.g. synapse-example-app_0.1.0_arm64.deb
versionstringsingularThe version of the package to be uploaded
sizeuint64singularPackage size, in bytes
sha256Sum

protobuf: sha256_sum

stringsingularsha256 of the package, for verification
synapse.Peripheral
JSON fieldTypeRules
namestringsingular
vendorstringsingular
peripheralId

protobuf: peripheral_id

uint32singular
typeTypesingular
addressstringsingular
synapse.PixelConfig
JSON fieldTypeRules
pixelMask

protobuf: pixel_mask

uint32repeated
synapse.PixelStatus

This message has no fields.

synapse.QueryRequest
JSON fieldTypeRules
queryType

protobuf: query_type

QueryTypesingular
impedanceQuery

protobuf: impedance_query

ImpedanceQueryoneof query
sampleQuery

protobuf: sample_query

SampleQueryoneof query
selfTestQuery

protobuf: self_test_query

SelfTestQueryoneof query
listTapsQuery

protobuf: list_taps_query

ListTapsQueryoneof query
getSettingsQuery

protobuf: get_settings_query

GetSettingsQueryoneof query
synapse.QueryResponse
JSON fieldTypeRules
statusStatussingular
datauint32repeated
impedanceResponse

protobuf: impedance_response

ImpedanceResponseoneof response
selfTestResponse

protobuf: self_test_response

SelfTestResponseoneof response
listTapsResponse

protobuf: list_taps_response

ListTapsResponseoneof response
getSettingsResponse

protobuf: get_settings_response

GetSettingsResponseoneof response
synapse.ReadFileRequest
JSON fieldTypeRules
namestringsingular
synapse.ReadFileResponse
JSON fieldTypeRules
namestringsingular
databytessingular
startOffset

protobuf: start_offset

uint32singular
fileTotalLength

protobuf: file_total_length

uint32singular
synapse.SampleQuery
JSON fieldTypeRules
channelsChannelrepeated
sampleCount

protobuf: sample_count

uint32singular
synapse.SelfTestItem
JSON fieldTypeRules
testName

protobuf: test_name

stringsingular
passedboolsingular
testData

protobuf: test_data

uint32repeated
testReport

protobuf: test_report

stringsingular
synapse.SelfTestQuery
JSON fieldTypeRules
peripheralId

protobuf: peripheral_id

uint32singular
synapse.SelfTestResponse
JSON fieldTypeRules
allPassed

protobuf: all_passed

boolsingular
testsSelfTestItemrepeated
synapse.SettingDescriptor

Describes a single settings key that the device accepts.

JSON fieldTypeRulesDescription
namestringsingular
descriptionstringsingular
kindKindsingular
defaultValue

protobuf: default_value

Valuesingular
allowedValues

protobuf: allowed_values

ValuerepeatedAllowed values for enum-kind or discrete-set settings (e.g. valid FPGA clock frequencies).
synapse.SignalChainStatus
JSON fieldTypeRules
nodesNodeStatusrepeated
synapse.SignalConfig
JSON fieldTypeRules
electrodeElectrodeConfigoneof signal_type
pixelPixelConfigoneof signal_type
synapse.SignalStatus
JSON fieldTypeRules
electrodeElectrodeStatusoneof signal_type
pixelPixelStatusoneof signal_type
synapse.SpectralFilterConfig
JSON fieldTypeRules
methodSpectralFilterMethodsingular
lowCutoffHz

protobuf: low_cutoff_hz

floatsingular
highCutoffHz

protobuf: high_cutoff_hz

floatsingular
synapse.SpikeBinnerConfig
JSON fieldTypeRules
binSizeMs

protobuf: bin_size_ms

uint32singular
synapse.SpikeDetectorConfig
JSON fieldTypeRules
thresholderThresholderoneof config
templateMatcher

protobuf: template_matcher

TemplateMatcheroneof config
samplesPerSpike

protobuf: samples_per_spike

uint32singular
synapse.SpikeSourceConfig
JSON fieldTypeRules
peripheralId

protobuf: peripheral_id

uint32singular
sampleRateHz

protobuf: sample_rate_hz

uint32singular
spikeWindowMs

protobuf: spike_window_ms

floatsingular
gainfloatsingular
thresholdUV

protobuf: threshold_uV

floatsingular
electrodesElectrodeConfigsingular
synapse.Status
JSON fieldTypeRulesDescription
messagestringsingular
codeStatusCodesingular
stateDeviceStatesingular
powerDevicePowersingular
storageDeviceStoragesingular
signalChain

protobuf: signal_chain

SignalChainStatussingular
timeSyncPort

protobuf: time_sync_port

uint32singularIf the device supports a time sync server (see time.proto) Then the UDP echo server will be available at this port
synapse.StorageDevice
JSON fieldTypeRules
namestringsingular
storageDeviceId

protobuf: storage_device_id

uint32singular
totalGb

protobuf: total_gb

floatsingular
usedGb

protobuf: used_gb

floatsingular
synapse.StreamQueryRequest
JSON fieldTypeRules
requestQueryRequestsingular
synapse.StreamQueryResponse
JSON fieldTypeRules
codeStatusCodesingular
messagestringsingular
timestampNs

protobuf: timestamp_ns

uint64singular
impedanceImpedanceResponseoneof response
selfTest

protobuf: self_test

SelfTestResponseoneof response
synapse.TailLogsRequest
JSON fieldTypeRules
minLevel

protobuf: min_level

LogLevelsingular
synapse.TapConnection
JSON fieldTypeRulesDescription
namestringsingularUnique name id for this tap
endpointstringsingularWhat is the zmq endpoint to connect to
messageType

protobuf: message_type

stringsingularWhat is the protobuf message to expect over this
tapType

protobuf: tap_type

TapTypesingularIs this tap meant to be producing or consuming
synapse.TemplateMatcher
JSON fieldTypeRules
templateUV

protobuf: template_uV

uint32repeated
synapse.Thresholder
JSON fieldTypeRules
thresholdUV

protobuf: threshold_uV

uint32singular
synapse.UpdateDeviceSettingsRequest
JSON fieldTypeRulesDescription
settingsDeviceSettingssingularOnly keys present in settings.values will be updated.
synapse.UpdateDeviceSettingsResponse
JSON fieldTypeRules
statusStatussingular
updatedSettings

protobuf: updated_settings

DeviceSettingssingular
synapse.WriteFileRequest
JSON fieldTypeRules
namestringsingular
databytessingular
synapse.WriteFileResponse
JSON fieldTypeRules
namestringsingular
bytesWritten

protobuf: bytes_written

uint64singular

Enums

google.protobuf.NullValue

`NullValue` is a singleton enumeration to represent the null value for the `Value` type union. The JSON representation for `NullValue` is JSON `null`.

ValueNumberDescription
NULL_VALUE0Null value.
synapse.ChannelType
ValueNumber
ELECTRODE0
GPIO1
synapse.DeviceState
ValueNumber
kUnknown0
kInitializing1
kStopped2
kRunning3
kError4
synapse.LogLevel
ValueNumber
LOG_LEVEL_UNKNOWN0
LOG_LEVEL_DEBUG1
LOG_LEVEL_INFO2
LOG_LEVEL_WARNING3
LOG_LEVEL_ERROR4
LOG_LEVEL_CRITICAL5
synapse.NodeType
ValueNumber
kNodeTypeUnknown0
kBroadbandSource3
kElectricalStimulation4
kOpticalStimulation5
kSpikeDetector6
kSpikeSource7
kSpectralFilter8
kDiskWriter9
kSpikeBinner10
kApplication11
synapse.Peripheral.Type
ValueNumber
kUnknown0
kBroadbandSource1
kElectricalStimulation2
kOpticalStimulation3
kSpikeSource4
synapse.QueryRequest.QueryType
ValueNumber
kNone0
kImpedance1
kSample2
kSelfTest3
kListTaps4
kGetSettings5
synapse.SettingDescriptor.Kind
ValueNumber
kKindUnknown0
kString1
kInt2
kDouble3
kBool4
kEnum5
synapse.SpectralFilterMethod
ValueNumber
kSpectralFilterUnknown0
kLowPass1
kHighPass2
kBandPass3
kBandStop4
synapse.StatusCode
ValueNumber
kOk0
kUndefinedError1
kInvalidConfiguration2
kFailedPrecondition3
kUnimplemented4
kInternalError5
kPermissionDenied6
kQueryFailed7
synapse.TapType
ValueNumberDescription
TAP_TYPE_UNSPECIFIED0
TAP_TYPE_PRODUCER1The tap will be producing data
TAP_TYPE_CONSUMER2The tap type will be consuming data