> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tiro.ooo/llms.txt
> Use this file to discover all available pages before exploring further.

# 認証方式を選ぶ

> OAuth、アカウント・ワークスペース・組織のAPIキー、リアルタイム文字起こし用トークンを用途とアクセス範囲で比較します。

OAuthトークンとアカウントAPIキーは、ユーザー本人の権限で動作します。ワークスペースAPIキーと組織APIキーは、それぞれワークスペースや組織に紐づきます。新しく発行したシステムAPIキーで閲覧できるのは、ワークスペースの全メンバーに共有されたフォルダ内のノートです。以前のキーには範囲が異なるものもあるため、個別に確認してください。

## どの認証情報を使えばよいですか？

| 認証情報 | 権限の主体 | 閲覧できるノート | 主な用途 |
| - | - | - | - |
| **OAuthトークン（MCP）** | 同意したユーザー | 所属ワークスペース内でユーザーが閲覧できるノート | ClaudeやChatGPTなど、ユーザーがブラウザでログインするAIクライアント |
| **OAuthトークン（REST、[OAuthアプリ](https://docs.tiro.ooo/ja/developers/fundamentals/oauth.md)）** | 同意したユーザー | ユーザーが閲覧できるノート | 社内ポータルでログイン中のメンバーに自分のノートを表示 |
| **アカウントAPIキー** | キーを作成したユーザー | ユーザーが閲覧できるノート。キーに指定したワークスペースに絞り込めます | スクリプト、CLI、CI、ブラウザを開けないMCPクライアント |
| **ワークスペースAPIキー** | ワークスペース1つ | そのワークスペースの全メンバーに共有されたフォルダ内のノート | ワークスペース単位の連携、音声ファイルジョブ、リアルタイム文字起こしセッションの作成 |
| **組織APIキー** | 組織1つ | 組織の全ワークスペースまたは指定したワークスペースで、全メンバーに共有されたフォルダ内のノート | 組織単位のバッチ処理、メンバーやワークスペースの管理の自動化 |
| **リアルタイム文字起こしの `streamToken`** | セッション1つ | ノートへのアクセスなし | 音声クライアントをセッションのWebSocketに接続 |

## スコープとノートの閲覧範囲はどう違いますか？

`note:read` や `folder:write` などのスコープは、実行できる操作を定めます。閲覧できるノートやフォルダは認証情報の種類によって決まります。新しく作成したワークスペースAPIキーは、`note:read` があっても個人フォルダを閲覧できません。

APIキーのスコープを指定しない場合、スコープによる操作制限はかかりません。認証情報の種類によるアクセス制限は引き続き適用されます。OAuthではユーザーが許可したスコープが必要です。操作ごとのスコープは [API認証](https://docs.tiro.ooo/ja/developers/fundamentals/authentication.md) と [MCPの接続設定](https://docs.tiro.ooo/ja/developers/mcp/setup.md) をご覧ください。

## システムAPIキーで個人フォルダを閲覧できますか？

新しいワークスペースAPIキーと組織APIキーで閲覧できるのは、全メンバーに共有されたフォルダ内のノートです。個人フォルダ、一部のメンバーだけに共有したフォルダ、直接共有されたノートは対象外です。以前に発行されたシステムキーは範囲が異なる場合があります。個人のノートには、閲覧権限を持つユーザーのOAuthトークンかアカウントAPIキーを使用してください。詳しくは [システムAPIキーが読み取れるノート](https://docs.tiro.ooo/ja/developers/fundamentals/system-key-note-scope.md) をご覧ください。

## どの操作にAPIキーが必要ですか？

* 組織管理（メンバー、ワークスペース、セッション）、音声ファイルジョブ、リアルタイム文字起こしにはAPIキーが必要です。
* ユーザーを介さないサーバー間連携にはAPIキーを使用します。Tiroは `client_credentials` グラントやOpenID ConnectのIDプロバイダー機能を提供していません。
* リアルタイム文字起こしのセッション作成には、ワークスペースAPIキーか、ワークスペースに紐づいたアカウントAPIキーが必要です。紐づきのないアカウントキーと組織キーには `403 workspace_bound_key_required` が返ります。

## なぜリアルタイム文字起こしに専用トークンが必要ですか？

サーバーがワークスペースAPIキーか、ワークスペースに紐づいたアカウントAPIキーでセッションを作成すると、応答に `wsUrl` と `streamToken` が含まれます。音声クライアントにはセッション専用トークンを渡すことで、APIキーを共有せずにWebSocketに接続できます。トークンが返るのはセッション作成時のみです。詳しくは [リアルタイム文字起こしの概要](https://docs.tiro.ooo/ja/developers/realtime-transcription/overview.md) をご覧ください。

## 独自のMCPクライアントはどう接続しますか？

1. `https://mcp.tiro.ooo/.well-known/oauth-protected-resource/mcp` から認可サーバー `https://api.tiro.ooo` を取得します。
2. `https://api.tiro.ooo/.well-known/oauth-authorization-server` でエンドポイントと対応方式を確認します。
3. メタデータの `registration_endpoint` で動的クライアント登録（RFC 7591）を行い、`client_id` を取得します。
4. Authorization CodeとPKCE `S256` でユーザー同意を取得します。`resource=https://mcp.tiro.ooo/mcp` を指定してください。
5. 認可コードをトークンに交換し、MCPリクエストに `Authorization: Bearer <access_token>` を付けます。

`redirect_uris` にはHTTPS、`localhost`・`127.0.0.1`・`[::1]` のHTTP、または `cursor` スキームが使えます。`grant_types` には `authorization_code` が必要です。更新トークンを使う場合は `refresh_token` も指定します。`token_endpoint_auth_method` は `none`、`client_secret_basic`、`client_secret_post` に対応します。

登録時に `scope` を省略すると、委任可能なMCPの全スコープがリクエスト候補になります。接続ごとにユーザーの同意が必要で、トークンには同意したスコープが入ります。MCP用とREST用のトークンは対象リソースが異なります。`/v1/external/**` にはREST用トークンを使用してください。

> [card] [APIキーとスコープ](https://docs.tiro.ooo/ja/developers/fundamentals/authentication.md)
>
> キーの発行場所、必要なスコープ、認証エラーへの対処を確認できます。

> [card] [OAuthアプリ](https://docs.tiro.ooo/ja/developers/fundamentals/oauth.md)
>
> メンバーの同意を得て、社内システムからREST APIを呼び出す方法です。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.