ASHIKA Networkドキュメント

API リファレンス

どのエンドポイントも、URL の頭は https://api.ashikanw.com/v1 です。 APIキーを Authorization: Bearer ヘッダに入れて送ります。キーの作り方やエラーの形は API の使い方 をご覧ください。

例の $ASHIKA_API_KEY は、発行した APIキー(ashk_ で始まるもの)に置き換えてください。

エンドポイントの一覧

メソッドパス内容
GET/accountアカウントを見る
GET/serversサーバーの一覧
GET/servers/{id}サーバーを見る
POST/servers/{id}/power起動・停止・再起動
POST/servers/{id}/commandコマンドを送る
GET/servers/{id}/logsコンソールの出力
GET/servers/{id}/files/listフォルダの中身
GET/servers/{id}/files/contentsテキストを読む
PUT/servers/{id}/files/contentsファイルを書く・送る
GET/servers/{id}/files/downloadダウンロード
POST/servers/{id}/files/folderフォルダを作る
POST/servers/{id}/files/rename名前を変える・動かす
POST/servers/{id}/files/delete消す

アカウント

アカウントを見る

GET/account

キーの持ち主のアカウントと、残高を返します。

curl
curl https://api.ashikanw.com/v1/account \
  -H "Authorization: Bearer $ASHIKA_API_KEY"
応答(JSON)
{
  "data": {
    "id": "clx0abc123",
    "email": "[email protected]",
    "name": "あなたの名前",
    "balanceYen": 300
  }
}

サーバー

サーバーの一覧

GET/servers

自分のサーバーを、作った順に返します。状態(status)はパネルが最後に確かめたときのものです。今の状態は「サーバーを見る」で取れます。

curl
curl https://api.ashikanw.com/v1/servers \
  -H "Authorization: Bearer $ASHIKA_API_KEY"
応答(JSON)
{
  "data": [
    {
      "id": "1a2bc34d",
      "uuid": "6f1c2b3a-6a3e-4c5b-9a1d-2f7e8c9b0a1d",
      "name": "my-bot",
      "status": "RUNNING",
      "suspended": false,
      "plan": {
        "slug": "mini",
        "name": "ミニ"
      },
      "software": {
        "slug": "python",
        "name": "Python"
      },
      "location": "大阪",
      "limits": {
        "memoryMb": 256,
        "cpuPercent": 20,
        "diskMb": 512
      },
      "address": {
        "ip": "node1.ashikanw.com",
        "port": 4012
      },
      "allocations": [
        {
          "ip": "node1.ashikanw.com",
          "port": 4012,
          "primary": true,
          "note": ""
        }
      ],
      "sftpEnabled": false,
      "supported": false,
      "expiresAt": "2026-11-06T12:00:00.000Z",
      "createdAt": "2026-10-07T12:00:00.000Z"
    }
  ]
}

サーバーを見る

GET/servers/{id}

サーバー1台の情報に、今の状態と使用量(resources)を足して返します。止まっているときの resources は null です。

名前場所説明
idパスサーバーの ID。パネルの URL やサーバー一覧に出る 8 文字(例: 1a2bc34d)か、UUID。
curl
curl https://api.ashikanw.com/v1/servers/1a2bc34d \
  -H "Authorization: Bearer $ASHIKA_API_KEY"
応答(JSON)
{
  "data": {
    "id": "1a2bc34d",
    "uuid": "6f1c2b3a-6a3e-4c5b-9a1d-2f7e8c9b0a1d",
    "name": "my-bot",
    "status": "RUNNING",
    "suspended": false,
    "plan": {
      "slug": "mini",
      "name": "ミニ"
    },
    "software": {
      "slug": "python",
      "name": "Python"
    },
    "location": "大阪",
    "limits": {
      "memoryMb": 256,
      "cpuPercent": 20,
      "diskMb": 512
    },
    "address": {
      "ip": "node1.ashikanw.com",
      "port": 4012
    },
    "allocations": [
      {
        "ip": "node1.ashikanw.com",
        "port": 4012,
        "primary": true,
        "note": ""
      }
    ],
    "sftpEnabled": false,
    "supported": false,
    "expiresAt": "2026-11-06T12:00:00.000Z",
    "createdAt": "2026-10-07T12:00:00.000Z",
    "resources": {
      "cpuPercent": 1.42,
      "memoryBytes": 73400320,
      "memoryLimitBytes": 268435456,
      "networkRxBytes": 1048576,
      "networkTxBytes": 524288,
      "uptimeSeconds": 3600
    }
  }
}

起動・停止・再起動

POST/servers/{id}/power

サーバーを起動・停止・再起動・強制終了します。終わってからの状態を返します。期限切れで止まっているサーバーは動かせません(409)。

名前場所説明
idパスサーバーの ID。パネルの URL やサーバー一覧に出る 8 文字(例: 1a2bc34d)か、UUID。
signal本文start(起動)・stop(停止)・restart(再起動)・kill(強制終了)のどれか。
curl
curl -X POST https://api.ashikanw.com/v1/servers/1a2bc34d/power \
  -H "Authorization: Bearer $ASHIKA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"signal": "restart"}'
応答(JSON)
{
  "data": {
    "signal": "restart",
    "status": "RUNNING"
  }
}

コマンドを送る

POST/servers/{id}/command

コンソールに1行送ります(プログラムの標準入力に書き込まれます)。動いていないサーバーには送れません(409)。

名前場所説明
idパスサーバーの ID。パネルの URL やサーバー一覧に出る 8 文字(例: 1a2bc34d)か、UUID。
command本文送る文字。改行なしで 2000 文字まで。
curl
curl -X POST https://api.ashikanw.com/v1/servers/1a2bc34d/command \
  -H "Authorization: Bearer $ASHIKA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"command": "say hello"}'
応答(JSON)
{
  "data": {
    "sent": true
  }
}

コンソールの出力

GET/servers/{id}/logs

コンソールの直近の出力を、1行ずつの配列で返します。

名前場所説明
idパスサーバーの ID。パネルの URL やサーバー一覧に出る 8 文字(例: 1a2bc34d)か、UUID。
linesクエリ何行さかのぼるか。1〜1000。省略すると 100。
curl
curl "https://api.ashikanw.com/v1/servers/1a2bc34d/logs?lines=20" \
  -H "Authorization: Bearer $ASHIKA_API_KEY"
応答(JSON)
{
  "data": {
    "lines": [
      "Logged in as my-bot#1234",
      "Ready."
    ]
  }
}

ファイル

パスはサーバーのフォルダ(コンテナの /home/container)からの位置で、/ から書きます。サーバーのフォルダの外には出られません。

フォルダの中身

GET/servers/{id}/files/list

フォルダの中のファイルとフォルダを返します。フォルダが先、名前の順です。type は file・directory・symlink のどれかです。

名前場所説明
idパスサーバーの ID。パネルの URL やサーバー一覧に出る 8 文字(例: 1a2bc34d)か、UUID。
pathクエリ見るフォルダ。省略すると /。
curl
curl "https://api.ashikanw.com/v1/servers/1a2bc34d/files/list?path=/" \
  -H "Authorization: Bearer $ASHIKA_API_KEY"
応答(JSON)
{
  "data": [
    {
      "name": "cogs",
      "path": "/cogs",
      "type": "directory",
      "size": 4096,
      "modifiedAt": "2026-10-07T12:00:00.000Z",
      "mode": "755"
    },
    {
      "name": "main.py",
      "path": "/main.py",
      "type": "file",
      "size": 1234,
      "modifiedAt": "2026-10-07T12:00:00.000Z",
      "mode": "644"
    }
  ]
}

テキストを読む

GET/servers/{id}/files/contents

テキストファイルの中身を、そのまま本文で返します(JSON ではありません)。2MB まで。大きいファイルや画像は「ダウンロード」を使ってください。

名前場所説明
idパスサーバーの ID。パネルの URL やサーバー一覧に出る 8 文字(例: 1a2bc34d)か、UUID。
pathクエリ読むファイル。
curl
curl "https://api.ashikanw.com/v1/servers/1a2bc34d/files/contents?path=/config.json" \
  -H "Authorization: Bearer $ASHIKA_API_KEY"
応答
{
  "prefix": "!"
}

ファイルを書く・送る

PUT/servers/{id}/files/contents

本文をそのままファイルに書きます。テキストでも画像などでも構いません。ファイルが無ければ作り、途中のフォルダも作ります。あれば上書きします。50MB まで(それより大きいものは SFTP で)。ディスクの上限を超える場合は書きません。

名前場所説明
idパスサーバーの ID。パネルの URL やサーバー一覧に出る 8 文字(例: 1a2bc34d)か、UUID。
pathクエリ書くファイル。
本文本文ファイルの中身。
curl
curl -X PUT "https://api.ashikanw.com/v1/servers/1a2bc34d/files/contents?path=/main.py" \
  -H "Authorization: Bearer $ASHIKA_API_KEY" \
  --data-binary @main.py
応答(JSON)
{
  "data": {
    "path": "/main.py",
    "size": 1234
  }
}

ダウンロード

GET/servers/{id}/files/download

ファイルをそのまま返します。大きさの上限はありません。

名前場所説明
idパスサーバーの ID。パネルの URL やサーバー一覧に出る 8 文字(例: 1a2bc34d)か、UUID。
pathクエリ取り出すファイル。
curl
curl -o world.zip "https://api.ashikanw.com/v1/servers/1a2bc34d/files/download?path=/world.zip" \
  -H "Authorization: Bearer $ASHIKA_API_KEY"
応答
(ファイルの中身)

フォルダを作る

POST/servers/{id}/files/folder

フォルダを作ります。途中のフォルダも作ります。すでにあれば何もしません。

名前場所説明
idパスサーバーの ID。パネルの URL やサーバー一覧に出る 8 文字(例: 1a2bc34d)か、UUID。
path本文作るフォルダ。
curl
curl -X POST https://api.ashikanw.com/v1/servers/1a2bc34d/files/folder \
  -H "Authorization: Bearer $ASHIKA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"path": "/data/logs"}'
応答(JSON)
{
  "data": {
    "path": "/data/logs"
  }
}

名前を変える・動かす

POST/servers/{id}/files/rename

ファイルやフォルダの名前を変えます。別のフォルダを指せば、そこへ動かします。

名前場所説明
idパスサーバーの ID。パネルの URL やサーバー一覧に出る 8 文字(例: 1a2bc34d)か、UUID。
from本文今の場所。
to本文新しい場所。
curl
curl -X POST https://api.ashikanw.com/v1/servers/1a2bc34d/files/rename \
  -H "Authorization: Bearer $ASHIKA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"from": "/main.py", "to": "/old/main.py"}'
応答(JSON)
{
  "data": {
    "from": "/main.py",
    "to": "/old/main.py"
  }
}

消す

POST/servers/{id}/files/delete

ファイルやフォルダを消します。フォルダは中身ごと消えます。元には戻せません。

名前場所説明
idパスサーバーの ID。パネルの URL やサーバー一覧に出る 8 文字(例: 1a2bc34d)か、UUID。
paths本文消すものの配列。1〜100 個。
curl
curl -X POST https://api.ashikanw.com/v1/servers/1a2bc34d/files/delete \
  -H "Authorization: Bearer $ASHIKA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"paths": ["/old", "/debug.log"]}'
応答(JSON)
{
  "data": {
    "deleted": [
      "/old",
      "/debug.log"
    ]
  }
}

返ってくるもの

サーバー

名前説明
id8 文字の ID。ほかのエンドポイントの {id} に使えます。
uuidUUID。{id} の代わりにも使えます。
nameサーバー名。
status状態。下の表のどれか。
suspended期限切れなどで止められているか。
planプラン(slug と name)。管理者が作ったサーバーなどでは null。
software種類(Python・Node.js など)。
location置いてある場所。
limitsメモリ(MB)・CPU(%。100 で 1 コア分)・ディスク(MB)の上限。
address外からつなぐときの接続先(ip と port)。
allocations割り当てられたポートのすべて。
sftpEnabledSFTP がオンか。
supported支援プログラムのサーバーか。
expiresAt期限(ISO 8601)。
createdAt作った日時(ISO 8601)。
resources「サーバーを見る」だけ。動いているときの使用量。止まっていれば null。

状態(status)

値意味
INSTALLING準備中
OFFLINE停止
STARTING起動中
RUNNING動作中
STOPPING停止中
SUSPENDED期限切れなどで止められている
ERRORエラー(パネルから再インストールを試してください)

使用量(resources)

名前説明
cpuPercentCPU の使用率(%。100 で 1 コア分)。
memoryBytes / memoryLimitBytes使っているメモリと上限(バイト)。
networkRxBytes / networkTxBytes起動してから受け取った・送った量(バイト)。
uptimeSeconds起動してからの秒数。