Create a connect session
{ "connectUrl", "token", "projectId", "expiresAt" }. Redirect the user’s browser to connectUrl. Hub hosts the connect page and the OAuth callback.
Receive the delivery
When the user finishes connecting, Hub POSTs a signed JSON envelope to yourdeliveryUrl. The body is { "type", "payload" }, with these headers:
Verify before trusting the body — recompute the HMAC over the raw bytes and compare in constant time:
verify passes: parse the body, exchange or store the credential, and respond 200.
List connections
cURL
{ tenantId, plugin, status, authKind, connectedAt, expiresAt }, deduplicated by tenantId:plugin.