OnigiriAPI

OnigiriAPIへようこそ。Onigiri3が提供するAPIはすべて完全無料でご利用いただけます。
制限はありません。
まずはUmeboshi Wallet APIやOnigiriAI APIの仕様を確認してみましょう!

Available APIs
Umeboshi Wallet
Onigiri3 OAuth 2.0認可と連携した仮想通貨ウォレットAPI。残高管理、送金、アドレス発行、公開ビュー対応。
Base: https://umeboshiapi.onigiri3.com
OnigiriAI
OpenAI互換のLLMチャットAPI。アカウントクレジットを使用し、ストリーミング・通常応答に対応。
Base: https://ai.onigiri3.com

Umeboshi Wallet API

Onigiri3アカウントに紐づく仮想通貨ウォレットを管理するHTTP API。OAuth 2.0認可コードフローとセッションCookieによる認証、受取用UUIDアドレス、安全な残高送金、公開ビューに対応。

Base: https://umeboshiapi.onigiri3.com
System & Health
GET /health 稼働・OAuth設定確認 Public

認証不要の稼働確認エンドポイント。サーバーの稼働状態およびOAuth設定が正常に読み込まれているかを確認する。

Response
// 200 OK { "ok": true, "service": "umeboshi-wallet", "oauth_configured": true, "time": "2026-08-15T12:00:00.000Z" }
Authentication & Session
GET /oauth/login OAuth認可開始 Redirect

Onigiri3 OAuth 2.0認可コードフローを開始する。JSONは返さず、Onigiri3の認可画面へ 302 リダイレクトする。

Query Parameters
NameTypeDescription
return_tostring (url)optional認可完了後に戻すHTML URL(許可済みオリジン必須)
Response
// 302 Found -> Location: https://api.onigiri3.com/oauth/authorize?...
GET /api/session セッション確認

現在のCookie(umeboshi_session)に基づくログイン状態とユーザー情報を取得する。未ログイン時は "authenticated": false を返す。

Response
// 200 OK (ログイン済み) { "authenticated": true, "user": { "user_id": "11111111-1111-4111-8111-111111111111", "username": "alice", "display_name": "Alice" }, "expires_at": "2026-08-15T13:00:00.000Z" }
POST /oauth/logout ログアウト

現在のサーバーセッションを破棄し、Cookieを失効させる。

Response
// 200 OK { "message": "ログアウトしました" }
Wallet & Addresses
GET /api/me/wallet 本人ウォレット取得 Auth

ログイン中ユーザーのウォレット情報(残高、公開設定、受取用UUID一覧)を取得する。未作成の場合は自動作成される。

Response
// 200 OK { "wallet": { "balance": 100, "visibility": "private", "public_view_id": null, "created_at": "2026-08-15T12:00:00.000Z", "updated_at": "2026-08-15T12:00:00.000Z", "receive_addresses": [ { "receive_address": "bd9a72f3-1f7f-4cd4-b6ac-a53a02e92db4", "label": "メイン受取用", "active": true, "created_at": "2026-08-15T12:00:00.000Z", "revoked_at": null } ] }, "currency": "Umeboshi" }
GET /api/me/wallet/transactions 本人取引履歴取得 Auth

本人に関する取引履歴(初期付与・送信・受信)を新しい順に取得する。

Query Parameters
NameTypeDescription
limitintegeroptional取得件数(1〜100、既定: 50)
Response
// 200 OK { "transactions": [ { "transaction_id": "ed9781f4-bf38-424b-804f-17d9b9c2dd1e", "kind": "transfer", "direction": "received", "amount": 100, "memo": "イベント報酬", "counterparty": { "username": "alice", "display_name": "Alice" }, "created_at": "2026-08-15T12:10:00.000Z" } ] }
POST /api/me/wallet/receive-addresses 受取UUID追加 Auth

本人のウォレットに新しい有効な受取用UUIDアドレスを発行する。

Request Body
FieldTypeDescription
labelstringoptionalアドレスの用途ラベル(最大32文字、既定: 受取用アドレス)
Response
// 201 Created { "receive_address": "f3c3d86a-a95f-4aa3-a4f5-14a2ed17bd6a", "label": "イベント用", "active": true, "created_at": "2026-08-15T12:20:00.000Z", "revoked_at": null }
DELETE /api/me/wallet/receive-addresses/:receive_address 受取UUID無効化 Auth

本人が所有する受取UUIDを無効化する。過去取引の履歴は維持されるが、新規送金の宛先としては利用できなくなる(最低1件の有効アドレスが必要)。

Path Parameters
NameTypeDescription
receive_addressstring (uuid)required無効化する受取用UUID
Response
// 200 OK { "message": "受け取りUUIDを無効化しました" }
PATCH /api/me/wallet/public-view 公開閲覧設定 Auth

ウォレット残高と匿名化済み履歴の公開(public / private)を設定する。初回公開時に public_view_id が発行される。

Request Body
FieldTypeDescription
publicbooleanrequiredtrue で公開、false で非公開
Response
// 200 OK { "wallet": { "balance": 250, "visibility": "public", "public_view_id": "9c4ae835-395a-46ae-8914-7ae760b40137", "updated_at": "2026-08-15T12:30:00.000Z" } }
Transfers & Public Access
POST /api/wallet/transfers ウォレット送金 Auth

認証済みウォレットから指定の受取UUIDへ Umeboshi を送金する。単一書込みキューによる残高整合性保証と冪等性判定(idempotency_key)を備える。

Request Body
FieldTypeDescription
recipient_receive_uuidstring (uuid)required受取人の有効な受取UUID
amountintegerrequired送金額(1以上、最大 1,000,000)
memostringoptional送金メモ(最大140文字)
idempotency_keystring (uuid)required再送防止用の冪等性キーUUID
Response
// 201 Created (通常成功) { "replayed": false, "sender_balance": 150, "transaction": { "transaction_id": "ed9781f4-bf38-424b-804f-17d9b9c2dd1e", "kind": "transfer", "direction": "sent", "amount": 100, "memo": "イベント報酬", "counterparty": { "username": "bob", "display_name": "Bob" }, "created_at": "2026-08-15T12:35:00.000Z" } }
GET /api/public/wallets/:view_id 公開ウォレット閲覧 Public

公開設定が有効なウォレットの残高および匿名化された取引履歴を取得する(認証不要)。

Path Parameters
NameTypeDescription
view_idstring (uuid)required公開閲覧用UUID
Response
// 200 OK { "wallet": { "display_name": "Bob", "username": "bob", "balance": 250, "public_view_id": "9c4ae835-395a-46ae-8914-7ae760b40137", "updated_at": "2026-08-15T12:40:00.000Z" }, "transactions": [ { "transaction_id": "ed9781f4-bf38-424b-804f-17d9b9c2dd1e", "kind": "transfer", "direction": "received", "amount": 100, "created_at": "2026-08-15T12:35:00.000Z" } ] }
System Specs & Constants
Currency
Umeboshi
最小単位: 1(整数)
Authentication
OAuth 2.0
HttpOnly Session Cookie
Max Transfer
1,000,000
1回あたりの送金上限
Payload Limit
16 KiB
16,384 bytes
Rate Limit
30 req / 15m
送金エンドポイント制限
Storage
JSON / Sync Queue
直列化アトミック更新

OnigiriAI API

OpenAI 規格に完全互換の LLM チャット推論 API。ユーザーアカウントのクレジット(日次 150,000 Credits)を消費して動作します。Cursor や Continue、OpenAI SDK 等からそのまま接続可能です。ファイル管理や独自コマンドは無効化された純粋な LLM として機能します。

Base: /v1 (ポート 3007)
Models
GET /v1/models 利用可能モデル一覧 Auth

現在利用可能な AI モデルの一覧を取得する。OpenAI 規格のモデルオブジェクト配列を返す。

Headers
NameTypeDescription
AuthorizationstringrequiredBearerトークン (Bearer sk-onigiri-...)
Response
// 200 OK { "object": "list", "data": [ { "id": "OnigiriAIv4", "object": "model", "created": 1700000000, "owned_by": "onigiriai" }, { "id": "OnigiriAIv4.1", "object": "model", "created": 1700000000, "owned_by": "onigiriai" } ] }
Chat Completions
POST /v1/chat/completions チャット推論・補完 Auth

テキストメッセージの配列を受け取り、言語モデルによる返答を生成する。通常応答(JSON)とストリーミング(SSE)の両方に対応。

Headers
NameTypeDescription
AuthorizationstringrequiredBearerトークン (Bearer sk-onigiri-...)
Content-Typestringrequiredapplication/json
Request Body (JSON)
FieldTypeDescription
modelstringrequiredモデル名 (OnigiriAIv4 または OnigiriAIv4.1)
messagesarrayrequired会話履歴オブジェクトの配列 ({role, content})
streambooleanoptionaltrue の場合 SSE でトークンをリアルタイム配信
temperaturenumberoptionalサンプリング温度 (0.0〜2.0)
max_tokensintegeroptional生成する最大トークン数
Request Example
{ "model": "OnigiriAIv4", "messages": [ { "role": "user", "content": "こんにちは!" } ], "stream": false }
Response (stream: false)
// 200 OK { "id": "chatcmpl-123", "object": "chat.completion", "created": 1700000000, "model": "OnigiriAIv4", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "こんにちは!何かお手伝いできることはありますか?" }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 12, "completion_tokens": 18, "total_tokens": 30 } }
Response (stream: true - SSE)
// 200 OK (text/event-stream) data: {"id":"chatcmpl-123","object":"chat.completion.chunk","model":"OnigiriAIv4","choices":[{"index":0,"delta":{"content":"こん"},"finish_reason":null}]} data: {"id":"chatcmpl-123","object":"chat.completion.chunk","model":"OnigiriAIv4","choices":[{"index":0,"delta":{"content":"にちは"},"finish_reason":null}]} data: [DONE]
Error Responses
// 401 Unauthorized (APIキー不正) { "error": { "message": "Invalid or missing API key.", "type": "invalid_request_error", "code": "invalid_api_key" } } // 429 Too Many Requests (クレジット枯渇) { "error": { "message": "Credits exhausted for today. Credits will reset at 0:00 JST.", "type": "insufficient_quota", "code": "insufficient_quota" } }
Code Examples
SDK Python (OpenAI SDK) 接続サンプル
from openai import OpenAI client = OpenAI( api_key="sk-onigiri-your-api-key-here", base_url="https://ai.onigiri3.com/v1" # または公開URL + /v1 ) response = client.chat.completions.create( model="OnigiriAIv4", messages=[ {"role": "user", "content": "こんにちは!"} ], stream=True ) for chunk in response: content = chunk.choices[0].delta.content or "" print(content, end="", flush=True)
CURL cURL (Command Line) 接続サンプル
curl https://ai.onigiri3.com/v1/chat/completions \ -H "Content-Type: application/json" \ -H "Authorization: Bearer sk-onigiri-your-api-key-here" \ -d '{ "model": "OnigiriAIv4", "messages": [{"role": "user", "content": "Hello!"}] }'
Server Specs
Protocol
OpenAI v1 REST
Chat Completions / Models
Auth Method
Bearer API Key
sk-onigiri-****************
Daily Credits
150,000 / Day
0:00 JST 自動リセット
Stream
SSE (data: {...})
リアルタイムトークン配信
Storage Access
Disabled
純粋なLLMとして動作