Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
find_apisBrowse and filter every API in the catalog.
get_api_artifactsOne API's artifacts, grouped by type.
get_openapiThe primary OpenAPI for this API.
find_similar_apisAPIs that look like this one.
apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
resolveTurn a domain, URL or GitHub org into the provider it belongs to.
find_cohortsEvery scored population of providers in the catalog.
All 92 tools →
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/braiins-academy-contracts-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we
store it to create your key and to recognise you if you sign in with another
provider. See our Privacy Policy and
Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Braiins Hashpower Contracts API
description: 'Public HTTP API for buying hashrate on the spot market, scheduling fixed-duration
contracts, and reading account and market data.'
version: 1.0.0
servers:
- url: https://hashpower.braiins.com/v1
description: Production public API
security:
- ApiKey: []
tags:
- name: Contracts
description: Quote, schedule, manage, and inspect caller-owned fixed-duration contracts.
paths:
/contract:
get:
summary: List caller-owned contracts
description: 'Lists contracts owned by the authenticated caller for one proof-of-work algorithm. Results can be paginated, reversed, and restricted to a created-at interval expressed in Unix nanoseconds.
**Access:** API key required; allowed ACLs: `owner`, `read-only`.
**Rate limit:** 100 requests/minute per API credential.'
tags:
- Contracts
operationId: getContracts
x-required-acl:
- owner
- read-only
x-rate-limit: 100 requests/minute per API credential
parameters:
- name: pow_algo
in: query
required: true
schema:
type: string
description: 'Proof-of-work algorithm filter. Canonical spelling: `sha256`; parsing is ASCII case-insensitive.'
- name: limit
in: query
description: Maximum number of contracts to return. Omit to use the service default.
schema:
type: integer
format: int32
- name: offset
in: query
description: Zero-based number of matching contracts to skip.
schema:
type: integer
format: int32
- name: reverse
in: query
description: Return newest contracts first when true; the default order is oldest first.
schema:
type: boolean
- name: start_timestamp
in: query
schema:
type: integer
format: int64
minimum: 0
maximum: 9223372036854775807
description: Inclusive lower created-at filter as Unix timestamp in nanoseconds. Zero disables the filter.
- name: end_timestamp
in: query
schema:
type: integer
format: int64
minimum: 0
maximum: 9223372036854775807
description: Exclusive upper created-at filter as Unix timestamp in nanoseconds. Zero disables the filter.
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetContractsResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/ServiceError'
post:
summary: Schedule a new caller-owned contract
description: 'Schedules a fixed-duration contract and reserves the required caller funds. Pricing, funds, policy, and capacity are recalculated atomically; a preceding quote or availability check is advisory and does not reserve capacity.
**Access:** API key required; allowed ACL: `owner`.
**Rate limit:** 100 requests/minute per API credential.'
tags:
- Contracts
operationId: scheduleContract
x-required-acl:
- owner
x-rate-limit: 100 requests/minute per API credential
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ScheduleContractRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ScheduleContractResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/ServiceError'
/contract/quote:
post:
summary: Quote and validate a contract creation request
tags:
- Contracts
operationId: quoteContractCreation
description: 'Calculates the current hashrate cost, premium, cancellation-weighted premium on the Contractual Funding Tail, available capacity, and caller balance for a proposed contract. This is advisory only and does not reserve funds or capacity; scheduling recomputes all checks.
**Access:** API key required; allowed ACL: `owner`.
**Rate limit:** 100 requests/minute per API credential.'
x-required-acl:
- owner
x-rate-limit: 100 requests/minute per API credential
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/QuoteContractCreationRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/QuoteContractCreationResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/ServiceError'
/contract/pricing:
get:
summary: List current contract pricing
tags:
- Contracts
operationId: getCurrentContractPricing
description: 'Lists the active standard and time-limited pricing layers for the requested proof-of-work algorithm.
A valid API key also includes the authenticated caller''s active individual pricing layer.
Requests without an API key, or with an invalid API key, receive generic pricing only.
**Access:** API key optional; allowed ACLs: `contract-pricing-public`, `owner`, `read-only`.
**Rate limit:** 100 requests/minute per client IP.'
security:
- {}
- ApiKey: []
x-required-acl:
- contract-pricing-public
- owner
- read-only
x-rate-limit: 100 requests/minute per client IP
parameters:
- name: pow_algo
in: query
required: true
schema:
type: string
description: 'Proof-of-work algorithm. Canonical spelling: `sha256`; parsing is ASCII case-insensitive.'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetCurrentContractPricingResponse'
'400':
$ref: '#/components/responses/BadRequest'
'429':
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/ServiceError'
/contract/cancel-fee:
get:
summary: List current contract cancellation fees
tags:
- Contracts
operationId: getCurrentContractCancelFees
description: 'Lists active standard and time-limited cancellation-fee layers for the requested proof-of-work algorithm.
A valid API key also includes the authenticated caller''s active individual fee layer.
Requests without an API key, or with an invalid API key, receive generic fee layers only.
**Access:** API key optional; allowed ACLs: `contract-cancel-fee-public`, `owner`, `read-only`.
**Rate limit:** 100 requests/minute per client IP.'
security:
- {}
- ApiKey: []
x-required-acl:
- contract-cancel-fee-public
- owner
- read-only
x-rate-limit: 100 requests/minute per client IP
parameters:
- name: pow_algo
in: query
required: true
schema:
type: string
description: 'Proof-of-work algorithm. Canonical spelling: `sha256`; parsing is ASCII case-insensitive.'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetCurrentContractCancelFeesResponse'
'400':
$ref: '#/components/responses/BadRequest'
'429':
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/ServiceError'
/contract/availability:
post:
summary: Check whether requested contract hashrate is available
tags:
- Contracts
operationId: checkContractSpeedAvailability
description: 'Checks current contract capacity for the requested proof-of-work algorithm, hashrate, and time window. This is advisory and does not reserve capacity; scheduling rechecks while holding the service lock.
**Access:** API key required; allowed ACL: `owner`.
**Rate limit:** 100 requests/minute per API credential.'
x-required-acl:
- owner
x-rate-limit: 100 requests/minute per API credential
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CheckContractSpeedAvailabilityRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/CheckContractSpeedAvailabilityResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/ServiceError'
/contract/active:
get:
summary: List caller-owned pending, running, or paused contracts
description: 'Returns only caller-owned contracts that can still activate or deliver hashrate. Finished, canceled, and terminated contracts remain available from the general contract list.
**Access:** API key required; allowed ACLs: `owner`, `read-only`.
**Rate limit:** 100 requests/minute per API credential.'
tags:
- Contracts
operationId: getActiveContracts
x-required-acl:
- owner
- read-only
x-rate-limit: 100 requests/minute per API credential
parameters:
- name: pow_algo
in: query
required: true
schema:
type: string
description: 'Proof-of-work algorithm filter. Canonical spelling: `sha256`; parsing is ASCII case-insensitive.'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetContractsResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/ServiceError'
/contract/{contract_id}/detail:
get:
summary: Get a caller-owned contract
description: 'Returns the schedule, destination, lifecycle status, and commercial terms for one caller-owned contract. Current delivery state is included when runtime state is available.
**Access:** API key required; allowed ACLs: `owner`, `read-only`.
**Rate limit:** 100 requests/minute per API credential.'
tags:
- Contracts
operationId: getContractDetail
x-required-acl:
- owner
- read-only
x-rate-limit: 100 requests/minute per API credential
parameters:
- name: contract_id
in: path
required: true
description: Contract ID prefixed with C.
schema:
type: string
pattern: ^C[0-9]+$
examples:
- C123456789
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetContractDetailResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/ServiceError'
/contract/settings:
get:
summary: Get effective contract policy settings
description: 'Returns the currently effective contract-duration, hashrate, activation-gap, cancellation-gap, and reservation-lead settings for the requested proof-of-work algorithm. Clients should validate scheduling forms against these settings.
**Access:** API key required; allowed ACLs: `owner`, `read-only`.
**Rate limit:** 100 requests/minute per API credential.'
tags:
- Contracts
operationId: getContractSettings
x-required-acl:
- owner
- read-only
x-rate-limit: 100 requests/minute per API credential
parameters:
- name: pow_algo
in: query
required: true
description: 'Proof-of-work algorithm whose settings should be returned. Canonical spelling: `sha256`; parsing is ASCII case-insensitive.'
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetContractSettingsResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/ServiceError'
/contract/{contract_id}:cancel:
post:
summary: Request cancellation for a pending caller-owned contract
description: 'Requests cancellation of a contract that has not started delivery. Flux evaluates the request and the response reports whether it was accepted; cancellation rules and fees can apply.
**Access:** API key required; allowed ACL: `owner`.
**Rate limit:** 100 requests/minute per API credential.'
tags:
- Contracts
operationId: cancelContract
x-required-acl:
- owner
x-rate-limit: 100 requests/minute per API credential
parameters:
- name: contract_id
in: path
required: true
description: Contract ID prefixed with C.
schema:
type: string
pattern: ^C[0-9]+$
examples:
- C123456789
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/CancelContractRequest'
responses:
'200':
description: Cancellation request accepted or rejected by Flux
content:
application/json:
schema:
$ref: '#/components/schemas/CancelContractResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/ServiceError'
/contract/{contract_id}:terminate:
post:
summary: Terminate an active caller-owned contract
description: 'Permanently stops an active caller-owned contract before its scheduled expiry. Termination is distinct from canceling a pending contract and can trigger final accounting.
**Access:** API key required; allowed ACL: `owner`.
**Rate limit:** 100 requests/minute per API credential.'
tags:
- Contracts
operationId: terminateContract
x-required-acl:
- owner
x-rate-limit: 100 requests/minute per API credential
parameters:
- name: contract_id
in: path
required: true
description: Contract ID prefixed with C.
schema:
type: string
pattern: ^C[0-9]+$
examples:
- C123456789
requestBody:
required: false
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateContractRequest'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/TerminateContractResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/ServiceError'
/contract/activity:
get:
summary: List contract activity for the caller
tags:
- Contracts
operationId: getContractActivity
description: 'Returns caller-owned reservation, settlement, termination, funding-warning, blocked-settlement, and late-yield events in ascending cursor order. Store `next_cursor` and pass it as `after_cursor` to continue without replaying the last item.
**Access:** API key required; allowed ACLs: `owner`, `read-only`.
**Rate limit:** 100 requests/minute per API credential.'
x-required-acl:
- owner
- read-only
x-rate-limit: 100 requests/minute per API credential
parameters:
- name: after_cursor
in: query
description: Return events with a cursor strictly greater than this value. Zero starts at the beginning.
schema:
type: integer
format: uint64
minimum: 0
- name: limit
in: query
description: Maximum number of events. Zero uses the server default; the service maximum is 500.
schema:
type: integer
format: uint32
minimum: 0
maximum: 4294967295
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetContractActivityResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/ServiceError'
/contract/{contract_id}/reservation:
get:
summary: List reservation history for a caller-owned contract
description: 'Returns up to 1,000 reservation adjustments for the contract, including when each became effective, the reserved amount, and the share price used when available.
**Access:** API key required; allowed ACLs: `owner`, `read-only`.
**Rate limit:** 100 requests/minute per API credential.'
tags:
- Contracts
operationId: getContractReservations
x-required-acl:
- owner
- read-only
x-rate-limit: 100 requests/minute per API credential
parameters:
- name: contract_id
in: path
required: true
description: Contract ID prefixed with C.
schema:
type: string
pattern: ^C[0-9]+$
examples:
- C123456789
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetContractReservationsResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/ServiceError'
/contract/{contract_id}/settlement:
get:
summary: List settlement history for a caller-owned contract
description: 'Returns daily settlement records for the contract, including delivered value, fees, indicative PPS rate, and any cancellation settlement data. Zero-share rows represent completed accounting days without delivery.
**Access:** API key required; allowed ACLs: `owner`, `read-only`.
**Rate limit:** 100 requests/minute per API credential.'
tags:
- Contracts
operationId: getContractSettlements
x-required-acl:
- owner
- read-only
x-rate-limit: 100 requests/minute per API credential
parameters:
- name: contract_id
in: path
required: true
description: Contract ID prefixed with C.
schema:
type: string
pattern: ^C[0-9]+$
examples:
- C123456789
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetContractSettlementsResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/ServiceError'
/contract/{contract_id}/speed:
get:
summary: Get contract hashrate history time series
tags:
- Contracts
operationId: getContractSpeedHistory
description: 'Returns estimated delivered hashrate samples for a caller-visible contract. `aggregation_period` controls sample buckets and `sliding_window_size` controls the estimator window.
**Access:** API key required; allowed ACLs: `staff`, `owner`, `read-only`.
**Rate limit:** 100 requests/minute per API credential.'
x-required-acl:
- staff
- owner
- read-only
x-rate-limit: 100 requests/minute per API credential
parameters:
- name: contract_id
in: path
required: true
description: The contract ID (e.g., C123456789)
schema:
type: string
pattern: ^C[0-9]+$
examples:
- C123456789
- name: aggregation_period
in: query
description: Aggregation period for resampling the data.
schema:
$ref: '#/components/schemas/ContractHistoryAggregationPeriod'
- name: sliding_window_size
in: query
description: Sliding window size for estimating hashrate.
schema:
$ref: '#/components/schemas/SlidingWindowSize'
- name: datetime_from
in: query
description: Datetime from which to start the history (optional). RFC 3339 format expected.
schema:
type: string
format: date-time
examples:
- '2025-10-04T12:00:00Z'
- name: limit
in: query
description: Maximum number of items to return (optional).
schema:
$ref: '#/components/schemas/Uint32'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetContractSpeedHistoryResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/ServiceError'
/contract/{contract_id}/delivery:
get:
summary: Get contract delivery history time series
tags:
- Contracts
operationId: getContractDeliveryHistory
description: 'Returns delivered, accepted, and rejected shares for a caller-visible contract, grouped by the selected aggregation period. Each value is expressed in millions of shares.
**Access:** API key required; allowed ACLs: `staff`, `owner`, `read-only`.
**Rate limit:** 100 requests/minute per API credential.'
x-required-acl:
- staff
- owner
- read-only
x-rate-limit: 100 requests/minute per API credential
parameters:
- name: contract_id
in: path
required: true
description: The contract ID (e.g., C123456789)
schema:
type: string
pattern: ^C[0-9]+$
examples:
- C123456789
- name: aggregation_period
in: query
description: Aggregation period for resampling the data.
schema:
$ref: '#/components/schemas/ContractHistoryAggregationPeriod'
- name: datetime_from
in: query
description: Datetime from which to start the history (optional). RFC 3339 format expected.
schema:
type: string
format: date-time
examples:
- '2025-10-04T12:00:00Z'
- name: limit
in: query
description: Maximum number of items to return (optional).
schema:
$ref: '#/components/schemas/Uint32'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/GetContractDeliveryHistoryResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
default:
$ref: '#/components/responses/ServiceError'
components:
schemas:
CancelContractResponse:
type: object
properties:
cancellation_request:
$ref: '#/components/schemas/ContractCancellationRequest'
GetContractSettlementsResponse:
type: object
required:
- contract_id
- items
properties:
contract_id:
type: string
description: Contract ID prefixed with C.
items:
type: array
items:
$ref: '#/components/schemas/ContractSettlementPublicItem'
ContractReservationOriginPublic:
type: string
enum:
- CONTRACT_RESERVATION_ORIGIN_UNSPECIFIED
- CONTRACT_RESERVATION_ORIGIN_INITIAL
- CONTRACT_RESERVATION_ORIGIN_RECURRING
GetCurrentContractCancelFeesResponse:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/components/schemas/CurrentContractCancelFeeLayer'
CheckContractSpeedAvailabilityRequest:
type: object
required:
- pow_algo
- speed_ph
- activates_at
- expires_at
properties:
pow_algo:
type: string
description: 'Proof-of-work algorithm. Canonical spelling: `sha256`; parsing is ASCII case-insensitive.'
speed_ph:
$ref: '#/components/schemas/Double'
description: Contract hashrate in PH/s.
activates_at:
type: string
format: date-time
description: Desired activation datetime of the contract.
expires_at:
type: string
format: date-time
description: Desired expiration datetime of the contract.
CheckContractSpeedAvailabilityResponse:
type: object
required:
- available
- reason_code
- reason
properties:
available:
type: boolean
description: True when the requested hashrate and window currently fit configured contract capacity.
reason_code:
type: string
description: Empty when available is true; otherwise a stable machine-readable rejection code.
reason:
type: string
description: Empty when available is true; otherwise a human-readable rejection reason.
CurrentContractCancelFeeLayer:
type: object
required:
- kind
- label
- valid_from
- valid_to
- cancel_fee_pct
properties:
kind:
$ref: '#/components/schemas/CurrentContractCancelFeeLayerKind'
label:
type: string
valid_from:
type: string
format: date-time
description: RFC3339 UTC timestamp from which this fee layer is valid.
valid_to:
type: string
description: RFC3339 UTC timestamp at which this fee layer stops being valid. Empty means open-ended.
cancel_fee_pct:
type: string
description: Cancellation fee as a percentage of unpaid remaining contract premium.
ProfileIdentifier:
type: object
required:
- profile_name
- client_name
properties:
profile_name:
type: string
client_name:
type: string
GetContractDeliveryHistoryResponse:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/components/schemas/GetContractDeliveryHistoryItem'
GetContractSpeedHistoryResponse:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/components/schemas/GetContractSpeedHistoryItem'
GetContractsResponse:
type: object
required:
- items
properties:
items:
type: array
items:
$ref: '#/components/schemas/GetContractsResponseItem'
ContractCreationQuoteReason:
type: string
enum:
- CONTRACT_CREATION_QUOTE_REASON_UNSPECIFIED
- CONTRACT_CREATION_QUOTE_REASON_SALES_DISABLED
- CONTRACT_CREATION_QUOTE_REASON_SHARE_PRICE_UNAVAILABLE
- CONTRACT_CREATION_QUOTE_REASON_NO_VALID_PRICING
- CONTRACT_CREATION_QUOTE_REASON_SPEED_LIMIT_NOT_CONFIGURED
- CONTRACT_CREATION_QUOTE_REASON_INSUFFICIENT_SPEED_CAPACITY
- CONTRACT_CREATION_QUOTE_REASON_SPEED_UNAVAILABLE
- CONTRACT_CREATION_QUOTE_REASON_INSUFFICIENT_FUNDS
Int64:
type: integer
format: int64
CurrentContractPricingLayer:
type: object
required:
- kind
- label
- valid_from
- valid_to
- bands
properties:
kind:
$ref: '#/components/schemas/CurrentContractPricingLayerKind'
label:
type: string
valid_from:
type: string
format: date-time
description: RFC3339 UTC timestamp from which this pricing layer is valid.
valid_to:
type: string
description: RFC3339 UTC timestamp at which this pricing layer stops being valid. Empty means open-ended.
bands:
type: array
items:
$ref: '#/components/schemas/CurrentContractPricingBand'
GetContractActivityResponse:
type: object
required:
- items
- next_cursor
- has_more
properties:
items:
type: array
items:
$ref: '#/components/schemas/ContractActivityItem'
next_cursor:
type: integer
format: uint64
minimum: 0
description: Cursor of the final returned item, or the request cursor when no items were returned.
has_more:
type: boolean
description: True when more matching events are currently availa
# --- truncated at 32 KB (53 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/braiins-academy/refs/heads/main/openapi/braiins-academy-contracts-api-openapi.yml