# 1. register the upstream with POST $ACP_URL/api/v1/acp/mcp/upstream-add
# 2. send each tool call to the gateway
curl -sS -X POST "$ACP_URL/api/v1/acp/mcp/call" \
-H "Authorization: Bearer $INTRAMEDIAL_KEY" -H "Content-Type: application/json" \
-d '{"actorDid":"did:web:acme.example:agent:support","upstream":"<name>","tool":"fs.write","args":{}}'
# the agent must hold a live lease on this exact role ARN
curl -sS -X POST "$ACP_URL/api/v1/acp/iam/assume" \
-H "Authorization: Bearer $INTRAMEDIAL_KEY" -H "Content-Type: application/json" \
-d '{"roleArn":"arn:aws:iam::123456789012:role/deploy","actorDid":"did:web:acme.example:agent:release","webIdentityToken":"eyJ…"}'
curl -sS -X POST "$ACP_URL/api/v1/acp/onramp/plan" \
-H "Authorization: Bearer $INTRAMEDIAL_KEY" -H "Content-Type: application/json" \
-d '{"source":"langgraph","namespace":"acme.example","export":{"nodes":[{"id":"planner"}],"edges":[]}}'
# then POST .../onramp/apply with the plan it returns
POST /api/v1/acp/coordination/lease
{ "resource": "imd://warehouse/snowflake/<account>/<DATABASE>/<SCHEMA>",
"actorDid": "did:web:acme.example:agent:analyst" }
POST /api/v1/acp/iam/warehouse
POST /api/v1/acp/github/ingest
X-GitHub-Event: pull_request
# pull_request, check, workflow_run and merge_group events enforce;
# push events are recorded only
curl -sS "$ACP_URL/api/v1/acp/watchdog/check" \
-H "Authorization: Bearer $INTRAMEDIAL_KEY"
# run it from your scheduler; send findings to your own alerting