Braiins · OpenAPI Overlay 1.0.0

API Evangelist enhancements — Braiins Hashpower API

9 actions 9 updates update
Derived by API Evangelist Built from the contracts Braiins publishes. Braiins did not publish this file.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-reversal-ofx-reversal-windowx-dry-runx-bindingx-apis-io-aidx-providerx-artifactsx-error-envelope

Targets 8

$.info
$.components.securitySchemes.ApiKey
$.paths['/spot/bid'].delete
$.paths['/contract/{contract_id}:cancel'].post
$.paths['/contract/{contract_id}:terminate'].post
$.paths['/contract/quote'].post
$.paths['/contract/availability'].post
$.paths['/account/transaction'].get

OpenAPI Overlay

Raw ↑
overlay: 1.0.0
info:
  title: API Evangelist enhancements — Braiins Hashpower API
  version: 1.0.0
x-generated: '2026-09-04'
x-method: derived
x-source: openapi/braiins-academy-braiins-hashpower-openapi.yml
x-extends: openapi/braiins-academy-braiins-hashpower-openapi.yml
x-note: >-
  Non-destructive enhancements over the verbatim Braiins Hashpower OpenAPI 3.1.0. The original is
  never mutated. Everything here is sourced from Braiins' own published text — the per-operation
  rate limits and access rules already in the spec descriptions, and the reversal windows stated
  in the cancel/terminate descriptions — restructured into machine-readable extensions so an
  agent does not have to parse prose.
actions:
  - target: $.info
    description: Record the catalogued API and the artifacts derived from it.
    update:
      x-apis-io-aid: braiins-academy:braiins-hashpower-api
      x-provider: Braiins
      x-artifacts:
        conventions: conventions/braiins-academy-conventions.yml
        errors: errors/braiins-academy-problem-types.yml
        rate_limits: rate-limits/braiins-academy-rate-limits.yml
        authentication: authentication/braiins-academy-authentication.yml
        plans: plans/braiins-academy-plans-pricing.yml
        data_model: data-model/braiins-academy-data-model.yml
  - target: $.info
    description: >-
      Surface the error-envelope quirk in the spec itself. Braiins documents it only in the
      Academy page; a client generated from this spec alone would never look at a response header.
    update:
      x-error-envelope:
        body_schema: none
        reason_header: grpc-message
        encoding: url-encoded
        docs: https://academy.braiins.com/braiins-hashpower/api.md
  - target: $.components.securitySchemes.ApiKey
    description: Record the two token classes Braiins documents but does not express in the scheme.
    update:
      x-token-types:
        - name: Owner Token
          access: Full access to all endpoints including trading
        - name: Read-only Token
          access: Market data and account viewing only
      x-issuance: Displayed once at account registration on https://hashpower.braiins.com
  - target: $.paths['/spot/bid'].delete
    description: Make the cancellation window machine-readable.
    update:
      x-reversal-of: spotPlaceBid
      x-reversal-window: >-
        Rejected while the configured bid grace period is active; the grace period is readable at
        runtime from GET /spot/settings.
      x-window-source: spotGetMarketSettings
  - target: $.paths['/contract/{contract_id}:cancel'].post
    description: Make the contract cancellation window and its cost machine-readable.
    update:
      x-reversal-of: scheduleContract
      x-reversal-window: Only before delivery has started.
      x-reversal-cost-lookup: getCurrentContractCancelFees
      x-reversal-cost-preview: quoteContractCreation
  - target: $.paths['/contract/{contract_id}:terminate'].post
    description: Distinguish termination from cancellation for an agent choosing between them.
    update:
      x-reversal-of: scheduleContract
      x-reversal-window: After delivery has begun and before scheduled expiry.
      x-consequence: Permanent; can trigger final accounting.
  - target: $.paths['/contract/quote'].post
    description: Mark the two advisory operations as an explicit dry-run pair.
    update:
      x-dry-run: true
      x-binding: false
  - target: $.paths['/contract/availability'].post
    update:
      x-dry-run: true
      x-binding: false
  - target: $.paths['/account/transaction'].get
    description: Name the successors of the deprecated mixed-transaction endpoint.
    update:
      x-superseded-by:
        - getSettlementTransactions
        - getLockTransactions
        - getOnChainTransactions
      x-sunset: null