Skip to content

Altegio REST API (1.0.1)

This is an official document describing the interaction with the Altegio business managment platform. API allows third-party developers to perform most operations with the Altegio data. When designing methods, we tried to adhere to the REST architecture.

  • All interaction with protocol are transpire by TLS encryption (from 1.2 version)
  • Limits are 200 requests per minute or 5 requests per second per IP address
  • URL API: https://api.alteg.io/api If you encounter difficulties when working with the API, please carefully review the documentation, including the required headers, parameters, and the structure of the request body in the JSON example.

If you're having trouble resolving the issue on your own, feel free to contact us at api@alteg.io. Please include the request URL, headers, request body, and the response you received in your message.

API Versioning

The API uses URL path versioning. Currently available versions:

  • V1 (/v1/...) - Stable, full-featured API - V2 (/v2/...) - New endpoints with improved design Both versions are production-ready. New features may be released in V2 only. V1 endpoints are maintained for backward compatibility. Base URL: https://api.alteg.io/api Example requests: - V1: GET https://api.alteg.io/api/v1/companies - V2: GET https://api.alteg.io/api/v2/companies/{id}/tags

Integration cases with Altegio

  • Data exchange with automation, accounting or CRM software
  • Integration of Online Booking into third-party websites and mobile applications. Allows embedding of Online Booking forms into external platforms, such as business catalogs, branded apps, and other partner services.
  • Data collection and analysis for business intelligence systems / Development of custom reporting and analytics tools
  • Chat bots and virtual assistants for appointment scheduling and client management

General description of data exchange with Altegio

The Altegio integration API includes two groups of methods:

  • Methods that require both user authorization and partner authorization
  • Methods that require partner authorization only (no user authorization)

API Request Authorization

Accessing both the first and second groups of methods requires partner authorization. I.e. passing the partner's unique hash key. API requests are authorized in accordance with RFC 6749 "Resource Owner Password Credentials Grant". When making API requests the HTTP authorization header must include the access key in the following format:

Authorization: Bearer <partner token>

To obtain this key, you need to register in the marketplace – it will be located in the 'Developer account' "Account settings" under "Account details" tab.

To get the user API key, use the auth method, or, if you are creating an integration application, use the key located in an application's settings under the "API Access" section. The key itself must also be sent in the request header (after the partner key, separated by a comma):

Authorization: Bearer <partner token>, User <user token>

Whether user authorization is required to work with specific entities is indicated in the data format descriptions and sample queries. Please note that not all users have access to all methods and data, depending on their assigned access rights.

Date and time

The most of dates in the API are represented as strings in ISO 8601 format. Exluding cases specified otherwise in outdated or deprecated methods.

"2026-09-21T23:00:00.000-05:00"

Service durations and other time-related values are provided in seconds. For example, a 15-minute service should be represented as:

{ "length": 900 }

Core Entities of the Altegio API

The API allows to work with most of the platform's entities. However, please note that there are inconsistencies in the technical terminology: method and variable names, as well as terminology, may differ between the user interface and the documentation

Locations

A Location is an individual business unit that operates within the platform. Each Location belongs to a Chain. For single-location businesses, the platform still creates a single-location Chain.

Also known as: company, branch, filial, salon

Chains

A Chain is a group of multiple Locations managed as a single business network. Chain-level settings, promotions, service catalogs, and loyalty rules may be inherited by all child Locations while each Location can still override them where needed.

Also known as: groups, networks, salon_groups

Users

A User is an account that provides authenticated access to one or more Locations. Access scope is defined by Roles, which are predefined sets of Access Rights. If a User does not have access to a module or method, the API returns HTTP 403. Users can also be linked to Chains, which provide a different set of access rights and are required for certain Chain-level requests. Each User is linked to one Team Member within a Location and may be linked to different Team Members across multiple Locations. Operational context (available Services, Schedule, permissions) depends on the current Location and Team Member binding. Most API methods require the User to be authorised (a valid token obtained) and to have explicit access to the target Location.

Team members and Positions

A Team Member is an individual within a Location who participates in operational processes: provides Services within Appointments, creates or manages reservations, or works with financial and analytical data (for example, a professional, cashier, administrator, or accountant). Team Members do not directly define access rights in the API, but they determine the business role and workload of a person inside a Location. Positions are logical groups of Team Members (similar to folders) that help structure staff by departments, functions, or specialisation. In some configurations, Positions are used to filter available reports.

Also known as: employee, staff, staff_member, master

Resources

Resources are limited items required to provide Services (rooms, chairs, devices, machines). A Resource cannot be used in parallel for multiple Appointments; it is reserved when a Service linked to that Resource is booked.

Schedule & Time Slots

A Schedule is a set of time intervals during which a Team Member or Resource is available to provide Services. A Time Slot is a specific available interval within the Schedule that can be booked online for an Appointment with a Team Member.

Appointments & Visits

An Appointment is a scheduled time interval during which a specific Team Member provides one or more Services or sells Products to a specific Client. A Visit is a group of one or more Appointments that take place during a single Client presence at a Location. Grouping rules depend on the Location settings.

Also known as: record, booking

Events

An Event is a scheduled time slot for a group Service where multiple Clients can book simultaneously. Unlike individual Appointments, an Event has a capacity limit defining the maximum number of participants. Events are used for group classes, workshops, webinars, and any service that can serve multiple Clients at the same time with a single Team Member.

Also known as: activity, group event

Clients

A Client is an individual who books, receives, or has received Services or Products from a Location. Client data is used for scheduling, communication, and analytics.

Services and Service Categories

A Service is a predefined type of work or procedure that can be provided to a Client by a Team Member within a Location. Each Service has key parameters such as duration, price (or price range), and applicable resources. Service Categories are logical groups used to organise Services for configuration, reporting, and client-facing catalogs.

Products and Product Categories

A Product is a tangible or consumable item that can be sold to a Client or used as part of a Service. Product Categories are logical groups used to organise Products for inventory management, reporting, and sales operations.

Also known as: goods, items

Inventories

Inventories represent physical or logical Warehouses used to store and track Products and consumables. Inventory operations (receipts, write-offs, transfers) ensure that product usage in Visits is reflected in stock levels and financial reports.

Also known as: storages, warehouses

Suppliers

Suppliers and Partners are counterparties used in Inventory and Finance modules to track product purchases, settlements, and mutual transactions with external companies.

Also known as: partners

Location accounts

Location Accounts are accounts (cash registers or bank accounts) attached to a specific Location. They are used to record payments for Visits, product sales, and other financial operations, and they define how money flows are grouped in financial reports.

Also known as: cashdesks, cash registers

Payment methods

Payment methods define how payments are recorded in the system (cash, card, bank transfer, online acquiring, loyalty instruments). Each method is linked to specific Accounts and can have its own commission and reporting logic.

Payroll rules

Payroll rules define how staff compensation is calculated based on Visits, Products, Memberships, tips, and other metrics. They describe commission schemes, fixed payments, and deductions.

Client cards

A Client Card is a unified profile that stores balances, active memberships, certificates, and participation in loyalty programs for a specific Client across one Location or an entire Chain.

Memberships and their Types

A Membership is a prepaid product that gives a Client the right to receive a set number of services or discounts over a defined period. Membership Types define the rules: which services are included, how many visits are available, validity period, and usage restrictions. Also known as: abonements

Certificates and their Types

A Certificate is a prepaid value or service voucher that can be used to pay for Services and Products. Certificate Types define how certificates are sold, accounted for, and redeemed, including validity period and usage restrictions.

Loyalty programs

Loyalty programs combine bonus accrual, cumulative discounts and referral promotions to increase repeat visits and average spend. Any loyalty instrument must be linked to a specific Client Card so that bonuses, discounts, and balances are applied consistently across Visits.

Client accounts

Client Accounts are internal balances (deposits) stored on the Client Card. They are used to prepay future Visits, store overpayments, or keep store credit that can be partially or fully redeemed in subsequent Visits and sales.

Also known as: deposits

Subdivisions

Subdivisions are higher-level groups used to organise Services across a Chain (for example, "Hair", "Nails", "Spa"). They help structure large catalogs, simplify analytics, and control visibility of Services in online booking.

Custom fields

Custom fields are additional attributes configured by the Location to store extra data in Visits or other entities (for example, medical notes, internal IDs). They extend the standard schema without changing the core data model.

Also known as: additional fields

Tags

Tags allow users to group Clients, Appointments, or Events. They are used for analytics, targeted communications, and certain loyalty scenarios.

Also known as: labels, segments, categories

Integrations HUB

Integrations HUB is a catalog of external applications and services connected to Altegio (telephony, messaging, CRM, loyalty, etc.). It standardises how integrations are discovered, installed, configured, and monetised.

Download OpenAPI description
Languages
Servers
Mock server
https://developer.alteg.io/_mock/en/
https://api.alteg.io/api/

Authentication B2C

End-customer authentication methods. Get access tokens required for some API operations.

Operations

Online Booking

Public APIs for integrating online booking into third-party websites and mobile applications.

Operations

Client Personal Cabinet

End-customer account. Manage user profile, appointments, and other operations.

Operations

Authentication B2B

SaaS users authentication methods. Get access tokens required for all API operations.

Operations

Locations

Locations in the product knowledge base

Location management. Create, read, update locations and their settings.

Operations

Services

Services in the product knowledge base

Service and service category management. Define services offered by your locations.

Operations

Team Members

Team members in the product knowledge base · Positions in the product knowledge base

Team member management, including positions, service assignments, and team member profiles.

Operations

Clients

Clients in the product knowledge base

Client management including search, bulk operations, files, comments, and visit history.

Operations

Users & Permissions

Users in the product knowledge base

User account management, roles, permissions, and invitations. Control access to location features.

Operations

Appointments

Visits in the product knowledge base

Appointment and visit management.

Key concepts:

  • Appointment (record) — A single scheduled service for a client with a specific team member at a specific time
  • Visit — A container that groups multiple appointments when a client books several services in one session

Example: Client books haircut + coloring → 1 visit containing 2 appointments

This section covers creating, modifying, and managing both individual appointments and visit containers.

Operations

Events

Events in the product knowledge base

Manage Events — scheduled time slots for group Services where multiple Clients can book simultaneously. Create, update, search, and duplicate Events with customizable capacity, duplication strategies, and Team Member assignments.

Operations

Schedule & Resources

Schedule in the product knowledge base · Resources in the product knowledge base

Work schedules, available time slots, resources, and timetable management for team members and facilities.

Operations

Products

Products in the product knowledge base

Product catalog management. Define products available for sale and organize them into categories.

Operations

Inventory

Inventory in the product knowledge base

Stock management including storage locations, inventory documents, stock movements, and consumables tracking.

Operations

Sales

Sales documents and receipts. View and manage point-of-sale transactions.

Operations

Payments

Payment methods in the product knowledge base · Accounts in the product knowledge base

Financial operations including location accounts, payment transactions, and all monetary movements.

Operations

Notifications

Send SMS, Email or other notifications to clients. Configure notification preferences and settings for users and notification types.

Operations

Online Booking Settings

Manage custom booking forms and their configurations for online appointment scheduling.

Operations

Analytics & Reports

Business analytics and statistical reports for business intelligence.

Operations

Tags

Tags in the product knowledge base

Custom tags for clients, appointments, and events.

Operations

Deposits

Client accounts in the product knowledge base

Client deposit account management and operations.

Operations

Loyalty Cards

Client cards in the product knowledge base

Loyalty card management including card types, manual transactions, and card assignments.

Operations

Subscriptions & Certificates

Memberships in the product knowledge base · Certificates in the product knowledge base

Membership and certificate management including creation, freezing, and balance operations.

Operations

Loyalty Programs

Loyalty programs in the product knowledge base

Loyalty programs and loyalty transaction management.

Operations

Salary

Payroll in the product knowledge base

Salary calculations, payroll management, and compensation tracking for team members.

Operations

Custom Fields

Custom fields in the product knowledge base

Additional custom field definitions for extending entity data structures.

Operations

Chain Management

Chains in the product knowledge base

Chain-level operations for managing multiple locations within a business chain.

Operations

Chain Loyalty Programs

Loyalty programs in the product knowledge base

Chain-level loyalty program management including programs, transactions, and message templates.

Operations

Update membership type

Request

Updates an existing membership type. You can update basic information (title, cost, period) without modifying the service/category links.

Note: To preserve existing services, pass empty arrays for services and service_categories fields.

Security
bearer
Path
chain_idintegerrequired

Chain ID

Example: 1
loyalty_membership_type_idintegerrequired

Membership type ID

Example: 468039
Headers
Acceptstringrequired
Default application/vnd.api.v2+json
Content-Typestringrequired
Default application/json
Authorizationstringrequired

Bearer {partner_token}, User {user_token}

Bodyapplication/jsonrequired
titlestringrequired

Membership type name

Example: "Updated Fitness 10-pack"
salon_group_idintegerrequired

Chain ID (API uses salon_group_id parameter name)

Example: 1
costnumber(float)required

Subscription price

Example: 550
service_categoriesArray of integersrequired

List of service category IDs. Pass empty array to preserve existing categories.

Example: []
is_united_balancebooleanrequired

Balance type: true = unified balance, false = separate balance

Example: false
united_balance_services_countintegerrequired

Number of visits for unified balance

Example: 10
location_idsArray of integers

List of location IDs where this membership type is available

Example: [123,456]
periodinteger

Validity period duration

Example: 90
period_unit_idinteger

Period unit type: 1 = day, 2 = week, 3 = month, 4 = year

Enum1234
Example: 1
allow_freezeboolean

Whether membership can be frozen

Default false
Example: true
freeze_limitinteger

Maximum total freeze period

Example: 30
freeze_limit_unit_idinteger

Freeze period unit: 1 = day, 2 = week, 3 = month, 4 = year

Enum1234
Example: 1
service_price_correctionboolean

Whether service price can be adjusted when using membership

Default false
Example: true
expiration_type_idinteger

Activation type: 1 = on sale, 2 = on first use, 3 = from specific date

Enum123
Example: 1
is_allow_empty_codeboolean

Personal vs shared subscription.

  • true = personal (only purchaser can use)
  • false = shared (multiple people can use with code)
Default true
Example: true
balance_edit_type_idinteger

Balance adjustment permission: 0 = prohibited, 1 = only at sale location, 2 = at all locations

Enum012
Example: 2
is_online_sale_enabledboolean

Whether online sale is enabled

Default false
Example: false
online_sale_titlestring

Subscription title for online sale

Example: "Updated Fitness Pack"
online_sale_descriptionstring

Subscription description for online sale

Example: "Updated description"
online_sale_pricenumber(float)

Price for online sale

Example: 500
online_imagestring

Image URL for online sale

Example: "https://example.com/images/updated.jpg"
autoactivation_periodinteger

Maximum autoactivation period

Example: 3
autoactivation_time_in_daysinteger

Time units for autoactivation

Example: 10
autoactivation_time_unit_idinteger

Autoactivation time unit: 1 = days, 2 = weeks, 3 = months, 4 = years

Enum1234
Example: 1
is_archivedboolean

Whether membership type is archived

Default false
Example: false
servicesArray of integers

List of service IDs. Pass empty array to preserve existing services.

Example: []
availabilityArray of objects

Time-based availability rules. Empty array = available anytime.

curl -i -X PUT \
  https://developer.alteg.io/_mock/en/v1/chain/1/loyalty/abonement_types/468039 \
  -H 'Accept: application/vnd.api.v2+json' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "title": "Updated Fitness 10-pack",
    "salon_group_id": 1,
    "cost": 550,
    "location_ids": [
      123,
      456
    ],
    "period": 90,
    "period_unit_id": 1,
    "allow_freeze": true,
    "freeze_limit": 30,
    "freeze_limit_unit_id": 1,
    "service_price_correction": true,
    "expiration_type_id": 1,
    "is_allow_empty_code": true,
    "is_united_balance": false,
    "united_balance_services_count": 10,
    "balance_edit_type_id": 2,
    "is_online_sale_enabled": false,
    "online_sale_title": "Updated Fitness Pack",
    "online_sale_description": "Updated description",
    "online_sale_price": 500,
    "online_image": "https://example.com/images/updated.jpg",
    "autoactivation_period": 3,
    "autoactivation_time_in_days": 10,
    "autoactivation_time_unit_id": 1,
    "is_archived": false,
    "services": [],
    "service_categories": [],
    "availability": [
      {
        "week_days": [
          1,
          2,
          3
        ],
        "intervals": [
          {
            "from": 28800,
            "to": 64800
          }
        ]
      }
    ]
  }'

Responses

Membership type updated successfully

Bodyapplication/json
successboolean
Example: true
dataobject(chain_loyalty_membership_type)

Chain-level membership type object

metaArray of arrays
Example: []
Response
application/json
{ "success": true, "data": { "id": 777, "salon_group_id": 333, "category_id": null, "title": "10-visit subscription", "period": 10, "period_unit_id": 3, "allow_freeze": true, "freeze_limit": 30, "freeze_limit_unit_id": 1, "is_booking_when_frozen_allowed": false, "is_allow_empty_code": false, "is_united_balance": true, "is_united_balance_unlimited": false, "is_code_required": false, "balance_edit_type_id": 1, "cost": 1000, "chain_price_min": 1000, "chain_price_max": 1500, "is_chain": true, "expiration_type_id": 1, "expiration_type_title": "On sale", "category": null, "weight": 0, "abonements_count": 0, "is_online_sale_enabled": false, "online_sale_title": "10-visit subscription", "online_sale_description": "Sold online with discount", "online_sale_price": 550, "service_price_correction": true, "united_balance_services_count": 10, "autoactivation_time": 10, "autoactivation_time_unit_id": 1, "attached_location_ids": [ … ], "attached_salon_ids": [ … ], "online_sale_image": "https://example.com/images/subscription_type.png", "is_archived": false, "date_archived": null, "availability": [ … ], "balance_container": { … } }, "meta": [] }

Delete membership type

Request

Deletes a membership type from the chain.

Warning: This action cannot be undone. Active subscriptions using this type may be affected.

Security
bearer
Path
chain_idintegerrequired

Chain ID

Example: 1
loyalty_membership_type_idintegerrequired

Membership type ID to delete

Example: 468039
Headers
Acceptstringrequired
Default application/vnd.api.v2+json
Content-Typestringrequired
Default application/json
Authorizationstringrequired

Bearer {partner_token}, User {user_token}

curl -i -X DELETE \
  https://developer.alteg.io/_mock/en/v1/chain/1/loyalty/abonement_types/468039 \
  -H 'Accept: application/vnd.api.v2+json' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json'

Responses

Membership type deleted successfully

Bodyapplication/json
successboolean
Example: true
datanull
metaArray of arrays
Example: []
Response
application/json
{ "success": true, "data": null, "meta": [] }

Clone membership type

Request

Creates a copy of an existing membership type with a new ID.

The cloned membership type will:

  • Have the same settings (cost, period, services, etc.)
  • Get a modified title with " (2)" suffix automatically added
  • Have a new unique ID
  • Preserve all service/category links from the original

Note: Requires chain-level permissions.

Security
bearer
Path
chain_idintegerrequired

Chain ID

Example: 1
loyalty_membership_type_idintegerrequired

Membership type ID to clone

Example: 489159
Headers
Acceptstringrequired
Default application/vnd.api.v2+json
Content-Typestringrequired
Default application/json
Authorizationstringrequired

Bearer {partner_token}, User {user_token}

Bodyapplication/json
object

Empty body required (or omit entirely)

curl -i -X POST \
  https://developer.alteg.io/_mock/en/v1/chain/1/loyalty/abonement_types/489159/clone \
  -H 'Accept: application/vnd.api.v2+json' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{}'

Responses

Membership type cloned successfully

Bodyapplication/json
successboolean
Example: true
dataobject(chain_loyalty_membership_type)

Chain-level membership type object

metaArray of arrays
Example: []
Response
application/json
{ "success": true, "data": { "id": 777, "salon_group_id": 333, "category_id": null, "title": "10-visit subscription", "period": 10, "period_unit_id": 3, "allow_freeze": true, "freeze_limit": 30, "freeze_limit_unit_id": 1, "is_booking_when_frozen_allowed": false, "is_allow_empty_code": false, "is_united_balance": true, "is_united_balance_unlimited": false, "is_code_required": false, "balance_edit_type_id": 1, "cost": 1000, "chain_price_min": 1000, "chain_price_max": 1500, "is_chain": true, "expiration_type_id": 1, "expiration_type_title": "On sale", "category": null, "weight": 0, "abonements_count": 0, "is_online_sale_enabled": false, "online_sale_title": "10-visit subscription", "online_sale_description": "Sold online with discount", "online_sale_price": 550, "service_price_correction": true, "united_balance_services_count": 10, "autoactivation_time": 10, "autoactivation_time_unit_id": 1, "attached_location_ids": [ … ], "attached_salon_ids": [ … ], "online_sale_image": "https://example.com/images/subscription_type.png", "is_archived": false, "date_archived": null, "availability": [ … ], "balance_container": { … } }, "meta": [] }

Fiscalization

Fiscal integration for tax compliance. Manage fiscal transactions, print fiscal receipts, and configure tax systems.

Operations

Utilities

Utility endpoints for validation, GDPR, image management, licensing, and tips configuration.

Operations

Marketplace

Integrations in the product knowledge base

Application marketplace integration for third-party applications.

Integration workflow:

  • Partner provides domain name, registration URL, and callback URL
  • User authorizes and is redirected to partner registration page
  • Partner redirects back to Altegio after successful registration
  • Partner confirms service activation via payment callback
Operations

Webhooks

Webhook configuration for receiving real-time event notifications from Altegio.

Operations

VoIP Integration

VoIP integration for managing phone calls and call history within Altegio.

Operations

Dictionaries

Reference data including countries, cities, business types, and industry classifications.

Operations