GH GambleHub

API Operations

(Section: Operations and Management)

1) Purpose and principles

The API is the ecosystem's "operational layer": anything not automated through a contract turns into manual work and risk.

Principles:
  • Contract-first: first specification (OpenAPI/JSON Schema/AsyncAPI), then implementation.
  • Secure-by-default: minimal scopes, short TTL, mutual-TLS/signatures.
  • Observable: end-to-end tracing and SLA metrics.
  • Idempotent: Replay safe.
  • Backwards-compatible: evolution without "breaking" changes.
  • Auditable: cryptographically confirmed facts (receipts).

2) Contract and models (reference)

OpenAPI for sync requests; AsyncAPI for events/webhooks.
Required fields in each resource are 'id', 'version', 'created _ at', 'updated _ at', 'tenant', 'region', 'trace _ id'.

Example of a contract fragment

yaml paths:
/payments/payouts:
post:
operationId: createPayout requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/PayoutRequest'
responses:
"202": { $ref: '#/components/responses/AcceptedWithReceipt' }
headers:
Idempotency-Key:
schema: { type: string }
required: true components:
responses:
AcceptedWithReceipt:
description: Accepted, processing asynchronously headers:
Receipt-Hash: { schema: { type: string } }

3) Authentication, authorization, scopes

OAuth2/OIDC for users/partners client-credentials/JWT для S2S.
Scopes/resource roles: 'payments. write`, `catalog. read`, `audit. export`.
ReBAC: access "by ownership" (tenant/account/sub-account).
JIT secrets: short-lived tokens, device/subnet/region binding.
Device posture & mTLS for critical operations (payments, keys).

4) Idempotence and "exactly once"

Idempotency-Key (header) + dedup by '(key, account, route)' on the TTL window.
Outbox/CDC to post events - guaranteed delivery.
Exactly-once-effects: side effects are captured through a transaction journal; repetition leads to the same "receipt" ('receipt _ hash').
Retry policies: exponential back-off, jitter, maximum windows.

5) Limits, quotas, prioritization

Rate limits: per-key/tenant/route/region; "soft" (429) and "hard" (cutoff).
Quotas/budgets: monthly/daily caps, webhooks' QuotaCapReached '.
Fair-use: priority of tenants by service level (Gold/Silver/Bronze).
Burst buffers: short bursts without degradation of neighbors.

6) Pagination, filters, samples

Cursor-based (stable ordering по `created_at,id`), `page_size` ≤ 1000.
Time-sliced samples ('from', 'to', 'watermark') for logs/transactions.
Filtering DSL: whitelisted поля, `?status=...&tenant=...&region=...`.
Consistency hints: 'snapshot _ at '/' as _ of' for reporting APIs.

7) Versioning and compatibility

SemVer: `v1`, `v1. 1 '(extensions),' v2 '- only on new paths/namespaces.
Evolution rules: only add fields/values, "deprecate → remove" through the window.
Compatibility tests: "contracts-as-tests" (consumer-driven).

8) Events, webhooks and receipts

AsyncAPI describes the themes/payload/signatures.

Caption: HMAC/EdDSA, headers' X-Signature ',' X-Nonce ',' X-Timestamp '(narrow window)

Receipts: 'receipt _ hash' and DSSE signature on critical events (payments, RTP/limit changes, price lists).
Retrai and dedup: idempotency according to 'idempotency _ key '/' event _ id'.
DLQ/quarantine: invalid/repeated reports with causes.

9) Observability and quality

Traces: mandatory 'trace _ id/span _ id' through gateway/business events/webhooks.
Metrics: availability, p50/p95/p99, error-rate, retry-rate, cost per 1k.
Logs: structured, no secrets/PII; 'tenant/region/version'labels.
SLO/alerts: SLO-oriented conditions and auto-runes (pause/re-route/rollback).

10) Errors and status semantics

2xx - success (202 for asynchronous operations).
4xx - client's fault (422 - validation, 409 - conflict/idempotency, 429 - limits).
5xx - temporary problems.
Error body: 'code', 'message', 'trace _ id', 'hint', 'retry _ after?'.
UX for partners: a table of "what to do" for each error.

11) Policies-as-code (OPA/ABAC)

Centralized authorization: "who/what/where/when/why."

Policies in Git, code review, CI tests (pre-flight: "will the policy allow? »).

SoD check: "create payment" ≠ "approve."

12) Security, privacy, compliance

PII minimization: tokenization/masks, access to the primary only through approved jabs.
Secrets: Vault/KMS, short TTL, rotations; prohibition of shared secrets.
Encryption: mTLS/TLS 1. 3, AES-GCM at-rest, HSTS/PKP where appropriate.
Jurisdiction-aware - Localization of data/keys per region.
Audit logs: WORM, Merkle-slices, DSSE-signatures.

13) Operation: SLI/SLO and dashboards

SLI (example):
  • Availability per-route/region.
  • p95 latency (read/write).
  • Success of webhooks (receipts), delivery lag.
  • Error-rate/Retry-rate.
  • Cost per 1k requests and egress.

SLO (example): 99. 95% availability; p95 ≤ 120/250 ms; webhooks ≥ 99. 5 %/5-min; P1 MTTR ≤ 60 min.

14) Change Management (Releases/Rollbacks)

Blue-Green/Canary for gateways and critical routes.
Ficheflags for no-release behavior.
Expand→Migrate→Contract for schemas and payload.
Руны: Rollback Release, Disable Flag, Re-route, Flush Cache.
Artifacts: signed images/manifests, version registry.

15) SDK, clients, sandboxes

Official SDKs (TS/Java/Python/Go) with the same error and retray semantics.
Sandbox environments with test keys/certificates and PSP/KYC/content provider simulators.
Contract-tests are included in the CI SDK, nightly compatibility.

16) Data model (simplified)

`api_key` `{id, tenant, scopes[], ttl, created_by}`

`rate_plan` `{tenant, quotas{route→cap}, burst, priority}`

`request_log` `{trace_id, route, actor, idempotency_key?, status, latency_ms, region, cost_unit}`

`webhook_receipt` `{event_id, endpoint, status, attempts, receipt_hash, signature}`

`policy` `{version, rules, signer, dsse}`

17) RACI

AreaResponsibleAccountableConsultedInformed
Contract/VersionsPlatform/APICTOProduct, ClientsPartners
Authorization/PoliciesSecurity/IAMCISOLegal, OpsAudit
Observability/SLOSREHead of EngData, FinOpsAll
Webhooks/ReceiptsIntegrationCOOPartners, FinanceCompliance
SDK/sandboxesDevExCTOSRE, ProductPartners

18) Quality metrics

Contract Drift: 0 "breaking" changes without deprecate.
Idempotency Error Rate: ≤ 0. 01%.
Webhook Success: ≥ 99. 5%, lag p95 ≤ 60 s.
Auth Fail vs Abuse: share of malicious blocks, noise ≤ target level.
Cost/1k: control by routes and regions (budgets/cap-alerts).
Adoption SDK: share of traffic through official SDKs.

19) Incident playbooks

Spike 429/limits: raise cap for Gold, throttling "noisy" keys, connection with a partner.
WebhookLag: increase workers/batches, prioritize queues, temporarily turn off optional webhooks.
PriceMismatch (catalog/FX/Tax): version reconciliation, cache force disability, artifact rollback, compensation.
PSP Outage: route switching, quarantine of "gray" transactions, replay.
Compromise API-key: immediate recall, rotation, audit of the last 30 days.

20) Specificity of iGaming/fintech

RTP/Limits API: only aggregates and profile versions; changes - with receipts.
Payments/payouts: 202 + signed webhooks; order key idempotency.
Affiliates: conversion dedup, escrow for disputes, signed reports.
Responsible play: Expose "guardrails API" for limits and RG events.

21) Implementation checklist

  • Described contract (OpenAPI/AsyncAPI), CI validation and consumer-tests.
  • Configured OAuth2/OIDC, scopes, JIT secrets and mTLS for critical routes.
  • Idempotency, retrai, DLQ and quarantine introduced.
  • Caps/Quotas/Priorities and Alerts.
  • Cursor pagination, 'as _ of' consistent samples.
  • Versioning and Deprecation Policy.
  • Webhooks with signatures/receipts, replay and dedup.
  • Trace/metrics/logs, SLO and runes.
  • WORM logs, DSSE signatures, Merkle slices.
  • SDK, sandbox, simulators, code samples and how-to.

22) FAQ

Why 202 for long operations?
In order not to hold the connection and provide a reliable retray/receipt via webhook.

Do you need both OpenAPI and AsyncAPI?
Yes: sync for commands/requests, async for events/state negotiation.

How to avoid breaking changes?
Add-only rule, deprecate → observe → remove, customer test contract.

Where to store receipts?
In a WORM zone with signatures; 'receipt _ hash' is returned to the client and checked upon request.

Summary: Operations via API are the discipline of contract and operation: strict access model and idempotency, limits and versions, observability and SLO, signatures and receipts. Add sandboxes and SDKs - and partners will integrate quickly, securely and predictably, and businesses will scale without loss of quality or compliance.

Contact

Get in Touch

Reach out with any questions or support needs.We are always ready to help!

Telegram
@Gamble_GC
Start Integration

Email is required. Telegram or WhatsApp — optional.

Your Name optional
Email optional
Subject optional
Message optional
Telegram optional
@
If you include Telegram — we will reply there as well, in addition to Email.
WhatsApp optional
Format: +country code and number (e.g., +380XXXXXXXXX).

By clicking this button, you agree to data processing.