使い方

本ドキュメントでは、Hexabase APIの基本的な使い方を解説しています。

概要#

Hexabase APIは、エンタープライズBaaS(Backend as a Service)を制御するための、Application Programming Interfaceです。

バージョン#

Version 0

事前準備#

  • HexabaseプラットホームのベースURIを確認します。ベースURIは、テナントと環境(本番、ステージング)によって異なります
  • Hexabaseプラットホームでユーザー登録します

APIトークンの取得#

  • 本APIでは、ログインAPIでユーザーを指定します。各APIは、このユーザが持つ権限に従って実行されます
  • 本APIを使用するには、最初にログインAPIを実行して、トークンを取得します
  • ログインAPIを除く各APIの実行時には、HTTPリクエストヘッダに以下のようにトークンを指定します
Authorization: Bearer XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX(発行したトークン)

画面ID (display_id)#

  • 画面ID(display_id)とは、Hexabase設定画面から指定可能なIDのことを指します。

  • 画面ID(display_id)に対応しているAPIは、app-id, datastore-id, field-id など、URLやPayloadの一部に画面から入力したIDを指定できます。

  • さらに詳しい内容は、開発ガイド > 機能 > ID による指定をご覧ください。

API一覧#

認証関連API#

本APIを使用するには、最初にログインAPIを実行して、トークンを取得します

ログイン関連API#

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
1LoginログインPOST/api/v0/loginシステムへログインするv0-
60LogoutログアウトPOST/api/v0/users/logoutシステムからログアウトするv0-

ワークスペース関連API#

「ワークスペース」は、Hexabaseのアプリケーションをまとめる領域です。業務の種類や内容に合わせてワークスペースを用意して、複数の業務アプリケーションをまとめておきます。 ワークスペース関連APIは、こちらのページを参照してください。

グループ関連API#

「グループ」は、ワークスペース内に1つツリー構造で存在するし、ユーザーを役割りに応じてまとめる機能です。グループへロールを付与することもできます。

グループ一覧の取得#

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
49GetGroupグループ情報取得GET/api/v0/groups/:group-id指定したグループ情報とその配下のグループ一覧を取得v0-
4GetGroupTreeグループツリー情報取得GET/api/v0/grouptreeワークスペース内のグループ情報をJSONツリー形式で取得v0-

グループの登録、変更、削除#

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
5CreateGroup新規グループ作成POST/api/v0/workspaces/:workspace-id/groups/:parent-group-id指定グループ配下に新規でグループを作成v0-
44CreateTopGroup新規グループ作成(第1階層)POST/api/v0/workspaces/:workspace-id/groups第1階層に新規グループを作成v0-
6UpdateGroupグループ更新PUT/api/v0/groups/:group-id指定したグループ情報を更新するv0-
7DeleteGroupグループ削除DELETE/api/v0/groups/:group-id指定したグループを削除するv0-

ユーザー関連API#

「ユーザー」はEmailアドレスをIDとした、ログイン可能なアカウントです。必ずワークスペース内のいずれかのグループに属します。Hexabaseへユーザーを追加するには、グループへユーザーを登録した後に、ワークスペースへ招待する必要があります。

ユーザーの招待 ~ 初期登録#

初期ユーザの登録に関しては、こちらのページを参照してください。

ログインユーザAPI#

ログイン済ユーザの参照・変更に関するAPIは、こちらのページを参照してください。

ユーザー一覧#

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
46GetUsersInGroupグループ内ユーザー取得GET/api/v0/groups/:group-id/users指定されたグループのユーザー一覧の取得v0-
50GetUsersInWorkspaceグループ内ユーザー取得GET/api/v0/workspaces/:workspace-id/users指定されたワークスペースのユーザー一覧の取得(old)-
10GetAllUsersInWorkspaceワークスペース全ユーザー取得GET/api/v0/users/all/g/:group-idワークスペース内全ユーザー一覧の取得v0-

ユーザーの追加、削除#

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
47AddUserユーザー追加POST/api/v0/usersグループに新規ユーザーを作成v0-
51RemoveUserユーザー削除DELETE/api/v0/usersグループからユーザーを削除v0-
52UserInviteユーザー招待POST/api/v0/userinviteユーザーを招待v0-

CSVデータによるユーザー一括登録#

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
9UserImportPOST/api/v0/userimportユーザーをCSVで一括インポートα版-

アプリケーション関連API#

Hexabaseでは、「アプリケーション」ごとに、データベース・データレポート・ダッシュボードなどをまとめています。新しくワークプレースを作成すると「新しいアプリケーション」という名前のアプリケーションが作成されています。

アプリケーション内には複数のデータベース(データストア)が存在します。

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
11GetApplicationsAndDatastoresアプリケーションとデータベース一覧GET/api/v0/workspaces/:workspace-id/applicationsアプリケーション一覧のとデータストア一覧を取得v0-

ロール関連API#

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
71GetRoleUsersロールをもつユーザーの取得GET/api/v0/applications/:app-id/roleusers/:role-id指定したロールを所有するユーザーを取得するv0-
65AddRoleToUserユーザーへロール付与POST/api/v0/applications/:app-id/userrolesユーザーにアプリケーションのロールを付与するv0-
66RemoveRoleFromUserユーザからロールを削除DELETE/api/v0/applications/:app-id/userrolesユーザーからアプリケーションのロールを外すv0-
63UpdateGroupRolesグループロール更新POST/api/v0/grouproles/:group-idグループにひも付くロールをすべて削除し、新規付与(洗い変え)するv0-
64AddGroupRolesグループロール追加PUT/api/v0/grouproles/:group-idグループにロールを追加するv0-

フィールド関連API#

Hexabaseでは、「アイテム」のカラムを「フィールド」または「画面項目」と呼びます。

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
15GetDatastoreFieldsフィールド一覧GET/api/v0/applications/:app-id/datastores/:datastore-id/fieldsフィールド一覧を取得v0

アイテム関連API#

Hexabaseでは、データベースの各データを「アイテム」と呼びます。表の横1行がアイテムになります。一般的なRDBのレコードに相当します。

アイテムの検索、表示#

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
19ItemListアイテム一覧POST/api/v0/applications/:app-id/datastores/:datastore-id/items/searchアイテム一覧を取得v0
68GetItemSearchConditionsアイテム検索条件取得POST/api/v0/applications/:app-id/datastores/:datastore-id/items/conditionsアイテムの検索条件を取得するv0
70GetUserQueriesよく使う一覧の取得GET/api/v0/applications/:app-id/queriesユーザーごとに記憶された検索条件一覧を返すv0
27GetItemDetailsアイテム詳細GET/api/v0/applications/:app-id/datastores/:datastore-id/items/details/:item-idアイテムの詳細情報、アクションリストを取得v0

アイテムの登録、更新、削除#

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
69GetAutoNumber自動採番POST/api/v0/applications/:app-id/datastores/:datastore-id/fields/:field-id/autonumアイテムへ登録時に任意利用できる番号を採番するv0
20CreateItemアイテム新規登録POST/api/v0/applications/:app-id/datastores/:datastore-id/items/new新規アイテムを作成するv0
21UpdateItemアイテム更新POST/api/v0/applications/:app-id/datastores/:datastore-id/items/edit/:item-idアイテムを編集するv0
22DeleteItemアイテム削除DELETE/api/v0/applications/:app-id/datastores/:datastore-id/items/delete/:item-id1アイテムを削除するv0
23DeleteItemByConditions条件指定してアイテム削除DELETE/api/v0/applications/:app-id/datastores/:datastore-id/items/delete条件を指定してアイテムを一括削除するv0

アイテムに対するアクション実行#

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
12GetNewActions新規登録アクションの一覧GET/api/v0/datastores/:datastore-id/new-action新規アイテム作成アクション一覧を取得v0-
48CreateNewItemID新規アイテムID取得POST/api/v0/datastores/:datastore-id/items/create-id新規アイテム作成用のaction_idを取得v0-
33CreateItemWithItemIDitem_idを指定して新規アイテムを作成POST/api/v0/items/:item-id/new-actions/:action-idaction_idを指定して、新規作成アクションを実行(No.69の後に実行)v0-
13GetInputFieldsアクション登録フォーム取得GET/api/v0/datastores/:datastore-id/actions/:action-id/fieldsアクションで利用可能なフィールド情報を取得するv0-
62ExecuteActionアクションの実行POST/api/v0/applications/:app-id/datastores/:datastore-id/items/action/:action-id指定アクションを実行するv0
31ExecuteActionByActionIDアクションの実行POST/api/v0/items/:item-id/actions/:action-idアクションを実行v0-
67ExecuteBulkAction条件を指定してアクションを実行POST/api/v0/applications/:app-id/datastores/:datastore-id/items/bulkaction/:action-id指定アクションを実行するv0

アイテムの関連#

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
28GetLinkedItems関連アイテム取得GET/api/v0/applications/:app-id/datastores/:datastore-id/items/links/:item-idアイテムに関連するアイテム一覧を取得v0
24AddItemLinkアイテムリンク作成POST/api/v0/applications/:app-id/datastores/:datastore-id/items/addlink/:item-id関連アイテムとのリンクを追加v0
25UpdateItemLinkアイテムリンク更新POST/api/v0/applications/:app-id/datastores/:datastore-id/items/updatelink/:item-id関連アイテムとのリンクを更新v0
26DeleteItemLinkアイテムリンク削除DELETE/api/v0/applications/:app-id/datastores/:datastore-id/items/dellink/:item-id関連アイテムとのリンクを削除v0

添付ファイル関連API#

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
29UploadFile添付ファイルUploadPOST/api/v0/items/:item-id/fields/:field-id/attachments添付ファイルフィールドにファイルをアップロードv0-
30DeleteFile添付ファイル削除DELETE/api/v0/items/:item-id/fields/:field-id/attachments/:file-id添付ファイルフィールドのファイルを削除v0-
35GetFileファイルデータの取得GET/api/v0/files/:file-id添付ファイルデータを取得v0-

アイテムの履歴#

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
34GetItemHistoriesアイテム履歴取得GET/api/v0/applications/:app-id/datastores/:datastore-id/items/histories/:item-id履歴を取得v0
45PostItemCommentアイテムコメント投稿POST/api/v0/applications/:app-id/datastores/:datastore-id/items/histories/:item-idコメント履歴を登録v0
72UpdateItemCommentアイテムコメント編集PUT/api/v0/applications/:app-id/datastores/:datastore-id/items/histories/:item-id/:history-idコメント履歴を修正v0
73DeleteItemCommentアイテムコメント削除DELETE/api/v0/applications/:app-id/datastores/:datastore-id/items/histories/:item-id/:history-idコメント履歴を削除v0

CSVデータインポート関連API#

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
16ImportItemsアイテムCSVインポートPOST/api/v0/applications/:app-id/datastores/:datastore-id/importCSVデータをデータベースへインポートv0
17GetImportResultsインポート結果取得GET/api/v0/datastores/:datastore-id/import/:idCSVインポートの結果取得v0-

データレポート関連API#

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
37GetReportDataデータレポート取得GET/api/v0/applications/:app-id/reports/:report-idレポートデータの取得v0
38GetReportSearchConditionsデータレポート検索条件取得GET/api/v0/applications/:app-id/reports/:report-id/conditionsレポートの検索条件を取得v0
39GetReportDataByConditions条件指定してデータレポート取得POST/api/v0/applications/:app-id/reports/:report-id/filter条件を指定してレポートデータを取得v0

チャート(ダッシュボード)関連API#

NoAPI NameAPI名MethodURI目的version画面ID(display_id)への対応
40GetChartDataチャートデータ取得GET/api/v0/applications/:app-id/charts/:chart-idチャートデータの取得v0
41GetChartSearchConditionsチャート検索条件取得GET/api/v0/applications/:app-id/charts/:chart-id/conditionsチャートの検索条件を取得v0
42GetChartDataByConditions条件指定してチャートデータ取得POST/api/v0/applications/:app-id/charts/:chart-id/filter条件を指定してチャートデータを取得v0