アカウントとサインイン
サインイン、セッション、個人用アクセストークン、ユーザー、グループ、セキュリティ監査。
このグループの操作と、それぞれのアクセスルール、再試行ルール、パラメーター、レスポンスです。すべてのリクエストにはキーを付けます:Authorization: Bearer <key>(「認証」を参照)。
操作
サインイン
POST /api/v1/auth/login
アクセス: 誰でも(キー不要) · 再試行: 自動的に再試行しない
アカウントのnameとpasswordを、12時間有効なBearerセッションtokenと交換します。応答にはexpiresAtとアカウントも含まれ、トークンはAuthorization: Bearerとして送信します。未知の名前、誤ったパスワード、無効化されたアカウントは、いずれも同じ401 invalid_credentialsで応答します。試行はクライアントアドレスごと、アカウントごとに制限され(Retry-After付きの429 rate_limited)、1つのアカウントが保持できるセッションは最大32個で、新しいセッションを作ると最も古いものが終了します。
リクエスト本文 (application/json)
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
name | string | はい | — |
password | string (password) | はい | — |
レスポンス 200
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
token | string | はい | — |
expiresAt | string (date-time) | はい | — |
account | object | はい | — |
account.id | string (uuid) | はい | — |
account.name | string | はい | — |
account.administrator | boolean | はい | — |
account.enabled | boolean | はい | — |
レスポンス: 200, 400, 401, 403, 405, 413, 415, 429, 503
例
curl -X POST "$ARKVORY_URL/api/v1/auth/login" \
-H "Content-Type: application/json" \
-d '{"name":"<name>","password":"<password>"}'アカウントの登録
POST /api/v1/auth/register
アクセス: 誰でも(キー不要) · 再試行: 自動的に再試行しない
name(英字、数字、_.-からなる3〜64文字)とpassword(12〜128文字)で通常のアカウント(管理者ではありません)を作成してサインインさせ、loginと同様に12時間のセッションを付けて201で応答します。サーバーが自己登録を許可している場合(getAuthOptionsを参照)にのみ動作し、許可していない場合は403 registration_disabledになります。すでに使われている名前は409 already_existsです。試行はクライアントアドレスごとに制限され(Retry-After付きの429)、自己登録は900アカウントで停止します。
リクエスト本文 (application/json)
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
name | string | はい | — |
password | string (password) | はい | — |
レスポンス 201
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
token | string | はい | — |
expiresAt | string (date-time) | はい | — |
account | object | はい | — |
account.id | string (uuid) | はい | — |
account.name | string | はい | — |
account.administrator | boolean | はい | — |
account.enabled | boolean | はい | — |
レスポンス: 201, 400, 403, 405, 413, 415, 429, 503
例
curl -X POST "$ARKVORY_URL/api/v1/auth/register" \
-H "Content-Type: application/json" \
-d '{"name":"<name>","password":"<password>"}'サインインオプションの取得
GET HEAD /api/v1/auth/options
アクセス: 誰でも(キー不要) · 再試行: 再試行しても安全(読み取り)
サインイン前のコンソールに、どのフォームを表示するかを伝えます。このサーバーでregisterAccountが利用できる場合、selfRegistrationはtrueです。
レスポンス 200
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
selfRegistration | boolean | はい | — |
レスポンス: 200, 400, 403, 503
例
curl -X GET "$ARKVORY_URL/api/v1/auth/options"個人用アクセストークンの一覧表示
GET HEAD /api/v1/auth/tokens
アクセス: サインイン済みのアカウントセッション(キーは不可) · 再試行: 再試行しても安全(読み取り)
サインイン中のアカウントの個人用アクセストークンを、有効なものを先に列挙します。各項目には、名前、プレフィックス、スコープ、作成日時、有効期限、最終使用日時、取り消し済みかどうかが含まれます。シークレットが再び表示されることはありません。
レスポンス 200
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
items | objectの配列 | はい | 100個以内の要素 |
items[].id | string (uuid) | はい | — |
items[].name | string | はい | — |
items[].prefix | string | はい | — |
items[].scope | string | はい | 次のいずれか:read, read-write |
items[].createdAt | string (date-time) | はい | — |
items[].expiresAt | string (date-time) | いいえ | nullも可 |
items[].lastUsedAt | string (date-time) | いいえ | nullも可 |
items[].revoked | boolean | はい | — |
レスポンス: 200, 400, 401, 403, 404, 409, 422, 503, 507
例
curl -X GET "$ARKVORY_URL/api/v1/auth/tokens" \
-H "Authorization: Bearer $ARKVORY_TOKEN"個人用アクセストークンの作成
POST /api/v1/auth/tokens
アクセス: サインイン済みのアカウントセッション(キーは不可) · 再試行: 自動的に再試行しない
サインイン中のアカウントとして動作する、スクリプトやツール向けのトークンを作成します。シークレットはこの応答にのみ含まれます。nameは1〜64文字、expiresAtの既定は90日後で、未来かつ365日以内でなければなりません。scopeはread-write(既定)またはreadで、readでは何も変更できません。トークンに管理者権限が付くことはなく、トークンを作成することもできません。1つのアカウントが持てる有効なトークンは最大50個です(507 token_limit)。
リクエスト本文 (application/json)
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
name | string | はい | — |
expiresAt | string (date-time) | いいえ | — |
scope | string | いいえ | 次のいずれか:read, read-write |
レスポンス 201
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
id | string (uuid) | はい | — |
name | string | はい | — |
prefix | string | はい | — |
scope | string | はい | 次のいずれか:read, read-write |
createdAt | string (date-time) | はい | — |
expiresAt | string (date-time) | いいえ | nullも可 |
lastUsedAt | string (date-time) | いいえ | nullも可 |
revoked | boolean | はい | — |
token | string | はい | — |
レスポンス: 201, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507
例
curl -X POST "$ARKVORY_URL/api/v1/auth/tokens" \
-H "Authorization: Bearer $ARKVORY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"<name>"}'個人用アクセストークンの取り消し
DELETE /api/v1/auth/tokens/{id}
アクセス: サインイン済みのアカウントセッション(キーは不可) · 再試行: 再試行しても安全:同じリクエストは同じ効果になる
サインイン中のアカウントの個人用アクセストークンを1つ取り消します。以後、そのトークンを使ったリクエストは失敗します。すでに取り消されたトークンを取り消した場合も成功します。
パラメーター
| 名前 | 場所 | 型 | 必須 | ルール |
|---|---|---|---|---|
id | パス | string (uuid) | はい | — |
レスポンス: 204, 400, 401, 403, 404, 405, 409, 422, 503, 507
例
curl -X DELETE "$ARKVORY_URL/api/v1/auth/tokens/$ID" \
-H "Authorization: Bearer $ARKVORY_TOKEN"サインアウト
POST /api/v1/auth/logout
アクセス: 有効なキーまたはセッション · 再試行: 再試行しても安全:同じリクエストは同じ効果になる
Authorizationで送信されたアカウントのセッションを終了します。そのトークンはただちに使えなくなります。他の認証情報(個人用トークンまたはサービスキー)では、204を返し、何も取り消しません。
レスポンス: 204, 400, 401, 403, 404, 405, 409, 422, 503, 507
例
curl -X POST "$ARKVORY_URL/api/v1/auth/logout" \
-H "Authorization: Bearer $ARKVORY_TOKEN"自分のパスワードの変更
POST /api/v1/auth/password
アクセス: サインイン済みのアカウントセッション(キーは不可) · 再試行: 自動的に再試行しない
currentPasswordを確認したうえでnewPassword(12〜128文字)を設定します。現在のパスワードが誤っている場合は401 current_password_invalidになり、サインインのバックオフに計上されます。成功すると、現在のセッションを含め、アカウントのすべてのセッションとすべての個人用アクセストークンが取り消されるため、改めてサインインしてください。
リクエスト本文 (application/json)
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
currentPassword | string (password) | はい | — |
newPassword | string (password) | はい | — |
レスポンス: 204, 400, 401, 403, 404, 405, 409, 413, 415, 422, 429, 503, 507
例
curl -X POST "$ARKVORY_URL/api/v1/auth/password" \
-H "Authorization: Bearer $ARKVORY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"currentPassword":"<currentPassword>","newPassword":"<newPassword>"}'現在のアイデンティティの取得
GET HEAD /api/v1/auth/me
アクセス: 有効なキーまたはセッション · 再試行: 再試行しても安全(読み取り)
認証情報の持ち主を返します。内容は、id、管理者かどうか、認証情報の種類(session、personal-token、service-key、file-key)、個人用トークンのスコープ、readまたはwriteアクセスを持つリポジトリです。サインイン中のユーザーを表示したり、リポジトリを選択したりするために使用します。マネージドサービスキーの正確な権限を調べるには、getOwnPermissionsを使用してください。
レスポンス 200
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
id | string | はい | — |
administrator | boolean | はい | — |
credential | string | いいえ | 次のいずれか:session, personal-token, service-key, file-key |
tokenScope | string | いいえ | 次のいずれか:read, read-write |
grants | objectの配列 | はい | — |
grants[].repository | string | はい | — |
grants[].permissions | stringの配列 | はい | 各要素:次のいずれか:read, write |
レスポンス: 200, 400, 401, 403, 404, 409, 422, 503, 507
例
curl -X GET "$ARKVORY_URL/api/v1/auth/me" \
-H "Authorization: Bearer $ARKVORY_TOKEN"アカウントの一覧表示
GET HEAD /api/v1/users
アクセス: 管理者 · 再試行: 再試行しても安全(読み取り)
すべてのユーザーアカウントを名前順に列挙します。各項目には、ID、名前、管理者フラグ、有効かどうかが含まれます。サーバーが保持できるアカウントは最大1000件です。
レスポンス 200
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
items | objectの配列 | いいえ | — |
items[].id | string (uuid) | はい | — |
items[].name | string | はい | — |
items[].administrator | boolean | はい | — |
items[].enabled | boolean | はい | — |
レスポンス: 200, 400, 401, 403, 404, 409, 422, 503, 507
例
curl -X GET "$ARKVORY_URL/api/v1/users" \
-H "Authorization: Bearer $ARKVORY_TOKEN"アカウントの作成
POST /api/v1/users
アクセス: 管理者 · 再試行: 自動的に再試行しない
name(英字、数字、_.-からなる3〜64文字)、password(12〜128文字)、administrator(既定はfalse)でアカウントを作成し、201でそれを返します。すでに使われている名前は409 already_existsで、サーバーが保持できるアカウントは最大1000件です(507 account_limit)。
リクエスト本文 (application/json)
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
name | string | はい | — |
password | string (password) | はい | — |
administrator | boolean | いいえ | — |
レスポンス 201
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
id | string (uuid) | はい | — |
name | string | はい | — |
administrator | boolean | はい | — |
enabled | boolean | はい | — |
レスポンス: 201, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507
例
curl -X POST "$ARKVORY_URL/api/v1/users" \
-H "Authorization: Bearer $ARKVORY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"<name>","password":"<password>"}'アカウントの有効化、無効化、パスワードのリセット
PATCH /api/v1/users/{id}
アクセス: 管理者 · 再試行: 自動的に再試行しない
アカウントのenabledを変更するか、新しいpasswordを設定するか、その両方を行います。ここでは管理者フラグは変更できません。無効化するとアカウントのすべてのセッションが終了し、無効のままの間はその個人用トークンも使えなくなります。パスワードをリセットすると、すべてのセッションが終了し、すべての個人用トークンが取り消されます。
パラメーター
| 名前 | 場所 | 型 | 必須 | ルール |
|---|---|---|---|---|
id | パス | string (uuid) | はい | — |
リクエスト本文 (application/json)
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
enabled | boolean | いいえ | — |
password | string (password) | いいえ | — |
レスポンス 200
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
id | string (uuid) | はい | — |
name | string | はい | — |
administrator | boolean | はい | — |
enabled | boolean | はい | — |
レスポンス: 200, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507
例
curl -X PATCH "$ARKVORY_URL/api/v1/users/$ID" \
-H "Authorization: Bearer $ARKVORY_TOKEN" \
-H "Content-Type: application/json" \
-d '{}'アカウントの個人用アクセストークンの一覧表示
GET HEAD /api/v1/users/{id}/tokens
アクセス: 管理者 · 再試行: 再試行しても安全(読み取り)
任意のアカウントの個人用アクセストークンを、有効なものを先に列挙します。各項目には、名前、プレフィックス、スコープ、作成日時、有効期限、最終使用日時、取り消し状況が含まれます。シークレットは含まれません。アカウントを無効化またはリセットする前に、自動化の利用状況を確認するために使用します。
パラメーター
| 名前 | 場所 | 型 | 必須 | ルール |
|---|---|---|---|---|
id | パス | string (uuid) | はい | — |
レスポンス 200
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
items | objectの配列 | はい | 100個以内の要素 |
items[].id | string (uuid) | はい | — |
items[].name | string | はい | — |
items[].prefix | string | はい | — |
items[].scope | string | はい | 次のいずれか:read, read-write |
items[].createdAt | string (date-time) | はい | — |
items[].expiresAt | string (date-time) | いいえ | nullも可 |
items[].lastUsedAt | string (date-time) | いいえ | nullも可 |
items[].revoked | boolean | はい | — |
レスポンス: 200, 400, 401, 403, 404, 409, 422, 503, 507
例
curl -X GET "$ARKVORY_URL/api/v1/users/$ID/tokens" \
-H "Authorization: Bearer $ARKVORY_TOKEN"アカウントの個人用アクセストークンの取り消し
DELETE /api/v1/users/{id}/tokens/{tokenId}
アクセス: 管理者 · 再試行: 再試行しても安全:同じリクエストは同じ効果になる
アカウントidの個人用アクセストークンを1つ取り消します。以後、そのトークンを使ったリクエストは失敗し、このイベントはセキュリティ監査に記録されます。すでに取り消されたトークンを取り消した場合も成功します。
パラメーター
| 名前 | 場所 | 型 | 必須 | ルール |
|---|---|---|---|---|
id | パス | string (uuid) | はい | — |
tokenId | パス | string (uuid) | はい | — |
レスポンス: 204, 400, 401, 403, 404, 405, 409, 422, 503, 507
例
curl -X DELETE "$ARKVORY_URL/api/v1/users/$ID/tokens/$TOKENID" \
-H "Authorization: Bearer $ARKVORY_TOKEN"アクセスグループの一覧表示
GET HEAD /api/v1/access-groups
アクセス: 管理者 · 再試行: 再試行しても安全(読み取り)
すべてのアクセスグループを、所属するアカウントのIDとリポジトリへの付与(readまたはwrite)とともに列挙します。サーバーが保持できるのは、グループが最大100件、所属と付与がそれぞれ最大10,000件です。
レスポンス 200
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
items | objectの配列 | いいえ | — |
items[].id | string (uuid) | はい | — |
items[].name | string | はい | — |
items[].members | string (uuid)の配列 | はい | — |
items[].grants | objectの配列 | はい | — |
items[].grants[].repository | string | はい | — |
items[].grants[].access | string | はい | 次のいずれか:read, write |
レスポンス: 200, 400, 401, 403, 404, 409, 422, 503, 507
例
curl -X GET "$ARKVORY_URL/api/v1/access-groups" \
-H "Authorization: Bearer $ARKVORY_TOKEN"アクセスグループの作成
POST /api/v1/access-groups
アクセス: 管理者 · 再試行: 自動的に再試行しない
name(英字、数字、_.-からなる2〜64文字)で空のグループを作成し、201でそれを返します。すでに使われている名前は409 already_existsです。メンバーはaddGroupMemberで、リポジトリはsetGroupGrantで追加します。
リクエスト本文 (application/json)
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
name | string | はい | — |
レスポンス 201
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
id | string (uuid) | はい | — |
name | string | はい | — |
members | string (uuid)の配列 | はい | — |
grants | objectの配列 | はい | — |
grants[].repository | string | はい | — |
grants[].access | string | はい | 次のいずれか:read, write |
レスポンス: 201, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507
例
curl -X POST "$ARKVORY_URL/api/v1/access-groups" \
-H "Authorization: Bearer $ARKVORY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"name":"<name>"}'グループへのアカウントの追加
PUT /api/v1/access-groups/{id}/members/{userId}
アクセス: 管理者 · 再試行: 再試行しても安全:同じリクエストは同じ効果になる
アカウントuserIdをグループのメンバーにします。そのアカウントは、次のリクエストからグループのリポジトリアクセスを得ます。すでにメンバーであるアカウントを追加しても何も変わりません。所属の合計は最大10,000件です(507 membership_limit)。
パラメーター
| 名前 | 場所 | 型 | 必須 | ルール |
|---|---|---|---|---|
id | パス | string (uuid) | はい | — |
userId | パス | string (uuid) | はい | — |
レスポンス: 204, 400, 401, 403, 404, 405, 409, 422, 503, 507
例
curl -X PUT "$ARKVORY_URL/api/v1/access-groups/$ID/members/$USERID" \
-H "Authorization: Bearer $ARKVORY_TOKEN"グループからのアカウントの削除
DELETE /api/v1/access-groups/{id}/members/{userId}
アクセス: 管理者 · 再試行: 再試行しても安全:同じリクエストは同じ効果になる
アカウントuserIdをグループから削除します。グループ経由で持っていたアクセスは、次のリクエストから失われます。メンバーでないアカウントを削除した場合も成功します。
パラメーター
| 名前 | 場所 | 型 | 必須 | ルール |
|---|---|---|---|---|
id | パス | string (uuid) | はい | — |
userId | パス | string (uuid) | はい | — |
レスポンス: 204, 400, 401, 403, 404, 405, 409, 422, 503, 507
例
curl -X DELETE "$ARKVORY_URL/api/v1/access-groups/$ID/members/$USERID" \
-H "Authorization: Bearer $ARKVORY_TOKEN"グループへのリポジトリアクセスの付与
PUT /api/v1/access-groups/{id}/grants/{repository}
アクセス: 管理者 · 再試行: 再試行しても安全:同じリクエストは同じ効果になる
グループのメンバーに、repositoryへのaccess(readまたはwrite)を付与します。そのグループの以前の付与は置き換えられ、メンバーの次のリクエストから適用されます。リポジトリを別途作成する必要はなく、付与によってメンバーから見えるようになります。付与の合計は最大10,000件です(507 grant_limit)。
パラメーター
| 名前 | 場所 | 型 | 必須 | ルール |
|---|---|---|---|---|
id | パス | string (uuid) | はい | — |
repository | パス | string | はい | — |
リクエスト本文 (application/json)
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
access | string | はい | 次のいずれか:read, write |
レスポンス: 204, 400, 401, 403, 404, 405, 409, 413, 415, 422, 503, 507
例
curl -X PUT "$ARKVORY_URL/api/v1/access-groups/$ID/grants/$REPOSITORY" \
-H "Authorization: Bearer $ARKVORY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"access":"read"}'グループのリポジトリアクセスの削除
DELETE /api/v1/access-groups/{id}/grants/{repository}
アクセス: 管理者 · 再試行: 再試行しても安全:同じリクエストは同じ効果になる
repositoryに対するグループの付与を削除します。メンバーには、他のグループ経由で持つアクセスだけが残ります。存在しない付与を削除した場合も成功します。
パラメーター
| 名前 | 場所 | 型 | 必須 | ルール |
|---|---|---|---|---|
id | パス | string (uuid) | はい | — |
repository | パス | string | はい | — |
レスポンス: 204, 400, 401, 403, 404, 405, 409, 422, 503, 507
例
curl -X DELETE "$ARKVORY_URL/api/v1/access-groups/$ID/grants/$REPOSITORY" \
-H "Authorization: Bearer $ARKVORY_TOKEN"セキュリティ監査の取得
GET HEAD /api/v1/security/audit
アクセス: 管理者 · 再試行: 再試行しても安全(読み取り)
サインイン、登録、アカウント、グループ、付与、パスワード、個人用アクセストークンの変更の、追記専用ジャーナルを新しい順に返します。各項目には、実行者、認証情報の種類、対象、結果、クライアントアドレスが含まれます。スロットリングされた試行はジャーナルに記録されません。ページにはlimit件(1〜100、既定は50)が含まれ、続きはafterにnextを設定して取得します。
パラメーター
| 名前 | 場所 | 型 | 必須 | ルール |
|---|---|---|---|---|
after | クエリ | string | いいえ | 10進数字で表した整数(文字列として送信) |
limit | クエリ | integer | いいえ | 1~100 |
レスポンス 200
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
items | objectの配列 | はい | 100個以内の要素 |
items[].id | string | はい | 10進数字で表した整数(文字列として送信) |
items[].occurredAt | string (date-time) | はい | — |
items[].actor | string | はい | nullも可 |
items[].credential | string | はい | 次のいずれか:session, personal-token, service-key, file-key; nullも可 |
items[].clientIp | string | はい | nullも可 |
items[].action | string | はい | — |
items[].target | string | はい | nullも可 |
items[].outcome | string | はい | 次のいずれか:success, failure, denied |
items[].code | string | はい | nullも可 |
items[].details | object | はい | — |
next | string | はい | nullも可 |
レスポンス: 200, 400, 401, 403, 404, 409, 422, 503, 507
例
curl -X GET "$ARKVORY_URL/api/v1/security/audit" \
-H "Authorization: Bearer $ARKVORY_TOKEN"自分の有効な権限の取得
GET HEAD /api/v1/auth/permissions
アクセス: 有効なキーまたはセッション · 再試行: 再試行しても安全(読み取り)
呼び出し元のprofile(マネージドサービスキーではmanaged、それ以外はlegacy)、そのキーID、有効なバインディング(各リポジトリと、そこで許可される正確なアクション)、そしてブートストラップサービス管理者かどうかを返します。クライアントを適応させるために使用してください。サーバーはすべてのリクエストを引き続き確認するため、権限の変更はただちに反映されます。
レスポンス 200
| フィールド | 型 | 必須 | ルール |
|---|---|---|---|
id | string | はい | — |
profile | string | はい | 次のいずれか:legacy, managed |
bindings | objectの配列 | はい | 10000個以内の要素 |
bindings[].resource | object | はい | — |
bindings[].resource.kind | string | はい | 次のいずれか:repository |
bindings[].resource.id | string | はい | ^[a-z0-9][a-z0-9_-]{0,63}$に一致 |
bindings[].actions | stringの配列 | はい | 1~24個の要素; 要素の重複なし; 各要素:次のいずれか:repository.read, storage.read, storage.manage, diagnostics.read, artifact.read, artifact.list, artifact.delete, artifact.promote, content.read, upload.create, upload.read, upload.write, upload.complete, upload.cancel, job.read, package.read, package.publish, asset.read, asset.write, asset.restore, annotation.read, annotation.write, reference.write, audit.read |
serviceAdministration | boolean | はい | — |
credentialId | string (uuid) | いいえ | nullも可 |
レスポンス: 200, 400, 401, 403, 404, 409, 422, 503, 507
例
curl -X GET "$ARKVORY_URL/api/v1/auth/permissions" \
-H "Authorization: Bearer $ARKVORY_TOKEN"