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 kutup ayısı maskotu, aurora ışıklı pencereli açık Nordic taş konsol odasında; cyan kod gösteren yüzen holografik terminal monitörler, cyan ışıklı tuş başlıklı mekanik klavye ve yanında yaslı cyan-N kalkanıyla taktik görev kontrol istasyonunda oturuyor
API.v1 · REST · 70+ uç nokta · 5 SDK

NordBastion'ı kodla çalıştırın.
KYC'siz, kripto ödemeli, tam komut dosyası yazılabilir.

Sunucular sağlayın, snapshot'lar alın, kripto para birimiyle bakiye yükleyin, herhangi bir bastiondan ping çalıştırın. Her panel eyleminin bir REST endpoint'i ve dört SDK'si vardır. Panelle aynı kimlik tabanı: bir e-posta ve bir şifre, başka hiçbir şey.

Sürüm
v1
Endpoint'ler
70+
SDK'lar
4 + CLI
Kaleler
4 Nordic
İstek sınırı
1000/min read
KYC
Hiçbiri
Hızlı başlangıç

Kayıtlı hesaptan kodda açılmış bir sunucuya üç adım.

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 Kripto ile bakiye yükleyin

POST /v1/billing/topups

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

amount_usd değeri $30 ile $10,000 arasında olmalıdır (sunucu tarafından zorunlu kılınır). Düşük değer HTTP 422 amount_too_low, yüksek değer amount_too_high döndürür.

curl -sS https://nordbastion.com/v1/billing/topups \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"amount_usd":50,"coin":"xmr"}'
03 Bir sunucu sağla

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'lar & CLI

Dört dil, bir binary.

Her SDK, MIT lisanslı, kaynak koduna erişilebilir, v1.0'dan itibaren semver-kararlıdır. Tümü aynı kimlik doğrulanmış istemci arayüzünü paylaşır — herhangi bir dilde sunucuları listeler.

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 öncelikli

REST API, herhangi bir HTTP istemcisiyle çalışır. JSON istek ve yanıt gövdeleri, JWT bearer veya kapsamlı API anahtarı, imzalı webhook yükleri. SDK kilitlenmesi yok.

curl -H "Authorization: Bearer nb_live_••••" https://nordbastion.com/v1/servers
Endpoint referansı

On iki kaynak grubu genelinde 70'ten fazla endpoint.

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

Tüm endpoint'ler JSON giriş / JSON çıkış, ?page= & ?per_page= ile sayfalandırma, ?filter[field]= ile filtreleme ve ?fields= ile alan seçimini takip eder. Her istek bir Idempotency-Key başlığı taşıyabilir.

Kimlik doğrulama

Üç kimlik bilgisi türü, iki gizlilik modu.

Taşıyıcı token LIVE

E-posta + şifre · JWT · 24 saatlik süre sonu

POST /v1/auth/login tarafından yayımlanan kısa ömürlü JWT. Kapsam taleplerini ve oturum iptal kimliğini taşır. /v1/auth/token/refresh aracılığıyla 30 gün boyunca yenilenebilir.

Authorization: Bearer eyJhbGciOi••••
Kapsamlı API anahtarı LIVE

Uzun ömürlü · kapsama alınmış · iptal edilebilir

Kapsamlar: salt okunur, fatura-oku, fatura-yaz, sunucular-oku, sunucular-yaz, tam. İsteğe bağlı IP izin listesi (CIDR), isteğe bağlı son kullanma tarihi. CI ve altyapı betikleri için önerilir.

Authorization: Bearer nb_live_3f9c2a••••
Karşılıklı TLS Planned v1.1

İstemci sertifikası · kurumsal / uyumluluk

Bir API anahtarına mTLS istemci sertifikası sabitleyin. Yanlış istemci sertifikası sunan istekler, herhangi bir uygulama mantığı çalışmadan önce TLS katmanında reddedilir. Panel üzerinden talep üzerine kullanılabilir.

curl --cert client.pem --key client.key https://nordbastion.com/v1/servers
PGP imzalı yanıtlar Planned v1.1

İsteğe bağlı ayrılmış imza · çevrimdışı doğrulanabilir

Herhangi bir istekte X-NB-Sign: 1 başlığını ayarlayın. Yanıt gövdesi, NordBastion anahtarı kullanılarak ayrık bir PGP açık metin imzasıyla sarılır (parmak izi /pgp/ adresindedir). Yalnızca TLS zincirine güvenmeyen uyumluluk ardışık düzenlerinde kullanılır.

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

NordBastion kayıtta kimlik toplamaz ve API bu tabanı değiştirmez. SMS doğrulama webhook'u yok, e-posta onay akışı yok, kimlik belgesi yükleme endpoint'i yok. API parayı, makineleri ve meta veriyi ortaya koyar — tüm yüzey alanı budur.

İstek sınırları

Anahtar başına, dakika başına yayımlanmış

Okuma uç noktaları
1000 / min
Yazma uç noktaları
100 / min
Kimlik doğrulamaya duyarlı
10 / min
429 yeniden deneme
Retry-After

Her yanıt X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset taşır. Daha yüksek kademe panelden talep üzerine mevcuttur.

Sürüm yönetimi

On iki aylık kullanım dışı bırakma tabanı

Endpoint'ler /v1/ altında URL sürümlendirilmiştir. Bozucu değişiklikler yalnızca yeni bir ana sürümde sunulur. Önceki ana sürüm en az on iki ay desteklenmeye devam eder. Kullanımdan kaldırılan endpoint'ler Sunset ve Deprecation yanıt başlıkları taşır.

Sunset: Wed, 01 Jul 2027 00:00:00 GMT Deprecation: true
Hata formatı

Kararlı zarf, makine tarafından okunabilir kod

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

İmzalı olaylar, geri çekilme ile yeniden denenir.

Her olay yükü, webhook sırrınızla HMAC imzalıdır. Bir saat boyunca üstel geri çekilmeyle üç yeniden deneme girişimi, ardından bırakılır. Test teslimatları POST /v1/webhooks/{id}/test üzerinden kullanılabilir.

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.

Şeffaflık uç noktaları

Kanary'e, olay günlüğüne, peering kaydına programatik erişim.

Çoğu bulut API'si ürün ve faturalamayı ortaya koyar. NordBastion ayrıca kendi şeffaflık yüzeyini — programatik olarak — ortaya koyar. /warrant-canary/'de yayımlanan aynı garanti kanary, /v1/transparency/canary'de imzalı JSON yükü olarak mevcuttur. /status/'u yönlendiren aynı olay geçmişi /v1/transparency/incidents'ta. /peering/'de yaşayan aynı peering kaydı /v1/transparency/peering'de. Aynı AS213232 ön ek duyuruları gerçek zamanlı sorgulanabilir.

canary.updated webhook'una abone olun ve her ayın ilk günü bir anlık bildirim alın — tetiklenmeyi durdurursa kanarya çöktü demektir ve bunu yoklama yapmadan bilirsiniz. Uyarıyı kendiniz oluşturun, kendi altyapınızda, yayımlanan PGP anahtarına karşı çevrimdışı doğrulayabileceğiniz kriptografik imzayla.

Bu, hiçbir ticari bulutun sahip olmadığı API kısmıdır; çünkü hiçbir ticari bulutun bunu destekleyecek bir doktrini yoktur.

SSS · API

Geliştirici soruları, yanıtlandı.

Bir geliştiricinin altyapısını bir sağlayıcının API'sine bağlamadan önce sorduğu sorular.

Gerçekten bir API var mı ve KYC'siz mi?

Evet — kontrol panelinde gerçekleştirebileceğiniz her eylemin bugün veya yayımlanan yol haritasında API karşılığı vardır; API'nin kendisi aynı kimlik doğrulanmış panel hesabıyla korunur: bir e-posta ve parola. API kimlik bilgilerini edinmek veya kullanmak için herhangi bir kimlik doğrulama gerekmez.

Hangi programlama dillerinin resmi SDK'ları var?

Dört resmi SDK ve bir CLI. Python (pip install nordbastion), TypeScript / Node (npm install @nordbastion/api), Go (go install go.nordbastion.com/cli/nb@latest), Rust (cargo add nordbastion) ve curl aracılığıyla kurulabilir tek binary çapraz platform CLI (nb). Tüm SDK'ler MIT lisanslı ve kaynak koduna erişilebilir.

Bakiyemi koddan, kripto para birimiyle yükleyebilir miyim?

Evet. POST /v1/billing/topups bir bakiye yükleme niyeti oluşturur ve kripto para başına hedef adres, QR kodu ve son kullanma zaman damgası döndürür. Ağ ödemeyi onayladığında, ön ödemeli bakiyeniz otomatik olarak yüklenir ve bir topup.confirmed webhook'u tetiklenir. On iki kripto para desteklenmekte olup /v1/billing/coins adresinde listelenmiştir.

API endpoint'lerine Tor üzerinden ulaşılabilir mi?

api.nordbastion.com clearnet uç noktası, bugün özel durum istek sınırı veya Tor engeli olmadan Tor dostudur. API yüzeyinin bir v3 onion aynası panel yol haritasındadır ve kullanıma sunulduğunda Onion-Location yanıt başlıkları aracılığıyla aynı TLS onaylı materyali paylaşacaktır.

"PGP imzalı yanıtlar" ne anlama geliyor?

API anahtarınızı PGP imzalı yanıt gövdelerine dahil edebilirsiniz. Her JSON yanıtı, NordBastion anahtarı kullanılarak ayrık bir açık metin PGP imzasıyla sarılır (parmak izi /pgp/ adresindedir). Sarım çevrimdışı doğrulanabilir ve yalnızca TLS zincirine güvenmeyen ortamlarda uyumluluk ve kaynak onaylama için kullanışlıdır.

Hız sınırları nasıl uygulanır?

API anahtarı başına. Yayımlanan taban, dakikada 1000 okuma isteği ve dakikada 100 yazma isteği, artı kimlik doğrulamaya duyarlı endpoint'lerde (oturum açma, şifre sıfırlama, anahtar oluşturma) dakikada 10 istektir. Her yanıt X-RateLimit-Limit, X-RateLimit-Remaining ve X-RateLimit-Reset başlıkları taşır; 429 yanıtları Retry-After başlığı içerir. Doğrulanmış geliştirici hesapları panelden daha yüksek kademe talep edebilir.

Sürümleme nasıl çalışır?

Endpoint'ler /v1/ altında URL sürümlendirilmiştir. Bozucu değişiklikler yalnızca yeni bir ana sürümde (/v2/, /v3/) sunulur ve önceki ana sürüm, sonraki yayımlandıktan en az on iki ay sonra desteklenmeye devam eder. Kullanımdan kaldırılan endpoint'ler, kesme tarihi içeren bir Sunset başlığı ve her yanıtta Deprecation: true başlığı taşır.

Denetim kaydı neden opt-in'dir?

Çünkü NordBastion doktrini, yalnızca zorunlu olanı kaydettiğimizi söyler. Operasyonel istek metrikleri, hız sınırlayıcının ihtiyaç duyduğu kayan pencere boyunca yaşar ve ardından sona erer; API eylemlerinin müşteri başına denetim günlüğü, platformu çalıştırmak için ihtiyaç duyduğumuzdan daha fazla veridir, bu nedenle varsayılan olarak kapalıdır. İsteyen müşteriler /v1/account/audit-log'u etkinleştirebilir; etkinleştirildiğinde hem panel hem API'yi eşit biçimde kapsar ve dışa aktarılabilir.

Betik yazmaya hazır

Panelden bir API anahtarı alın.

Panelle aynı e-posta ve parola tabanı. Kimlik doğrulaması yok. Kripto ile ödeyin. Stockholm, Helsinki, Oslo veya Reykjavík'te yaklaşık doksan saniyede bir sunucu açın.

Temel URL · https://nordbastion.com/v1/ · Durum · canlı operasyonel durum · Ağ Testi · ping/MTR canlı çalıştır