---
title: "トークンAPI"
slug: "token-api"
abstract: "Experience EdgeのトークンAPIについて説明します。"
---
# トークンAPI

トークンREST APIは、デリバリー APIにアクセスするために使うAPIキーを管理できます。これらのAPIキーは長期間有効で、セッションベースのトークンではありません。キーを作成した後は、取り消すまで(追加でAPIに呼び出しながら)使用を続けられます。

## ベースURL

こちらがトークンREST API基本URLです:

https://edge.sitecorecloud.io/api/apikey/v1

## 認可

すべてのエンドポイントはベアラー認証を使用します。APIリクエストを認証するには:

1.  [環境用にEdge管理クライアントを作成します](https://doc.sitecore.com/xmc/en/developers/xm-cloud/en/manage-client-credentials-for-a-sitecoreai-organization-or-environment.html#UUID-920cbb42-c34a-43e9-d69a-fe81e3314424_section-idm1733356539496462)。これによりクライアントIDとクライアントシークレットが生成されます。
2.  [クライアントIDとクライアントシークレットを使ってOAuthを使ってExperience Edge XM用のJWTを要求](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/request-a-jwt-for-experience-edge-xm-using-oauth.html "Request a JWT for Experience Edge XM using OAuth")Authorization

### ヘッダー

名称

フォーマット

概要

Authorization

Bearer <YOUR\_JWT>

必須。  
  
APIリクエストを承認するためにリクエストしたJSONウェブトークン(JWT)です。  
  
例:  
  
Bearer eyJhbG...

## エンドポイント

トークンREST APIには以下のエンドポイントがあります:

-   [Create](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/token-api.html#UUID-84c3ab42-0e72-607d-9bca-094a2324342e_section-idm4665300977347232404261682929 "Create") - APIキーを生成します。
-   [ListAll](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/token-api.html#UUID-84c3ab42-0e72-607d-9bca-094a2324342e_section-idm4628058716102432404280271967 "ListAll") - テナント内のAPIすべての鍵をリストアップします。
-   [GetApiKeyByHash](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/token-api.html#UUID-84c3ab42-0e72-607d-9bca-094a2324342e_N1623050619141 "GetApiKeyByHash") - 単一のAPIキーをハッシュ値で取得します。
-   [GetApiKeyByToken](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/token-api.html#UUID-84c3ab42-0e72-607d-9bca-094a2324342e_N1623050651040 "GetApiKeyByToken") - トークンで識別される単一のAPI鍵を取得します。
-   [RenameByHash](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/token-api.html#UUID-84c3ab42-0e72-607d-9bca-094a2324342e_N1623050663984 "RenameByHash") - ハッシュ値で識別されたAPIキーの名前を変更すること。
-   [RenameByToken](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/token-api.html#UUID-84c3ab42-0e72-607d-9bca-094a2324342e_N1623050633344 "RenameByToken") - トークンで識別されたAPI鍵の名前を変更すること。
-   [RevokeByHash](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/token-api.html#UUID-84c3ab42-0e72-607d-9bca-094a2324342e_N1623050604515 "RevokeByHash") - ハッシュ値で識別されたAPIキーを取り消します。
-   [RevokeByToken](https://doc.sitecore.com/xp/ja/developers/hd/19/sitecore-headless-development/token-api.html#UUID-84c3ab42-0e72-607d-9bca-094a2324342e_N1623050582454 "RevokeByToken") - トークンで識別されたAPIキーを取り消します。

### 作成

APIキーを生成する際には、オーディエンスとコンテンツのスコープを定義する必要があります。Experience Edgeには以下のスコープが必要です:

-   audience-delivery - デリバリー GraphQL APIへのアクセスを許可します。
-   content-#everything# - すべてのコンテンツへのアクセスを許可する。

追加のスコープやスコープタイプを作成することはできません。

CreateエンドポイントはAPIキーを生成します:

-   相対的なルート: /
-   HTTP動詞: POST
-   本文:DeliveryApiKeyInfoの構造は以下の通りです。

{
 "CreatedBy": "userName",
 "Label": "Example key",
 "Scopes": "audience-delivery", "content-#everything#"
}

-   レスポンス:レスポンスはAPIトークンで、64の基数文字列です。例APIトークン:MTQ0NjJkZmQ5OTM2NDE1ZTZjNGZmZjI3
-   例:以下の例はオーディエンスデリバリーの範囲を求めます。これは、返送された返sc\_apikeyがデリバリー GraphQL APIに有効であることを意味します:

{
 "CreatedBy": "sitecore\\sueb",
 "Label": "Testing Access",
 "Scopes": 
 "content-#everything#",
 "audience-delivery"
 
 }

### リストオール

ListAllエンドポイントはテナント内のすべてのAPIキーを一覧にします:

-   相対的なルート: /
-   HTTP動詞: GET
-   クエリ文字列パラメータ:以下のパラメータが必要です:NameFormat目的scopes文字列の配列 返されるキーのスコープを定義します。提供されない場合は、すべてのキーを返します。利用可能なスコープは audience-delivery と content-#everything#です。labelString キーをフィルタリングするラベルまたはラベルの一部を定義します。この文字列を含むすべてのキーが返されます。提供されない場合は、すべてのキーが返されます。pagesize整数 ページあたり返されるキーの数を定義します。デフォルト:20。pagenumber整数 返すべきページ番号を定義します。デフォルト:1(最初のページを返します)。filterRevokedブール 呼び出しがすべての鍵を返すのか、アクティブなキーのみを返すのかを定義します。パラメータを使ってクエリを行う場合、以下の例構造を用いてください:https://edge.sitecorecloud.io/api/apikey/v1?scopes=audience-delivery&label=mine&filterRevoked=true&pagesize=50&pagenumber=3注 scopes パラメータは列挙可能です。クエリ文字列内に複数回現れることもあります。
-   レスポンス:レスポンスは、フィルタやページング設定、さらにページングメタデータを満たすDeliveryApiKeyの配列です。

{
 "totalCount": 2,
 "pageSize": 20,
 "currentPage": 1,
 "totalPages": 1,
 "hasNext": false,
 "hasPrevious": false,
 "keys": 
 {
 "TenantId": "Sitecore-tenant-id",
 "Hash": "1b84ed5b25f0eaa3a301fe72e89dc266362b999522a131d2de47744d7001cd07",
 "IsRevoked": false,
 "Label": "Example key",
 "Scopes": "scope1", "scope2",
 "CreatedBy": "ADN",
 "Created": "2020-12-02"
 },
 {
 "TenantId": "Sitecore-tenant-id",
 "Hash": "example\_hash\_2",
 "IsRevoked": false,
 "Label": "Example key 2",
 "Scopes": "scope3", "scope4",
 "CreatedBy": "ADN",
 "Created": "2020-12-02"
 }
 
}

### GetApiKeyByHash

GetApiKeyByHashエンドポイントは、そのハッシュ値によって単一のAPIキーを取得します:

-   相対的なルート: /{hash}
-   HTTP動詞: GET
-   ルートパラメータ:以下のパラメータが必要です:NameFormat目的hash文字列取得するキーのハッシュ。
-   レスポンス:レスポンスはトークンに対応するDeliveryApiKeyです:

{
 "TenantId": "Sitecore-tenant-id",
 "Hash": "example\_hash",
 "IsRevoked": false,
 "Label": "Example key",
 "Scopes": "scope1", "scope2",
 "CreatedBy": "ADN",
 "Created": "2020-12-02"
}

### GetApiKeyByToken

GetApiKeyByTokenエンドポイントはトークンで識別される単一のAPI鍵を取得します。

-   相対的なルート: /token
-   HTTP動詞: GET
-   ヘッダー:以下のヘッダーが必要です:NameFormat目的sc\_apikey文字列取得するキーのトークン。
-   レスポンス:レスポンスはトークンに対応するDeliveryApiKeyです:

 {
 "TenantId": "Sitecore-tenant-id",
 "Hash": "example\_token",
 "IsRevoked": false,
 "Label": "Example key",
 "Scopes": "scope1", "scope2",
 "CreatedBy": "ADN",
 "Created": "2020-12-02"
 }

### リネームByHash

RenameByHashエンドポイントは、ハッシュ値で識別されるAPIキーの名前を変更します:

相対的な経路

/renamebyhash/{hash}

HTTP動詞

PUT

ルートパラメータ

以下のパラメータが必要です:  
  
NameFormat目的hash文字列 リ名前するキーのハッシュ。

本文

ボディリクエストには以下のフィールドが含まれなければなりません:  
  
名前フォーマット目的newName文字列 APIキーの新しい名前。

応答形式

応答はキーが成功裏に名前変更されたかどうかを示すブール値です。

### RenameByToken(リネーム・バイ・トークン)

RenameByTokenエンドポイントは、そのトークンで識別されるAPIキーの名前を変更します:

相対的な経路

/renamebytoken

HTTP動詞

PUT

ヘッダー

以下のヘッダーが必要です:  
  
NameFormatPurposesc\_apikey文字列 名前変更されるキーのトークン。

本文

ボディリクエストには以下のフィールドが含まれなければなりません:  
  
名前フォーマット目的newName文字列 APIキーの新しい名前。

反応

応答はキーが成功裏に名前変更されたかどうかを示すブール値です。

### リヴォークバイハッシュ

RevokeByHashエンドポイントは、そのハッシュ値で識別されたAPIキーを取り消します。

相対的な経路

/revokebyhash/{hash}

HTTP動詞

PUT

ルートパラメータ

以下のパラメータが必要です:  
  
NameFormat目的hash文字列 取り消すキーのハッシュ。

反応

応答はキーが成功裏に取り消されたかどうかを示すブール値です。

### RevokeByToken

RevokeByTokenエンドポイントはトークンで識別されたAPI鍵を取り消します。

相対的な経路

/revokebytoken

HTTP動詞

PUT

ヘッダー

以下のヘッダーが必要です:  
  
NameFormatPurposesc\_apikey文字列 キーのトークンを撤回する。

反応

応答はキーが成功裏に取り消されたかどうかを示すブール値です。