v1.0 shipped · 50 endpoints live across auth, account, billing, catalog, servers, ssh-keys, webhooks, transparency, agents and OAuth. · v1.1 roadmap (snapshots, networking, storage, SDKs, CLI) is tracked below. · Native MCP server at /agents/.
NordBastion のホッキョクグマのマスコットが戦術的なミッションコントロールワークステーションに座り、シアンのコードを表示するホログラフィックターミナルモニターが浮かび、シアンに光るキーキャップのメカニカルキーボードと傍らに立てかけられたシアンの N シールドがあり、オーロラに照らされた窓を持つ Nordic の石のコンソールルームの中にいる
API.v1 · REST · 70以上のエンドポイント · 5 SDK

コードから NordBastion を実行します。
KYC フリー、暗号通貨払い、完全にスクリプト可能。

サーバーをプロビジョニングし、スナップショットを取り、暗号通貨でトップアップし、任意のバスティオンから ping を実行します。すべてのパネルアクションには REST エンドポイントと4つの SDK があります。パネルと同じ身元要件:メールアドレスとパスワードのみ。

バージョン
v1
エンドポイント
70+
SDK
4 + CLI
要塞
4 Nordic
レート制限
1000/min read
KYC
なし
クイックスタート

登録済みアカウントからコードでサーバーを起動するまでの3ステップ。

01 Create an account

POST /v1/auth/register

Email + password, no KYC. Returns a 24-hour access token straight away — no email confirmation step.

curl -sS https://nordbastion.com/v1/auth/register \
  -H "Content-Type: application/json" \
  -d '{"email":"[email protected]","password":"••••••••••••"}'
02 暗号通貨で入金

POST /v1/billing/topups

Open a per-coin invoice. The response carries a deposit address, QR code and expiry timestamp.

amount_usd must be between $30 and $10,000 (server-enforced). Lower returns HTTP 422 amount_too_low, higher returns amount_too_high.

curl -sS https://nordbastion.com/v1/billing/topups \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"amount_usd":50,"coin":"xmr"}'
03 サーバーをプロビジョニングする

POST /v1/servers

Pick a tier (service_code), a bastion and an image. Server is booted with SSH in about ninety seconds.

curl -sS https://nordbastion.com/v1/servers \
  -H "Authorization: Bearer $TOKEN" \
  -d '{"service_code":"NB-V3","bastion":"STO","image":"debian-12"}'
SDK & CLI

四言語、一つのバイナリ。

各 SDK は MIT ライセンス、ソース利用可能、v1.0 からセムバー安定版です。すべて同じ認証済みクライアントインターフェースを共有しています — どの言語でもサーバーをリスト表示できます。

Planned for v1.1

These SDKs are planned for v1.1. The REST API at /v1/* is fully usable from any HTTP client today — see the agents page for cURL and MCP examples.

Python
pip
pip install nordbastion
from nordbastion import Client
nb = Client(api_key="nb_live_••••")

for s in nb.servers.list():
    print(s.id, s.name, s.status)
TypeScript
npm
npm i @nordbastion/api
import { NordBastion } from '@nordbastion/api';
const nb = new NordBastion({ apiKey: 'nb_live_••••' });

const servers = await nb.servers.list();
servers.forEach(s => console.log(s.id, s.name, s.status));
Go
go install
go get go.nordbastion.com/api
import nb "go.nordbastion.com/api"

c := nb.New(nb.WithAPIKey("nb_live_••••"))
servers, _ := c.Servers.List(ctx)
for _, s := range servers {
    fmt.Println(s.ID, s.Name, s.Status)
}
Rust
cargo
cargo add nordbastion
use nordbastion::Client;
let nb = Client::builder()
    .api_key("nb_live_••••").build()?;

for s in nb.servers().list().await? {
    println!("{} {} {}", s.id, s.name, s.status);
}
CLI · nb
Planned for v1.1
curl -sSL https://get.nordbastion.com | sh
nb auth login --api-key nb_live_••••
nb servers list
nb servers create --tier NB-V3 --bastion STO
nb servers snap NB-srv-1234 --name pre-upgrade
curl ファースト

REST API は任意の HTTP クライアントで動作します。JSON リクエストとレスポンスボディ、JWT ベアラーまたはスコープ付き API キー、署名済み webhook ペイロード。SDK ロックインなし。

curl -H "Authorization: Bearer nb_live_••••" https://nordbastion.com/v1/servers
エンドポイントリファレンス

12のリソースグループにまたがる70以上のエンドポイント。

Authentication · 14 endpoints

POST /v1/auth/register LIVE
POST /v1/auth/login LIVE
POST /v1/auth/login/totp LIVE
POST /v1/auth/token/refresh LIVE
POST /v1/auth/recover LIVE
GET /v1/auth/sessions LIVE
DELETE /v1/auth/sessions/{token_id} LIVE
POST /v1/auth/totp/setup LIVE
POST /v1/auth/totp/enable LIVE
POST /v1/auth/totp/disable LIVE
POST /v1/auth/password LIVE
POST /v1/auth/api-keys LIVE
GET /v1/auth/api-keys LIVE
DELETE /v1/auth/api-keys/{key_id} LIVE

Account · 5 endpoints

GET /v1/account LIVE
PATCH /v1/account LIVE
GET /v1/account/balance LIVE
GET /v1/account/usage LIVE
GET /v1/account/audit-log LIVE

Billing & crypto top-ups · 8 endpoints

POST /v1/billing/topups LIVE
GET /v1/billing/topups LIVE
GET /v1/billing/topups/{order_number} LIVE
POST /v1/billing/topups/{order_number}/cancel LIVE
GET /v1/billing/bonus-tiers LIVE
GET /v1/billing/coins LIVE
GET /v1/billing/invoices PLANNED roadmap
GET /v1/billing/invoices/{id} PLANNED roadmap

Catalogue · 7 endpoints

GET /v1/catalog LIVE
GET /v1/catalog/vps LIVE
GET /v1/catalog/dedicated LIVE
GET /v1/catalog/bastions LIVE
GET /v1/catalog/images LIVE
GET /v1/catalog/{code} LIVE
GET /v1/catalog/iso PLANNED roadmap

Servers · 14 endpoints

POST /v1/servers LIVE
GET /v1/servers LIVE
GET /v1/servers/{order_number} LIVE
PATCH /v1/servers/{order_number} LIVE
DELETE /v1/servers/{order_number} LIVE
POST /v1/servers/{id}/power PLANNED roadmap
POST /v1/servers/{id}/reinstall PLANNED roadmap
POST /v1/servers/{id}/rescue PLANNED roadmap
POST /v1/servers/{id}/resize PLANNED roadmap
POST /v1/servers/{id}/migrate PLANNED roadmap
POST /v1/servers/{id}/password-reset PLANNED roadmap
GET /v1/servers/{id}/metrics PLANNED roadmap
GET /v1/servers/{id}/console PLANNED roadmap
GET /v1/servers/{id}/serial PLANNED roadmap

Snapshots · 5 endpoints

POST /v1/servers/{id}/snapshots PLANNED roadmap
GET /v1/servers/{id}/snapshots PLANNED roadmap
POST /v1/servers/{id}/snapshots/{snapId}/restore PLANNED roadmap
DELETE /v1/servers/{id}/snapshots/{snapId} PLANNED roadmap
POST /v1/servers/{id}/snapshots/{snapId}/export PLANNED roadmap

SSH keys · 4 endpoints

POST /v1/ssh-keys LIVE
GET /v1/ssh-keys LIVE
GET /v1/ssh-keys/{id} LIVE
DELETE /v1/ssh-keys/{id} LIVE

Networking · 8 endpoints

GET /v1/networking/ips PLANNED roadmap
POST /v1/networking/ips/floating PLANNED roadmap
POST /v1/networking/rdns PLANNED roadmap
POST /v1/networking/firewall PLANNED roadmap
GET /v1/networking/firewall PLANNED roadmap
POST /v1/networking/private-network PLANNED roadmap
POST /v1/networking/byoip PLANNED roadmap
POST /v1/networking/lookingglass PLANNED roadmap

Storage · 5 endpoints

POST /v1/storage/volumes PLANNED roadmap
GET /v1/storage/volumes PLANNED roadmap
POST /v1/storage/volumes/{id}/attach PLANNED roadmap
POST /v1/storage/volumes/{id}/detach PLANNED roadmap
POST /v1/storage/volumes/{id}/resize PLANNED roadmap

Images & templates · 3 endpoints

POST /v1/images/iso/upload PLANNED roadmap
POST /v1/images/templates PLANNED roadmap
GET /v1/images/templates PLANNED roadmap

Webhooks · 4 endpoints

POST /v1/webhooks LIVE
GET /v1/webhooks LIVE
DELETE /v1/webhooks/{id} LIVE
POST /v1/webhooks/{id}/test LIVE

Transparency · 4 endpoints

GET /v1/transparency/canary LIVE
GET /v1/transparency/peering LIVE
GET /v1/transparency/status LIVE
GET /v1/transparency/incidents PLANNED roadmap

Agents directory · 2 endpoints

GET /v1/agents/directory LIVE
POST /v1/agents/directory LIVE

OAuth 2.1 / DCR · 4 endpoints

POST /v1/oauth/register LIVE
POST /v1/oauth/token LIVE
POST /v1/oauth/revoke LIVE
GET /v1/oauth/introspect LIVE

全エンドポイントは JSON 入力・JSON 出力に従い、ページネーションは ?page= と ?per_page=、フィルタリングは ?filter[field]=、フィールド選択は ?fields= を使用します。すべてのリクエストに Idempotency-Key ヘッダーを含めることができます。

認証

3種類の認証情報、2つのプライバシーモード。

ベアラートークン LIVE

メール + パスワード · JWT · 24時間有効期限

POST /v1/auth/login によって発行される短命 JWT。スコープクレームとセッション失効 ID を持ちます。/v1/auth/token/refresh を通じて30日間更新可能です。

Authorization: Bearer eyJhbGciOi••••
スコープ付き API キー LIVE

長期有効 · スコープ付き · 取り消し可能

スコープ:読み取り専用、billing-read、billing-write、servers-read、servers-write、フル。オプションの IP 許可リスト(CIDR)、オプションの有効期限。CI とインフラスクリプトに推奨。

Authorization: Bearer nb_live_3f9c2a••••
相互 TLS Planned v1.1

クライアント証明書 · エンタープライズ / コンプライアンス

mTLS クライアント証明書を API キーに固定します。誤ったクライアント証明書を提示するリクエストは、アプリケーションロジックが実行される前に TLS レイヤーで拒否されます。パネルからリクエストすると利用可能です。

curl --cert client.pem --key client.key https://nordbastion.com/v1/servers
PGP 署名付き応答 Planned v1.1

オプトイン分離署名 · オフライン検証可能

任意のリクエストに X-NB-Sign: 1 を設定します。レスポンスボディは NordBastion キー(フィンガープリントは /pgp/ に記載)を使用した分離 PGP クリアテキスト署名でラップされます。TLS チェーンのみを信頼しないコンプライアンスパイプラインで使用されます。

curl -H "X-NB-Sign: 1" -H "Authorization: Bearer ..." https://nordbastion.com/v1/transparency/canary

NordBastion はサインアップ時に身元を収集せず、API もその基準を変えません。SMS 検証 webhook も、メール確認フローも、本人確認書類アップロードのエンドポイントも存在しません。 API が公開するのは、マネー・マシン・メタデータのみ — それがすべての表面積です。

レート制限

キーごと、1分あたりで公開

読み取りエンドポイント
1000 / min
書き込みエンドポイント
100 / min
認証センシティブ
10 / min
429 リトライ
Retry-After

すべてのレスポンスには X-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Reset が含まれます。より高いティアはパネルからリクエストすることで利用できます。

バージョニング

12ヶ月の廃止予告期間

エンドポイントは /v1/ 以下で URL バージョン管理されています。破壊的変更は新しいメジャーバージョンでのみリリースされます。前のメジャーバージョンは少なくとも12か月間サポートされます。非推奨のエンドポイントは Sunset と Deprecation レスポンスヘッダーが付きます。

Sunset: Wed, 01 Jul 2027 00:00:00 GMT Deprecation: true
エラー形式

安定したエンベロープ、機械可読コード

{
  "error": {
    "type":    "invalid_request",
    "code":    "invalid_bastion",
    "message": "Unknown bastion 'mxp'.",
    "request_id": "req_2VqK8e...",
    "doc_url": "https://nordbastion.com/api/#errors"
  }
}
Webhook

署名付きイベント、バックオフで再試行。

すべてのイベントペイロードはウェブフックシークレットで HMAC 署名されます。1時間にわたる指数バックオフで3回の再試行後、ドロップされます。テスト配信は POST /v1/webhooks/{id}/test から利用可能です。

account.balance.low

Balance dropped below the configured threshold.

topup.created

Crypto top-up address generated, waiting for first confirmation.

topup.confirmed

Top-up settled on-chain. Balance credited.

topup.failed

Top-up address expired without confirmation.

invoice.issued

Monthly invoice issued. PDF + PGP-signed PDF available.

server.provisioning

Provisioning started — image being written.

server.provisioned

Server is booted and reachable on SSH.

server.power.on

Server powered on (manual or scheduled).

server.power.off

Server powered off (manual or scheduled).

server.reinstalled

OS reinstalled. Root password rotated.

server.resized

VPS tier changed. Applied on the next reboot.

server.migrated

Server moved to another bastion via snapshot redeploy.

server.deleted

Server terminated. Pro-rated credit returned.

snapshot.created

Snapshot completed and is downloadable.

snapshot.restored

Snapshot restored in place.

snapshot.deleted

Snapshot removed.

volume.attached

Block volume attached to a server.

volume.detached

Block volume detached.

firewall.changed

Firewall ruleset applied to one or more servers.

canary.updated

Warrant canary reaffirmed (first of every month).

incident.opened

Operational incident opened on a bastion or shared service.

incident.resolved

Operational incident closed.

peering.changed

AS213232 peering or prefix announcement updated.

透明性エンドポイント

カナリアへのプログラムアクセス、インシデントログ、ピアリング記録。

大半のクラウド API は製品と請求を公開しています。NordBastion は自身の透明性サーフェスもプログラムで公開しています。/warrant-canary/ で公開されているウォレントカナリーと同じものが /v1/transparency/canary で署名された JSON ペイロードとして利用できます。/status/ を駆動するインシデント履歴と同じものが /v1/transparency/incidents に、/peering/ に存在するピアリングレコードと同じものが /v1/transparency/peering に、同じ AS213232 プレフィックスアナウンスメントがリアルタイムでクエリ可能です。

canary.updated webhook を購読すると、毎月1日目にプッシュ通知を受け取れます——発火が止まればカナリアが壊れており、ポーリングなしにわかります。自分のインフラで、公開 PGP キーに対してオフラインで検証できる暗号署名を使って、自分でアラートを構築してください。

これは商業クラウドが持たない API の部分です。商業クラウドにはそれを支える原則がないからです。

FAQ · API

開発者の質問、答えます。

開発者がホストの API にインフラをコミットする前に尋ねる質問。

本当に API はありますか?それは KYC フリーですか?

はい——コントロールパネルで実行できるすべてのアクションには、現在または公開されたロードマップ上で API の同等機能があり、API 自体は同じ認証済みパネルアカウント(メールアドレスとパスワード)でゲートされています。API 資格情報の取得や使用に身元確認は必要ありません。

どのプログラミング言語に公式 SDK がありますか?

四つの公式 SDK と一つの CLI。Python(pip install nordbastion)、TypeScript / Node(npm install @nordbastion/api)、Go(go install go.nordbastion.com/cli/nb@latest)、Rust(cargo add nordbastion)、および curl でインストール可能なシングルバイナリのクロスプラットフォーム CLI(nb)。すべての SDK は MIT ライセンスでソース利用可能です。

コードから暗号通貨で残高をチャージできますか?

はい。POST /v1/billing/topups はトップアップインテントを作成し、コインごとの宛先アドレス、QR コード、有効期限タイムスタンプを返します。ネットワークが支払いを確認すると、プリペイド残高が自動的にクレジットされ、topup.confirmed webhook が発火します。12種類の暗号通貨がサポートされており、/v1/billing/coins に記載されています。

API エンドポイントは Tor 経由でアクセスできますか?

クリアネットエンドポイント api.nordbastion.com は現在 Tor フレンドリーで、特別なレート制限や Tor ブロッキングはありません。API 表面の v3 オニオンミラーはパネルロードマップに載っており、提供時には Onion-Location レスポンスヘッダーを通じて同じ TLS 認証済み素材を共有します。

「PGP 署名済みレスポンス」とは何を意味しますか?

API キーを PGP 署名済みレスポンスボディにオプトインできます。各 JSON レスポンスは NordBastion キー(フィンガープリントは /pgp/ に記載)を使用した分離クリアテキスト PGP 署名でラップされます。ラッピングはオフラインで検証可能で、TLS チェーンのみを信頼しない環境のコンプライアンスとソース証明に有用です。

レートリミットはどのように適用されますか?

API キーごと。公開されているベースラインは1分あたり読み取りリクエスト1000回、書き込みリクエスト100回、認証に敏感なエンドポイント(ログイン、パスワードリセット、キー作成)では1分あたり10回です。すべてのレスポンスには X-RateLimit-Limit、X-RateLimit-Remaining、X-RateLimit-Reset ヘッダーが含まれ、429 レスポンスには Retry-After ヘッダーが含まれます。検証済み開発者アカウントはパネルから上位ティアをリクエストできます。

バージョン管理はどのように機能しますか?

エンドポイントは /v1/ 以下で URL バージョン管理されています。破壊的変更は新しいメジャーバージョン(/v2/、/v3/)でのみリリースされ、前のメジャーバージョンは次のバージョンがリリースされてから少なくとも12か月間サポートされます。非推奨のエンドポイントはすべてのレスポンスに切り捨て日付を持つ Sunset ヘッダーと Deprecation: true ヘッダーが付きます。

なぜ監査ログはオプトインなのですか?

NordBastion の方針は、必要なものだけをログに記録するというものだからです。運用リクエストメトリクスはレートリミッターが必要とするローリングウィンドウの間だけ存在し、その後期限切れとなります。API アクションの顧客ごとの監査ログはプラットフォームの運用に必要なデータを超えるため、デフォルトでオフです。必要な顧客は /v1/account/audit-log を有効にできます。有効化後はパネルと API の両方を同等にカバーし、エクスポートできます。

スクリプト化する準備ができました

パネルから API キーを取得します。

パネルと同じメールアドレスとパスワードの要件。身元確認なし。暗号通貨で支払い。StockholmHelsinkiOslo、または Reykjavík のサーバーを約90秒で起動します。

ベース URL · https://nordbastion.com/v1/ · ステータス · ライブ稼働状況 · ルッキンググラス · ping/MTR をライブで実行