APIドキュメント
ProcessMindのAPIリファレンス:開発者向けのエンドポイント、認証、統合ガイド。
このガイドでは、データの取得、情報の送信、ワークフローの自動化を行うためにProcessMind APIを呼び出す際の例とベストプラクティスを紹介します。
リクエスト/レスポンス形式を含むエンドポイントの完全なドキュメントについては、APIリファレンスを参照してください。
追加の例とクライアントライブラリについては、GitHubのAPIドキュメントを参照してください。
すべてのAPIリクエストは、次のURLに送信してください:
https://api.processmind.com すべてのルートは/v1の下でバージョン管理されています。機械可読なAPI仕様(OpenAPI 3.1)の完全版は、次の場所で確認できます:
GET https://api.processmind.com/v1/openapi.json すべてのAPIリクエストでは、x-api-keyヘッダーにAPIキーが必要です:
x-api-key: your-api-key-here APIキーはProcessMindアカウント設定から取得できます。手順については、APIキーの取得を参照してください。
ProcessMind APIは、標準のHTTPステータスコードに従います:
| ステータス | 意味 |
|---|---|
200 OK | リクエスト成功 |
201 Created | リソースを作成 |
204 No Content | リクエスト成功、レスポンスボディなし |
400 Bad Request | リクエストが無効、またはパラメーターが不足/無効 |
401 Unauthorized | APIキーが不足または無効 |
403 Forbidden | 認証済みだが、操作を実行する権限がない |
404 Not Found | リソースが存在しない |
500 Internal Server Error | 予期しないサーバーエラー |
ProcessMind APIでは、次の操作を実行できます:
以下では、ProcessMind APIで一般的な操作を実行する実践的な例を紹介します。
データテーブルにファイルをアップロードするには、まず署名付きURLを取得します:
const presignedUrl = await getPresignedUploadUrl({
apiKey,
tenantId: "tenant-123",
datatableId: "table-456"
});
console.log(presignedUrl); // https://s3.amazonaws.com/…?X-Amz-Signature=… テナント内のすべてのデータセットを取得します:
const datasets = await getDatasets({
apiKey,
tenantId: "tenant-123"
});
console.log(datasets); テナントの詳細を取得します:
const tenantInfo = await getTenant({
apiKey,
tenantId: "tenant-123"
});
console.log(tenantInfo); テナントに新しいプロセスを作成します:
const process = await createProcess({
apiKey,
tenantId: "tenant-123",
displayName: "Order to Cash"
});
console.log(process.id); // Use this ID for subsequent operations プロセスモデルを定義するBPMNファイルをアップロードします:
const fs = require("fs");
const bpmnXml = fs.readFileSync("./my-process.bpmn", "utf8");
await uploadBpmn({
apiKey,
tenantId: "tenant-123",
processId: "process-456",
bpmnXml
}); 分析用にデータテーブルをプロセスに接続します:
const mapping = await createProcessMapping({
apiKey,
tenantId: "tenant-123",
processId: "process-456",
dataTableId: "datatable-789",
displayName: "Sales Data 2024",
showByDefault: true
}); テナントにユーザーを追加します:
const result = await addTenantUser({
apiKey,
tenantId: "tenant-123",
id: "user-456",
email: "colleague@example.com",
isAdminInTenant: false,
isActiveInTenant: true,
sendInvitationEmail: true
}); **注:**本文のロールフィールド(
isAdminInTenant、access、isDashboardViewer)は、記載された値どおりに適用されます。ユーザー管理エンドポイントはテナント管理者向けの全機能を備えているため、管理権限を委ねてもよい信頼できる呼び出し元にのみ、書き込み権限付きのAPIキーを発行してください。System APIから招待メールは送信されません。ユーザーのオンボーディングはお客様の責任で行ってください。
ProcessMindにファイルをアップロードする一般的な流れは次のとおりです:
getPresignedUploadUrl呼び出しを使って署名付きURLを取得します。fetchを使った簡略化した例を示します:
async function uploadFile({ apiKey, tenantId, datatableId, file }) {
// Step 1: Obtain a presigned URL
const uploadUrl = await getPresignedUploadUrl({ apiKey, tenantId, datatableId });
// Step 2: Upload the file via PUT
await fetch(uploadUrl, {
method: "PUT",
headers: {
"Content-Type": file.type
},
body: file
});
} info
以下では、さまざまな言語でそのままコピー&ペーストして使える完全な例を紹介します。
2回のcurl呼び出しでProcessMindにファイルをアップロードする最小限のBashスクリプトです。すべての値にプレースホルダーが用意されています。
署名付きURLを使って、ローカルCSVファイルをProcessMindにアップロードします。
手順:
設定:
https://api.processmind.comに設定されています。署名付きURLを使って、ローカルCSVファイルをリモートAPIにアップロードします。
手順:
設定:
一覧エンドポイントはlimitとoffsetのクエリパラメーターを受け付け、ラッパーのないJSON配列(エンベロープや合計件数なし)を返します:
| パラメーター | 型 | 既定値 | 最大値 |
|---|---|---|---|
limit | 整数 | 100 | 1,000 |
offset | 整数 | 0 | なし |
GET /v1/tenant/{tenantId}/processes?limit=50&offset=100 すべてのデータをページ単位で取得するには、offset += limitを使って、レスポンス配列が指定したlimitより短くなるまで(または空になるまで)リクエストを繰り返します。最大値を超える値は400で拒否されます。バージョン管理されたデータエンドポイント(データセット、データテーブル、バージョン、Webhook)も同じ方式に従います。
/v1の下でバージョン管理されます。/v1を予告なく変更するのではなく、互換性を損なう変更は新しいバージョンで提供します。SunsetヘッダーとDeprecation: trueが含まれます。info
APIについてご質問やサポートが必要な場合は、サポートチームにお問い合わせいただくか、APIサンプルリポジトリでIssueを作成してください。
Cookieを使用して、利用体験の改善、コンテンツのパーソナライズ、トラフィックの分析を行っています。「すべて受け入れる」をクリックすると、Cookieの使用に同意したものとみなされます。