End-customer authentication methods. Get access tokens required for some API operations.
- Get list of appointments
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
200requests per minute or5requests per second per IP address - URL API:
https://api.alteg.io/apiIf 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.
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/apiExample requests: - V1:GET https://api.alteg.io/api/v1/companies- V2:GET https://api.alteg.io/api/v2/companies/{id}/tags
- 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
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)
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 }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
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
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
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.
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 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.
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.
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
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
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.
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.
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 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 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 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 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 define how staff compensation is calculated based on Visits, Products, Memberships, tips, and other metrics. They describe commission schemes, fixed payments, and deductions.
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.
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
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 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 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 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 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
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.
Locations
Locations in the product knowledge base
Location management. Create, read, update locations and their settings.
Services
Services in the product knowledge base
Service and service category management. Define services offered by your locations.
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.
Clients
Clients in the product knowledge base
Client management including search, bulk operations, files, comments, and visit history.
Users & Permissions
Users in the product knowledge base
User account management, roles, permissions, and invitations. Control access to location features.
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.
Request
- staff_id: team member ID.
Use this to retrieve appointments for a specific team member
- client_id: Client ID
Use this to retrieve appointments for a specific client
- created_user_id: User ID
User who created the appointment
Use this to filter appointments created by a specific user
- start_date: Session start date (inclusive)
Returns appointments with a session starting on or after this date
- end_date: Session end date (inclusive)
Returns appointments with a session ending on or before this date
- c_start_date: Appointment creation date from
Returns appointments created on or after this date
- c_end_date: Appointment creation date until
Returns appointments created on or before this date
- changed_after: Modified or created after this datetime
Returns appointments created or modified after the specified date and time
- changed_before: Modified or created before this datetime
Returns appointments created or modified before the specified date and time
team member ID, if you only need appointments for a specific team member
The ID of the user who created the appointment. If you need appointments created by a specific user
Session date starting at (filter by session date). If you need appointments for a session starting from a specific date
Session date to. If you need appointments for a session before a specific date
Appointment creation date starting from(filter by appointment creation date). If you need appointments created since a specific date
Appointment creation date by (filter by appointment creation date).
The date the appointment was modified/created. If you need appointments created/modified starting from a specific date and time
The date the appointment was modified/created. If you need appointments created/modified before a specific date and time
Flag to include in the response financial transactions by appointments
- Mock serverhttps://developer.alteg.io/_mock/en/v1/records/{location_id}
- https://api.alteg.io/api/v1/records/{location_id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developer.alteg.io/_mock/en/v1/records/{location_id}?page=1&count=50&team_member_id=7572&client_id=572&created_user_id=7572&start_date=2026-01-21&end_date=2026-01-21&c_start_date=2026-01-21&c_end_date=2026-01-21&changed_after=2026-01-21T23%3A00%3A00&changed_before=2026-01-21T23%3A00%3A00&include_consumables=0&include_finance_transactions=0&with_deleted=true' \
-H 'Accept: application/vnd.api.v2+json' \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: string'OK
Array of objects with data
{ "success": true, "data": [ { … }, { … } ], "meta": { "page": 1, "total_count": 10 } }
Request
When creating an appointment for a group event, the event_id parameter becomes mandatory. In this case, the following parameters become optional:
- staff_id
- services
- datetime
- session_length
Custom fields You can pass custom values using custom fields created specifically for your location (see the "Custom Fields" section for setup details). Once created, these fields can be included in the custom_fields object when creating an appointment. Each key in this object must match the code of the corresponding custom field. Example:
If your location has the following custom fields: my_custom_field with type="number" some_another_field with type="list"
You can pass their values during appointment creation as follows: custom_fields:
{ "my_custom_field": 123, "some_another_field": ["first value", "second value"] }
- When this appointment is later retrieved using the GET method, the same custom field values will be returned in the response.
Service parameters (id, cost, discount)
Client parameters (phone, name, email)
Whether to keep the appointment if the time is busy or non-working, or give an error
Specifies how many hours before the visit an SMS reminder should be sent to the client. Set to 0 if no reminder is needed.
Specifies how many hours before the visit an email reminder should be sent to the client. Set to 0 if no reminder is needed.
Appointment status (2 - User confirmed the appointment, 1 - User came, services provided, 0 - user waiting, -1 - user did not show)
Technical break duration in seconds.
- Must be in multiples of 300 (5-minute intervals)
- Maximum value is 3600 (1 hour)
- If null or not provided, uses location default from Settings → Appointment Log → Technical Breaks
Technical break duration in seconds.
- Must be in multiples of 300 (5-minute intervals)
- Maximum value is 3600 (1 hour)
- If null or not provided, uses location default from Settings → Appointment Log → Technical Breaks
- Mock serverhttps://developer.alteg.io/_mock/en/v1/records/{location_id}
- https://api.alteg.io/api/v1/records/{location_id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X POST \
https://developer.alteg.io/_mock/en/v1/records/24699 \
-H 'Accept: application/vnd.api.v2+json' \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: application/json' \
-d '{
"staff_id": 8886,
"services": [
{
"id": 331,
"first_cost": 9000,
"discount": 50,
"cost": 4500
},
{
"id": 333,
"first_cost": 2000,
"discount": 10,
"cost": 1800
}
],
"client": {
"phone": "+13155550175",
"name": "James Smith",
"email": "j.smith@example.com"
},
"save_if_busy": false,
"datetime": "2026-09-21T23:00:00.000-05:00",
"seance_length": 3600,
"send_sms": true,
"comment": "test appointment!",
"sms_remain_hours": 6,
"email_remain_hours": 24,
"attendance": 1,
"api_id": "777",
"custom_color": "f44336",
"record_labels": [
"67345",
"104474"
],
"custom_fields": {
"my_custom_field": 123,
"some_another_field": [
"first value",
"second value"
]
}
}'Created
Array of objects with data
{ "success": true, "data": [ { … }, { … } ], "meta": { "page": 1, "total_count": 10 } }
- Mock serverhttps://developer.alteg.io/_mock/en/v1/record/{location_id}/{record_id}
- https://api.alteg.io/api/v1/record/{location_id}/{record_id}
- curl
- JavaScript
- Node.js
- Python
- Java
- C#
- PHP
- Go
- Ruby
- R
- Payload
curl -i -X GET \
'https://developer.alteg.io/_mock/en/v1/record/{location_id}/{record_id}?include_consumables=0&include_finance_transactions=0' \
-H 'Accept: application/vnd.api.v2+json' \
-H 'Authorization: YOUR_API_KEY_HERE' \
-H 'Content-Type: string'OK
Object with data
{ "success": true, "data": { "id": 2, "company_id": 4564, "staff_id": 9, "services": [ … ], "goods_transactions": [], "staff": { … }, "client": { … }, "clients_count": 1, "date": "2026-09-21T23:00:00.000-05:00", "datetime": "2026-09-21T23:00:00.000-05:00", "create_date": "2026-01-17T19:41:44-0500", "comment": "do not write down", "visit_attendance": 0, "attendance": 0, "confirmed": 1, "seance_length": 3600, "length": 3600, "sms_before": 0, "sms_now": 0, "sms_now_text": "", "email_now": 0, "notified": 0, "master_request": 0, "api_id": "", "from_url": "", "review_requested": 0, "visit_id": 8263004, "created_user_id": 1073232, "deleted": false, "paid_full": 0, "prepaid": false, "prepaid_confirmed": false, "last_change_date": "2026-01-17T19:44:14-0500", "custom_color": "f44336", "custom_font_color": "#ffffff", "record_labels": [ … ], "activity_id": 0, "custom_fields": [], "documents": [ … ], "sms_remain_hours": 5, "email_remain_hours": 1, "bookform_id": 0, "record_from": "", "is_mobile": 0, "is_sale_bill_printed": false, "consumables": [ … ], "finance_transactions": [ … ] }, "meta": [] }
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.
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.
Products
Products in the product knowledge base
Product catalog management. Define products available for sale and organize them into categories.
Inventory
Inventory in the product knowledge base
Stock management including storage locations, inventory documents, stock movements, and consumables tracking.
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.
Deposits
Client accounts in the product knowledge base
Client deposit account management and operations.
Loyalty Cards
Client cards in the product knowledge base
Loyalty card management including card types, manual transactions, and card assignments.
Subscriptions & Certificates
Memberships in the product knowledge base · Certificates in the product knowledge base
Membership and certificate management including creation, freezing, and balance operations.
Loyalty Programs
Loyalty programs in the product knowledge base
Loyalty programs and loyalty transaction management.
Salary
Payroll in the product knowledge base
Salary calculations, payroll management, and compensation tracking for team members.
Custom Fields
Custom fields in the product knowledge base
Additional custom field definitions for extending entity data structures.
Chain Management
Chains in the product knowledge base
Chain-level operations for managing multiple locations within a business chain.
Chain Loyalty Programs
Loyalty programs in the product knowledge base
Chain-level loyalty program management including programs, transactions, and message templates.
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