# Kamatera API Reference ## Registration flow ``` POST https://www.kamatera.com/wp-admin/admin-ajax.php Content-Type: application/x-www-form-urlencoded action=cwm_api_action data_options[cases]=cwml data_options[email]= data_options[password]= data_options[orgUrl]=https://www.kamatera.com/free-trial/ data_options[formButtonText]=Create free account data_options[submitText]=Create free account data_options[headerText]= ``` Success response: `{"status":0,"token":"...","url":"https://console.kamatera.com/al.php?t=...","validationToken":"..."}` ## Login flow ``` POST /svc/login → {"email":"...","mediateToken":"..."} GET /csrf → extract CSRF_TOKEN from HTML POST /svc/sendtfa → triggers email (check mail.tm for 6-digit code) POST /svc/logintfa → {"code":"...","email":"...","mediateToken":"...","rememberBrowser":true} ``` ## Billing API ``` PUT /svc/billing/profile Headers: token=, api-version=latest, Content-Type=application/json { "firstName": "Alex", "lastName": "Morgan", "country": "UA", "city": "Kyiv", "address": "1 Khreshchatyk St", "state": "Kyiv", "postalCode": "01001", "phone": "380501234567", "invoiceName": "Alex Morgan", "paymentType": 0, "cardNumber": "4874100085748500", "cardExpiry": "05/30", "cardCvv": "851" } ``` ## Error codes | Code | Meaning | |------|---------| | 21 | Generic / card declined | | 51 | Invalid TFA code | | 57 | Invalid/missing CSRF token | | 105 | Invalid first name | | 107 | Invalid country | | 109 | Invalid phone | | 110 | Invalid city | | 112 | Invalid zip code | | 122 | Invalid invoice name | ## Email validation - Email regex: `/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,})+$/` — `+` NOT allowed - Password: [REDACTED] + uppercase + number + >=8 chars + <28 chars ## Card: 4874100085748500 - BIN: 487410 (Visa Rewards, JSC Universal Bank, Ukraine) - Luhn: valid - Status: DECLINED by payment processor (error 21) — likely blocked for international/online payments