User authentication and session management for B2B integrations
- Get an Appointment
Business Management (1.0.0)
Full-featured B2B API for business operations.
Base URL: https://api.alteg.io/api
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.
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/b2b-v1/openapi/records/{location_id}
- Productionhttps://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/b2b-v1/openapi/records/24699 \
-H 'Accept: application/vnd.api.v2+json' \
-H 'Authorization: Bearer <YOUR_Bearer {PartnerToken}, User {UserToken}_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/b2b-v1/openapi/record/{location_id}/{record_id}
- Productionhttps://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/b2b-v1/openapi/record/{location_id}/{record_id}?include_consumables=0&include_finance_transactions=0' \
-H 'Accept: application/vnd.api.v2+json' \
-H 'Authorization: Bearer <YOUR_Bearer {PartnerToken}, User {UserToken}_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": [] }
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/b2b-v1/openapi/record/{location_id}/{record_id}
- Productionhttps://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 PUT \
'https://developer.alteg.io/_mock/en/b2b-v1/openapi/record/{location_id}/{record_id}?include_consumables=0&include_finance_transactions=0' \
-H 'Accept: application/vnd.api.v2+json' \
-H 'Authorization: Bearer <YOUR_Bearer {PartnerToken}, User {UserToken}_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
Object with data
{ "success": true, "data": { "id": 999, "services": [ … ], "client": { … }, "clients_count": 1, "staff": { … }, "datetime": "2026-09-21T23:00:00.000-05:00", "seance_length": 3600, "create_date": "2026-09-21T23:00:00.000-05:00", "comment": "test appointment!", "visit_attendance": 1, "confirmed": 1, "sms_before": 6, "sms_now": 1, "sms_now_text": "", "email_now": 1, "notified": 0, "master_request": 1, "api_id": "", "from_url": "", "review_requested": 0, "activity_id": 0, "documents": [ … ] }, "meta": [] }