mineoアプリ API仕様(マイネ王)

はじめに

前回の記事の続き!

今回は「フリータンク」とか「mineoレーダー」などなど、マイネ王と連携すると使える機能の仕様について書いてるよ~

全体

リクエスト

以下で紹介するAPIはいずれも非公開APIで、予告なく仕様が変更される可能性がある。
個人的な研究・実験目的での利用に留めるほか、過度なアクセスは控えること。

ここにあるAPIは全て指定のパラメータが必要。

パラメータ
appId“MineoApp”
appVersion(任意の文字列)
AuthorizationBearer

さらに一部APIは追加で以下のパラメータが必要になる。

パラメータ
kingUuidCookie[“remember_uuid”]
kingTokenCookie[“remember_device_token”]

このパラメータが必要かどうかはCookieRequiredパラメータで記述する。

kingUuidkingTokenについては、ブラウザでマイネ王にログインした後のCookieから取得可能。

(2025/12/02追記)上記の方法は認証に失敗するため、使用不可

検証ツール > アプリケーション > Cookie > https://king.mineo.jp

Cookieの有効期限は1年間

特記なければcustIdform-urlencodedで指定する必要がある。

custId回線毎に固有。ただしCookieRequiredYesの場合、custIdは何を入力しても問題ない(APIがCookie情報を参照するため)。

URLEncoded Form
custId: ABC12DE345
Plaintext

エラー

パラメータに問題がある場合、以下の汎用エラーが返される。

Response_error
// appIdが"MineoApp"以外
{
    "resultCode": "21",
    "messages": [
        "アプリケーションIDが不正です。"
    ]
}

// パラメータが不足している
{
    "resultCode": "92",
    "messages": [
        "システムエラーが発生しました。"
    ]
}

// kingUuidまたはkingTokenが間違っている
{
    "resultCode": "31",
    "messages": [
        "認証に失敗しました。"
    ]
}

// custIdとCookieが不一致
{
    "resultCode": "33",
    "messages": [
        "お客様IDがマイネ王の連携と一致しません。"
    ]
}

// kingUuidまたはkingTokenが間違っている(500エラー)
{
    "resultCode": "99",
    "messages": [
        "システムエラーが発生しました。"
    ]
}
JSON

ユーザー関係

Email

マイネ王で登録しているメールアドレスを取得する。

パラメータ
MethodPOST
CookieRequiredNo
URLhttps://api.eonet.jp/king/v1/users/email
Response_ok
{
    "resultCode": "00",
    "email": "usagi@example.com"
}

// マイネ王連携されていない回線
{
    "resultCode": "00",
    "email": null
}
JSON

Base Info

マイネ王アカウント情報を取得する。

パラメータ
MethodPOST
CookieRequiredYes
URLhttps://api.eonet.jp/king/v1/users/base_info
Response_ok
{
    "resultCode": "00",
    "userId": 000000,    // ユーザーID
    "userName": "Name",  // ユーザー名
    "userImage": "https://img.king.mineo.jp/system/sns_profiles/badge_images/000/000/000/000/SQ_XS_image.jpg?1577804400",  // プロフィール画像
    "userImageUpdatedAt": "2020-01-01T00:00:00+09:00",  // プロフィール画像更新日時
    "hasNewArrivals": true,      // (調査中)
    "isWalkMissionClear": false,     // mineoさんぽのミッションを全てクリアしたか
    "isRadarChipTaken": false,       // mineoレーダーでチップを受け取ったか
    "isHappyStoryChipTaken": false,  // mineo HAPPY STORYイベントでチップを受け取ったか
    "ambassador": {
        "linkUrl": "https://king.mineo.jp/my/user/ambassadors",  // アンバサダーリンク
        "support": {
            "isJoin": false  // (調査中)
        },
        "coCreation": {
            "isJoin": false  // (調査中)
        }
    }
}
JSON

チップ関係

Giveable

無料チップを受け取り可能か確認する。

パラメータ
MethodPOST
CookieRequiredYes
URLhttps://api.eonet.jp/king/v1/tips/giveable
Response_ok
{
    "resultCode": "00",
    "giveable": true     // true -> 受取可能, false -> 受取不可
}
JSON

Totals

チップの送受信量、無料チップの回数を取得する。

パラメータ
MethodPOST
CookieRequiredYes
URLhttps://api.eonet.jp/king/v1/tips/totals
Response_ok
{
    "resultCode": "00",
    "gaveAmount": 1020,      // 贈ったチップ(MB)
    "receivedAmount": 3590,  // 受け取ったチップ(MB)
    "freeTipCount": 3        // 無料チップ残数
}
JSON

フリータンク関係

Amount

フリータンクの情報を取得する。

パラメータ
MethodPOST
CookieRequiredYes
URLhttps://api.eonet.jp/king/v1/tanks/amount
Response_ok
{
    "resultCode": "00",
    "tankType": "free",                // フリータンクの種類(free->通常, disaster->災害支援)
    "tankAmount": 3998643220,          // フリータンク残量(MB)
    "tankAmountForUnit": "3,904,925",  // フリータンク表示残量(GB)
    "tankAmountUnit": "GB",            // フリータンク表示単位
    "disasterCloseAt": "2025-12-03T23:59:59+09:00",  // 災害支援タンク終了日時
    "usableDisaster": null,            // 支援タンクが利用可能か
    "requirementLabels": [
        "※利用期間 毎月21日〜末日",
        "※1回の利用容量 1,000MBまで",
        "※1ヶ月の利用容量 1,000MBまで",
        "\n※累計OUT量が累計IN量以上の場合、パケット残容量とパスケットとの合計容量が1,000MB以下でないとOUT出来ません。",
        "※マイそくご契約者はOUT出来ません。 "
    ],
    "requirements": {
        "usablePeriod": "※利用期間 毎月21日〜末日",
        "usableAmount": "※1回の利用容量 1,000MBまで"
    },
    "gettable": {
        "isGettable": true,   // 引き出し可能か
        "remainTimes": 1000,  // 残り引き出し回数
        "maxAmount": 1000,    // 残り引き出しパケット(MB)
        "reason": null        // 引き出し不可の理由
    },
    "imageType": 3,
    "notices": [],
    "detailPageUrl": "https://king.mineo.jp/staff_blogs/1244",
    "userTotals": {
        "got": 0,    // 引き出したパケット(MB)
        "put": 4655  // 入れたパケット(MB)
    }
}
JSON

Use

putで実行するとパケットが減るので取り扱いに気を付けること。

フリータンクへの入出を実行する。

パラメータ
MethodPOST
CookieRequiredYes
URLhttps://api.eonet.jp/king/v1/tanks/use

form-urlencodedでタンクメソッド、パケット量、コメントを指定する。

URLEncoded Form
method: put                 // put->タンクに入れる, get->タンクから引き出す
amount: 10                  // パケット(MB)
comment: パケット余ったので!  // コメント
tankType: free              // タンクタイプ(free->通常, disaster->災害支援)
Plaintext
Response_ok
{
    "resultCode": "00"
}
JSON
Response_error
// (put) Amountが所持パケット量を上回っている
{
    "resultCode": "41",
    "messages": [
        "パケットの残量が足りません。"
    ]
}

// (get) 引き出しエラー(disaster)
{
    "resultCode": "72",
    "messages": [
        "残容量が1000MBより多いため引き出せません。",  // パケット残容量が多い
        "本日すでに利用済みのため引き出せません。"     // 本日利用済み
    ]
}

// (get) 引き出しエラー(通常)
{
    "resultCode": "74",
    "messages": [
        "引き出せるのは21日から31日までです。",     // フリータンク引き出し受付期間外
        "コメントを入力してください。",            // コメントがない
        "コメントは20文字以上で入力してください。",  // コメント文字数不足
        "ご利用になれません。"                    // 災害支援タンク対象外
    ]
}
JSON

Comments

フリータンクの利用者のコメントを取得する。

パラメータ
MethodPOST
CookieRequiredYes
URLhttps://api.eonet.jp/king/v1/tanks/comments

form-urlencodedでコメント表示を設定。

URLEncoded Form
page: 1      // ページ
perPage: 10  // ページ当たりコメント数
Plaintext
Response_ok
{
    "resultCode": "00",
    "tankComments": [
        {
            "id": 14995596,  // コメントID
            "userName": "A", // ユーザー名
            "userImage": "https://img.king.mineo.jp/assets/avatars/avatar-m50-3-2-bc630dadde15f4d0870668ec248fb3cb2a6183a495d255864854b89eb6160dad.png",  // プロフィール画像
            "tankType": "free",  // 使用タンクタイプ
            "method": "get",     // タンクメソッド(put->入れる, get->引き出す)
            "amount": 10,        // パケット(MB)
            "updatedAt": "2025-11-30T23:55:38+09:00",         // コメント日時
            "comment": "少しお借りします!ありがとうございます!!"  // コメント
        },
        {
            "id": 14995595,
            "userName": "B",
            "userImage": "https://img.king.mineo.jp/assets/avatars/avatar-f50-2-1-e46c118f8e935a45372338e4ae3abfd3b1aa944a7a1fb539fe6cecbcef1a531a.png",
            "tankType": "free",
            "method": "put",
            "amount": 340,
            "updatedAt": "2025-11-30T23:55:37+09:00",
            "comment": "(ひとことコメントはありません)"
        },
        {
            "id": 14995594,
            "userName": "C",
            "userImage": "https://img.king.mineo.jp/assets/avatars/avatar-added-11-cfc11b1ba08ea1fdfbc84ad009b3d07b70b33f2929164d1687f887a5bcb3e80a.png",
            "tankType": "free",
            "method": "put",
            "amount": 9,
            "updatedAt": "2025-11-30T23:55:37+09:00",
            "comment": "(ひとことコメントはありません)"
        },
        {
            "id": 14995593,
            "userName": "D",
            "userImage": "https://img.king.mineo.jp/assets/avatars/avatar-f30-1-2-c9772c061342836c3af7f49aa92c0bffb8a0093dde6c67f59680f93a4b6602cc.png",
            "tankType": "free",
            "method": "get",
            "amount": 1000,
            "updatedAt": "2025-11-30T23:55:36+09:00",
            "comment": "たいへん助かります。ありがとうございます。"
        },
        {
            "id": 14995592,
            "userName": "E",
            "userImage": "https://img.king.mineo.jp/assets/avatars/avatar-m50-3-2-bc630dadde15f4d0870668ec248fb3cb2a6183a495d255864854b89eb6160dad.png",
            "tankType": "free",
            "method": "put",
            "amount": 22174,
            "updatedAt": "2025-11-30T23:55:33+09:00",
            "comment": "(ひとことコメントはありません)"
        },
        // 省略
    ]
}
JSON

mineoさんぽ関係

Events

開催中のイベントなどを取得する。

パラメータ
MethodPOST
CookieRequiredNo
URLhttps://api.eonet.jp/king/v1/walks/events
Response_ok
{
    "resultCode": "00",
    "personalEvents": [
        {
            "eventName": "デイリーミッション",        // イベント名
            "endAt": "2099-03-30T23:59:59+09:00",  // 終了日時
            "missions": [
                {
                    "id": 25,              // ミッションID
                    "name": "ミッション1",  // ミッション名
                    "stepCount": 3000      // 必要歩数(歩)
                },
                {
                    "id": 26,
                    "name": "ミッション2",
                    "stepCount": 6000
                }
            ]
        }
    ],
    "participatoryEvents": []  // 参加履歴
}
JSON

Register Steps

歩数のアップデートを行う。

パラメータ
MethodPOST
CookieRequiredYes
URLhttps://api.eonet.jp/king/v1/walks/register_steps

form-urlencodedで歩数やタイプを指定する。(ただしスマホと通信する機能のためか、APIに直接指定しても何も起こらない)

URLEncoded Form
steps: 600          // 歩数(歩)
walk_type: ranking  // 固定値
Plaintext
Response_ok
{
    "resultCode": "00"
}
JSON
Response_error
// イベントが開催されていない または walk_typeがない
{
    "resultCode": "73",
    "messages": [
        "開催中の参加型イベントはありません。"
    ]
}
JSON

mineoレーダー関係

Events

開催中のイベントを取得する。

パラメータ
MethodPOST
CookieRequiredNo
URLhttps://api.eonet.jp/king/v1/radars/events
Response_ok
{
    "resultCode": "00",
    "events": []
}
JSON

Search

レーダーを起動する。

パラメータ
MethodPOST
CookieRequiredYes
URLhttps://api.eonet.jp/king/v1/radars/search

form-urlencodedで緯度・経度を指定する。

URLEncoded Form
lat: 35.6809591       // 緯度
lon: 139.7673068      // 経度
Plaintext
Response_ok
{
    "resultCode": "00",
    "userCount": [  // x,y: 10x10のメッシュデータで1人以上いる区域リスト
        {
            "position": {
                "x": 1,  // X軸(0~9)
                "y": 8   // Y軸(0~9)
            },
            "count": 4   // 検知人数(人)
        },
        {
            "position": {
                "x": 2,
                "y": 8
            },
            "count": 5
        },
        {
            "position": {
                "x": 2,
                "y": 9
            },
            "count": 1
        },
        {
            "position": {
                "x": 3,
                "y": 3
            },
            "count": 1
        },
        {
            "position": {
                "x": 3,
                "y": 7
            },
            "count": 3
        },
        {
            "position": {
                "x": 3,
                "y": 8
            },
            "count": 6
        },
        {
            "position": {
                "x": 3,
                "y": 9
            },
            "count": 2
        },
        {
            "position": {
                "x": 4,
                "y": 2
            },
            "count": 2
        },
        {
            "position": {
                "x": 4,
                "y": 6
            },
            "count": 3
        },
        {
            "position": {
                "x": 4,
                "y": 7
            },
            "count": 3
        },
        {
            "position": {
                "x": 4,
                "y": 8
            },
            "count": 12
        },
        {
            "position": {
                "x": 4,
                "y": 9
            },
            "count": 6
        },
        {
            "position": {
                "x": 5,
                "y": 2
            },
            "count": 3
        },
        {
            "position": {
                "x": 5,
                "y": 4
            },
            "count": 3
        },
        {
            "position": {
                "x": 5,
                "y": 5
            },
            "count": 1
        },
        {
            "position": {
                "x": 5,
                "y": 7
            },
            "count": 1
        },
        {
            "position": {
                "x": 5,
                "y": 8
            },
            "count": 1
        },
        {
            "position": {
                "x": 6,
                "y": 0
            },
            "count": 3
        },
        {
            "position": {
                "x": 6,
                "y": 1
            },
            "count": 2
        },
        {
            "position": {
                "x": 6,
                "y": 4
            },
            "count": 5
        },
        {
            "position": {
                "x": 6,
                "y": 5
            },
            "count": 1
        },
        {
            "position": {
                "x": 6,
                "y": 6
            },
            "count": 1
        },
        {
            "position": {
                "x": 6,
                "y": 7
            },
            "count": 1
        },
        {
            "position": {
                "x": 7,
                "y": 5
            },
            "count": 2
        },
        {
            "position": {
                "x": 8,
                "y": 6
            },
            "count": 1
        },
        {
            "position": {
                "x": 9,
                "y": 6
            },
            "count": 1
        }
    ],
    "targetUserCount": 15,  // 半径5km内の合計人数
    "giveTipAmount": 1      // 獲得無料チップ数
}
JSON
Response_error
// レーダークールダウン中
{
    "resultCode": "77",
    "messages": [
        "レーダーは1分に1回しかご利用になれません。"
    ]
}
JSON

その他

Ads Search Multi

mineoからのお知らせや広告などのバナーリンクを取得する(リンクはスマホ向け)。

パラメータ
MethodPOST
CookieRequiredNo
URLhttps://api.eonet.jp/king/v1/ads/search_multi

appVersionが「X.YY.ZZ」形式で「2.01.00」以上の場合に、adsが表示される模様。

Response_ok
{
    "resultCode": "00",
    "ads": [
        {
            "adId": "2025120103",                                      // 広告ID
            "linkUrl": "https://mineo.jp/sph/app_sub/mtnews_2511_2/",  // バナーリンク
            "optIn": false                                             
        }
    ]
}
JSON

Mineo Connects State

(調査中 マイネ王の接続管理?)

パラメータ
MethodPOST
CookieRequiredYes
URLhttps://api.eonet.jp/king/v1/mineo_connects/state
Response_ok
{
    "resultCode": "00",
    "state": 1,                  // (1または2が出現)
    "connectingAnother": false,
    "connectable": true,
    "isFirstTime": false
}
JSON

おわりに

まだ確認してないエラーとかもあると思うから、空いた時間にいろいろパターン組み合わせてみて、追記していくつもり!

「こんな機能おしえて!」とかあったら、ぜひコメントで教えてね♪

もし良ければ、Like!をお願いします。記事執筆のモチベーションになります!
Like 1

投稿者 みぃるん

うさぎさんとかちっちゃいのが好き。 プログラミング勉強中~

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です