Braiins OS Public API
The Braiins OS Public API, introduced in Braiins OS 23.03, is the control contract for a Bitcoin ASIC running Braiins OS. It is offered over gRPC (package braiins.bos.v1, TCP 50051) and, since Braiins OS 25.07, over REST — Braiins states both transports provide the same functionality. The API runs ON the miner: servers[] is http://miner/, so the host is each device on the operator's own network and there is no Braiins-hosted endpoint. 63 REST operations cover mining actions, performance and power targeting, Dynamic Performance Scaling, cooling, pool groups, licensing, network configuration, firmware upgrade and restore-to-stock, and a detailed miner status that reports the reason a machine is not hashing. Every miner also self-serves its own OpenAPI at GET /api/v1/docs/openapi.json.
Braiins OS Public API is one of 3 APIs that Braiins publishes on the APIs.io network, described by a machine-readable OpenAPI specification.
Tagged areas include Mining Firmware, ASIC, Autotuning, Performance, and Curtailment. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, and a changelog.
This API exposes
63 operations
across 54 paths,
organized into 13 resource areas,
and defines 158 schemas.
It is described by OpenAPI 3.1.0, at version 1.7.0.
Requests are made against a single base URL, http://miner/.
The identity and technical contract details declared by the specification.
ApiVersion
object
3 properties
3 required
ApplicationUnavailable
object
Bosminer application is unavailable
ApplyContractKeyRequest
object
2 properties
1 required
ApplyContractKeyResponse
object
1 property
1 required
AutoPauseMode
object
Automatic pause mode starts with fans going with last fan speed used for mining and slowly decreases speed down to 0%
AutoUpgradeSchedule
object
1 property
BasesPoints
object
Structure representing Basis Points
1 property
1 required
BooleanConstraint
object
1 property
1 required
BosVersion
object
Structure to handle BOS version
3 properties
3 required
Component
object
2 properties
2 required
CoolingAutoMode
object
The temperature control modes. Miner software tries to regulate the fan speed so that miner temperature is approximately at the target temperature. The allowed…
7 properties
CoolingConfiguration
object
2 properties
CoolingConstraints
object
12 properties
1 required
CoolingDisabledMode
object
Disable temperature control. May be dangerous. DEPRECATED: Since Braiins OS 24.XX it is not possible to disable cooling mode.
1 property
CoolingDown
object
Cooling down before start
CoolingHydroMode
object
3 properties
CoolingImmersionMode
object
3 properties
CoolingManualMode
object
Fans are kept at a fixed, user-defined speed, no matter the temperature.
6 properties
DailySchedule
object
1 property
DeadPools
object
All mining pools are unresponsive (or there is no pool configuration)
Defrosting
object
Hashboard defrosting in progress
DelayedStart
object
Waiting for a startup delay
DoubleConstraints
object
3 properties
3 required
DpsConfiguration
object
9 properties
DpsConstraints
object
9 properties
1 required
DpsCooldown
object
Dynamic Performance Scaling cooldown in progress
DpsHashrateTarget
object
2 properties
DpsPowerTarget
object
2 properties
DpsTarget
object
1 property
DurationConstraints
object
3 properties
EnableHashboardsResponse
object
1 property
1 required
ErrorCode
object
3 properties
3 required
ExpectedTime
object
A point in time known with a given precision: either an exact timestamp or an upper bound (the event happens no later than the timestamp)
1 property
ExpiredLicense
object
3 properties
2 required
FanState
object
Structure which contain info about one specific miner fan.
3 properties
1 required
FixedShareRatio
object
Structure for fixed share ratio load balance strategy Fixed share ratio is value between 0.0 to 1.0 where 1.0 represents that all work is generated from the gr…
1 property
1 required
Frequency
object
1 property
1 required
FrequencyConstraints
object
3 properties
GetAutoUpgradeStatusResponse
object
4 properties
1 required
GetConstraintsResponse
object
4 properties
GetCoolingStateResponse
object
Response to get current fan states and temperature measurements
2 properties
1 required
GetErrorsResponse
object
1 property
1 required
GetHashboardsResponse
object
1 property
1 required
GetLicenseStateResponse
object
1 property
GetMinerConfigurationResponse
object
Structure to return miner configuration
5 properties
1 required
GetMinerDetailedStatusResponse
object
1 property
GetMinerDetailsResponse
object
Structure to handle system details
18 properties
11 required
GetMinerEfficiencyProfileResponse
object
Miner efficiency profile curve
1 property
1 required
GetMinerStatsResponse
object
3 properties
GetMinerStatusResponse
object
1 property
1 required
GetNetworkInfoResponse
object
Response message for GetCurrentNetworkConfiguration Represents the current network configuration for the default network interface. Only IPv4 is supported.
7 properties
3 required
GetSupportArchive
object
1 property
1 required
GetTunerStateResponse
object
Response with the current tuner details
2 properties
1 required
GigaHashrate
object
1 property
1 required
HardwareError
object
Hardware error during operation
1 property
1 required
Hashboard
object
Structure to handle HB details
16 properties
2 required
HashboardConfig
object
4 properties
1 required
HashboardConstraints
object
5 properties
1 required
HashboardEnableState
object
2 properties
2 required
HashboardPerformanceConfiguration
object
5 properties
1 required
HashboardPerformanceSettings
object
3 properties
1 required
HashrateConstraints
object
3 properties
HashrateTargetMode
object
1 property
HashrateTargetModeState
object
2 properties
HashrateTargetProfile
object
Structure to handle hashrate target profile
4 properties
Hours
object
1 property
1 required
IpNetwork
object
2 properties
2 required
ListTargetProfilesRequest
object
LoadBalanceStrategy
Group load balance strategy
LoginRequest
object
Request for login action.
2 properties
2 required
LoginResponse
object
Response for login action.
2 properties
2 required
ManualPauseMode
object
Manual pause mode runs with defined fixed fans speed and either turns off after a certain period of time or runs indefinitely according to fanruntime settings
2 properties
ManualPerformanceMode
object
3 properties
1 required
MegaHashrate
object
1 property
1 required
MinerDetailedStatus
object
Detailed miner status: the lifecycle phase the miner is in, the reason or sub-state behind it, and when it entered and is expected to leave that phase
3 properties
MinerEfficiencyPoint
object
Single point on the miner efficiency curve
9 properties
2 required
MinerError
object
4 properties
4 required
MinerIdentity
object
4 properties
4 required
MinerPowerStats
object
2 properties
MissingLicense
object
No valid BOS license
MonthlySchedule
object
2 properties
NetworkConfiguration
object
2 properties
1 required
NetworkConfigurationProtocol
Network protocol
NoneLicense
object
1 property
1 required
Normal
object
Mining normally at full performance
PauseMode
object
Pause mode to control fans behaviour after you pause the miner
1 property
Pool
object
Structure handle information about configured pool
7 properties
6 required
PoolConfiguration
object
Structure handle information about configured pool
5 properties
2 required
PoolGroup
object
Structure handle all pool group details
4 properties
3 required
PoolGroupConfiguration
object
Structure handle configured mining group
4 properties
2 required
PoolStats
object
Structure handle pool statistics
8 properties
7 required
Power
object
1 property
1 required
PowerConstraints
object
3 properties
PowerEfficiency
object
1 property
1 required
PowerTargetMode
object
1 property
PowerTargetModeState
object
2 properties
PowerTargetProfile
object
Structure to handle power target profile
4 properties
Preheating
object
Mining at reduced performance while hashboards preheat to a stable temperature
PsuInfo
object
6 properties
QuickRampingResponse
object
2 properties
2 required
Quota
object
Structure for quota load balance strategy
1 property
1 required
RealHashrate
object
Structure which contains HB real hashrate stats.
10 properties
RunReason
object
State of a running miner
1 property
SetCoolingModeRequestMode
Cooling mode to set. If the cooling mode is changed, all fields that aren't relevant to the new mode are reset to default values. If the cooling mode values ar…
SetCoolingModeResponseMode
The resulting cooling mode
SetDpsRequestRest
object
7 properties
SetDpsResponse
object
7 properties
SetNetworkConfigurationRequest
object
2 properties
SetNetworkConfigurationRequestProtocol
Network protocol. Existing value will be preserved if this field is not set.
SetPasswordRequest
object
Request for set password action.
1 property
SetQuickRampingRequestRest
object
2 properties
2 required
SetRelativeTargetRequestRest
object
2 properties
2 required
StartReason
object
State of a starting miner
1 property
Static
object
4 properties
4 required
StopReason
object
Detailed state of a stopped or stopping miner. The same message is reused for both the stopped and stopping arms of MinerDetailedStatus.status (a miner stops,…
1 property
Strategy
Load balancing strategy
SupportArchiveFormat
string
Enumeration for support archive format
SystemUpgradeMetadata
object
4 properties
4 required
SystemUpgradeRequestRest
object
2 properties
2 required
Temperature
object
1 property
1 required
TemperatureConstraints
object
3 properties
TemperatureSensor
object
3 properties
1 required
TeraHashrate
object
1 property
1 required
ThermalPause
object
Paused due to thermal conditions
1 property
1 required
ThermalPauseReason
string
Timestamp
object
Custom version of google.protobuf.Timestamp It is used only during compilation to replace google.protobuf.Timestamp to enable traits for de/serialization and f…
2 properties
2 required
TunerConfiguration
object
4 properties
TunerConstraints
object
4 properties
1 required
TunerError
object
Autotuner encountered an error
1 property
1 required
TunerPerformanceMode
object
1 property
TunerPerformanceModeTarget
UInt32Constraints
object
3 properties
3 required
Unspecified
object
Empty state used when a state has no additional context
UnsupportedHardware
object
Hardware detection failed
1 property
1 required
UpdateAutoUpgradeConfigRequest
object
2 properties
1 required
UpdateHashboards
object
2 properties
2 required
UpgradeTime
object
3 properties
2 required
UserPause
object
User-initiated pause
ValidLicense
object
4 properties
3 required
Voltage
object
1 property
1 required
VoltageConstraints
object
3 properties
WaitingWhileCold
object
Ambient temperature too low, waiting before start
WeeklySchedule
object
2 properties
WorkSolverStats
object
Structure to handle HB state
6 properties
3 required
The full machine-readable OpenAPI contract behind this narrative.
Other APIs Braiins publishes across the network.