Skip to content

Business Management (1.0.0)

Full-featured B2B API for business operations.

Base URL: https://api.alteg.io/api

⚠️ Version Status

V1 will be gradually deprecated. We recommend using V2 API for new integrations. V1 endpoints are maintained for backward compatibility, but new features will be released in V2 only.

Authentication

Requires both partner and user authorization:

Authorization: Bearer <partner_token>, User <user_token>
Download OpenAPI description
Languages
Servers
Mock server
https://developer.alteg.io/_mock/en/b2b-v1/openapi/
Production
https://api.alteg.io/api/v1/

Authentication B2B

User authentication and session management for B2B integrations

Operations

Locations

Manage business locations (salons, clinics, etc.)

Operations

Services

Service catalog management including categories and team member assignments

Operations

Team Members

Staff management including positions and scheduling

Operations

Clients

Client database management with comments, files, and visit history

Operations

Delete request example

Request

Security
BearerPartnerUser
Path
location_idnumberrequired

location ID

client_idnumberrequired

Client ID

file_idnumberrequired

File ID

Headers
Acceptstring

e.g. application/vnd.api.v2+json

Example: application/vnd.api.v2+json
curl -i -X DELETE \
  'https://developer.alteg.io/_mock/en/b2b-v1/openapi/company/{location_id}/clients/files/{client_id}/{file_id}' \
  -H 'Accept: application/vnd.api.v2+json' \
  -H 'Authorization: Bearer <YOUR_Bearer {PartnerToken}, User {UserToken}_HERE>'

Responses

Accepted

Bodyapplication/json
Response
application/json
{ "success": true, "meta": { "message": "Accepted" } }

Search by customer history

Request

Displays the client’s visit history.This method returns the client’s appointment and product purchase history, grouped by visit. Data is filtered based on visit status and paid status. The client is identified using either the client_id or client_phone parameter. All other parameters are optional. Results are sorted by visit date and paginated in batches of 25 items. If multiple visits share the same date as the last item on the page, they will be included on the current page to ensure complete grouping. To retrieve the next page, use the from and to values provided in the meta field of the current response.

Security
BearerPartnerUser
Path
location_idnumberrequired

ID of a location.

Example: 123
Headers
Acceptstringrequired

Should be equal to application/vnd.api.v2+json

Example: application/vnd.api.v2+json
Content-Typestringrequired

Should be equal to application/json

Example: application/json
Bodyapplication/json
client_idnumber or nullrequired

Client ID.

Example: 123
client_phonestring or nullrequired

Customer phone number.

Example: 13155550184
fromstring or null(date)required

Period start date.

Example: "2022-01-31"
tostring or null(date)required

Period end date.

Example: "2022-02-01"
payment_statusesArray of stringsrequired

Visit payment status:
not_paid - the visit is not paid, no payments were made for the visit;
paid_not_full - the visit is partially paid;
paid_full - the visit is paid in full, there is no overpayment;
paid_over - there is an overpayment for the visit.
If the filter by payment status is not required, then an empty array [] must be passed.

Items Enum"not_paid""paid_not_full""paid_full""paid_over"
attendancenumber or nullrequired

Visit status: -1: - the client did not come; 0: - waiting for the client; 1: - the client has arrived; 2: - the client has confirmed the appointment.

Enum-1012
curl -i -X POST \
  https://developer.alteg.io/_mock/en/b2b-v1/openapi/company/123/clients/visits/search \
  -H 'Accept: application/vnd.api.v2+json' \
  -H 'Authorization: Bearer <YOUR_Bearer {PartnerToken}, User {UserToken}_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "client_id": 123,
    "client_phone": 13155550184,
    "from": "2022-01-31",
    "to": "2022-02-01",
    "payment_statuses": [
      "not_paid"
    ],
    "attendance": -1
  }'

Responses

OK

Bodyapplication/json
successboolean(response_success_true_object)

Response status.

dataobject(client_visits_history)

Data on customer visits, including appointments and product sales.

metaobject(response_meta_date_paginator_object)

Page navigation information containing information about the current, next, and previous pages. The data is sorted and paginated by date in descending order.

Response
application/json
{ "success": true, "data": { "goods_transactions": [], "records": [] }, "meta": { "dateCursor": {} } }

Deprecated. Get a list of clientsDeprecated

Request

  • Parameter
    • company_id (required, number, 1) - location ID
    • page (number, 1) - Page number
    • count (number, 20) - Number of clients per page

Client filtering

  • fullname:Joh (optional, string) - Name (part of name) to filter clients
  • phone:1315 (optional, string) - Phone (part of the number) for filtering clients
  • email:test@ (optional, string) - Email (part) for client filtering
  • card:5663rt (optional, string) - Card (part) for filtering customers by loyalty card number
  • paid_min:100 (optional, number) - Minimum amount paid, to filter customers by the amount of payments
  • paid_max:0 (optional, number) - Maximum amount paid, to filter customers by the amount of payments
  • paid_max:0 (optional, number) - Maximum amount paid, to filter customers by the amount of payments
  • id:66 (optional, number) - ID of one client for filtering clients
  • id[]: 66 (optional, array) - IDs of multiple clients to filter
  • changed_after: '2000-01-01T00:00:00' (optional, string) - Filtering clients changed/created since a specific date and time
  • changed_before: '2020-12-31T23:59:59' (optional, string) - Filtering clients changed/created before a specific date and time
Security
BearerPartnerUser
Path
location_idnumberrequired

location ID

Query
fullnamestring

Name (part of the name) for client filtering

Example: fullname=Joh
phonestring

Phone (part of the number) for customer filtering

Example: phone=1315
emailstring

Email (part) for customer filtering

Example: email=test@
paid_minnumber

Minimum amount paid, to filter customers by the amount of payments

Example: paid_min=1
paid_maxnumber

Maximum amount paid, to filter customers by the amount of payments

Example: paid_max=1
pagenumber

Page number

Example: page=1
countnumber

Number of customers per page

Example: count=20
location_idnumber

ID of one or more clients to filter clients

Example: location_id=66
Headers
Acceptstringrequired

e.g. application/vnd.api.v2+json

Example: application/vnd.api.v2+json
Content-Typestringrequired

application/json

Authorizationstringrequired

Bearer partner_token, User user_token

curl -i -X GET \
  'https://developer.alteg.io/_mock/en/b2b-v1/openapi/clients/{location_id}?fullname=Joh&phone=1315&email=test%40&paid_min=1&paid_max=1&page=1&count=20&location_id=66' \
  -H 'Accept: application/vnd.api.v2+json' \
  -H 'Authorization: Bearer <YOUR_Bearer {PartnerToken}, User {UserToken}_HERE>' \
  -H 'Content-Type: string'

Responses

OK

Bodyapplication/json
successboolean

Execution success status (true)

Example: true
dataArray of objects

Array of objects with data

Example: [{"id":66,"name":"Customer","phone":13155550177,"email":"asdfgh@g.com","categories":[{"id":3,"title":"Black list","color":"#0f0f0f"},{"id":4,"title":"VIP","color":"#e8d313"}],"gender_id":0,"gender":"unknown","discount":10,"importance_id":3,"importance":"Gold","card":123456789,"birth_date":"2026-09-21","comment":"test","sms_check":1,"sms_not":0,"spent":71842,"balance":0,"visits":34,"last_change_date":"2026-02-01T12:00:00-0500","custom_fields":{}},{"id":16,"name":"James","phone":13155550178,"email":"","categories":{},"gender_id":0,"gender":"unknown","discount":0,"importance_id":0,"importance":"No importance class","card":"","birth_date":null,"comment":"","sms_check":0,"sms_not":0,"spent":0,"balance":0,"visits":3,"last_change_date":"2026-04-01T12:00:00-0500","custom_fields":{}}]
metaobject

Metadata (contains the page number and number of clients per page)

Example: {"page":1,"total_count":8}
Response
application/json
{ "success": true, "data": [ {}, {} ], "meta": { "page": 1, "total_count": 8 } }

Users & Permissions

User account management and role-based access control

Operations

Appointments

Booking records and visit management

Operations

Events

Group events and class management

Operations

Schedule & Resources

Timetables, schedules, and resource allocation

Operations

Products

Product catalog and categories

Operations

Inventory

Stock management, storage operations, and tech cards

Operations

Sales

Sales transactions and document management

Operations

Payments

Payment processing, accounts, and KKM transactions

Operations

Notifications

SMS and email notifications to clients

Operations

Online Booking Settings

Configure online booking behavior and forms

Operations

Analytics & Reports

Business analytics, charts, and Z-reports

Operations

Tags

Label management for categorizing entities (deprecated, use v2)

Operations

Deposits

Client deposit accounts and operations

Operations

Loyalty Cards

Loyalty card types, issuance, and manual transactions

Operations

Subscriptions & Certificates

Membership subscriptions and gift certificates

Operations

Loyalty Programs

Discount programs, referral programs, and loyalty transactions

Operations

Salary

Staff salary calculations, payroll, and schemes

Operations

Notification Settings

Configure notification types and user preferences

Custom Fields

Custom field definitions for various entities

Operations

Chain Management

Multi-location chain operations and clients

Operations

Chain Loyalty Programs

Chain-level loyalty programs and transactions

Operations

Fiscalization

Tax system integration and KKM callbacks

Operations

Utilities

License info, phone validation, images, and tips

Operations