開発者ドキュメント

Dev Stack Base APIとSDKの包括的なリファレンス。クイックスタートガイドからエンタープライズ統合まで、すべての情報をご覧いただけます。

目次を表示
ネットワークノードの信頼性と分散構成のビジュアル

クイックスタート

Dev Stack Base APIを使い始めるには、まずAPIキーを取得し、最初のAPIリクエストを送信してみましょう。このガイドでは5分でHello Worldを達成できます。

INFO

本番環境のAPIキーは管理コンソールから取得できます。テスト用には dsb_test_xxxxxxxx 形式のサンドボックスキーを使用してください。

Step 1: APIキーの取得

管理コンソールにログインし、設定 → API キー → 新規作成 からAPIキーを発行します。キーには適切なスコープを設定し、安全に管理してください。

1

アカウントにサインイン

console.devstackbase.com にアクセスし、企業アカウントでログインします。

2

APIキーを生成

左ナビゲーションの「API管理」から「新規キーを生成」をクリックし、用途と権限スコープを指定します。

3

環境変数に設定

生成されたキーを環境変数 DSB_API_KEY に設定します。キーは一度しか表示されないので必ず保存してください。

4

最初のリクエストを送信

以下のcurlコマンドで接続を確認できます。

最初のAPIリクエスト

bash
# APIキーを環境変数に設定
export DSB_API_KEY="dsb_live_your_api_key_here"

# ヘルスチェックエンドポイントで接続確認
curl -X GET "https://api.devstackbase.com/v1/health" \
  -H "Authorization: Bearer $DSB_API_KEY" \
  -H "Content-Type: application/json"

# 期待されるレスポンス:
# {
#   "status": "ok",
#   "version": "v1",
#   "region": "ap-northeast-1",
#   "timestamp": "2026-05-20T09:00:00Z"
# }

デプロイメントの作成

APIキーの確認ができたら、最初のデプロイメントを作成してみましょう。

bash — デプロイメント作成
curl -X POST "https://api.devstackbase.com/v1/deployments" \
  -H "Authorization: Bearer $DSB_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my-first-app",
    "image": "my-registry/my-app:latest",
    "replicas": 2,
    "resources": {
      "cpu": "500m",
      "memory": "512Mi"
    },
    "env": [
      {"name": "NODE_ENV", "value": "production"},
      {"name": "PORT", "value": "3000"}
    ],
    "ports": [{"containerPort": 3000, "protocol": "TCP"}]
  }'
TIP

デプロイメント名はDNSラベル形式(小文字英数字とハイフン)で指定してください。一度設定した名前は変更できません。

認証

Dev Stack Base APIはBearerトークン認証を使用します。すべてのAPIリクエストには有効なAPIキーが必要です。

認証ヘッダー

HTTP Header
Authorization: Bearer dsb_live_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

APIキーの種類

キー種別プレフィックス用途有効期限
本番キー dsb_live_ 本番環境でのAPI呼び出し 設定による(最大1年)
テストキー dsb_test_ 開発・テスト環境 30日(自動更新可)
CI/CDキー dsb_ci_ デプロイパイプライン専用 プロジェクト単位で管理
読み取り専用キー dsb_ro_ モニタリング・監査用 設定による
WARNING

APIキーをコードにハードコードしないでください。環境変数またはシークレットマネージャーを使用してください。GitHubなどのパブリックリポジトリに誤ってコミットした場合は、即座にキーを無効化してください。

スコープ(権限)

APIキーには以下のスコープを個別に付与できます。最小権限の原則に従い、必要なスコープのみを付与することを推奨します。

  • deployments:read — デプロイメント情報の読み取り
  • deployments:write — デプロイメントの作成・更新・削除
  • services:read — サービス情報の読み取り
  • services:write — サービスの設定変更
  • logs:read — ログデータの読み取り
  • metrics:read — メトリクスデータの読み取り
  • secrets:read — シークレット名の列挙(値は読み取り不可)
  • secrets:write — シークレットの作成・更新
  • admin:* — すべての権限(管理者専用)
クラウドセキュリティ保護機能のビジュアル

APIリファレンス

Dev Stack Base REST APIのすべてのエンドポイント一覧です。ベースURLは https://api.devstackbase.com/v1 です。

デプロイメント API

メソッドエンドポイント説明スコープ
GET /deployments デプロイメント一覧取得 deployments:read
POST /deployments 新規デプロイメント作成 deployments:write
GET /deployments/{id} 特定デプロイメントの詳細取得 deployments:read
PUT /deployments/{id} デプロイメントの更新 deployments:write
PATCH /deployments/{id}/scale レプリカ数の変更 deployments:write
DELETE /deployments/{id} デプロイメントの削除 deployments:write
GET /deployments/{id}/logs デプロイメントのログ取得 logs:read
GET /deployments/{id}/metrics リソースメトリクス取得 metrics:read

デプロイメント作成 リクエストボディ

パラメータ説明
name必須 string デプロイメント名(DNS形式、一意)
image必須 string コンテナイメージのURIとタグ
replicas省略可 integer レプリカ数(デフォルト: 1、最大: 100)
resources.cpu省略可 string CPU要求(例: "500m", "1", "2")
resources.memory省略可 string メモリ要求(例: "512Mi", "1Gi")
env省略可 array 環境変数の配列 [{name, value}]
ports省略可 array 公開ポートの配列 [{containerPort, protocol}]
autoscaling省略可 object HPA設定 {minReplicas, maxReplicas, targetCPU}

レスポンス例

JSON — 201 Created
{
  "id": "dep_a1b2c3d4e5f6",
  "name": "my-first-app",
  "status": "deploying",
  "image": "my-registry/my-app:latest",
  "replicas": {
    "desired": 2,
    "ready": 0,
    "available": 0
  },
  "endpoint": "https://my-first-app.dsb.app",
  "region": "ap-northeast-1",
  "createdAt": "2026-05-20T09:00:00Z",
  "updatedAt": "2026-05-20T09:00:01Z"
}

エラーコード一覧

HTTPステータスエラーコード説明
400INVALID_REQUESTリクエストパラメータが不正
401UNAUTHORIZEDAPIキーが無効または期限切れ
403FORBIDDEN操作に必要なスコープがない
404NOT_FOUND指定リソースが存在しない
409CONFLICT同名リソースが既に存在する
422UNPROCESSABLEバリデーションエラー
429RATE_LIMITEDレート制限に達した
500INTERNAL_ERRORサーバー内部エラー
503SERVICE_UNAVAILABLEメンテナンス中

SDK・ライブラリ

主要なプログラミング言語向けの公式SDKを提供しています。SDKを使用することでAPIの認証・エラーハンドリング・型定義が自動で処理されます。

JS
JavaScript / TypeScript
v2.4.1 • npm
Py
Python
v2.3.0 • pip
Go
Go
v2.2.0 • go get
Java
Java
v2.1.3 • Maven
Ruby
Ruby
v2.0.5 • gem
.NET
.NET / C#
v2.1.0 • NuGet

JavaScript SDK インストール

bash
# npm
npm install @devstackbase/sdk

# yarn
yarn add @devstackbase/sdk

# pnpm
pnpm add @devstackbase/sdk

JavaScript SDK 使用例

TypeScript
import { DevStackBaseClient } from '@devstackbase/sdk';

// クライアントの初期化
const client = new DevStackBaseClient({
  apiKey: process.env.DSB_API_KEY,
  region: 'ap-northeast-1',
  timeout: 30000,
});

// デプロイメントの作成
async function deployApp() {
  try {
    const deployment = await client.deployments.create({
      name: 'my-app',
      image: 'registry.dsb.app/my-app:v1.2.0',
      replicas: 3,
      resources: { cpu: '500m', memory: '512Mi' },
      autoscaling: {
        minReplicas: 2,
        maxReplicas: 10,
        targetCPU: 70,
      },
    });
    console.log(`Deployed: ${deployment.endpoint}`);
  } catch (err) {
    if (err instanceof DevStackBaseClient.RateLimitError) {
      console.log('Rate limited. Retry after:', err.retryAfter);
    }
    throw err;
  }
}

deployApp();

Python SDK インストールと使用例

Python
# インストール
# pip install devstackbase

from devstackbase import Client
import os

client = Client(api_key=os.environ["DSB_API_KEY"])

# デプロイメント一覧を取得
deployments = client.deployments.list(status="running")
for dep in deployments.items:
    print(f"{dep.name}: {dep.status} ({dep.replicas.ready}/{dep.replicas.desired})")

# メトリクスの取得
metrics = client.deployments.get_metrics(
    deployment_id="dep_a1b2c3d4e5f6",
    start="2026-05-19T00:00:00Z",
    end="2026-05-20T00:00:00Z",
    resolution="1m"
)
print(f"平均CPU: {metrics.cpu.avg:.1f}%")
print(f"平均メモリ: {metrics.memory.avg_mb:.0f}MB")

変更履歴

Dev Stack Base APIおよびSDKの変更履歴です。セマンティックバージョニングに従っています。

v2.5.0
2026年5月15日リリース
  • 新機能マルチリージョンデプロイメントAPIの追加(東京・大阪・シンガポール)
  • 新機能Webhooksイベントに deployment.scaleddeployment.rollback を追加
  • 改善デプロイメント作成APIのレスポンス速度を平均40%改善
  • 修正特定条件でのメトリクス取得タイムアウトを修正
v2.4.0
2026年4月1日リリース
  • 新機能カスタムドメインAPIの追加(SSL証明書の自動プロビジョニング)
  • 新機能Terraform Provider v0.9.0に対応
  • 改善ログストリーミングAPIにフィルタリング機能を追加
  • 改善Python SDK の非同期クライアント(asyncio)サポート
v2.3.0
2026年3月1日リリース
  • 新機能シークレット管理APIの追加(AES-256暗号化)
  • 改善レート制限の上限をエンタープライズプランで10,000req/minに引き上げ
  • 修正大量デプロイメント環境でのリスト取得ページネーションを修正
  • 修正CI/CDキーの権限昇格バグを修正(CVE-2026-0021)