Download OpenAPI specification:Download
At Gladly, we believe that customer service is best when it's a conversation. That means more than just helping customers with one-off questions or issues, it's about making them feel known, valued, and respected for the individuals they are.
The Gladly API was built to help facilitate those relationships, providing agents with the rich customer context they need to deliver seamless experiences that make customers feel like they're more than just a number in a sea of others.
You can integrate easily with Gladly by calling Gladly's REST API and implementing the Lookup API to provide data from your own services.
Some examples of what you do through Gladly APIs include managing customer profile data, interacting with a customer's timeline, providing the latest information about a customer's orders, and more.
Clients can access the REST API via HTTPS at your organization's Gladly domain (e.g. https://{organization}.gladly.com
).
Resources follow REST semantics and utilize industry-standard HTTP verbs, response codes, and authentication schemes. In addition, all responses and payloads are in JSON with consistent error codes and formats.
The Gladly Lookup API allows your organization to provide data services to power the agent's experience with a complete view of your customers' information, transactions, and activity. You can provide a web service that implements the Lookup API and Gladly will call it when that data is needed.
Like the REST API, the Lookup API is specified using REST semantics, and exchanges JSON requests and responses authenticated and signed with secure keys.
Gladly will perform lookups when certain activities occur within Gladly, such as when a customer's profile is loaded.
Test the myriad possibilities of the Gladly API in a safe, secure space. We'll enable the Gladly API in a separate sandbox environment, so you can experiment freely without impacting your production environment (or vice versa).
Your sandbox environment is accessible at https://{organization}.gladly.qa
, where organization
is your company name. For specific API endpoints, see documentation below.
Think of this section as getting the keys to unlocking your access to the Gladly APIs. First, you'll need to set up an account with the necessary API permissions. With these permissions, you can then go on to create the API Token(s) you need to access Gladly's API resources.
Gladly Administrators can set API permissions on an agent-by-agent basis. We'll discuss how this maps to API access in the section on authentication below.
To allow a user to create API tokens and access the API:
We recommend creating a dedicated user to make API calls, whose account won't be used for agent and organization management. This will help you with any future audits of API activity vs. agent activity.
You must create an API token to access Gladly API resources (see above Permissions). If your profile already has access to the API User permission, you'll see a new menu item titled API Tokens:
Click on API Tokens, then the Add Token button on the upper right-hand corner of the page:
A token will be generated and named, by default, New Token (though depending on whether you have existing tokens, it may be named New Token 2, or New Token 3 etc.). You can rename the token to something more easily referenceable by clicking the name to edit it.
This token will be associated with your agent profile, which we will refer to as the API User in this document.
For security purposes, you'll only see a new token once before you navigate away from the page.
Should you lose this token, or wish to rotate your application keys, you can do the following:
Gladly API uses token-based Basic Authentication. API tokens are associated with designated Gladly users. To create and use an API token, your user must have the API User permission. An API token can be used to perform any API request without restriction.
user name | password |
---|---|
agent email | API token |
The credentials must be passed via an Authorization
HTTP header. All requests must be made over HTTPS.
curl -u user@organization.com:$GLADLY_API_TOKEN \
https://organization.gladly.com/api/v1/organization
Security Scheme Type | HTTP |
---|---|
HTTP Authorization Scheme | basic |
An Agent represents the user profile of a person who helps customers in Gladly. The API allows you to lookup agents who participated in conversations with customers.
Get an agent profile by their unique id.
agentId | string Example: WmeA3Y51Q5ayCAaZ1AotIA id of the agent |
Agent
{- "id": "WmeA3Y51Q5ayCAaZ1AotIA",
- "name": "Amy Agent",
- "emailAddress": "amy.agent@company.com"
}
A Public Answer in Gladly represents a consumer-facing Answer.
Answers API allows you to search and retrieve Public Answers (created directly in the Gladly UI), which you can display in the Gladly Sidekick web widget, use to build your website's help center/FAQ page, or publish on any page on your website.
This API can be used without an API token as it only provides access to public content. You may also work with Gladly Support to enable CORS access so that the API can be used directly from client-side javascript.
Returns a list of answers that match the provided query string.
orgId | string Example: ihKsWxiZCDVtXg1iwVmT9Q id of your organization You can look up the ID using the Get organization API. |
q | string Example: q=reset password search term |
lng | string Example: lng=en-us language code |
found answers
[- {
- "id": "1grfSzATQLa334VDLCWc4A",
- "name": "How to reset your password"
}
]
Returns the first 1000 public answers sorted alphabetically by name.
orgId | string Example: ihKsWxiZCDVtXg1iwVmT9Q id of your organization You can look up the ID using the Get organization API. |
lng | string Example: lng=es-419 Language of the answers returned Defaults to |
answers
[- {
- "id": "1grfSzATQLa334VDLCWc4A",
- "name": "How to reset your password",
- "bodyHtml": "<div><a href=\"/reset-password\">Click here</a> to reset your password</div>",
- "language": "en-us"
}
]
Returns the answer with the provided id.
orgId | string Example: ihKsWxiZCDVtXg1iwVmT9Q id of your organization You can look up the ID using the Get organization API. |
answerId | string Example: 1grfSzATQLa334VDLCWc4A id of the answer |
answer
{- "id": "1grfSzATQLa334VDLCWc4A",
- "name": "How to reset your password",
- "bodyHtml": "<div><a href=\"/reset-password\">Click here</a> to reset your password</div>",
- "language": "en-us"
}
Communications API enables you to programatically send messages to your customers via Gladly communications channels such as SMS.
To send an SMS message to a customer specified by a mobile phone number.
Gladly can send outbound SMS messages globally. By default, your organization is set up to only allow access to your home country. To send SMS messages to other countries, please contact your Gladly Customer Success representative.
SMS to send
customer required | object (customer with mobile number) |
from required | string (mobile number) |
body required | string (SMS message) |
the customer and conversation item ID
Invalid field(s) in request body
{- "customer": {
- "mobileNumber": "+14152223000"
}, - "from": "+14152223316",
- "body": "hello, this is a sample SMS message!"
}
{- "customerId": "gHufx-U3QqOmhvFuViceTw",
- "conversationItemId": "pOVVdzweSumI4bFxjlT8LA"
}
A Conversation in Gladly contains the timeline of activity for a customer including communications to and from your organization along with other internal and external activity. Conversations API enables you to interact with the customer conversation timeline.
A number of different types of items may appear in a customer's timeline. Each is described below.
Item Type | Create | Read | Update | Delete | Media |
---|---|---|---|---|---|
Chat Message | Yes | Yes | No | No | No |
Conversation Status Change | Yes | Yes | Yes | No | No |
Customer Activity | Yes | Yes | No | Yes | No |
Yes | Yes | No | No | No | |
Facebook Messenger Message | Yes | Yes | No | No | No |
Note | Yes | Yes | No | No | No |
Phone Call | No | Yes | No | No | Yes |
SMS Message | Yes | Yes | No | No | No |
Task | Yes | Yes | Yes | No | No |
Topic Change | Yes | Yes | No | Yes | No |
Voicemail | No | Yes | No | No | Yes |
Content of messages sent between Gladly and customers through Gladly Chat.
Record of a change in the status of a conversation.
Information about activities customers participated in, for example, emails they received, issues in another system, or customer statisfaction surveys they answered.
These can be created through the API to bring in information from other systems.
Adding an activity to the customer timeline is not customer facing.
For example, posting an email activity to the timeline does not send an email to the customer.
Content of emails sent between Gladly and customers.
Content of messages sent between Gladly and customers on Facebook Messenger.
Content of the note recorded in Gladly.
Information about phone calls that took place between Gladly and customers.
Content of SMS text messages sent between Gladly and customers. To send SMS messages to customers through the API, see Send SMS.
Interacting with tasks through the conversations API is deprecated. Use Tasks API instead.
Record of an agent adding or removing a topic from a conversation in Gladly.
Information about voicemail left by customers in Gladly.
Get conversation metadata such as it's assignee, topics, inbox, etc.
conversationId required | string Example: 9BcE2O0DQ2ynGHRmk9FeoA Id of the conversation to get |
Conversation metadata
A conversation with the given id does not exist
{- "id": "HXRqKC5GSV-jAlq0-sxYTA",
- "topicIds": [