Skip to content
For LLMsView as Markdown·

Register a connect module endpoint ​

http
POST https://api.onehazel.com/onehazel-api/operators/me/connect/endpoints

Registers the public https base URL OneHazel calls for one Operator Contract v1 module (wallet, player, webhook.receive or payments.intent). A first registration returns the signing secret and the callback key; both are shown once. Registering a module that already exists keeps its signing secret and callback key: only the base URLs, testPlayerId, restrictedPlayerId and testGame change, the response carries secretUnchanged: true and no secret, and the audit log records connect.endpoint.updated. So an address or test-game fix needs no adapter restart; rotation is POST .../endpoints/{module}/rotate. A callbackKey that differs from the stored one replaces it and keeps the previous key valid for one hour (callbackKeyRotated, previousCallbackKeyValidUntil and notice in the response); it never mints a signing secret. For player, also send testPlayerId and restrictedPlayerId (a test player with an active restriction, at most 128 characters); a player conformance run cannot reach a verdict without both, and registering again without them clears them. For wallet, also send testPlayerId and testGame: { provider_slug, game_code }, one active game in your own catalogue that may be used for test rounds, as your PAM knows it; conformance and connect_simulate start every test session with it, and a wallet registration without it is refused with 400 VALIDATION_ERROR.

Section: Onboarding
Operation id: postOperatorsMeConnectEndpoints

Authentication ​

Signed-in session token (Authorization: Bearer <session token>).

Request body ​

JSON object.

Responses ​

200 { "success": true, "data": ... }

Errors return { "success": false, "error": { "code": "...", "message": "..." } } with a 4xx or 5xx status.

Example ​

bash
curl -X POST "https://api.onehazel.com/onehazel-api/operators/me/connect/endpoints" \
  -H "Authorization: Bearer YOUR_SESSION_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'

Machine-readable: openapi.yaml, openapi.json.