Developer Center
About IsOn24
IsOn24 AI Voice Assistant answers phone calls like a live person. It also texts back and keeps your voicemails, texts, and online chats together. Your clients make appointments over the phone and online in a built-in appointment system.
About IsOn24 API
The IsOn24 APIs allow developers to receive call records, text messages, and appointments for a business, initiate text messages, and create new appointments via REST. You can develop, ship, and monetize your integrations on the IsOn24 platform.
Important Objects
This section provides a high-level overview of the components of the IsOn24 API. Our list of field names is constantly changing. For the most up-to-date schema, please refer to this section.
Clients
Clients are the customers who contact businesses on the IsOn24 platform - they belong to the IsOn24 business. Most other objects are linked to a client.
{
  "ContactId": String # The unique identifier
  "ContactNumber": String # Phone number 
  "ContactName": String # client name 
  "ContactEmail": String # email address
  "Created": Integer # Millisecs since Epoch 
  "Updated": Integer # Millisecs since Epoch 
}
Businesses
The IsOn24 object is for an independent business or a specific store location of a multi-location business.
{
  "id": String # The unique identifier
  "name": String # name
  "phone": String # Phone number 
  "sphone": String # Phone number 
  "email": String # email address
  "timezone": String # Timezone such as "America/New_York"
  "Created": Integer # Millisecs since Epoch 
  "Updated": Integer # Millisecs since Epoch 
}
Accounts
An account may have one or multiple businesses, business locations, or stores. 
{
  "id": String # The unique identifier
  "name": String # name
  "Created": Integer # Millisecs since Epoch 
  "Updated": Integer # Millisecs since Epoch 
}
Users
A user belongs to a business and an account. They can access the IsOn24 app to communicate with clients.
{
  "UserId": String # login username of the user
  "UserName": String # Name of the user
  "Created": Integer # Millisecs since Epoch 
  "Updated": Integer # Millisecs since Epoch 
}
Call records
When the IsOn24 answers a call for a business, it captures all the relevant information about the call in the corresponding call record.
{
  "id": String # The unique identifier
  "ToNumber": String # Phone number 
  "TranscriptLink": String # Direct IsOn24 app URL for the detailed call transcript
  "BeginTime": Integer # Millisecs since Epoch 
  "EndTime": Integer # Millisecs since Epoch 
  "BeginTimeFormated": String # Formatted date time in the Business Timezone
  "EndTimeFormated": String # Formatted date time in the Business Timezone
  "CallLength": String # Formatted time period
  "ResultType": String # concatenated context strings for the call
  "Initiator":"CLIENT",
  "ContactId": String # The unique identifier
  "ContactNumber": String # Phone number 
  "ContactName": String # client name 
  "ContactEmail": String # client email address
  "HeaderText": String # Optional header text for the message
  }
Messages
A message is a voicemail, an online chat question, or a text message sent or received for a business. 
{
  "id": String # The unique identifier
  "Content": String # Actual message content
  "Created": Integer # Millisecs since Epoch 
  "CreatedFormated": String # Formatted date time in the Business Timezone
  "ConvId": Integer # Conversation Id
  "SenderType": String # "BIZ" or "CLIENT"
  "ContactId": String # The unique identifier
  "ContactNumber": String # Phone number 
  "ContactName": String # client name 
  "ContactEmail": String # client email address
  "UserId": String # login username of the user
  "UserName": String # Name of the user
  "HeaderText": String # Optional header text for the message
}
Conversations
A conversation captures all the messages between a business and a specific client.
{
  "id": String # The unique identifier
  "ContactId": String # The unique identifier
  "BusinessId": String # The unique identifier
  "Created": Integer # Millisecs since Epoch 
  "CreatedFormated": String # Formatted date time in the Business Timezone
  "Updated": Integer # Millisecs since Epoch 
  "UpdatedFormated": String # Formatted date time in the Business Timezone
}
Appointments
An appointment is a calendar event booked by a client with a specific business. 
{
  "id": String # The unique DE-DUP ison24-identifier for a specific update for this appointment
  "Aid": String # The unique ison24-identifier for this appointment
  "ExternalId": String # The unique external-identifier for this appointment 
  "ExternalReason": String # Optional external-context for this appointment 
  "Created": Integer # Millisecs since Epoch 
  "Updated": Integer # Millisecs since Epoch 
  "EventType": String # "Appointment", "Reservation", "Booking", "Meeting", etc.
  "State": String # "NEW", "CONFIRMED", "CANCELLED", "DECLINED"
  "StartTime": Integer # Millisecs since Epoch 
  "StartTimeFormated": String # Formatted date time in the Business Timezone
  "EndTime": Integer # Millisecs since Epoch 
  "EndTimeFormated": String # Formatted date time in the Business Timezone
  "Duration": Integer # Minutes
  "GuestCount": Integer # 
  "Content": String # Optional text-only information for this appointment
  "CustomInfo": String # Optional Stringified JSON for additional attributes 
  "ContactId": String # The unique identifier
  "ContactNumber": String # Phone number 
  "ContactName": String # client name 
  "ContactEmail": String # email address
  "HeaderText": String # Optional header text for the appointment
}
Need Help?
Contact our API support team here.