> For the complete documentation index, see [llms.txt](https://minara.ai/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://minara.ai/docs/minara-handbook/ja/qu-yin/agent-api/api-key.md).

# APIキー

APIキー方式はご利用いただけます **Pro** および **Partner** プランのユーザー向けです。Minaraプロフィールからキーを生成し、それらを `Authorization` ヘッダーに各リクエストごとに含めます。

***

## 要件

Minara Agent APIはProおよびPartnerプランの加入者限定でご利用いただけます。無料プランをご利用の場合は、 **API** タブをプロフィールで開くと、アップグレード案内が表示されます。

サブスクリプションをダウングレードすると、すべての有効なAPIキーは自動的に一時停止され、更新すると再開されます。

***

## APIキーの作成

1. ご自身の **アカウントプロフィール** で [minara.ai](https://minara.ai).
2. 次を選択してください **APIキー** タブを左側メニューから選び、 **作成**.

<figure><img src="/files/b84a24522fd5fc8dcd1f5aa52e4a21e174714d00" alt="API Key tab in Minara account profile showing Create button"><figcaption></figcaption></figure>

3. キーの用途を識別できるよう、名前と説明を入力してください。

<figure><img src="/files/fa62d8820efa33c6f500b2dc5437e2eb0ffa172d" alt="Create API key dialog with name and description fields"><figcaption></figcaption></figure>

4. 作成後、APIキーが表示されます。コピーして安全に保管してください。再表示はされません。

<figure><img src="/files/81ee73dfa7ea847388be67b12c12992dc191e518" alt="Newly created API key displayed for copying"><figcaption></figcaption></figure>

***

## APIキーの管理

| アクション     | 詳細                                     |
| --------- | -------------------------------------- |
| **キーを表示** | キーは最後の4文字のみ表示されます。クリックすると完全なキーが表示されます。 |
| **キー上限**  | Pro/Partnerアカウントにつき最大5個のAPIキー。         |
| **キーを削除** | 2FA確認が必要です。削除は元に戻せません。                 |

***

## 認証

APIキーを `Authorization` 各リクエストのヘッダーに含めてください:

```
Authorization: Bearer <YOUR_API_KEY>
```

**例：**

```bash
curl -H "Authorization: Bearer sk-minara-xxxxxxxx" \\
  https://api.minara.ai/v1/developer/chat
```

{% hint style="warning" %}
APIキーはパスワードのように扱ってください。クライアントサイドのコードや公開リポジトリに絶対に公開しないでください。
{% endhint %}

***

## 課金

すべてのAPI呼び出しは **クレジット** をMinaraアカウントから消費します。クレジットがなくなると、APIリクエストは補充されるまで停止します。

***

## APIリファレンス

ベースURL: `https://api.minara.ai`

### チャット

**`POST /v1/developer/chat`**

## Developer Chat

> Developer chat endpoint supporting streaming, non-streaming, and asynchronous (background) response modes, with optional requestId-based idempotency.

```json
{"openapi":"3.0.0","info":{"title":"Minara Agent API","version":"1.0"},"servers":[{"url":"https://api-developer.minara.ai"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API-KEY","description":"Format: Authorization: Bearer <YOUR_API_KEY>"}},"schemas":{"ChatRequest":{"type":"object","required":["mode","message"],"properties":{"mode":{"type":"string","enum":["fast","expert"],"description":"Required. Model mode: 'fast' for quick responses, 'expert' for in-depth analysis."},"stream":{"type":"boolean","default":false,"description":"Optional. Set to true for streaming (SSE), false (default) for standard JSON response. Cannot be combined with background."},"background":{"type":"boolean","default":false,"description":"Optional. Set to true to run a non-streaming request asynchronously and poll the result later. Requires stream: false."},"requestId":{"type":"string","pattern":"^[A-Za-z0-9._:-]+$","minLength":1,"maxLength":128,"description":"Optional. Client-generated idempotency key, unique within the API key. 1-128 chars matching ^[A-Za-z0-9._:-]+$."},"chatId":{"type":"string","description":"Optional. Existing chat to continue. A new chat is created if omitted."},"message":{"$ref":"#/components/schemas/Message"}}},"Message":{"type":"object","required":["role","content"],"properties":{"role":{"type":"string","enum":["user"],"description":"Required. Message sender role, must be 'user'."},"content":{"type":"string","description":"Required. The user's query content."}}},"ChatResponse":{"type":"object","properties":{"id":{"type":"string","description":"Server-assigned request id. Present when a requestId was supplied."},"requestId":{"type":"string","description":"Your idempotency key, echoed when one was provided."},"chatId":{"type":"string","description":"Unique conversation ID."},"messageId":{"type":"string","description":"Unique message ID for this response."},"content":{"type":"string","description":"The AI-generated response content."},"usage":{"type":"object","description":"Usage statistics for the request."}}},"ChatAcceptedResponse":{"type":"object","properties":{"id":{"type":"string","description":"Server-assigned request id (e.g. bg_abc123)."},"requestId":{"type":"string","description":"Your idempotency key, if one was provided."},"chatId":{"type":"string","description":"Chat the request belongs to."},"status":{"type":"string","enum":["queued"],"description":"Initial status of the accepted asynchronous request."}}}}},"paths":{"/v1/developer/chat":{"post":{"summary":"Developer Chat","description":"Developer chat endpoint supporting streaming, non-streaming, and asynchronous (background) response modes, with optional requestId-based idempotency.","operationId":"developerChat","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatRequest"}}}},"responses":{"200":{"description":"Successful response (stream/background not set, or a completed idempotent replay).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatResponse"}},"text/event-stream":{"schema":{"type":"string","description":"Server-Sent Events (SSE) stream. Each event line starts with `data:`.\nThe final message is formed by concatenating chunk/delta content in order.\n"}}}},"202":{"description":"Accepted. Returned for background requests, or when an idempotent request is still running.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChatAcceptedResponse"}}}},"400":{"description":"Bad Request. E.g. combining background=true with stream=true."},"401":{"description":"Unauthorized - Invalid or missing API key"},"409":{"description":"Conflict. The requestId was already used with a different request, or has expired and cannot be reused."}}}}}}
```

| パラメータ             | 種類      | 必須 | 説明                                  |
| ----------------- | ------- | -- | ----------------------------------- |
| `mode`            | string  | はい | `fast` 素早い応答向け、 `expert` 詳細分析向け     |
| `stream`          | boolean | はい | `true` SSEストリーミング用、 `false` 標準JSON用 |
| `message.role`    | string  | はい | である必要があります `user`                   |
| `message.content` | string  | はい | クエリ内容                               |

**例：**

```bash
curl -X POST https://api.minara.ai/v1/developer/chat \\
  -H "Authorization: Bearer <YOUR_API_KEY>" \\
  -H "Content-Type: application/json" \\
  -d '{
    "mode": "fast",
    "stream": false,
    "message": { "role": "user", "content": "SOLの最近の価格変動を分析してください。" }
  }'
```

***

### スワップ取引の意図

**`POST /v1/developer/intent-to-swap-tx`**

## Intent to Swap Transaction

> Convert natural language trading intent into an executable swap transaction payload. Compatible with OKX DEX by default.

```json
{"openapi":"3.0.0","info":{"title":"Minara Agent API","version":"1.0"},"servers":[{"url":"https://api-developer.minara.ai"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API-KEY","description":"Format: Authorization: Bearer <YOUR_API_KEY>"}},"schemas":{"IntentToSwapRequest":{"type":"object","required":["intent","walletAddress"],"properties":{"intent":{"type":"string","description":"Required. Natural language swap intent (e.g., 'swap 0.1 ETH to USDC')."},"walletAddress":{"type":"string","description":"Required. User wallet address (0x...)."},"chain":{"type":"string","description":"Optional. Chain name (e.g., 'base', 'ethereum', 'bsc', 'arbitrum', 'optimism')."}}},"SwapTransactionResponse":{"type":"object","properties":{"intent":{"type":"object","description":"Parsed user intent","properties":{"chain":{"type":"string","description":"Chain name (e.g., 'base')."},"inputTokenAddress":{"type":"string","nullable":true,"description":"Input token contract address (null for native token)."},"inputTokenSymbol":{"type":"string","description":"Input token symbol (e.g., 'ETH')."},"outputTokenAddress":{"type":"string","description":"Output token contract address."},"outputTokenSymbol":{"type":"string","description":"Output token symbol (e.g., 'USDC')."},"amount":{"type":"string","description":"Token amount in wei/smallest unit."},"userWalletAddress":{"type":"string","description":"User's wallet address."}}},"quote":{"type":"object","description":"Swap quote and pricing information","properties":{"fromTokenAmount":{"type":"string","description":"Input token amount in smallest unit."},"toTokenAmount":{"type":"string","description":"Expected output token amount in smallest unit."},"estimatedGas":{"type":"string","description":"Estimated gas cost for the transaction."},"priceImpact":{"type":"string","description":"Price impact percentage."},"tradeFee":{"type":"string","description":"Trading fee amount."}}},"inputToken":{"type":"object","description":"Input token details","properties":{"address":{"type":"string","description":"Token contract address."},"symbol":{"type":"string","description":"Token symbol."},"decimals":{"type":"string","description":"Token decimals."},"unitPrice":{"type":"string","description":"Token unit price in USD."}}},"outputToken":{"type":"object","description":"Output token details","properties":{"address":{"type":"string","description":"Token contract address."},"symbol":{"type":"string","description":"Token symbol."},"decimals":{"type":"string","description":"Token decimals."},"unitPrice":{"type":"string","description":"Token unit price in USD."}}},"unsignedTx":{"type":"object","description":"Unsigned transaction ready to be signed and broadcasted","properties":{"chainType":{"type":"string","description":"Chain type (e.g., 'evm')."},"from":{"type":"string","description":"Sender address."},"to":{"type":"string","description":"Contract address to call."},"data":{"type":"string","description":"Encoded transaction data."},"value":{"type":"string","description":"Native token value to send (in wei)."},"gas":{"type":"string","description":"Gas limit."},"gasPrice":{"type":"string","description":"Gas price (legacy)."},"maxPriorityFeePerGas":{"type":"string","description":"Max priority fee per gas (EIP-1559)."}}},"approval":{"type":"object","description":"Token approval information (required for ERC20 token swaps)","properties":{"isRequired":{"type":"boolean","description":"Whether token approval is required before swap."},"tokenAddress":{"type":"string","description":"Token contract address that needs approval."},"spenderAddress":{"type":"string","description":"Spender address (DEX router) that needs approval."},"requiredAmount":{"type":"string","description":"Minimum token amount that needs to be approved."},"approveAmount":{"type":"string","description":"Recommended approval amount."},"currentAllowance":{"type":"string","description":"Current approved allowance for the spender."},"message":{"type":"string","description":"Human-readable approval status message."}}}}}}},"paths":{"/v1/developer/intent-to-swap-tx":{"post":{"summary":"Intent to Swap Transaction","description":"Convert natural language trading intent into an executable swap transaction payload. Compatible with OKX DEX by default.","operationId":"intentToSwap","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/IntentToSwapRequest"}}}},"responses":{"200":{"description":"Swap transaction generated","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SwapTransactionResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing API key"}}}}}}
```

自然言語の取引意図を、実行可能なスワップ取引ペイロードに変換します。デフォルトではOKX DEXに対応しています。

| パラメータ           | 種類     | 必須  | 説明                                       |
| --------------- | ------ | --- | ---------------------------------------- |
| `intent`        | string | はい  | 自然言語のスワップ意図（例: "swap 0.1 ETH to USDC"）   |
| `walletAddress` | string | はい  | ユーザーのウォレットアドレス（0x...）                    |
| `chain`         | string | いいえ | チェーン名（例: "base", "ethereum", "arbitrum"） |

**例：**

```bash
curl -X POST https://api.minara.ai/v1/developer/intent-to-swap-tx \\
  -H "Authorization: Bearer <YOUR_API_KEY>" \\
  -H "Content-Type: application/json" \\
  -d '{
    "intent": "swap 0.1 ETH to USDC",
    "walletAddress": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb1",
    "chain": "base"
  }'
```

***

### 無期限取引の提案

**`POST /v1/developer/perp-trading-suggestion`**

## Perpetual Trading Suggestion

> Get AI-powered perpetual trading suggestions with long/short recommendations, entry price, stop loss, take profit levels, and confidence score based on comprehensive market analysis.

```json
{"openapi":"3.0.0","info":{"title":"Minara Agent API","version":"1.0"},"servers":[{"url":"https://api-developer.minara.ai"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API-KEY","description":"Format: Authorization: Bearer <YOUR_API_KEY>"}},"schemas":{"PerpTradingRequest":{"type":"object","required":["symbol"],"properties":{"symbol":{"type":"string","description":"Required. Trading symbol (e.g., 'BTC', 'ETH', 'SOL')."},"style":{"type":"string","enum":["scalping","day-trading","swing-trading"],"default":"scalping","description":"Optional. Trading style: 'scalping', 'day-trading', or 'swing-trading'. Default: 'scalping'."},"marginUSD":{"type":"number","default":1000,"description":"Optional. Margin in USD. Default: 1000."},"leverage":{"type":"number","default":10,"minimum":1,"maximum":40,"description":"Optional. Leverage multiplier (max: 40). Default: 10."},"strategy":{"type":"string","default":"max-profit","description":"Optional. Strategy type. Default: 'max-profit'. More strategies coming soon."}}},"PerpTradingResponse":{"type":"object","properties":{"entryPrice":{"type":"number","description":"Recommended entry price."},"side":{"type":"string","enum":["long","short"],"description":"Trading side recommendation."},"stopLossPrice":{"type":"number","description":"Recommended stop loss price."},"takeProfitPrice":{"type":"number","description":"Recommended take profit price."},"confidence":{"type":"number","minimum":0,"maximum":100,"description":"Confidence score (0-100)."},"reasons":{"type":"array","items":{"type":"string"},"description":"Analysis reasons based on technical indicators."},"risks":{"type":"array","items":{"type":"string"},"description":"Risk factors to consider."}}}}},"paths":{"/v1/developer/perp-trading-suggestion":{"post":{"summary":"Perpetual Trading Suggestion","description":"Get AI-powered perpetual trading suggestions with long/short recommendations, entry price, stop loss, take profit levels, and confidence score based on comprehensive market analysis.","operationId":"perpTradingSuggestion","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PerpTradingRequest"}}}},"responses":{"200":{"description":"Perpetual trading suggestion","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PerpTradingResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing API key"}}}}}}
```

ロング/ショートの推奨、エントリー、損切り、利確、信頼度スコアを含む、AIによる無期限取引の提案を取得します。

| パラメータ       | 種類     | 必須  | 説明                                            |
| ----------- | ------ | --- | --------------------------------------------- |
| `symbol`    | string | はい  | 取引シンボル（例: "BTC", "ETH", "SOL"）                |
| `style`     | string | いいえ | `scalping`, `day-trading`、または `swing-trading` |
| `marginUSD` | number | いいえ | USD建ての証拠金                                     |
| `leverage`  | number | いいえ | レバレッジ倍率（最大: 40）                               |
| `strategy`  | string | いいえ | 戦略タイプ                                         |

**例：**

```bash
curl -X POST https://api.minara.ai/v1/developer/perp-trading-suggestion \\
  -H "Authorization: Bearer <YOUR_API_KEY>" \\
  -H "Content-Type: application/json" \\
  -d '{
    "symbol": "BTC",
    "style": "day-trading",
    "marginUSD": 1000,
    "leverage": 10
  }'
```

***

### 予測市場分析

**`POST /v1/developer/prediction-market-ask`**

## Prediction Market Analysis

> AI-powered prediction market analysis. Analyze prediction market events and get probability estimates for each outcome with detailed reasoning.

```json
{"openapi":"3.0.0","info":{"title":"Minara Agent API","version":"1.0"},"servers":[{"url":"https://api-developer.minara.ai"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"API-KEY","description":"Format: Authorization: Bearer <YOUR_API_KEY>"}},"schemas":{"PredictionMarketRequest":{"type":"object","required":["link","mode"],"properties":{"link":{"type":"string","description":"Required. Prediction market page link (e.g., Polymarket event URL)."},"mode":{"type":"string","enum":["fast","expert"],"description":"Required. Chat mode: 'fast' or 'expert'."},"only_result":{"type":"boolean","default":false,"description":"Optional. Only return prediction probabilities without reasoning. Default: false."},"customPrompt":{"type":"string","description":"Optional. Custom instructions to guide the analysis. Use this to specify focus areas, risk preferences, or analysis style."}}},"PredictionMarketResponse":{"type":"object","properties":{"predictions":{"type":"array","description":"Array of prediction outcomes. Each outcome represents an event option with its yes/no probabilities.","items":{"type":"object","properties":{"outcome":{"type":"string","description":"Outcome name (event option, e.g., candidate name, team name)."},"yesProb":{"type":"number","description":"Probability of YES for this outcome (0-1)."},"noProb":{"type":"number","description":"Probability of NO for this outcome (0-1)."}}}},"reasoning":{"type":"string","description":"AI reasoning and analysis (empty if only_result=true)."}}}}},"paths":{"/v1/developer/prediction-market-ask":{"post":{"summary":"Prediction Market Analysis","description":"AI-powered prediction market analysis. Analyze prediction market events and get probability estimates for each outcome with detailed reasoning.","operationId":"predictionMarketAsk","requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictionMarketRequest"}}}},"responses":{"200":{"description":"Prediction market analysis","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PredictionMarketResponse"}}}},"401":{"description":"Unauthorized - Invalid or missing API key"}}}}}}
```

予測市場の結果に対するAI駆動の確率推定。

| パラメータ          | 種類      | 必須  | 説明                          |
| -------------- | ------- | --- | --------------------------- |
| `link`         | string  | はい  | 予測市場イベントのURL（例: Polymarket） |
| `mode`         | string  | はい  | `fast` または `expert`         |
| `only_result`  | boolean | いいえ | 理由を含めず、確率のみを返す              |
| `customPrompt` | string  | いいえ | 分析を導くためのカスタム指示              |

**例：**

```bash
curl -X POST https://api.minara.ai/v1/developer/prediction-market-ask \\
  -H "Authorization: Bearer <YOUR_API_KEY>" \\
  -H "Content-Type: application/json" \\
  -d '{
    "link": "https://polymarket.com/event/example",
    "mode": "fast"
  }'
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://minara.ai/docs/minara-handbook/ja/qu-yin/agent-api/api-key.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
