{"items":[{"type":"link","label":"RubyPlay Game Events Webhooks","link":"/content/apis/game_events_webhooks","routeSlug":"/content/apis/game_events_webhooks","content":{"contentType":"overview","meta":{"name":"RubyPlay Game Events Webhooks"},"children":[{"nodeType":"container","panels":[{"title":"Download OpenAPI description","titleTranslationKey":"download.description.title","children":[{"kind":"download","label":"game_events_webhooks.json","url":"/_bundle/content/apis/game_events_webhooks.json?download"},{"kind":"download","label":"game_events_webhooks.yaml","url":"/_bundle/content/apis/game_events_webhooks.yaml?download"}]},{"title":"Overview","titleTranslationKey":"info.title","children":[]},{"title":"Languages","titleTranslationKey":"languages.title","children":[{"kind":"languages","options":[{"key":"curl","title":"curl","lang":"curl"},{"key":"javascript","title":"JavaScript","lang":"JavaScript"},{"key":"node","title":"Node.js","lang":"Node.js"},{"key":"python","title":"Python","lang":"Python"},{"key":"java","title":"Java","lang":"Java"},{"key":"csharp","title":"C#","lang":"C#"},{"key":"php","title":"PHP","lang":"PHP"},{"key":"go","title":"Go","lang":"Go"},{"key":"ruby","title":"Ruby","lang":"Ruby"},{"key":"r","title":"R","lang":"R"},{"key":"payload","title":"Payload","lang":"Payload"}]}]},{"title":"Servers","titleTranslationKey":"servers.title","children":[{"kind":"servers","servers":[{"url":"/_mock/content/apis/game_events_webhooks","description":"Mock server","isMockServer":true},{"url":"https://your-domain.com","description":"your-endpoint"}],"mode":"default"}]}],"children":[{"nodeType":"overview-section-wrapper","children":[{"nodeType":"header","level":1,"label":"RubyPlay Game Events Webhooks (1.0.0)","showPageActions":true},{"nodeType":"overview-section-wrapper","children":[{"nodeType":"markdoc","content":"Describes the webhook notifications RubyPlay delivers to your configured endpoint when subscribed game events occur. You implement the receiving endpoint; RubyPlay sends the requests described here."}],"sectionId":"/content/apis/game_events_webhooks"}],"sectionId":"/content/apis/game_events_webhooks"}]}]}},{"type":"group","label":"game-events-webhook","link":"/content/apis/game_events_webhooks/game-events-webhook","routeSlug":"/content/apis/game_events_webhooks/game-events-webhook","items":[{"label":"Receive a game event notification","deprecated":false,"httpVerb":"post","isAdditionalOperation":false,"isWebhook":false,"type":"link","link":"/content/apis/game_events_webhooks/game-events-webhook/receivegameevent","routeSlug":"/content/apis/game_events_webhooks/game-events-webhook/receivegameevent","metadata":{"seo":{"title":"Receive a game event notification","description":"RubyPlay sends this request to your configured callback URL whenever a subscribed game event occurs. Your endpoint must respond with 200 OK to acknowledge receipt."}},"content":{"contentType":"item","itemVariant":"httpItem","meta":{"sourceId":"receiveGameEvent","name":"Receive a game event notification","isWebhook":false,"pointer":"/paths/~1webhook~1game-events/post","hasSamples":true},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"Receive a game event notification","isWebhook":false,"showPageActions":true}],"panels":[]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Request","labelTranslationKey":"request","deepLinkSuffix":"request"},{"nodeType":"markdoc","content":"RubyPlay sends this request to your configured callback URL whenever a subscribed game event occurs. Your endpoint must respond with 200 OK to acknowledge receipt."},{"nodeType":"item-content","variant":"body","label":"Request Body","labelTranslationKey":"body","required":true,"mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/GameEventNotification"}},"schemaId":"components/schemas/GameEventNotification","pointer":"/paths/~1webhook~1game-events/post/requestBody"}],"panels":[{"children":[{"kind":"code-sample","source":{"kind":"code-sample","operationType":"http","method":"POST","path":"/webhook/game-events","servers":[{"url":"/_mock/content/apis/game_events_webhooks","description":"Mock server","isMockServer":true},{"url":"https://your-domain.com","description":"your-endpoint"}],"parameters":{"path":[],"query":[],"querystring":[],"header":[],"cookie":[]},"security":[],"requestBody":{"application/json":{"schemaId":"components/schemas/GameEventNotification"}},"responseCodes":["200","400","500"],"pointer":"/webhook/game-events","href":"game-events-webhook/receivegameevent","openApiOperationId":"receiveGameEvent","summary":"Receive a game event notification"},"isWebhook":false,"hideReplay":false,"servers":[{"url":"/_mock/content/apis/game_events_webhooks","description":"Mock server","isMockServer":true},{"url":"https://your-domain.com","description":"your-endpoint"}],"schemaId":"components/schemas/GameEventNotification","mediaTypes":["application/json"],"mediaTypeSchemas":{"application/json":{"schemaId":"components/schemas/GameEventNotification"}},"examples":[]}]}]},{"nodeType":"container","children":[{"nodeType":"header","level":4,"label":"Responses","labelTranslationKey":"responses","deepLinkSuffix":"responses"},{"nodeType":"item-content","variant":"responses","responses":[{"code":"200","description":"Acknowledged; the notification was processed successfully"},{"code":"400","description":"Permanent failure; the delivery will not be retried"},{"code":"500","description":"Temporary failure; the delivery will be retried with exponential backoff"}],"pointer":"/paths/~1webhook~1game-events/post/responses"}],"panels":[]}]},"httpPath":"/webhook/game-events"}],"content":{"contentType":"group","meta":{"name":"game-events-webhook"},"children":[{"nodeType":"container","children":[{"nodeType":"header","level":2,"label":"game-events-webhook","showPageActions":true},{"nodeType":"markdoc","content":"Game event notifications delivered to your endpoint"}],"panels":[{"children":[{"kind":"group-items","title":"Operations","titleTranslationKey":"operations","items":[{"title":"/webhook/game-events","summary":"Receive a game event notification","prefix":{"name":"post","color":"post"},"badges":[],"link":"/game-events-webhook/receivegameevent","deprecated":false}]}]}]}]}}],"store":{"schemaStore":{"components/schemas/GameEventNotification":{"id":"components/schemas/GameEventNotification","kind":"json-schema","title":"GameEventNotification","data":{"type":"object","description":"Payload delivered to your webhook endpoint when a subscribed game event occurs.","required":["roundId","gameId","playerId","timestamp","events","actionId","bet","currencyCode"],"properties":{"roundId":{"type":"string","description":"Unique identifier for the game round.","example":"12345678-abcd-1234-efgh-123456789012"},"gameId":{"type":"string","description":"The game identifier.","example":"rp_12"},"playerId":{"type":"string","description":"External player identifier.","example":"player123"},"timestamp":{"type":"string","description":"When the event occurred, in UTC, without a zone offset.","example":"2026-09-15T10:30:00.123"},"bet":{"type":"number","description":[{"$$mdtype":"Node","type":"paragraph","attributes":{},"children":[{"$$mdtype":"Node","type":"inline","attributes":{},"children":[{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":"Bet amount of the action in major currency units (e.g. "},"children":[]},{"$$mdtype":"Node","type":"code","inline":true,"attributes":{"content":"1.50"},"children":[]},{"$$mdtype":"Node","type":"text","inline":true,"attributes":{"content":" for EUR)."},"children":[]}]}]}],"example":1.5},"currencyCode":{"type":"string","description":"Currency code.","example":"EUR"},"events":{"type":"array","description":"The event types that occurred during this action.","items":{"type":"string","example":"COIN"},"example":["COIN","FEATURE"]},"actionId":{"type":"string","format":"uuid","description":"Unique identifier for this specific action; use it to detect duplicate deliveries.","example":"1054417e-487e-46d8-ba99-27e4ee8e86a7"}}}}},"exampleStore":{},"securitySchemeStore":{},"servers":[{"url":"/_mock/content/apis/game_events_webhooks","isMockServer":true,"description":"Mock server"},{"url":"https://your-domain.com","description":"your-endpoint"}],"specType":"openapi"},"options":{"jsonSamplesExpandLevel":5,"feedback":{"hide":true,"settings":{"label":""}},"mockServer":{"url":"/_mock/content/apis/game_events_webhooks","position":"first","description":"Mock server"},"disableRouter":true,"downloadUrls":[{"url":"/_bundle/content/apis/game_events_webhooks.json?download"},{"url":"/_bundle/content/apis/game_events_webhooks.yaml?download"}],"excludeFromSearch":false,"replayFeatures":{"graphql":false},"specType":"openapi","markdocOptions":{"tags":{},"nodes":{},"components":{}},"metadata":{"title":"RubyPlay Game Events Webhooks","description":"Describes the webhook notifications RubyPlay delivers to your configured endpoint when subscribed game events occur. You implement the receiving endpoint; RubyPlay sends the requests described here."}},"baseSlug":"/content/apis/game_events_webhooks","routesMapping":{}}