Arbox API For Developers
Welcome to Arbox, a business management platform where businesses manage all their daily challenges and interact with their customers. Our mission is to help companies to operate as best they can with their customers.
The API is part of the Arbox platform and allows developers to programmatically access and update data inside an Arbox account. The API connects external sources (websites, other applications, integration tools like Zapier) to Arbox.
So before you begin, you need to know:
The business’ API key will be provided to each business within the Arbox platform.
Please copy the API key from the “Settings” page > “Business Information”
location_box_fk parameter, which will be provided upon request to the support team.
You can only access the API using the HTTP protocol
Postman
Generating an access token using Postman.
Error Manual
The Arbox Open API returns the following error codes in related cases:
Error Code | Meaning | Description |
415 | FAILED | One or more of the fields are incorrect or invalid |
500 | INTERNAL SERVER ERROR | There was a problem with our server. Please try again later. |
400 | INVALID FORM REQUEST | One or more of your form values are not valid |
400 | INVALID API USER | The user connected with the API is invalid |
401 | NO API KEY | Please supply an access token |
401 | INVALID API KEY | Please provide a valid access token |
401 | NOT UNIQUE API KEY | Issued access token, please contact support@arboxapp.com |
Leads
Get leads in progress
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Response:
Array of all leads
Request Sample:
Get All Converted Leads
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Response:
Array of all leads that were converted to clients
Request Sample:
Get Lost Leads
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Response:
Array of all leads that were converted to clients
Get All Lead Statuses
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Response:
Array of all lead statuses
Request Sample:
Get All Lead Sources
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Response:
Array of all lead sources
Request Sample:
Search Lead by email, phone, or ID
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Body Params:
Select the raw option.
Parameter | Description | Appearance | Explanation |
user | string or integer | required | Email, phone or Id |
isLead | Boolean | Optional | true - get lead details |
Response:
An array that contains the user and its details, or user not found message if it could not find the user.
Request Sample:
Create Lead
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Body Params:
Select the form-data option.
Parameter | Description | Appearance | Explanation |
first_name | string | required | Lead’s first name |
last_name | string | optional | Lead’s last name |
phone | string | required | Lead’s contact number |
string | optional | Lead’s contact email | |
location_box_fk | Int (location must be connected to business) | required | System number - studio’s place |
status_fk | Int (number) | optional | System number - lead’s status at which it will appear after filling out the form. |
source_fk | Int (number) | optional | System number - the landing page from which the lead is generated. |
campaign | string | optional |
|
users_boxes_owner_id | Int (number) | optional | Staff member ID that will manage the lead. |
comment | string | optional | Any additional parameter can be used here. |
allow_sms
| Enum = yes, no | optional | Case sensitive (Use lower case) |
allow_mailing_list | Enum = yes, no | optional | Case sensitive (Use lower case) |
Request Sample:
Successful Response Sample:
{ "statusCode": 200, "data": { "id": 53736, "first_name": "Ella", "last_name": "Fish", "phone": 05239348583 "email": "talky@talk.8200" } } |
Update Lead Status
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Body Params:
Select the raw option.
Parameter | Description | Appearance | Explanation |
leadId | integer | required | Lead id |
statusFk | integer | required | Status Id, must be connected to the business |
comment | string | optional | Notes |
Successful Response Sample:
{ "statusCode": 200, "data": { "id": 258009, "first_name": "Test", "last_name": "name", "email": "test@gmail.com", "phone": "030020032", "status_fk": 51 }, "extra": null } |
Clients & Staff members
Get All Active Users
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Response:
Array of all active clients
Body Params:
Select the raw option.
Parameter | Description | Appearance | Explanation |
staff | Boolean | Optional | true - get staff users | false - get clients |
active | INT | Optional | user status:
active=1 -> Active
active=0 -> None active |
Request Sample:
Search Client by email or ID
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Body Params:
Select the raw option.
Parameter | Description | Appearance | Explanation |
user | string or integer | required | Email or Id |
Response:
An array that contains the user and its details, or user not found message if it could not find the user.
Request Sample:
Create Client
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Body Params:
Select the form-data option.
Parameter | Description | Appearance | Explanation |
first_name | string | required | First name |
last_name | string | required | Last name |
string | required | Client email | |
locations_box_fk | Int (number) | optional | The location_id where the session is at |
active | INT | optional | user status:
active=1 -> Active
active=0 -> None Active |
phone | string | optional | Client number |
additional_phone | string | optional | Secondary client number |
gender | string | optional | male\female\other |
personal_id | string | optional | Client personal id |
birthday (yyyy-mm-dd) | DATE | optional | birthdate |
allow_sms
| Enum = yes, no | optional | Case sensitive (Use lower case) |
allow_mailing_list | Enum = yes, no | optional | Case sensitive (Use lower case) |
send_welcome_email | Boolean = true, false | optional |
|
Request Sample:
Successful Response Sample:
{ "statusCode": 200, "data": { "id": 3647191 }, "extra": null } |
Update Client
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Body Params:
Select the form-data option.
Parameter | Description | Appearance | Explanation |
first_name | string | required | first name |
last_name | string | required | last name |
phone | string | optional | contact number |
active | INT | required | user status:
active=1 -> Active
active=0 -> None Active |
birthday (yyyy-mm-dd) | DATE | optional | birthdate |
allow_sms
| Enum = yes, no | optional | Case sensitive (Use lower case) |
allow_mailing_list | Enum = yes, no | optional | Case sensitive (Use lower case) |
Request Sample:
Successful Response Sample:
{ "statusCode": 200, "data": { "id": 3647191, "first_name": "apiUser", "last_name": "test", "active": 0 }, "extra": null } |
Delete Client
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Body Params:
Select the form-data option.
Parameter | Description | Appearance | Explanation |
users_id | string | required | Client user_id |
is_permanent | is_permanent: true | required |
|
Client Login Authentication
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Body Params:
Select the form-data option.
Parameter | Description | Appearance | Explanation |
integer | required | User’s email address | |
password | integer | required | User’s password |
Successful Response Sample:
{ "statusCode": 200, "data": { "isActive": true/false } |
Get Client Data
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Body Params:
Select the form-data option.
VALUE on the request can be ID of the user or email address
Successful Response Sample:
{ "statusCode": 200, "data": { "id": 494716, "user_fk": 9, "box_fk": 8, "locations_box_fk": 1, "first_name": "test", "last_name": "register", "child": 0, "birthday": "2222-02-12", "image_public_id_cloudinary": null, "employee_id": null, "gender": "male", "phone": "0523783352", "rfid": null, "additional_phone": "6", "weight": "100", "height": "180", "country": "AO", "city": "add", "address": "sda", "zip": "12321", "state": "xasd", "personal_id": "23131231", "medical_cert": 1, "epidemic_statement": 1, "active": 1, "suspended": 0, "restricted": 0, "restricted_time": null, "has_waiver": 1, "date_waiver": null, "has_basics_workshop": 0, "has_nutrition_counseling": 0, "has_professional_meeting": 0, "has_insurance": 0, "has_changed_property": 0, "allow_sms": "unknown", "allow_mailing_list": "yes", "rivhit_customer_id": "8046", "union_fk": null, "sugarwod_id": null, "source_fk": null, "status_fk": null, "lost_reasons_fk": null, "created_at": "2015-08-17 10:25:29", "updated_at": "2022-02-16 09:54:50", "deleted_at": null, "email": "dagan+9@arboxapp.com", "age": "199.1", "full_name": "test register", "full_path_image_user": "https://arboxassets.s3.eu-central-1.amazonaws.com/icons8-male_user.png" } |
Purchases
Create Purchase (Membership)
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Body Params:
Select the form-data option.
Parameter | Description | Appearance | Explanation |
id | string | required | Users_boxes_id |
membership_types_id | string | required | membership id |
start | string | required | membership start date (yyyy-mm-dd) |
end | string | optional | membership end date (yyyy-mm-dd) |
generate_qr | Boolean = true, false | optional | true= Create a Static QR Code for this membership |
Successful Response Sample:
{ "statusCode": 200, "data": { "id": 741, "start": "2022-12-13", "end": "2023-03-12", "sessions_left": null, "active": 1 }, "extra": null } |
Get Client Purchases
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Body Params:
Select the raw option.
Parameter | Description | Appearance | Explanation |
userId | String | required | user id |
Successful Response Sample:
{ "statusCode": 200, "data": { "id": 146, "name": "15 Sessions", “type”: “plan”, “price”: “300”, “sessions_left: 2”, “start”: “2020-01-01”, “end”: “2021-01-01”, “active”: 1, “cancelled” : 0, “debt” : 100, “created_at”: “2020-01-01” } } |
Schedule
Get Schedule
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Body Params:
Select the raw option.
Parameter | Description | Appearance | Explanation |
from | 'dd-mm-YYYY' or 'mm-dd-YYYY' | Required If Parameter “to” exists then optional | According to the time format |
to | 'dd-mm-YYYY' or 'mm-dd-YYYY' | Required If Parameter “from” exists then optional | According to the time format |
location | Int, (location must be connected to business) | optional | System number - studio’s place |
bookings
| Boolean - True / False
| optional
| True - Show the number of participants in the class |
waiting_list
| Boolean True / False
| optional
| True - Show the number of participants on the Waiting list |
Successful Response Sample:
{ statusCode:200, data: Array({ "coach": “Michael Cohen”, "secondCoach": “Lora Smith”, "name": “Yoga for Beginners”, "startTime": ״14:00:00, "endTime": “15:00:00”, "date": ”2020-07-26”, "liveLink": Live Link to class, if exists, "isCancelled": false, "maxMembers": 15, "location": Tel Aviv, "isTransparent": false })} |
Error code list
Integer | Name | Description |
415 | DATE RANGE EXCEEDS | The date range is greater than 7 days, please limit your request to up to 7 days |
Create Group Session
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Body Params:
Select the raw option:
Parameter | Description | Appearance | Explanation |
box_category_fk | Int (number) | required | Event type id |
date | Date string in format YYYY-MM-DD | required | The date of the event if it’s a one-time event, or the start date if it’s a recurring event |
time | Time string in format HH:mm: ss | required | The start time of the event |
max_users | Int (number) | optional | Maximum capacity of the session |
min_users | Int (number) | optional | Minimum capacity of the session. |
live_link | String | optional | A Zoom/google link |
cancel_limit | Int (number) | optional | How many hours before the session should it be canceled if there are no minimum users. |
coach_fk | Int (number) | optional | The user_id of the coach |
second_coach_fk | Int (number) | optional | The user_id of the coach |
locations_box_fk | Int (number) | required | The location_id where the session is at |
enable_registration_time | boolean | optional | How many hours before the session should it be open for registration in the app/site |
disable_cancellation_time | Int (number) | optional | How many hours before the session a user can cancel without a fine. |
enable_late_cancellation | boolean | optional | Allow users to cancel after the limited cancellation time with a fine |
transparent | boolean | optional | Default false. Should it be presented in the user's app. |
end_time | Time string in format HH:mm:ss | required | The end time of the event |
repeatConfig | object | required | The session accuracy configurations |
repeatConfig.repeat | boolean | required | Is the session one time or not |
repeatConfig.type | String, one of : ['forever', 'until', 'times'] | Required if repeat=1 | forever= no end date until= until a certain date (passed in “until” prop) times= several times (passed in “times” prop) |
repeatConfig.until | Date string in format YYYY-MM-DD | Required if type=’until’ | Until what date should the sessions be created. Only relevant if type=’until’ |
repeatConfig.times | Int (number) | Required if type=’times’ | How many times should the sessions be repeated. Only relevant if type=’times’ |
repeatConfig.days | An array of numbers from 0-Sunday to 6-Saturday | Required if repeat=1 | What days of the week should a session be created |
repeatConfig.seriesName | String | Required if type=’forever’ | The name of the series. Only relevant when type=‘forever’ |
Request Sample:
Tasks
Get All Task Types
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Response:
Array of all task types
Request Sample:
Create Task
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Body Params:
Select the raw option.
Parameter | Description | Appearance | Explanation |
|
targetableType | string | required | user/lead /general |
|
taskTypeId | Int (number) | required | System number of task type |
|
targetableId | Int (number) or string when targetableType=user | optional | Required when targetableType is user or lead, id or email |
|
assignedTo | Int (number) | optional | Staff member assignee |
|
task_owner_user_fk | Int (number) | optional | Created by |
|
dateFormat | string | optional | When you want to use your format for a date. (must be Y-m-d or d-m-Y or m-d-Y) |
|
reminderDate | string | required | As default, the format is due to box location (mm-dd-yyyy or dd-mm-yyyy), you can also use your format, according to the parameter “format”. |
|
reminderTime | string | required | Hh:mm or HH:mm A format |
|
locationBoxFk | Int, (location must be connected to business) | required | System number - studio’s place filling out the form.
|
|
description | string | optional | comment |
|
Request Sample:
Successful Response Sample:
{ "statusCode": 200, "data": { "id": 1599744, "reminderTime": "2021-08-19 19:30:00", "taskType": "Call", "description": null, "targetableType": null, "targetableId": null }, "extra": null } |
Messages
Send Message
API URL:
Acceptable request type:
Headers:
In the KEY field, enter “apiKey”
In the VALUE field, enter the business API KEY
Body Params:
Select the raw option.
Parameter | Description | Appearance | Explanation |
type | string | required | sms/push |
identify | string | optional | email/phone /user_id |
user | array | required | List of users or leads, by user email, ID, or phone (according to the identify field), the user must be a member of your business |
message | string | required | The message will be sent |
subject | string | optional | subject, for an email message |
isLead | boolean | optional | If true, send a message to leads, otherwise, to users |
Request Sample:
Successful Response Sample:
{ "statusCode": 200, "data": { "type": "sms", "message": "Test", "users": [ 178695, 24 ], "sendMessageIsNotAllowed": [24] }, "extra": null } |