Перейти к содержимому
KinetX
Operator API v1

Справочник API

Все методы Operator API v1 с правами доступа, параметрами и примерами ответов. Примеры сгенерированы из тех же ресурсов, которые возвращает API.

Базовый URL https://kinetx.amhtechnologies.com/api/v1 OpenAPI 3.1 JSON →

Аккаунт

Проверка учётных данных: какому оператору принадлежит ключ и какие у него права.

GET /api/v1/operator/me Получить вызывающий API-ключ

Возвращает API-ключ, его права и лимит запросов, оператора, которому он принадлежит, и время сервера. Используйте для проверки подписи запросов.

Любой действующий API-ключ
Заявка
HTTP
GET /api/v1/operator/me HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Ответ · 200
json
{
    "data": {
        "api_key": {
            "key": "kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d",
            "name": "Production integration",
            "scopes": [
                "players:read",
                "players:write",
                "wallet:read",
                "payments:write"
            ],
            "rate_limit_per_minute": 600,
            "expires_at": null
        },
        "operator": {
            "id": 3,
            "slug": "lucky-orbit",
            "name": "Lucky Orbit",
            "currency": "EUR",
            "cooperation_model": "turnkey"
        },
        "server_time": "2026-10-15T09:30:00Z"
    }
}

Игроки

Регистрация игроков, чтение и изменение профилей и статуса, выдача токенов сессии игрока для вашего фронтенда.

GET /api/v1/operator/players Список игроков

Игроки вашего аккаунта оператора, сначала новые.

Право доступа: players:read
Параметры запроса
page
integer
Номер страницы, начиная с 1.
per_page
integer
Записей на странице, 1–100 (по умолчанию 25).
status
string
Статус аккаунта.
active locked closed
email
string
Точный адрес e-mail.
username
string
Точное имя пользователя.
external_id
string
Ваш собственный id игрока.
kyc_status
string
Статус KYC.
not_started pending_review verified rejected expired
search
string
Часть имени пользователя, e-mail или фамилии.
created_from
string · date-time
Только записи, созданные в этот момент или позже (ISO 8601).
created_to
string · date-time
Только записи, созданные в этот момент или раньше (ISO 8601).
Заявка
HTTP
GET /api/v1/operator/players HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Ответ · 200
json
{
    "data": [
        {
            "id": 1042,
            "external_id": "op-58213",
            "username": "jane_doe",
            "email": "jane@example.com",
            "first_name": "Jane",
            "middle_name": null,
            "last_name": "Doe",
            "gender": "female",
            "birth_date": "1990-04-12",
            "country": "MT",
            "city": "Valletta",
            "address": "12 Republic Street",
            "zip_code": "VLT 1110",
            "phone": "+35699123456",
            "personal_id": null,
            "document_number": "P1234567",
            "language": "en",
            "currency": "EUR",
            "status": "active",
            "category": "new_user",
            "kyc_status": "not_started",
            "is_verified": false,
            "risk_level": "low",
            "is_test": false,
            "restrictions": {
                "can_login": true,
                "can_deposit": true,
                "can_withdraw": true,
                "can_bet": true,
                "excluded_from_bonuses": false
            },
            "self_exclusion": null,
            "marketing": {
                "email": true,
                "sms": false,
                "newsletter": false
            },
            "registration": {
                "source": "api",
                "ip": "203.0.113.10",
                "promo_code": "WELCOME100",
                "affiliate_id": "aff-204",
                "btag": null
            },
            "last_login_at": null,
            "created_at": "2026-10-15T09:30:00Z",
            "updated_at": "2026-10-15T09:30:00Z"
        }
    ],
    "meta": {
        "current_page": 1,
        "per_page": 25,
        "total": 1,
        "last_page": 1,
        "from": 1,
        "to": 1
    },
    "links": {
        "first": "https://kinetx.amhtechnologies.com/api/v1/operator/…?page=1",
        "last": "https://kinetx.amhtechnologies.com/api/v1/operator/…?page=1",
        "prev": null,
        "next": null
    }
}
Ошибки
POST /api/v1/operator/players Зарегистрировать игрока

Создаёт игрока с реальным и бонусным кошельками и лимитами по умолчанию. Игроку должно быть не меньше 18 лет, и он должен принять условия; имя пользователя, e-mail, телефон и внешний id уникальны в пределах оператора. Регистрация, совпадающая с личностью игрока в действующем самоисключении (личный номер, номер документа или имя и дата рождения), отклоняется. Действительный промокод активируется при регистрации. Отправляет вебхук player.registered.

Право доступа: players:write Idempotency-Key
Тело (JSON)
username
string
обязательно 3–30 символов: латинские буквы, цифры, дефисы и подчёркивания.
email
string · email
обязательно Адрес e-mail (хранится в нижнем регистре).
first_name
string
обязательно Имя как в документе, удостоверяющем личность.
last_name
string
обязательно Фамилия как в документе, удостоверяющем личность.
birth_date
string · date
обязательно Дата рождения (ГГГГ-ММ-ДД); игроку должно быть не меньше 18 лет.
country
string
обязательно Страна проживания, ISO 3166-1 alpha-2.
terms_accepted
boolean
обязательно Игрок подтвердил, что ему 18+, и принял ваши условия.
external_id
string
Ваш собственный id игрока (уникален в пределах оператора).
password
string
Только если игроки также входят на сайт, размещённый на KinetX; не менее 8 символов с буквами и цифрами. Иначе задаётся случайный пароль.
middle_name
string
Отчество.
gender
string
Пол.
male female other
city
string
Город.
address
string
Адрес.
zip_code
string
Почтовый индекс.
phone
string
Телефон в международном формате (уникален в пределах оператора).
personal_id
string
Национальный личный идентификационный номер.
document_number
string
Номер документа, удостоверяющего личность.
language
string
Двухбуквенный код языка (по умолчанию en).
currency
string
Валюта кошелька, активный код ISO 4217 (по умолчанию — валюта оператора).
promo_code
string
Промокод при регистрации.
affiliate_id
string
Id партнёра (аффилиата).
btag
string
Метка отслеживания партнёра.
registration_ip
string
IP-адрес игрока при регистрации (используется риск-движком).
terms_version
string
Версия условий, принятых игроком.
marketing.email
boolean
Согласие на маркетинговые e-mail.
marketing.sms
boolean
Согласие на маркетинговые SMS.
marketing.newsletter
boolean
Согласие на рассылку новостей.
is_test
boolean
Тестовый аккаунт, не учитывается в отчётах.
Заявка
HTTP
POST /api/v1/operator/players HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Idempotency-Key: 4f6c1a2e-8b0d-4f5e-9a71-3c2d1e0f9b8a
Content-Type: application/json

{
    "username": "jane_doe",
    "email": "jane@example.com",
    "first_name": "Jane",
    "last_name": "Doe",
    "birth_date": "1990-04-12",
    "country": "MT",
    "terms_accepted": true,
    "external_id": "op-58213",
    "gender": "female",
    "city": "Valletta",
    "phone": "+35699123456",
    "document_number": "P1234567",
    "language": "en",
    "registration_ip": "203.0.113.10",
    "marketing": {
        "email": true
    }
}
Ответ · 201
json
{
    "data": {
        "id": 1042,
        "external_id": "op-58213",
        "username": "jane_doe",
        "email": "jane@example.com",
        "first_name": "Jane",
        "middle_name": null,
        "last_name": "Doe",
        "gender": "female",
        "birth_date": "1990-04-12",
        "country": "MT",
        "city": "Valletta",
        "address": "12 Republic Street",
        "zip_code": "VLT 1110",
        "phone": "+35699123456",
        "personal_id": null,
        "document_number": "P1234567",
        "language": "en",
        "currency": "EUR",
        "status": "active",
        "category": "new_user",
        "kyc_status": "not_started",
        "is_verified": false,
        "risk_level": "low",
        "is_test": false,
        "restrictions": {
            "can_login": true,
            "can_deposit": true,
            "can_withdraw": true,
            "can_bet": true,
            "excluded_from_bonuses": false
        },
        "self_exclusion": null,
        "marketing": {
            "email": true,
            "sms": false,
            "newsletter": false
        },
        "registration": {
            "source": "api",
            "ip": "203.0.113.10",
            "promo_code": "WELCOME100",
            "affiliate_id": "aff-204",
            "btag": null
        },
        "last_login_at": null,
        "created_at": "2026-10-15T09:30:00Z",
        "updated_at": "2026-10-15T09:30:00Z"
    }
}
GET /api/v1/operator/players/{player} Получить игрока

Профиль, статус, статус KYC, ограничения и самоисключение игрока.

Право доступа: players:read
Параметры пути
player
integer
обязательно Id игрока в KinetX.
Заявка
HTTP
GET /api/v1/operator/players/1042 HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Ответ · 200
json
{
    "data": {
        "id": 1042,
        "external_id": "op-58213",
        "username": "jane_doe",
        "email": "jane@example.com",
        "first_name": "Jane",
        "middle_name": null,
        "last_name": "Doe",
        "gender": "female",
        "birth_date": "1990-04-12",
        "country": "MT",
        "city": "Valletta",
        "address": "12 Republic Street",
        "zip_code": "VLT 1110",
        "phone": "+35699123456",
        "personal_id": null,
        "document_number": "P1234567",
        "language": "en",
        "currency": "EUR",
        "status": "active",
        "category": "new_user",
        "kyc_status": "not_started",
        "is_verified": false,
        "risk_level": "low",
        "is_test": false,
        "restrictions": {
            "can_login": true,
            "can_deposit": true,
            "can_withdraw": true,
            "can_bet": true,
            "excluded_from_bonuses": false
        },
        "self_exclusion": null,
        "marketing": {
            "email": true,
            "sms": false,
            "newsletter": false
        },
        "registration": {
            "source": "api",
            "ip": "203.0.113.10",
            "promo_code": "WELCOME100",
            "affiliate_id": "aff-204",
            "btag": null
        },
        "last_login_at": null,
        "created_at": "2026-10-15T09:30:00Z",
        "updated_at": "2026-10-15T09:30:00Z"
    }
}
Ошибки
PATCH /api/v1/operator/players/{player} Изменить профиль игрока

Изменяет только переданные поля. Каждое изменение записывается в журнал аудита игрока в бэк-офисе.

Право доступа: players:write
Параметры пути
player
integer
обязательно Id игрока в KinetX.
Тело (JSON)
email
string · email
Адрес e-mail.
first_name
string
Имя.
last_name
string
Фамилия.
birth_date
string · date
Дата рождения (18+).
country
string
Страна, ISO 3166-1 alpha-2.
city
string
Город.
address
string
Адрес.
phone
string
Телефон в международном формате.
external_id
string
Ваш собственный id игрока.
language
string
Двухбуквенный код языка.
marketing.email
boolean
Согласие на маркетинговые e-mail.
Заявка
HTTP
PATCH /api/v1/operator/players/1042 HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Content-Type: application/json

{
    "city": "Sliema",
    "marketing": {
        "email": false
    }
}
Ответ · 200
json
{
    "data": {
        "id": 1042,
        "external_id": "op-58213",
        "username": "jane_doe",
        "email": "jane@example.com",
        "first_name": "Jane",
        "middle_name": null,
        "last_name": "Doe",
        "gender": "female",
        "birth_date": "1990-04-12",
        "country": "MT",
        "city": "Valletta",
        "address": "12 Republic Street",
        "zip_code": "VLT 1110",
        "phone": "+35699123456",
        "personal_id": null,
        "document_number": "P1234567",
        "language": "en",
        "currency": "EUR",
        "status": "active",
        "category": "new_user",
        "kyc_status": "not_started",
        "is_verified": false,
        "risk_level": "low",
        "is_test": false,
        "restrictions": {
            "can_login": true,
            "can_deposit": true,
            "can_withdraw": true,
            "can_bet": true,
            "excluded_from_bonuses": false
        },
        "self_exclusion": null,
        "marketing": {
            "email": true,
            "sms": false,
            "newsletter": false
        },
        "registration": {
            "source": "api",
            "ip": "203.0.113.10",
            "promo_code": "WELCOME100",
            "affiliate_id": "aff-204",
            "btag": null
        },
        "last_login_at": null,
        "created_at": "2026-10-15T09:30:00Z",
        "updated_at": "2026-10-15T09:30:00Z"
    }
}
PUT /api/v1/operator/players/{player}/status Изменить статус аккаунта

Активирует, блокирует или закрывает аккаунт. Причина сохраняется как заметка к игроку.

Право доступа: players:write
Параметры пути
player
integer
обязательно Id игрока в KinetX.
Тело (JSON)
status
string
обязательно Новый статус.
active locked closed
reason
string
Причина изменения статуса.
Заявка
HTTP
PUT /api/v1/operator/players/1042/status HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Content-Type: application/json

{
    "status": "locked",
    "reason": "Chargeback dispute"
}
Ответ · 200
json
{
    "data": {
        "id": 1042,
        "external_id": "op-58213",
        "username": "jane_doe",
        "email": "jane@example.com",
        "first_name": "Jane",
        "middle_name": null,
        "last_name": "Doe",
        "gender": "female",
        "birth_date": "1990-04-12",
        "country": "MT",
        "city": "Valletta",
        "address": "12 Republic Street",
        "zip_code": "VLT 1110",
        "phone": "+35699123456",
        "personal_id": null,
        "document_number": "P1234567",
        "language": "en",
        "currency": "EUR",
        "status": "active",
        "category": "new_user",
        "kyc_status": "not_started",
        "is_verified": false,
        "risk_level": "low",
        "is_test": false,
        "restrictions": {
            "can_login": true,
            "can_deposit": true,
            "can_withdraw": true,
            "can_bet": true,
            "excluded_from_bonuses": false
        },
        "self_exclusion": null,
        "marketing": {
            "email": true,
            "sms": false,
            "newsletter": false
        },
        "registration": {
            "source": "api",
            "ip": "203.0.113.10",
            "promo_code": "WELCOME100",
            "affiliate_id": "aff-204",
            "btag": null
        },
        "last_login_at": null,
        "created_at": "2026-10-15T09:30:00Z",
        "updated_at": "2026-10-15T09:30:00Z"
    }
}
POST /api/v1/operator/players/{player}/session-tokens Выдать токен сессии игрока

Короткоживущий токен, с которым ваш фронтенд вызывает методы сессии игрока (Authorization: Bearer). Токены перестают работать по истечении срока или при отзыве API-ключа. Никогда не передавайте секрет API в браузеры или приложения.

Право доступа: players:write Idempotency-Key
Параметры пути
player
integer
обязательно Id игрока в KinetX.
Тело (JSON)
ttl_minutes
integer
Срок действия в минутах, 1–720 (по умолчанию 30).
Заявка
HTTP
POST /api/v1/operator/players/1042/session-tokens HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Idempotency-Key: 4f6c1a2e-8b0d-4f5e-9a71-3c2d1e0f9b8a
Content-Type: application/json

{
    "ttl_minutes": 30
}
Ответ · 201
json
{
    "data": {
        "token": "kxp_eyJwIjoxMDQyLCJjIjo0LCJlIjoxNzYwNTIwNjAwfQ.N2Yz…",
        "token_type": "Bearer",
        "player_id": 1042,
        "expires_at": "2026-10-15T10:00:00Z"
    }
}

Кошелёк

Реальный и бонусный балансы и журнал операций игрока.

GET /api/v1/operator/players/{player}/wallet Получить балансы

Реальный и бонусный балансы в минимальных единицах и сумма, которую игрок ещё может вывести без верификации KYC (null — без ограничения).

Право доступа: wallet:read
Параметры пути
player
integer
обязательно Id игрока в KinetX.
Заявка
HTTP
GET /api/v1/operator/players/1042/wallet HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Ответ · 200
json
{
    "data": {
        "player_id": 1042,
        "currency": "EUR",
        "balance": 12550,
        "bonus_balance": 2000,
        "unverified_withdrawal_allowance": 50000,
        "wallets": [
            {
                "type": "real",
                "balance": 12550,
                "currency": "EUR",
                "updated_at": "2026-10-15T09:30:00Z"
            },
            {
                "type": "bonus",
                "balance": 2000,
                "currency": "EUR",
                "updated_at": "2026-10-15T09:30:00Z"
            }
        ]
    }
}
Ошибки
GET /api/v1/operator/players/{player}/transactions Список транзакций

Неизменяемый журнал операций игрока, сначала новые. Суммы со знаком: зачисления положительные, списания отрицательные.

Право доступа: wallet:read
Параметры пути
player
integer
обязательно Id игрока в KinetX.
Параметры запроса
page
integer
Номер страницы, начиная с 1.
per_page
integer
Записей на странице, 1–100 (по умолчанию 25).
type
string
Тип транзакции.
deposit withdrawal withdrawal_rejection correction_up correction_down bonus_correction_up bonus_correction_down bonus_conversion casino_bet casino_win casino_rollback loyalty_exchange tournament_prize chargeback
wallet
string
Кошелёк.
real bonus
created_from
string · date-time
Только записи, созданные в этот момент или позже (ISO 8601).
created_to
string · date-time
Только записи, созданные в этот момент или раньше (ISO 8601).
Заявка
HTTP
GET /api/v1/operator/players/1042/transactions HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Ответ · 200
json
{
    "data": [
        {
            "id": 88231,
            "player_id": 1042,
            "wallet": "real",
            "type": "deposit",
            "amount": 10000,
            "balance_after": 12550,
            "currency": "EUR",
            "payment_request_id": 5120,
            "game_id": null,
            "game_round_id": null,
            "player_bonus_id": null,
            "created_at": "2026-10-15T09:30:00Z"
        }
    ],
    "meta": {
        "current_page": 1,
        "per_page": 25,
        "total": 1,
        "last_page": 1,
        "from": 1,
        "to": 1
    },
    "links": {
        "first": "https://kinetx.amhtechnologies.com/api/v1/operator/…?page=1",
        "last": "https://kinetx.amhtechnologies.com/api/v1/operator/…?page=1",
        "prev": null,
        "next": null
    }
}

Платежи

Запись депозитов, принятых вашим платёжным провайдером, заявки на вывод и отслеживание их статуса.

GET /api/v1/operator/payment-methods Список платёжных методов

Активные платёжные методы для вашей валюты. Используйте код как payment_method.

Право доступа: payments:read
Заявка
HTTP
GET /api/v1/operator/payment-methods HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Ответ · 200
json
{
    "data": [
        {
            "code": "visa-mastercard",
            "name": "Visa / Mastercard",
            "supports_deposit": true,
            "supports_withdrawal": true,
            "min_deposit": 1000,
            "max_deposit": 500000,
            "min_withdrawal": 2000,
            "max_withdrawal": 1000000,
            "currencies": [
                "EUR",
                "USD"
            ]
        }
    ]
}
GET /api/v1/operator/payments Список депозитов и выводов

Платёжные заявки ваших игроков, сначала новые.

Право доступа: payments:read
Параметры запроса
page
integer
Номер страницы, начиная с 1.
per_page
integer
Записей на странице, 1–100 (по умолчанию 25).
player_id
integer
Только этот игрок.
type
string
Депозит или вывод.
deposit withdrawal
status
string
Статус заявки.
new allowed paid rejected cancelled
external_reference
string
Ваша платёжная ссылка.
created_from
string · date-time
Только записи, созданные в этот момент или позже (ISO 8601).
created_to
string · date-time
Только записи, созданные в этот момент или раньше (ISO 8601).
Заявка
HTTP
GET /api/v1/operator/payments HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Ответ · 200
json
{
    "data": [
        {
            "id": 5120,
            "type": "deposit",
            "status": "paid",
            "player_id": 1042,
            "amount": 10000,
            "currency": "EUR",
            "payment_method": "visa-mastercard",
            "external_reference": "psp_tx_7781",
            "info": null,
            "reject_reason": null,
            "is_reversed": false,
            "created_at": "2026-10-15T09:30:00Z",
            "paid_at": "2026-10-15T09:30:00Z",
            "rejected_at": null,
            "cancelled_at": null,
            "updated_at": "2026-10-15T09:30:00Z"
        }
    ],
    "meta": {
        "current_page": 1,
        "per_page": 25,
        "total": 1,
        "last_page": 1,
        "from": 1,
        "to": 1
    },
    "links": {
        "first": "https://kinetx.amhtechnologies.com/api/v1/operator/…?page=1",
        "last": "https://kinetx.amhtechnologies.com/api/v1/operator/…?page=1",
        "prev": null,
        "next": null
    }
}
Ошибки
GET /api/v1/operator/payments/{payment} Получить платёж

Статус одного депозита или вывода: new → allowed → paid либо rejected / cancelled.

Право доступа: payments:read
Параметры пути
payment
integer
обязательно Id платёжной заявки.
Заявка
HTTP
GET /api/v1/operator/payments/5121 HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Ответ · 200
json
{
    "data": {
        "id": 5121,
        "type": "withdrawal",
        "status": "paid",
        "player_id": 1042,
        "amount": 5000,
        "currency": "EUR",
        "payment_method": "visa-mastercard",
        "external_reference": "wd_20261015_001",
        "info": "Visa **** 4242",
        "reject_reason": null,
        "is_reversed": false,
        "created_at": "2026-10-15T09:30:00Z",
        "paid_at": "2026-10-15T09:30:00Z",
        "rejected_at": null,
        "cancelled_at": null,
        "updated_at": "2026-10-15T09:30:00Z"
    }
}
Ошибки
POST /api/v1/operator/players/{player}/deposits Записать оплаченный депозит

Для Turnkey- и API-операторов, принимающих депозиты через своего платёжного провайдера: записывает депозит как оплаченный и сразу зачисляет его на реальный кошелёк. Идемпотентно по external_reference — повтор возвращает исходный депозит (200); та же ссылка с другим игроком или суммой отклоняется. Действуют лимиты депозитов, самоисключение и правила AML: если депозит отклонён, верните деньги на своей стороне. Отправляет вебхук deposit.paid.

Право доступа: payments:write Idempotency-Key
Параметры пути
player
integer
обязательно Id игрока в KinetX.
Тело (JSON)
amount
integer
обязательно Сумма в минимальных единицах валюты игрока.
external_reference
string
обязательно Ваша уникальная платёжная ссылка (например, id транзакции PSP).
payment_method
string
Код платёжного метода.
info
string
Платёжные данные для сотрудников (например, маскированная карта).
notes
string
Внутренняя заметка.
Заявка
HTTP
POST /api/v1/operator/players/1042/deposits HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Idempotency-Key: 4f6c1a2e-8b0d-4f5e-9a71-3c2d1e0f9b8a
Content-Type: application/json

{
    "amount": 10000,
    "external_reference": "psp_tx_7781",
    "payment_method": "visa-mastercard"
}
Ответ · 201
json
{
    "data": {
        "id": 5120,
        "type": "deposit",
        "status": "paid",
        "player_id": 1042,
        "amount": 10000,
        "currency": "EUR",
        "payment_method": "visa-mastercard",
        "external_reference": "psp_tx_7781",
        "info": null,
        "reject_reason": null,
        "is_reversed": false,
        "created_at": "2026-10-15T09:30:00Z",
        "paid_at": "2026-10-15T09:30:00Z",
        "rejected_at": null,
        "cancelled_at": null,
        "updated_at": "2026-10-15T09:30:00Z"
    }
}
POST /api/v1/operator/players/{player}/withdrawals Запросить вывод

Резервирует сумму на реальном кошельке и создаёт заявку на вывод для одобрения в бэк-офисе (двойное подтверждение выше вашего порога). Действуют пороги KYC, лимиты вывода и правила AML; активные бонусы аннулируются, если так указано в настройках. Идемпотентно по external_reference. Отправляет withdrawal.requested, затем withdrawal.paid или withdrawal.rejected.

Право доступа: payments:write Idempotency-Key
Параметры пути
player
integer
обязательно Id игрока в KinetX.
Тело (JSON)
amount
integer
обязательно Сумма в минимальных единицах валюты игрока.
payment_method
string
обязательно Код платёжного метода.
external_reference
string
Ваша уникальная ссылка на этот вывод.
info
string
Реквизиты выплаты (например, маскированная карта, адрес кошелька).
bank_name
string
Название банка.
notes
string
Внутренняя заметка.
Заявка
HTTP
POST /api/v1/operator/players/1042/withdrawals HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Idempotency-Key: 4f6c1a2e-8b0d-4f5e-9a71-3c2d1e0f9b8a
Content-Type: application/json

{
    "amount": 5000,
    "payment_method": "visa-mastercard",
    "external_reference": "wd_20261015_001",
    "info": "Visa **** 4242"
}
Ответ · 201
json
{
    "data": {
        "id": 5121,
        "type": "withdrawal",
        "status": "new",
        "player_id": 1042,
        "amount": 5000,
        "currency": "EUR",
        "payment_method": "visa-mastercard",
        "external_reference": "wd_20261015_001",
        "info": "Visa **** 4242",
        "reject_reason": null,
        "is_reversed": false,
        "created_at": "2026-10-15T09:30:00Z",
        "paid_at": null,
        "rejected_at": null,
        "cancelled_at": null,
        "updated_at": "2026-10-15T09:30:00Z"
    }
}

Игры

Каталог игр (провайдеры, категории, RTP) и ссылки запуска игр.

GET /api/v1/operator/games Список игр

Активные игры активных провайдеров, по названию.

Право доступа: games:read
Параметры запроса
page
integer
Номер страницы, начиная с 1.
per_page
integer
Записей на странице, 1–100 (по умолчанию 25).
provider
string
Slug провайдера.
category
string
Категория (см. метод категорий).
type
string
RNG или live.
rng live
search
string
Часть названия игры.
Заявка
HTTP
GET /api/v1/operator/games HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Ответ · 200
json
{
    "data": [
        {
            "id": 311,
            "external_id": "acme-book-of-gold",
            "name": "Book of Gold",
            "type": "rng",
            "category": "Slots",
            "rtp": 96.2,
            "thumbnail_url": "https://cdn.example.com/games/book-of-gold.webp",
            "is_original": false,
            "provider": {
                "id": 7,
                "slug": "acme-gaming",
                "name": "Acme Gaming"
            }
        }
    ],
    "meta": {
        "current_page": 1,
        "per_page": 25,
        "total": 1,
        "last_page": 1,
        "from": 1,
        "to": 1
    },
    "links": {
        "first": "https://kinetx.amhtechnologies.com/api/v1/operator/…?page=1",
        "last": "https://kinetx.amhtechnologies.com/api/v1/operator/…?page=1",
        "prev": null,
        "next": null
    }
}
Ошибки
GET /api/v1/operator/games/providers Список провайдеров игр

Активные провайдеры с количеством активных игр.

Право доступа: games:read
Заявка
HTTP
GET /api/v1/operator/games/providers HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Ответ · 200
json
{
    "data": [
        {
            "id": 7,
            "slug": "acme-gaming",
            "name": "Acme Gaming",
            "games_count": 148
        }
    ]
}
GET /api/v1/operator/games/categories Список категорий игр

Категории активных игр с количеством игр.

Право доступа: games:read
Заявка
HTTP
GET /api/v1/operator/games/categories HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Ответ · 200
json
{
    "data": [
        {
            "category": "Slots",
            "games_count": 412
        },
        {
            "category": "Live Casino",
            "games_count": 96
        }
    ]
}
GET /api/v1/operator/games/{game} Получить игру

Одна игра из каталога.

Право доступа: games:read
Параметры пути
game
integer
обязательно Id игры из каталога.
Заявка
HTTP
GET /api/v1/operator/games/311 HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Ответ · 200
json
{
    "data": {
        "id": 311,
        "external_id": "acme-book-of-gold",
        "name": "Book of Gold",
        "type": "rng",
        "category": "Slots",
        "rtp": 96.2,
        "thumbnail_url": "https://cdn.example.com/games/book-of-gold.webp",
        "is_original": false,
        "provider": {
            "id": 7,
            "slug": "acme-gaming",
            "name": "Acme Gaming"
        }
    }
}
Ошибки
POST /api/v1/operator/players/{player}/games/{game}/launch Запустить игру

Реальный режим открывает 12-часовую сессию кошелька (провайдер рассчитывает ставки через бесшовный кошелёк) после проверок ответственной игры: статус аккаунта, самоисключение и лимит времени сессии. Демо-режим возвращает ссылку бесплатной игры провайдера. У KinetX Originals нет ссылки провайдера (launch_url = null): играйте в них через POST /player/games/{game}/play.

Право доступа: games:launch Idempotency-Key
Параметры пути
player
integer
обязательно Id игрока в KinetX.
game
integer
обязательно Id игры из каталога.
Тело (JSON)
mode
string
`real` (по умолчанию) открывает сессию кошелька; `demo` возвращает ссылку бесплатной игры.
real demo
platform
string
Устройство игрока.
desktop mobile web ios android
ip
string
IP-адрес игрока.
Заявка
HTTP
POST /api/v1/operator/players/1042/games/311/launch HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Idempotency-Key: 4f6c1a2e-8b0d-4f5e-9a71-3c2d1e0f9b8a
Ответ · 201
json
{
    "data": {
        "mode": "real",
        "game_id": 311,
        "launch_url": "https://games.acme.example/launch?game=acme-book-of-gold&token=Yq3…&currency=EUR&language=en",
        "session_token": "Yq3h0W2bVd…",
        "expires_at": "2026-10-15T21:30:00Z",
        "is_original": false
    }
}

Бонусы

Ваш каталог бонусов, начисление бонусов, активация промокодов и бонусы игрока.

GET /api/v1/operator/bonuses Список ваших бонусов

Активные бонусы вашего каталога (суммы в минимальных единицах валюты оператора).

Право доступа: bonuses:read
Заявка
HTTP
GET /api/v1/operator/bonuses HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Ответ · 200
json
{
    "data": [
        {
            "id": 12,
            "name": "Welcome Bonus 100%",
            "description": "100% match up to €200, 35x wagering",
            "type": "wagering_bonus",
            "default_amount": 20000,
            "wagering_multiplier": 35,
            "valid_days": 30,
            "max_bet": 500,
            "max_conversion_multiplier": 10,
            "max_grants_per_player": 1,
            "is_active": true
        }
    ]
}
GET /api/v1/operator/players/{player}/bonuses Список бонусов игрока

Начисленные бонусы с прогрессом отыгрыша, сначала новые.

Право доступа: bonuses:read
Параметры пути
player
integer
обязательно Id игрока в KinetX.
Параметры запроса
page
integer
Номер страницы, начиная с 1.
per_page
integer
Записей на странице, 1–100 (по умолчанию 25).
state
string
Состояние бонуса.
pending activated finished
Заявка
HTTP
GET /api/v1/operator/players/1042/bonuses HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Ответ · 200
json
{
    "data": [
        {
            "id": 9001,
            "player_id": 1042,
            "bonus_id": 12,
            "name": "Welcome Bonus 100%",
            "type": "wagering_bonus",
            "state": "activated",
            "result": "none",
            "amount": 20000,
            "currency": "EUR",
            "wager_requirement": 700000,
            "wagered_amount": 175000,
            "wagering_progress": 25,
            "converted_amount": 0,
            "forfeited_amount": 0,
            "max_bet": 500,
            "started_at": "2026-10-15T09:30:00Z",
            "expires_at": "2026-11-14T09:30:00Z",
            "finished_at": null,
            "created_at": "2026-10-15T09:30:00Z"
        }
    ],
    "meta": {
        "current_page": 1,
        "per_page": 25,
        "total": 1,
        "last_page": 1,
        "from": 1,
        "to": 1
    },
    "links": {
        "first": "https://kinetx.amhtechnologies.com/api/v1/operator/…?page=1",
        "last": "https://kinetx.amhtechnologies.com/api/v1/operator/…?page=1",
        "prev": null,
        "next": null
    }
}
Ошибки
POST /api/v1/operator/players/{player}/bonuses Начислить бонус

Начисляет бонус вашего каталога через бонусный движок: сразу или в очередь, пока отыгрывается другой бонус; бонусы без отыгрыша выплачиваются мгновенно. Отправляет bonus.granted (и bonus.completed по завершении).

Право доступа: bonuses:write Idempotency-Key
Параметры пути
player
integer
обязательно Id игрока в KinetX.
Тело (JSON)
bonus_id
integer
обязательно Id бонуса из вашего каталога.
amount
integer
Сумма в минимальных единицах валюты игрока (по умолчанию — сумма бонуса по умолчанию).
note
string
Внутренняя заметка.
Заявка
HTTP
POST /api/v1/operator/players/1042/bonuses HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Idempotency-Key: 4f6c1a2e-8b0d-4f5e-9a71-3c2d1e0f9b8a
Content-Type: application/json

{
    "bonus_id": 12,
    "amount": 20000
}
Ответ · 201
json
{
    "data": {
        "id": 9001,
        "player_id": 1042,
        "bonus_id": 12,
        "name": "Welcome Bonus 100%",
        "type": "wagering_bonus",
        "state": "activated",
        "result": "none",
        "amount": 20000,
        "currency": "EUR",
        "wager_requirement": 700000,
        "wagered_amount": 175000,
        "wagering_progress": 25,
        "converted_amount": 0,
        "forfeited_amount": 0,
        "max_bet": 500,
        "started_at": "2026-10-15T09:30:00Z",
        "expires_at": "2026-11-14T09:30:00Z",
        "finished_at": null,
        "created_at": "2026-10-15T09:30:00Z"
    }
}
POST /api/v1/operator/players/{player}/promo-codes Активировать промокод

Активирует для игрока один из ваших промокодов и начисляет его бонус.

Право доступа: bonuses:write Idempotency-Key
Параметры пути
player
integer
обязательно Id игрока в KinetX.
Тело (JSON)
code
string
обязательно Промокод (без учёта регистра).
Заявка
HTTP
POST /api/v1/operator/players/1042/promo-codes HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Idempotency-Key: 4f6c1a2e-8b0d-4f5e-9a71-3c2d1e0f9b8a
Content-Type: application/json

{
    "code": "SPIN50"
}
Ответ · 201
json
{
    "data": {
        "redemption_id": 318,
        "code": "SPIN50",
        "bonus": {
            "id": 9001,
            "player_id": 1042,
            "bonus_id": 12,
            "name": "Welcome Bonus 100%",
            "type": "wagering_bonus",
            "state": "activated",
            "result": "none",
            "amount": 20000,
            "currency": "EUR",
            "wager_requirement": 700000,
            "wagered_amount": 175000,
            "wagering_progress": 25,
            "converted_amount": 0,
            "forfeited_amount": 0,
            "max_bet": 500,
            "started_at": "2026-10-15T09:30:00Z",
            "expires_at": "2026-11-14T09:30:00Z",
            "finished_at": null,
            "created_at": "2026-10-15T09:30:00Z"
        }
    }
}

Ответственная игра

Лимиты депозитов, ставок, проигрышей, баланса и сессии с периодами ожидания, а также самоисключение.

GET /api/v1/operator/players/{player}/limits Получить лимиты

Текущие лимиты (деньги в минимальных единицах, max_session_minutes в минутах, null — без лимита), повышенные или снятые лимиты в периоде ожидания и самоисключение.

Право доступа: players:read
Параметры пути
player
integer
обязательно Id игрока в KinetX.
Заявка
HTTP
GET /api/v1/operator/players/1042/limits HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Ответ · 200
json
{
    "data": {
        "player_id": 1042,
        "currency": "EUR",
        "limits": {
            "max_single_bet": null,
            "max_daily_bet": null,
            "max_weekly_bet": null,
            "max_monthly_bet": null,
            "casino_max_single_bet": null,
            "casino_max_daily_bet": null,
            "max_daily_loss": null,
            "max_weekly_loss": null,
            "max_monthly_loss": null,
            "max_single_deposit": null,
            "max_daily_deposit": 20000,
            "max_weekly_deposit": 100000,
            "max_monthly_deposit": null,
            "max_yearly_deposit": null,
            "max_balance": null,
            "max_session_minutes": 120
        },
        "pending_changes": [
            {
                "field": "max_weekly_deposit",
                "current_value": 100000,
                "requested_value": 200000,
                "effective_at": "2026-10-16T09:30:00Z"
            }
        ],
        "self_exclusion": null
    }
}
Ошибки
PUT /api/v1/operator/players/{player}/limits Установить лимиты

Меняются только переданные лимиты. Новые и сниженные лимиты действуют сразу; повышенные или снятые (null) вступают в силу после вашего периода ожидания и до тех пор видны в pending_changes. Лимиты: max_single_bet, max_daily_bet, max_weekly_bet, max_monthly_bet, casino_max_single_bet, casino_max_daily_bet, max_daily_loss, max_weekly_loss, max_monthly_loss, max_single_deposit, max_daily_deposit, max_weekly_deposit, max_monthly_deposit, max_yearly_deposit, max_balance, max_session_minutes.

Право доступа: limits:write
Параметры пути
player
integer
обязательно Id игрока в KinetX.
Тело (JSON)
limits
object
обязательно Название лимита => значение (минимальные единицы; минуты для max_session_minutes, 5–1440; null снимает лимит).
Заявка
HTTP
PUT /api/v1/operator/players/1042/limits HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Content-Type: application/json

{
    "limits": {
        "max_daily_deposit": 20000,
        "max_weekly_deposit": 200000,
        "max_session_minutes": 120
    }
}
Ответ · 200
json
{
    "data": {
        "player_id": 1042,
        "currency": "EUR",
        "limits": {
            "max_single_bet": null,
            "max_daily_bet": null,
            "max_weekly_bet": null,
            "max_monthly_bet": null,
            "casino_max_single_bet": null,
            "casino_max_daily_bet": null,
            "max_daily_loss": null,
            "max_weekly_loss": null,
            "max_monthly_loss": null,
            "max_single_deposit": null,
            "max_daily_deposit": 20000,
            "max_weekly_deposit": 100000,
            "max_monthly_deposit": null,
            "max_yearly_deposit": null,
            "max_balance": null,
            "max_session_minutes": 120
        },
        "pending_changes": [
            {
                "field": "max_weekly_deposit",
                "current_value": 100000,
                "requested_value": 200000,
                "effective_at": "2026-10-16T09:30:00Z"
            }
        ],
        "self_exclusion": null
    },
    "meta": {
        "applied": [
            "max_daily_deposit",
            "max_session_minutes"
        ],
        "pending": [
            "max_weekly_deposit"
        ],
        "cooling_off_hours": 24
    }
}
POST /api/v1/operator/players/{player}/self-exclusion Самоисключить игрока

Начинает или продлевает тайм-аут или самоисключение; через API его нельзя сократить или снять. Самоисключённые игроки не могут играть, вносить депозиты и получать бонусы, но могут вывести баланс. Передайте period или until.

Право доступа: limits:write Idempotency-Key
Параметры пути
player
integer
обязательно Id игрока в KinetX.
Тело (JSON)
period
string
Фиксированный период (тайм-аут до 30 дней, самоисключение от 3 месяцев).
24_hours 7_days 30_days 3_months 6_months 12_months 5_years
until
string · date-time
Окончание исключения (ISO 8601) вместо period.
type
string
Переопределяет тип, определённый по периоду.
self_exclusion time_out self_closure
Заявка
HTTP
POST /api/v1/operator/players/1042/self-exclusion HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Idempotency-Key: 4f6c1a2e-8b0d-4f5e-9a71-3c2d1e0f9b8a
Content-Type: application/json

{
    "period": "6_months"
}
Ответ · 201
json
{
    "data": {
        "player_id": 1042,
        "currency": "EUR",
        "limits": {
            "max_single_bet": null,
            "max_daily_bet": null,
            "max_weekly_bet": null,
            "max_monthly_bet": null,
            "casino_max_single_bet": null,
            "casino_max_daily_bet": null,
            "max_daily_loss": null,
            "max_weekly_loss": null,
            "max_monthly_loss": null,
            "max_single_deposit": null,
            "max_daily_deposit": 20000,
            "max_weekly_deposit": 100000,
            "max_monthly_deposit": null,
            "max_yearly_deposit": null,
            "max_balance": null,
            "max_session_minutes": 120
        },
        "pending_changes": [
            {
                "field": "max_weekly_deposit",
                "current_value": 100000,
                "requested_value": 200000,
                "effective_at": "2026-10-16T09:30:00Z"
            }
        ],
        "self_exclusion": {
            "type": "self_exclusion",
            "since": "2026-10-15T09:30:00Z",
            "until": "2027-04-15T09:30:00Z"
        }
    }
}

Отчёты

Сводки GGR и платежей за период.

GET /api/v1/operator/reports/ggr Сводка GGR

Ставки, выигрыши и GGR казино (всего, по типам игр и провайдерам), конвертации бонусов, чистый игровой доход, депозиты и выводы и регистрации за период в UTC, в вашей валюте (минимальные единицы) — те же показатели, что на дашборде бэк-офиса. Строки провайдеров включают ставки бонусными деньгами (bonus_bets). Не более 366 дней.

Право доступа: reports:read
Параметры запроса
from
string · date
обязательно Первый день (ГГГГ-ММ-ДД, UTC).
to
string · date
обязательно Последний день (ГГГГ-ММ-ДД, UTC), включительно.
include_test_players
boolean
Включить тестовые аккаунты (по умолчанию false).
Заявка
HTTP
GET /api/v1/operator/reports/ggr?from=2026-10-01&to=2026-10-14 HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
X-Api-Key: kx_live_7f3k2m9q4w8e1r6t5y0u3i2o9p8a7s6d
X-Timestamp: 1760520600
X-Signature: 5b0c7d6e9f…  (hex HMAC-SHA256)
Ответ · 200
json
{
    "data": {
        "from": "2026-10-01",
        "to": "2026-10-14",
        "currency": "EUR",
        "include_test_players": false,
        "casino": {
            "bets": 18450000,
            "wins": 17312000,
            "ggr": 1138000,
            "rounds": 412882,
            "players": 1840,
            "by_type": {
                "rng": {
                    "bets": 15120000,
                    "wins": 14210000,
                    "ggr": 910000,
                    "rounds": 398114,
                    "players": 1702
                },
                "live": {
                    "bets": 3330000,
                    "wins": 3102000,
                    "ggr": 228000,
                    "rounds": 14768,
                    "players": 403
                }
            },
            "by_provider": [
                {
                    "provider_id": 7,
                    "provider": "Acme Gaming",
                    "bets": 9880000,
                    "wins": 9301000,
                    "ggr": 579000,
                    "bonus_bets": 412000,
                    "rounds": 233190
                }
            ]
        },
        "bonus_conversions": 214000,
        "net_gaming_revenue": 924000,
        "payments": {
            "deposits": 6120000,
            "depositing_players": 1211,
            "withdrawals": 3980000,
            "withdrawing_players": 402,
            "net_deposits": 2140000
        },
        "players": {
            "registered": 932
        }
    }
}
Ошибки

Сессия игрока

Методы, которые ваш фронтенд вызывает напрямую с токеном сессии игрока (Authorization: Bearer).

GET /api/v1/player/me Получить текущего игрока

Профиль игрока, для которого выдан токен сессии.

Аутентификация: Authorization: Bearer kxp_…
Заявка
HTTP
GET /api/v1/player/me HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
Authorization: Bearer kxp_eyJwIjoxMDQyLCJjIjo0…
Ответ · 200
json
{
    "data": {
        "id": 1042,
        "external_id": "op-58213",
        "username": "jane_doe",
        "email": "jane@example.com",
        "first_name": "Jane",
        "middle_name": null,
        "last_name": "Doe",
        "gender": "female",
        "birth_date": "1990-04-12",
        "country": "MT",
        "city": "Valletta",
        "address": "12 Republic Street",
        "zip_code": "VLT 1110",
        "phone": "+35699123456",
        "personal_id": null,
        "document_number": "P1234567",
        "language": "en",
        "currency": "EUR",
        "status": "active",
        "category": "new_user",
        "kyc_status": "not_started",
        "is_verified": false,
        "risk_level": "low",
        "is_test": false,
        "restrictions": {
            "can_login": true,
            "can_deposit": true,
            "can_withdraw": true,
            "can_bet": true,
            "excluded_from_bonuses": false
        },
        "self_exclusion": null,
        "marketing": {
            "email": true,
            "sms": false,
            "newsletter": false
        },
        "registration": {
            "source": "api",
            "ip": "203.0.113.10",
            "promo_code": "WELCOME100",
            "affiliate_id": "aff-204",
            "btag": null
        },
        "last_login_at": null,
        "created_at": "2026-10-15T09:30:00Z",
        "updated_at": "2026-10-15T09:30:00Z"
    }
}
GET /api/v1/player/wallet Получить балансы игрока

Реальный и бонусный баланс текущего игрока.

Аутентификация: Authorization: Bearer kxp_…
Заявка
HTTP
GET /api/v1/player/wallet HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
Authorization: Bearer kxp_eyJwIjoxMDQyLCJjIjo0…
Ответ · 200
json
{
    "data": {
        "player_id": 1042,
        "currency": "EUR",
        "balance": 12550,
        "bonus_balance": 2000
    }
}
GET /api/v1/player/transactions Список транзакций игрока

Журнал операций текущего игрока, сначала новые.

Аутентификация: Authorization: Bearer kxp_…
Параметры запроса
page
integer
Номер страницы, начиная с 1.
per_page
integer
Записей на странице, 1–100 (по умолчанию 25).
Заявка
HTTP
GET /api/v1/player/transactions HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
Authorization: Bearer kxp_eyJwIjoxMDQyLCJjIjo0…
Ответ · 200
json
{
    "data": [
        {
            "id": 88231,
            "player_id": 1042,
            "wallet": "real",
            "type": "deposit",
            "amount": 10000,
            "balance_after": 12550,
            "currency": "EUR",
            "payment_request_id": 5120,
            "game_id": null,
            "game_round_id": null,
            "player_bonus_id": null,
            "created_at": "2026-10-15T09:30:00Z"
        }
    ],
    "meta": {
        "current_page": 1,
        "per_page": 25,
        "total": 1,
        "last_page": 1,
        "from": 1,
        "to": 1
    },
    "links": {
        "first": "https://kinetx.amhtechnologies.com/api/v1/operator/…?page=1",
        "last": "https://kinetx.amhtechnologies.com/api/v1/operator/…?page=1",
        "prev": null,
        "next": null
    }
}
POST /api/v1/player/games/{game}/launch Запустить игру для игрока

То же, что метод запуска оператора, для текущего игрока (IP по умолчанию — адрес вызывающего).

Аутентификация: Authorization: Bearer kxp_…
Параметры пути
game
integer
обязательно Id игры из каталога.
Тело (JSON)
mode
string
`real` (по умолчанию) открывает сессию кошелька; `demo` возвращает ссылку бесплатной игры.
real demo
platform
string
Устройство игрока.
desktop mobile web ios android
ip
string
IP-адрес игрока.
Заявка
HTTP
POST /api/v1/player/games/311/launch HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
Authorization: Bearer kxp_eyJwIjoxMDQyLCJjIjo0…
Ответ · 201
json
{
    "data": {
        "mode": "real",
        "game_id": 311,
        "launch_url": "https://games.acme.example/launch?game=acme-book-of-gold&token=Yq3…&currency=EUR&language=en",
        "session_token": "Yq3h0W2bVd…",
        "expires_at": "2026-10-15T21:30:00Z",
        "is_original": false
    }
}
POST /api/v1/player/games/{game}/play Сыграть раунд KinetX Original

Играет один раунд на реальные деньги в KinetX Original (kx-slot, kx-roulette, kx-crash) через кошелёк казино; действуют лимиты ставок, правила бонусов и лимиты проигрышей. Слоту параметры не нужны; рулетка принимает params.bet (red, black, even, odd, low, high … или number с params.number 0–36); crash принимает params.target (множитель вывода 1.01–1000).

Аутентификация: Authorization: Bearer kxp_…
Параметры пути
game
integer
обязательно Id игры из каталога.
Тело (JSON)
stake
integer
обязательно Ставка в минимальных единицах.
params
object
Параметры конкретной игры.
Заявка
HTTP
POST /api/v1/player/games/311/play HTTP/1.1
Host: kinetx.amhtechnologies.com
Accept: application/json
Authorization: Bearer kxp_eyJwIjoxMDQyLCJjIjo0…
Content-Type: application/json

{
    "stake": 100
}
Ответ · 200
json
{
    "data": {
        "round_id": "9b1f8c3e-4a1d-4f0e-9a52-7d2c1e0b6a11",
        "stake": 100,
        "payout": 250,
        "outcome": {
            "grid": [
                [
                    "cherry",
                    "seven",
                    "bell"
                ],
                [
                    "lemon",
                    "seven",
                    "bar"
                ],
                [
                    "plum",
                    "seven",
                    "cherry"
                ]
            ],
            "line": [
                "seven",
                "seven",
                "seven"
            ],
            "multiplier": 2.5
        },
        "balance": 12700,
        "bonus_balance": 0,
        "currency": "EUR"
    }
}