# アクセストークン

API ID と API キーを OAuth2 ベアラートークンと交換します。
- **前提条件**：`client_id` は API ID、`client_secret` は API キーです。メンバーが有効な状態であり、呼び出し元の IP が Open API の IP 許可リストと拒否リストを満たす必要があります。
- **副作用**：ありません — トークンは自己署名で、サーバー側には何も保存されません。
- **有効期間**：`expires_in` 秒で、デフォルトは 3600 です。**リフレッシュトークンもリフレッシュ用エンドポイントも存在しません**。代わりに新しいトークンを要求してください。
- **同時実行**：トークンはステートレスなので、新しいトークンの発行は以前のトークンを**無効にしません** — 複数のトークンが同時に有効になり得ます。トークンが使えなくなるのは、期限切れか API キーのローテーション時のみです。
- **リトライ**：安全にリトライできます。

文書化されたビジネスエラー: `12002`, `35002`, `35005`。 各コードの意味は [Error Codes](../Getting%20Started/error-codes.md) を参照してください。どの操作でも共通コードが返る場合があります。

Endpoint: POST /oauth2/token
Version: 2026-09-05
Security: Authorization

## Header parameters:

  - `Content-Type` (string, required)

## Request fields (application/json):

  - `client_id` (string, required)
    API IDはメンバーを識別するものです。

  - `client_secret` (string, required)
    APIキーはクライアントIDを認証するために使用されます。MoreLogin APIを呼び出すには、
API IDとAPIキーを交換してアクセストークンを取得します。この秘密情報は厳重に保管してください。

  - `grant_type` (string, required)
    パッケージ名 — appVersionId が指定されていない場合にのみ必須
    Example: client_credentials

## Response 200:

  - `200` (unknown)
    成功。`data` は `scope`、`access_token`、`token_type`、`expires_in`、`client_metadata` のフィールドを持つオブジェクトです。

## Response 200 fields (application/json):

  - `code` (integer, required)

  - `msg` (string | null, required)

  - `data` (object, required)

  - `data.scope` (string, required)

  - `data.access_token` (string, required)

  - `data.token_type` (string, required)

  - `data.expires_in` (integer, required)

  - `data.client_metadata` (object, required)

  - `data.client_metadata.name` (string, required)

  - `requestId` (string, required)

