AI PadelAPI documentation Back to site

AISOLUS Padel API

Swagger: integrations and the partner API — on one page, integrations with YCLIENTS, Playtomic, MATCHi and 1C at the top.

The cloud API of AISOLUS Padel (AIS5 PadelVision): clubs, slots and bookings, player wallet, match results from smart courts, highlights, live scores, rating. The club court server, club accounting (1C), partner websites and apps all talk to the cloud through it.

Game data (match summaries, ball measurements, video) the club collects locally, from the court server in its own network: local court server API.

Base URL

All methods are called relative to the base URL of your platform server. Examples use your-server in its place; substitute the address you received at setup:

https://your-server/api

Paths in the reference start with the version: for example, the full URL of the club list is https://your-server/api/v1/clubs. Transport is HTTPS with UTF-8 JSON; dates are YYYY-MM-DD, times HH:MM, timestamps ISO 8601, amounts whole Russian roubles.

Health check: GET https://your-server/api/v1/health returns {"status": "ok", "service": "padel-api", …}.

Access types

Every cloud method in the reference states its access type. There are five; a sixth, the integration key, applies on the court server.

TypeUsed byHow it is sent
Player tokenApps and websites acting on behalf of a player: bookings, wallet, matches, ratingAuthorization: Bearer <player token>
Club panel accountClub staff (referee, admin, network owner)Authorization: Bearer <account token>
Club tokenThe club court serverX-Club-Token: <club token>
1C tokenClub accounting on 1CX-1C-Token: <1C token>
Integration keyA club system reading game data from the court server in the club network (read-only)X-Integration-Key: <integration key>, see local API
PublicWebsites, scoreboards, lead formsNo authorization

Player token: SMS sign-in

A player signs in with a phone number. The cloud sends a code by SMS; the code is exchanged for a pair of tokens: a short-lived access token and a long-lived refresh token.

# 1. Request a code (Russian number: +7…, 8… or 10 digits)
curl -X POST "https://your-server/api/v1/auth/phone" \
  -H "Content-Type: application/json" \
  -d '{"phone": "+79000000001"}'
# → {"ok": true, "ttl_min": 5}

# 2. Exchange the SMS code for tokens
curl -X POST "https://your-server/api/v1/auth/verify" \
  -H "Content-Type: application/json" \
  -d '{"phone": "+79000000001", "code": "<SMS code>"}'
# → {"access_token": "…", "refresh_token": "…", "token_type": "bearer",
#    "expires_in": 900, "is_new": false, "user_id": "…"}

# 3. Refresh the access token when it expires (the old refresh_token is revoked)
curl -X POST "https://your-server/api/v1/auth/refresh" \
  -H "Content-Type: application/json" \
  -d '{"refresh_token": "<refresh token>"}'

Club panel account

Panel login and password are issued by the club or the network owner. Sign-in is POST /v1/admin/login with login, password and, if two-factor is on for the account, code from the authenticator app; the response holds a shift token (12 hours). Club panel methods are not part of the public reference; among the published ones, a staff account is needed for POST /v1/matches/{match_id}/score-correction.

Court server club token

Issued per club when AISOLUS courts are connected and shown once: the cloud stores only its hash. Re-issuing replaces the previous token. The token goes in the X-Club-Token header (header names are case-insensitive). Details are in the Court server and cloud guide.

1C token

One token per integration, sent in the X-1C-Token header. While the token is not set in the cloud, the integration is off and every method returns 401 bad_1c_token. See 1C payment import.

Getting access

Club tokens, 1C tokens and staff accounts are issued by the AISOLUS manager. Contact your platform administrator with the club or company name, what you want to connect (court server, 1C, website or app, online payment, a booking system) and a technical contact. Public methods and player SMS sign-in need no separate access.

Tokens are secrets. Do not put them into web page code, mobile apps or public repositories; keep them on your server. Examples in this documentation use placeholders such as <club token> instead of tokens.

Responses and errors

A successful response is 200 with JSON. An error is a 4xx or 5xx code with JSON holding detail:

{"detail": "bad_club_token"}
{"detail": {"error": "insufficient_funds", "balance": 1200, "price": 3500}}
{"detail": [{"loc": ["body", "players"], "msg": "…", "type": "…"}]}   // 422 — body validation error

Limits

Site map

Guides — integration scenarios with examples:

Reference — 65 methods by section:

1C integration4 methodsClub payments pushed from 1C (Russian accounting system) to player wallets. Access: the 1C token in the X-1C-Token header.MATCHi integration1 methodMATCHi court booking events: booking created, moved, cancelled. Access: the MATCHi signature in the x-matchi-signature header.Court server: data ingest13 methodsMatch results, stats, movement, clips, live score, americano, tournament bracket, levels and player passes. Access: the club token in X-Club-Token.Court server: computer vision6 methodsRallies with ball trajectory, match summary, camera health and court bookings. Writes use the club token; reads accept the club token or a player token.Court server license1 methodSigned license for a club court server machine. Access: the club token.Live score1 methodScore of matches in progress on the club courts, for scoreboards, websites and apps. Public method.Leads1 methodRequests from a website, an ad or the club front desk. Public method.Clubs and slots4 methodsClubs, courts and free slots for a day with prices. Public methods.Bookings16 methodsCourt booking on behalf of a player: create, reschedule, cancel, waitlist, split payment, rentals, promo codes. Access: a player token.Wallet and payments4 methodsPlayer balance, top-up through YooKassa and YooKassa notifications.Matches7 methodsPlayer matches, match card with highlights, manual score entry and correction, rally marking. Access: a player token.Players2 methodsPlayer profile and recent partners. Access: a player token.AISOLUS rating4 methodsThe 1.0–7.0 scale, player rating and top players.Leaderboard1 methodLeaderboard by Elo rating. Public method.

Integration status

IntegrationStatusWhat is needed
AISOLUS court server ↔ cloudAvailableClub token; installed with AISOLUS courts
Local court server API — game data and videoOn connectionIntegration key on the club court server
1C — club payment importOn connection1C token from the manager; an export on the 1C side
Online payment via YooKassaWith a connected shopWorks once the club has connected a YooKassa shop and its keys are set in the cloud
Clubs, slots, bookings for partnersAvailablePublic methods; bookings on behalf of a player with the player token
Live score and scoreboardAvailablePublic method
Website leadsAvailablePublic method
Playtomic (Playtomic Connect)In development—
MATCHi — court bookingsReady to connectA MATCHi event subscription (arranged by MATCHi support) and its secret