REST API リファレンス

このページは、MeMesh を自分たちの仕組みと連携したい人向けです。ワークスペース、実行制御、承認、メモリ、チーム関連の API をまとめています。

Base URL: https://api.memesh.ai/v1

今このページが必要か迷ったら

初めて MeMesh を試すだけなら、まずは docs overview や Setup を見てください。自動化したい、外部システムから runtime を呼びたい、といった段階でこのページに戻るのが最短です。

認証ヘッダー

x-api-key: mk_your_api_key_here

すべてのリクエストに有効な API key が必要です。Setup > Agent Access Keys から作成できます。

Agent Workspace

workspace 単位の dispatch targets と target-level governance の真相です。

GET
/agents/dispatch-targets

この workspace で使えるローカル / リモート dispatch targets を一覧表示します。可否、runtime policy、control 状態、互換性要約を含みます。

Query: search?, targetKind? (LOCAL_AGENT|REMOTE_A2A), state?, limit?, offset?

GET
/agents/dispatch-targets/:id

1 つの dispatch target を取得し、remote control capability か local runtime summary を確認します。

GET
/agents/dispatch-targets/:id/governance

runtime policy、review 状態、incident handoff、recent runs、recent audit、影響中の仕事などを確認します。

POST
/agents/dispatch-targets/:id/hold

dispatch target に手動 hold をかけます。最新の runtime CAS token が必要です。

Body: { reason, releaseAfter?, expectedRuntimeUpdatedAt }

POST
/agents/dispatch-targets/:id/release

手動 hold を解除し、同じ CAS 保護 mutation で有効 policy を再計算します。

Body: { note?, expectedRuntimeUpdatedAt }

POST
/agents/dispatch-targets/:id/review/acknowledge

現在の policy epoch に対する governance review を処理済みとして記録します。

Body: { note?, expectedRuntimeUpdatedAt }

POST
/agents/dispatch-targets/:id/incident/handoff

現在の incident epoch に対する provider incident handoff を記録します。

Body: { externalIncidentId, owner, note?, expectedRuntimeUpdatedAt }

Memory

記憶を保存し、意味ベースで検索できます。

POST
/memory/write

任意の metadata 付きで 1 件の memory を保存します。

Body: { content, space?, summary?, tags?, sensitivity?, source? }

GET
/memory/search

自然言語クエリで memory を検索する GET 版です。

Query: query (required), spaces?, limit?

POST
/memory/search

構造化 POST body で memory を検索します。複雑な条件のときに向いています。

Body: { query, spaces?, limit? }

GET
/memory/count

現在のユーザーが持つ memory の総数を返します。

POST
/memory/batch

最大 100 件の memory を 1 回で保存します。transactional と partial success を選べます。

Body: { memories[], transactional? }

POST
/memory/batch/search

最大 50 件の検索を並列実行し、必要なら重複除去も行えます。

Body: { queries[], deduplicate? }

GET
/memory/spaces

現在のユーザーが使っている memory spaces を一覧表示します。

POST
/memory/query

意味検索、タグ、時間条件を組み合わせた memory query を実行します。

Body: { query, limit?, offset?, similarityThreshold? }

POST
/memory/context-window

token 予算内で LLM の context window に入れる memory を選びます。

Body: { query, tokenBudget }

SSE
/memory/stream/export

大きな memory export を Server-Sent Events で順次出力します。

Query: spaces?

Orchestrator Runtime

永続化された runs、control truth、reconcile、retry-cancel、runtime health を扱います。

GET
/orchestrator/runs

recent runs を target kind、control truth、approval links、operator guidance 付きで返します。

GET
/orchestrator/runs/:id

1 つの run について、events、approvals、remote control state、推奨アクションを返します。

GET
/orchestrator/runs/:id/control

1 つの run に対する control capability truth、block reasons、operator guidance を返します。

POST
/orchestrator/runs/:id/reconcile

remote state を強制再取得し、遅れて届いた terminal truth と整合させます。

POST
/orchestrator/runs/:id/retry-cancel

timeout や一時的失敗のあとで remote cancel を再試行します。

POST
/orchestrator/runs/:id/resolve-remote

remote recovery が尽きた後に、ガード付きの operator resolution を実行します。

GET
/orchestrator/runtime-health

local compatibility、remote escalation、target governance、attention backlog の health summary を返します。

Local Agent Execution

claim token ベースの local execution queue で、lease、heartbeat、recovery、cancel acknowledgement を扱います。

GET
/agents/executions

現在の agent が処理できる pending local executions を一覧表示します。

POST
/agents/executions/:id/claim

呼び出し元が用意した claim token で local execution を claim します。

Body: { claimToken, workerId? }

POST
/agents/executions/:id/heartbeat

現在の lease を延長し、必要なら進捗も報告します。

Body: { claimToken, progressMessage? }

POST
/agents/executions/:id/complete

claim 済み execution を完了します。

Body: { claimToken, result?, idempotencyKey? }

POST
/agents/executions/:id/ack-cancel

runtime がローカル中断を求めたあと、cancel を受け取ったことを返します。

Body: { claimToken, note? }

Team

team members、招待、role-based access control を扱います。

GET
/team/members

現在の tenant に属する team members を一覧表示します。

POST
/team/members/invite

email で新しい member を招待します。OWNER または ADMIN が必要です。

Body: { email, role? }

PATCH
/team/members/:userId/role

team member の role を変更します。

Body: { role }

DELETE
/team/members/:userId

member を team から外します。

Audit

セキュリティ確認やコンプライアンス向けに audit logs を参照します。

GET
/audit/logs

action、resource、期間、limit で audit logs を検索します。

Query: action?, resource?, startDate?, endDate?, limit? (default: 100)

Billing & Usage

subscription plan、usage statistics、quota の状態を確認します。

GET
/billing/plan

現在のユーザーの subscription plan を取得します。

GET
/usage/summary

memory、API keys、agents、seats、rate limits を含む usage summary を返します。

API Keys

自動連携用の API key を作成、一覧、無効化できます。

POST
/keys

新しい API key を作成します。生の key 値はレスポンスで 1 度だけ表示されます。

Body: { name }

GET
/keys

現在のユーザーの API keys を一覧表示します。値はマスクされています。

DELETE
/keys/:id

API key を完全に無効化します。

Device Authorization

CLI や MCP clients 向けの OAuth 2.0 Device Authorization flow です。

POST
/auth/device

device authorization flow を開始し、device_code、user_code、verification_uri を返します。

Body: { client_id, scope? }

POST
/auth/device/token

ユーザーが承認したあとで token を polling します。

Body: { grant_type: "urn:ietf:params:oauth:grant-type:device_code", device_code }

リクエスト例

workspace dispatch targets を一覧取得bash
curl "https://api.memesh.ai/v1/agents/dispatch-targets?targetKind=REMOTE_A2A&limit=10" \
  -H "x-api-key: mk_your_api_key"
remote run の状態を強制再取得bash
curl -X POST https://api.memesh.ai/v1/orchestrator/runs/run_123/reconcile \
  -H "x-api-key: mk_your_api_key" \
  -H "Content-Type: application/json"
dispatch target に手動 hold をかけるbash
curl -X POST https://api.memesh.ai/v1/agents/dispatch-targets/{targetId}/hold \
  -H "x-api-key: mk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "reason": "provider maintenance",
    "releaseAfter": "2026-03-22T09:00:00.000Z",
    "expectedRuntimeUpdatedAt": "2026-03-20T09:00:00.000Z"
  }'

HTTP ステータスコード

コード説明
200成功
201作成完了(resource created)
400不正なリクエスト(validation error、無効な Agent Card)
401未認証(API key が無効または未指定)
403禁止(self-review blocked、権限不足)
404見つからない(agent または resource が存在しない)
409競合(stale policy epoch、stale runtime snapshot、duplicate claim)
429リクエスト過多(rate limit exceeded)