API reference

Every call, three contracts, OpenAPI files

The back office is a client of the same API that integrators use. Three contracts cover the platform, the till and point-of-sale terminals; each one is published as an OpenAPI 3 file you can load into Postman, Swagger UI or a code generator.

Authentication

Platform API: sign in with e-mail and password, receive a JWT and a refresh token; two-factor codes for super admins. Till API: a bearer key created in the back office, shown once, rotatable. POS API: an X-POS-Api-Key header.

Conventions

JSON in and out. Lists are paginated. Errors carry a machine-readable code and, for validation, the list of violated fields. Money in the till API is in major units of the tenant's currency; ids are UUIDs.

Limits and safety

Rate limits per key and per login; idempotent purchase commits by external receipt id; webhook signatures on both directions; every write recorded in the audit log.

Platform API /api/v1

Back office, member portal and super-admin: everything the web application does, available to integrators.

301 calls · Download the OpenAPI file

Auth

MethodPathWhat it does
POST/auth/registerRegister a new company
POST/auth/loginUser login
GET/auth/meCurrent user profile
PUT/auth/profileUpdate own profile
POST/auth/passwordChange password
POST/auth/refreshRefresh JWT using refresh_token
POST/auth/forgot-passwordRequest a password reset link
POST/auth/reset-passwordSet a new password using a token
POST/auth/2fa/setupStart 2FA setup
POST/auth/2fa/confirmConfirm 2FA setup
POST/auth/2fa/disableDisable 2FA
POST/auth/2fa/verifyVerify 2FA at login
POST/auth/logoutLog out and revoke refresh token

Members

MethodPathWhat it does
GET/membersList members
POST/membersRegister a new member
GET/members/exportExport all members to CSV
POST/members/bulkBulk create members (up to 500)
GET/members/{memberId}Member details
PUT/members/{memberId}Update member
POST/members/{memberId}/activateActivate member
POST/members/{memberId}/deactivateDeactivate member
GET/members/{memberId}/cardLoyalty card (JSON with base64 QR code and barcode)
GET/members/{memberId}/card/qrCard QR code (PNG)
GET/members/{memberId}/card/barcodeCode128 barcode (PNG)
GET/members/{memberId}/referral-qrQR code linking to the referral registration portal

Wallets

MethodPathWhat it does
POST/wallets/bulk/earnBulk point accrual (up to 100 operations)
POST/wallets/bulk/redeemBulk point redemption
GET/wallets/{walletId}/balanceCurrent wallet balance
POST/wallets/{walletId}/earnAccrue points
POST/wallets/{walletId}/redeemRedeem points
GET/wallets/member/{memberId}Wallet by memberId
POST/wallets/member/{memberId}/earnAccrue points by memberId
POST/wallets/member/{memberId}/redeemRedeem points by memberId
POST/wallets/member/{memberId}/giftGift points to a member (admin gift)

Transactions

MethodPathWhat it does
GET/wallets/{walletId}/transactionsWallet operation history
GET/wallets/member/{memberId}/transactionsMember operation history
GET/transactionsList all tenant transactions with filters

Tiers

MethodPathWhat it does
GET/tiersAll tenant tiers
POST/tiersCreate tier
GET/tiers/{id}Tier details
PUT/tiers/{id}Update tier
DELETE/tiers/{id}Delete tier

Rules

MethodPathWhat it does
GET/rulesList rules
POST/rulesCreate rule
GET/rules/{id}Rule details
PUT/rules/{id}Update rule
DELETE/rules/{id}Archive rule
POST/rules/{id}/activateActivate rule
POST/rules/{id}/deactivateDeactivate rule
POST/rules/dry-runDry-run a rule without saving
POST/rules/{id}/simulateSimulate an existing rule

Segments

MethodPathWhat it does
GET/segmentsList segments
POST/segmentsCreate segment
GET/segments/{id}Segment details
PUT/segments/{id}Update segment
DELETE/segments/{id}Delete segment
POST/segments/{id}/recalculateRecalculate segment membership
GET/segments/{id}/membersSegment members

Campaigns

MethodPathWhat it does
GET/campaignsList campaigns
POST/campaignsCreate campaign
GET/campaigns/{id}Get campaign
PUT/campaigns/{id}Update campaign
DELETE/campaigns/{id}Delete campaign
POST/campaigns/{id}/activateActivate campaign
POST/campaigns/{id}/pausePause campaign
POST/campaigns/{id}/sendSchedule/launch a campaign send

Bonus Packages

MethodPathWhat it does
GET/bonus-packagesList bonus packages
POST/bonus-packagesCreate bonus package
GET/bonus-packages/{id}Get bonus package
PUT/bonus-packages/{id}Update bonus package
DELETE/bonus-packages/{id}Archive bonus package
POST/bonus-packages/{id}/activateActivate bonus package
POST/bonus-packages/{id}/deactivateDeactivate bonus package
POST/bonus-packages/{id}/grantGrant bonus package
POST/bonus-packages/{id}/bulk-grantBulk grant bonus package
GET/bonus-packages/{id}/grantsList bonus package grants

Date Triggers

MethodPathWhat it does
GET/date-triggersList date triggers
GET/date-triggers/{type}Get date trigger
PUT/date-triggers/{type}Update date trigger
GET/date-triggers/{type}/logGet date trigger log
POST/date-triggers/{type}/testTest date trigger

Scenarios

MethodPathWhat it does
GET/scenariosList scenarios
POST/scenariosCreate scenario
GET/scenarios/{id}Get scenario
PUT/scenarios/{id}Update scenario
DELETE/scenarios/{id}Archive scenario
POST/scenarios/{id}/activateActivate scenario
POST/scenarios/{id}/pausePause scenario
POST/scenarios/{id}/startStart scenario for member
GET/scenarios/{id}/executionsList scenario executions

Message Templates

MethodPathWhat it does
GET/message-templatesList message templates
POST/message-templatesCreate message template
GET/message-templates/{id}Get message template
PUT/message-templates/{id}Update message template
DELETE/message-templates/{id}Archive message template

Locations

MethodPathWhat it does
GET/locationsList locations
POST/locationsCreate location
GET/locations/{id}Get location
PUT/locations/{id}Update location
DELETE/locations/{id}Delete location

Users

MethodPathWhat it does
GET/usersList users
POST/usersCreate user
GET/users/{id}Get user
PUT/users/{id}Update user
DELETE/users/{id}Delete user
POST/users/{id}/rolesAssign role
DELETE/users/{id}/roles/{roleId}Remove role
GET/rolesList roles

Tenants

MethodPathWhat it does
POST/tenantsCreate a tenant (available to an authenticated user in self-service)
GET/tenants/{id}Get tenant

Pos Keys

MethodPathWhat it does
GET/pos-keysList pos keys
POST/pos-keysCreate a new POS key
DELETE/pos-keys/{id}Revoke key
POST/pos-keys/{id}/rotateRotate key (new secret value)

Integrations

MethodPathWhat it does
GET/integrationsList integrations
POST/integrationsCreate integration
GET/integrations/{id}Get integration
PUT/integrations/{id}Update integration
DELETE/integrations/{id}Delete integration
POST/integrations/{id}/testTest connection
POST/integrations/{id}/syncStart synchronization

Webhooks

MethodPathWhat it does
GET/webhooksList webhooks
POST/webhooksCreate webhook
GET/webhooks/{id}Get webhook
PUT/webhooks/{id}Update webhook
DELETE/webhooks/{id}Delete webhook
POST/webhooks/{id}/testTest webhook
GET/webhooks/{id}/logsWebhook logs
POST/webhooks/{webhookId}/logs/{logId}/retryRetry webhook log

Catalog

MethodPathWhat it does
GET/catalog/productsList products
POST/catalog/products/bulkBulk upload/update products
GET/catalog/categoriesList categories
POST/catalog/categoriesCreate category
PUT/catalog/categories/{id}Update category
DELETE/catalog/categories/{id}Delete category
GET/catalog/propertiesList product properties
POST/catalog/propertiesCreate product property
PUT/catalog/properties/{id}Update product property
DELETE/catalog/properties/{id}Delete product property
POST/catalog/properties/bulkBulk product properties

Catalog Sources

MethodPathWhat it does
GET/catalog/sourcesList catalog sources
POST/catalog/sourcesCreate catalog source
PUT/catalog/sources/{id}Update catalog source
DELETE/catalog/sources/{id}Delete catalog source
POST/catalog/sources/{id}/syncStart source synchronization

Catalog Payment/Delivery

MethodPathWhat it does
GET/catalog/payment-typesList payment types
POST/catalog/payment-typesCreate payment type
PUT/catalog/payment-types/{id}Update payment type
DELETE/catalog/payment-types/{id}Delete payment type
POST/catalog/payment-types/bulkBulk payment types
GET/catalog/delivery-typesList delivery types
POST/catalog/delivery-typesCreate delivery type
PUT/catalog/delivery-types/{id}Update delivery type
DELETE/catalog/delivery-types/{id}Delete delivery type
POST/catalog/delivery-types/bulkBulk delivery types

Catalog Discounts

MethodPathWhat it does
GET/catalog/products/{productId}/discountsList product discounts
POST/catalog/products/{productId}/discountsCreate product discount
PUT/catalog/products/{productId}/discounts/{discountId}Update product discount
DELETE/catalog/products/{productId}/discounts/{discountId}Delete product discount

Orders

MethodPathWhat it does
GET/catalog/orders/{id}Order details
GET/ordersList orders
POST/orders/{id}/approveApprove order
POST/orders/{id}/cancelCancel order
POST/orders/{id}/refundRefund order

Import

MethodPathWhat it does
POST/import/uploadUpload a CSV for import
GET/import/jobsList import jobs
GET/import/jobs/{id}Get import job
POST/import/headerRead headers of the uploaded CSV
POST/import/mapping-previewPreview column mapping

Analytics

MethodPathWhat it does
GET/analytics/rfmAnalytics rfm
GET/analytics/dashboardAnalytics dashboard
GET/analytics/revenueAnalytics revenue
GET/analytics/members/growthAnalytics members growth
GET/analytics/points/flowAnalytics points flow
GET/analytics/cohortsAnalytics cohorts
GET/analytics/ltvAnalytics ltv
GET/analytics/churnAnalytics churn
GET/analytics/rfm/membersAnalytics rfm members
GET/analytics/locationsAnalytics locations
GET/analytics/locations/{locationId}/transactionsAnalytics location transactions

Dashboard

MethodPathWhat it does
GET/dashboard/statsDashboard stats

Audit

MethodPathWhat it does
GET/auditList audit log

Consents

MethodPathWhat it does
GET/members/{memberId}/consentsMember consents
POST/members/{memberId}/consentsGrant consent
DELETE/members/{memberId}/consents/{type}Revoke consent
GET/members/{memberId}/consents/historyConsent change history
GET/settings/consentsTenant consent texts
POST/settings/consentsCreate a consent text version
PUT/settings/consents/{id}Update consent text

Referrals

MethodPathWhat it does
GET/referrals/statsReferral stats

Passes

MethodPathWhat it does
GET/passes/typesList pass types
GET/passes/member/{memberId}/appleApple Wallet .pkpass
GET/passes/member/{memberId}/googleGoogle Pay save-link

Company Settings

MethodPathWhat it does
GET/settings/companyGet company settings
PUT/settings/companyUpdate company settings
GET/settings/privacy-jurisdictionGet privacy jurisdiction
PUT/settings/privacy-jurisdictionUpdate privacy jurisdiction

Loyalty Settings

MethodPathWhat it does
GET/settings/loyaltyGet loyalty settings
PUT/settings/loyaltyUpdate loyalty settings

Referral Settings

MethodPathWhat it does
GET/settings/referralsGet referral settings
PUT/settings/referralsUpdate referral settings

Notification Settings

MethodPathWhat it does
GET/notifications/templatesList tenant notification templates
GET/notifications/templates/{id}Get tenant notification template
PUT/notifications/templates/{id}Customize tenant notification template
POST/notifications/templates/{id}/resetReset tenant notification template
PUT/notifications/templates/{id}/toggleToggle tenant notification template
POST/notifications/templates/{id}/previewPreview tenant notification template
GET/notifications/channelsList tenant channels
PUT/notifications/channels/{channel}Update tenant channel
POST/notifications/channels/{channel}/testTest tenant channel

Backup

MethodPathWhat it does
GET/backupList tenant backups
POST/backupCreate tenant backup
GET/backup/{date}Download tenant backup
POST/backup/{date}/restoreRestore tenant backup

Member Portal

MethodPathWhat it does
POST/portal/request-codeRequest an SMS code to log in to the member portal
POST/portal/verify-codeVerify the SMS code and get a portal_token
POST/portal/registerRegister a new member via the portal
GET/portal/referrer-infoReferrer information by memberId
GET/portal/member/{token}Portal data by portal_token (token in path — legacy)
GET/portal/member/{token}/transactionsPortal member transactions
GET/portal/member/{token}/profilePortal get profile
PUT/portal/member/{token}/profilePortal update profile
GET/portal/mePortal data by X-Portal-Token header
GET/portal/me/transactionsPortal me transactions
GET/portal/me/profilePortal me get profile
PUT/portal/me/profilePortal me update profile

SuperAdmin Auth

MethodPathWhat it does
POST/super-admin/auth/loginSuper admin login
POST/super-admin/auth/verify-2faSuper admin verify2fa
GET/super-admin/auth/meSuper admin me
POST/super-admin/auth/change-passwordSuper admin change password
GET/super-admin/2fa/statusSuper admin2fa status
POST/super-admin/2fa/setupSuper admin2fa setup
GET/super-admin/2fa/qrSuper admin2fa qr
POST/super-admin/2fa/confirmSuper admin2fa confirm
PUT/super-admin/2fa/methodSuper admin2fa method
POST/super-admin/2fa/resendSuper admin2fa resend
POST/super-admin/2fa/disableSuper admin2fa disable

SuperAdmin Tenants

MethodPathWhat it does
GET/super-admin/tenantsSuper admin list tenants
POST/super-admin/tenantsSuper admin create tenant
GET/super-admin/tenants/{id}Super admin get tenant
PUT/super-admin/tenants/{id}Super admin update tenant
POST/super-admin/tenants/{id}/activateSuper admin activate tenant
POST/super-admin/tenants/{id}/suspendSuper admin suspend tenant

SuperAdmin Admins

MethodPathWhat it does
GET/super-admin/adminsSuper admin list admins
POST/super-admin/adminsSuper admin create admin
PUT/super-admin/admins/{id}Super admin update admin
DELETE/super-admin/admins/{id}Super admin delete admin

SuperAdmin Platform

MethodPathWhat it does
GET/super-admin/platform/statsSuper admin platform stats
GET/super-admin/platform/healthSuper admin platform health
GET/super-admin/platform/logsSuper admin platform logs

SuperAdmin Settings

MethodPathWhat it does
GET/super-admin/settingsSuper admin list settings
GET/super-admin/settings/{key}Super admin get setting
PUT/super-admin/settings/{key}Super admin update setting
POST/super-admin/settings/smtp/testSuper admin test smtp

SuperAdmin Notifications

MethodPathWhat it does
GET/super-admin/notifications/channelsSuper admin list notification channels
PUT/super-admin/notifications/channels/{id}Super admin update notification channel
GET/super-admin/notifications/platform-templatesSuper admin list platform templates
GET/super-admin/notifications/platform-templates/groupedSuper admin platform templates grouped
GET/super-admin/notifications/platform-templates/{id}Super admin get platform template
PUT/super-admin/notifications/platform-templates/{id}Super admin update platform template
POST/super-admin/notifications/platform-templates/{id}/previewSuper admin preview platform template
GET/super-admin/notifications/default-templatesSuper admin list default templates
GET/super-admin/notifications/default-templates/groupedSuper admin default templates grouped
GET/super-admin/notifications/default-templates/{id}Super admin get default template
PUT/super-admin/notifications/default-templates/{id}Super admin update default template
POST/super-admin/notifications/default-templates/{id}/previewSuper admin preview default template
GET/super-admin/notifications/statsSuper admin notification stats

SuperAdmin Coalitions

MethodPathWhat it does
GET/super-admin/coalitionsSuper admin list coalitions
POST/super-admin/coalitionsSuper admin create coalition
GET/super-admin/coalitions/{id}Super admin get coalition
POST/super-admin/coalitions/{id}/tenantsSuper admin add coalition tenant
DELETE/super-admin/coalitions/{id}/tenants/{tenantId}Super admin remove coalition tenant

SuperAdmin Translations

MethodPathWhat it does
GET/super-admin/translations/languagesSuper admin list languages
GET/super-admin/translations/{locale}Super admin get translations
DELETE/super-admin/translations/{locale}Super admin delete locale
POST/super-admin/translations/{locale}/uploadSuper admin upload translations
GET/super-admin/translations/{locale}/exportSuper admin export translations
POST/super-admin/translations/languages/{locale}/activateSuper admin activate language
POST/super-admin/translations/languages/{locale}/deactivateSuper admin deactivate language

SuperAdmin Backup

MethodPathWhat it does
GET/super-admin/backupSuper admin list global backups
POST/super-admin/backupSuper admin create global backup
POST/super-admin/backup/{date}/restoreSuper admin restore global backup
GET/super-admin/backup/tenant/{tenantId}Super admin list tenant backups
POST/super-admin/backup/tenant/{tenantId}Super admin create tenant backup
POST/super-admin/backup/tenant/{tenantId}/{date}/restoreSuper admin restore tenant backup

Platform Info

MethodPathWhat it does
GET/platform/infoPublic platform information

Translations

MethodPathWhat it does
GET/translations/languagesList active languages
GET/translations/{locale}Translation dictionary for a locale
GET/translationsDictionaries for all languages

Health

MethodPathWhat it does
GET/healthHealth check

Metrics

MethodPathWhat it does
GET/metricsPrometheus metrics

Webhooks Bitrix24

MethodPathWhat it does
POST/webhooks/bitrix24/contactContact created/updated
POST/webhooks/bitrix24/dealDeal created/closed (generates a purchase)
GET/webhooks/bitrix24/pingWebhook bitrix24 ping
POST/webhooks/bitrix24/contact/{tenantId}Webhook bitrix24 contact tenant
POST/webhooks/bitrix24/deal/{tenantId}Webhook bitrix24 deal tenant

Redemption

MethodPathWhat it does
POST/redeem/requestRequest an OTP code for bonus redemption
POST/redeem/confirmConfirm OTP code
POST/redeem/commitFinalize redemption (after order confirmation)
POST/redeem/cancelRelease hold (order did not go through)
GET/redeem/status/{redemption_id}Redemption status

Till API /v2

What cash registers, shop sites and apps call: identify a buyer, quote a receipt, earn and redeem points, cancel and refund, promo codes and gift cards.

41 calls · Download the OpenAPI file

Customer

MethodPathWhat it does
POST/buyer-registerRegister a customer
POST/buyer-infoCustomer info
POST/buyer-info-detailDetailed customer info
POST/buyer-info-messagesCustomer message list
POST/buyer-invite-codeGet MLM invitation code
POST/buyer-editUpdate a customer
POST/buyer/status-transition-infoCustomer dynamic status info
POST/buyer/purchase-listDetailed customer purchase info
POST/generate-order-codeGenerate a customer code
POST/card-activateActivate a card
POST/card-get-infoGet the customer's digital card
POST/buyer-bonusCustomer bonus packages
POST/buyer-groupsGet customer group list
POST/present-bonusGift bonuses to a friend

Purchase

MethodPathWhat it does
POST/write-off-requestGet maximum available benefit (discounts + bonuses)
POST/purchase-dry-runSimulate a purchase
POST/purchase-requestGet customer info + maximum available benefit (discounts + bonuses)
POST/purchaseCreate a purchase
POST/purchase-set-external-idSet or change the purchase external ID
POST/edit-purchaseUpdate a purchase
POST/cancel-purchaseCancel a purchase
POST/change-purchase-statusChange purchase status
POST/reserve-infoReserve info
POST/purchase-infoPurchase info

Confirmation codes

MethodPathWhat it does
POST/send-register-codeSend a registration confirmation code
POST/send-write-off-confirmation-codeSend a redemption confirmation code
POST/verify-confirmation-codeVerify a registration or redemption confirmation code
POST/send-custom-codeSend a custom confirmation code
POST/verify-custom-codeVerify a custom confirmation code

Mobile app

MethodPathWhat it does
POST/get-ordersGet order list
POST/change-order-statusChange order external status
POST/send-pushSend a push notification to the customer's mobile app

Gift certificates

MethodPathWhat it does
POST/infoGet certificate info
POST/pin-checkVerify PIN code
POST/debitPay with certificate (redemption)
POST/activeSell a certificate (activation)

Additional

MethodPathWhat it does
POST/triggerFire a trigger
POST/cashbox-listGet point of sale list
POST/city-listGet cities and their IDs
POST/promocode/activate-promocodeActivate a promo code for a customer

Service

MethodPathWhat it does
GET/healthPublic liveness/readiness probe

POS API /pos/v1

A compact protocol for point-of-sale terminals: register a purchase, look up a member, hold and confirm a redemption.

16 calls · Download the OpenAPI file

(none)

MethodPathWhat it does
GET/pingHealth check
POST/balanceGet card balance
POST/discountsCalculate receipt discounts
POST/purchaseRegister a purchase
POST/earnAccrue bonuses
POST/redeemRedeem bonuses
POST/reversalReverse an operation
GET/members/searchFind a member by phone or card number
POST/referral/lookupFind a referrer by card QR/barcode
POST/referral/registerRegister a member linked to a referrer
POST/registerRegister a member

Redemption

MethodPathWhat it does
POST/redeem/requestRequest an OTP code for bonus redemption
POST/redeem/confirmConfirm OTP code
POST/redeem/commitFinalize redemption after the receipt is closed
POST/redeem/cancelRelease hold (customer declined / receipt cancelled)
GET/redeem/status/{redemption_id}Redemption status (diagnostics)