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

Update a service

Request

Method to update a service by ID

Security
BearerPartnerUser
Path
location_idnumberrequired

location ID

service_idnumberrequired

Service ID

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

Bodyapplication/jsonrequired
titlestring

Service name

Example: "Men's haircut"
category_idnumber

Service Category ID

Example: 83167
price_minnumber(float)

The minimum cost of the service

Example: 1300
price_maxnumber(float)

Maximum cost of the service

Example: 1300
durationnumber(float)

Service duration, default is 3600 seconds

Example: 3600
technical_break_durationnumber or null

Technical break duration in seconds.

  • If not provided, defaults to null
  • null = use location default (Settings → Appointment Log → Technical Breaks)
  • Must be in multiples of 300 (5-minute intervals)
  • Maximum value is 3600 (1 hour)
One of:

Technical break duration in seconds.

  • If not provided, defaults to null
  • null = use location default (Settings → Appointment Log → Technical Breaks)
  • Must be in multiples of 300 (5-minute intervals)
  • Maximum value is 3600 (1 hour)
[ 0 .. 3600 ]
number[ 0 .. 3600 ]
discountnumber(float)

Service discount

commentstring

Comment on the service

weightnumber

Service weight (used to sort services when displayed)

Example: 6
activenumber

Is the service available for online booking? 1 - available, 0 not available.

Example: 1
api_idstring

External Service ID

Example: "00000000042"
staffArray of objects

team members who provide the service, along with the duration of the service for each team member

Example: [{"id":5905,"seance_length":2700},{"id":5907,"seance_length":3600},{"id":8973,"seance_length":3600},{"id":13616,"seance_length":3600},{"id":16681,"seance_length":3600},{"id":1796,"seance_length":3600},{"id":34006,"seance_length":3600}]
curl -i -X PUT \
  'https://developer.alteg.io/_mock/en/b2b-v1/openapi/services/{location_id}/{service_id}' \
  -H 'Accept: application/vnd.api.v2+json' \
  -H 'Authorization: Bearer <YOUR_Bearer {PartnerToken}, User {UserToken}_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Men'\''s haircut",
    "category_id": 83167,
    "price_min": 1300,
    "price_max": 1300,
    "duration": 3600,
    "discount": 0,
    "comment": "",
    "weight": 6,
    "active": 1,
    "api_id": "00000000042",
    "staff": [
      {
        "id": 5905,
        "seance_length": 2700
      },
      {
        "id": 5907,
        "seance_length": 3600
      },
      {
        "id": 8973,
        "seance_length": 3600
      },
      {
        "id": 13616,
        "seance_length": 3600
      },
      {
        "id": 16681,
        "seance_length": 3600
      },
      {
        "id": 1796,
        "seance_length": 3600
      },
      {
        "id": 34006,
        "seance_length": 3600
      }
    ]
  }'

Responses

OK

Bodyapplication/json
successboolean

Execution success status (true)

Example: true
dataobject

Object with data

Example: {"id":83169,"salon_service_id":322888,"title":"Men's haircut","category_id":83167,"price_min":1300,"price_max":1300,"duration":3600,"discount":0,"comment":"","weight":6,"active":1,"api_id":"00000000042","staff":[{"id":5905,"seance_length":2700},{"id":5907,"seance_length":3600},{"id":8973,"seance_length":3600},{"id":13616,"seance_length":3600},{"id":16681,"seance_length":3600},{"id":1796,"seance_length":3600},{"id":34006,"seance_length":3600}]}
metaArray of objects

Metadata (empty array)

Example: []
Response
application/json
{ "success": true, "data": { "id": 83169, "salon_service_id": 322888, "title": "Men's haircut", "category_id": 83167, "price_min": 1300, "price_max": 1300, "duration": 3600, "discount": 0, "comment": "", "weight": 6, "active": 1, "api_id": "00000000042", "staff": [] }, "meta": [] }

Update a service (partial)

Request

Method to partially update a service

Security
BearerPartnerUser
Path
location_idnumberrequired

location ID

service_idnumberrequired

Service ID

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

Bodyapplication/jsonrequired
titlestringrequired

Service name

Example: "Men's haircut"
category_idnumberrequired

ID service category

Example: 83167
price_minnumber(float)required

Minimum cost of the service

Example: 1300
price_maxnumber(float)required

Maximum cost of the service

Example: 1300
durationnumberrequired

Service duration, default value is 3600

Example: 3600
booking_titlestringrequired

Service name for appointment

Example: "Men's haircut"
is_multibooleanrequired

false - Appointment, true - Event

tax_variantnumberrequired

Bill ID

Example: 1
vat_idnumberrequired

VAT ID

Example: 3
is_need_limit_datebooleanrequired

The service is available for a limited time

Example: true
seance_search_startnumberrequired

Start of period is the appointment available, in seconds

Example: 36000
seance_search_finishnumberrequired

End of period is the appointment available, in seconds

Example: 84600
stepnumberrequired

Display interval of slots, in seconds

Example: 300
seance_search_stepnumberrequired

Search interval of slots, in seconds

Example: 900
technical_break_durationnumber or null

Technical break duration in seconds.

  • If not provided, defaults to null
  • null = use location default (Settings → Appointment Log → Technical Breaks)
  • Must be in multiples of 300 (5-minute intervals)
  • Maximum value is 3600 (1 hour)
One of:

Technical break duration in seconds.

  • If not provided, defaults to null
  • null = use location default (Settings → Appointment Log → Technical Breaks)
  • Must be in multiples of 300 (5-minute intervals)
  • Maximum value is 3600 (1 hour)
[ 0 .. 3600 ]
number[ 0 .. 3600 ]
discountnumber(float)

Service discount

commentstring

Comment on the service

date_fromstring(date)

Service availability start date (YYYY-MM-DD)

Example: "2022-09-19"
date_tostring(date)

Service availability end date (YYYY-MM-DD)

Example: "2022-09-30"
weightnumber

Service weight (used to sort services when displayed)

Example: 6
activenumber

1 - available for online booking, 0 - not available

Example: 1
api_idstring

External Service ID

Example: "00000000042"
staffArray of objects

List of team members providing the service and session duration

Example: [{"id":5905,"seance_length":2700},{"id":5907,"seance_length":3600},{"id":8973,"seance_length":3600},{"id":13616,"seance_length":3600},{"id":16681,"seance_length":3600},{"id":1796,"seance_length":3600},{"id":34006,"seance_length":3600}]
curl -i -X PATCH \
  'https://developer.alteg.io/_mock/en/b2b-v1/openapi/services/{location_id}/{service_id}' \
  -H 'Accept: application/vnd.api.v2+json' \
  -H 'Authorization: Bearer <YOUR_Bearer {PartnerToken}, User {UserToken}_HERE>' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Men'\''s haircut",
    "booking_title": "Men'\''s haircut",
    "category_id": 83167,
    "price_min": 1300,
    "price_max": 1300,
    "duration": 3600,
    "discount": 0,
    "tax_variant": 1,
    "vat_id": 3,
    "is_multi": false,
    "is_need_limit_date": true,
    "date_from": "2022-09-19",
    "date_to": "2022-09-30",
    "seance_search_start": 36000,
    "seance_search_finish": 84600,
    "step": 300,
    "seance_search_step": 900,
    "comment": "",
    "weight": 6,
    "active": 1,
    "api_id": "00000000042",
    "staff": [
      {
        "id": 5905,
        "seance_length": 2700
      },
      {
        "id": 5907,
        "seance_length": 3600
      },
      {
        "id": 8973,
        "seance_length": 3600
      },
      {
        "id": 13616,
        "seance_length": 3600
      },
      {
        "id": 16681,
        "seance_length": 3600
      },
      {
        "id": 1796,
        "seance_length": 3600
      },
      {
        "id": 34006,
        "seance_length": 3600
      }
    ]
  }'

Responses

OK

Bodyapplication/json
successboolean

Execution success status (true)

Example: true
dataobject
Example: {"title":"Men's haircut","booking_title":"Men's haircut","category_id":83167,"price_min":1300,"price_max":1300,"duration":3600,"discount":0,"tax_variant":1,"vat_id":3,"is_multi":false,"is_need_limit_date":true,"date_from":"2022-09-19","date_to":"2022-09-30","seance_search_start":36000,"seance_search_finish":84600,"step":300,"seance_search_step":900,"comment":"","weight":6,"active":1,"api_id":"00000000042","staff":[{"id":5905,"seance_length":2700},{"id":5907,"seance_length":3600},{"id":8973,"seance_length":3600},{"id":13616,"seance_length":3600},{"id":16681,"seance_length":3600},{"id":1796,"seance_length":3600},{"id":34006,"seance_length":3600}]}
metaArray of objects

Metadata (empty array)

Example: []
Response
application/json
{ "success": true, "data": { "booking_title": "Men's haircut", "tax_variant": 0, "vat_id": 2, "print_title": "Men's haircut", "service_type": 1, "api_service_id": 0, "repeat_visit_days_step": "null", "seance_search_start": 1800, "seance_search_finish": 84600, "seance_search_step": 900, "step": 300, "is_need_limit_date": true, "date_from": "2022-09-19", "date_to": "2022-09-30", "schedule_template_type": 2, "online_invoicing_status": 0, "is_abonement_autopayment_enabled": 0, "autopayment_before_visit_time": 0, "abonement_restriction_value": 0, "is_chain": false, "is_price_managed_only_in_chain": false, "is_comment_managed_only_in_chain": false, "price_prepaid_amount": 0, "price_prepaid_percent": 100, "id": 10832934, "salon_service_id": 12192004, "title": "Men's haircut", "category_id": 10832928, "price_min": 250, "price_max": 1200, "discount": 0, "comment": "", "weight": 0, "active": 1, "api_id": 0, "prepaid": "forbidden", "is_multi": false, "capacity": 0, "image_group": [], "staff": [], "dates": [], "duration": 3600, "resources": [], "is_online": true }, "meta": [] }

Delete a service

Request

Method to remove a service

Security
BearerPartnerUser
Path
location_idnumberrequired

location ID

service_idnumberrequired

Service ID

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 DELETE \
  'https://developer.alteg.io/_mock/en/b2b-v1/openapi/services/{location_id}/{service_id}' \
  -H 'Accept: application/vnd.api.v2+json' \
  -H 'Authorization: Bearer <YOUR_Bearer {PartnerToken}, User {UserToken}_HERE>' \
  -H 'Content-Type: string'

Responses

No Content

Response
No content

Team Members

Staff management including positions and scheduling

Operations

Clients

Client database management with comments, files, and visit history

Operations

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