Getting Started
Creating an Account
If your organization is already part of Tellescope, an administrator can send you an invitation to register through their Settings page.
- Register for a new account
- Confirm your email address
- Create a new organization (making you an administrator)
Once you have an account, you can generate an API key in your Settings page.
Authentication
Include an API key (Secret Key) in each request with the apiKey parameter.
You may also include an authToken as a Bearer Token in requests.
Public endpoints do not require authentication.
Documentation Conventions
Authentication info is omitted from examples in favor of conciseness.
A question mark (?) in example input indicates an optional parameter.
Updating Records
Records are created, updated, and returned as JSON. Most fields are represented as strings or numbers, but others are more complicated.
When updating array fields, values are appended by default.
When updating object fields, only the given key-values pairs are overwritten by default.
To overwrite an array or object in an update, use the { replaceObjectFields: true } option.
Endusers
Constraints
- email must be unique across Endusers
- phone must be unique across Endusers
- externalId must be unique across Endusers
- One of email or phone is required
- Endusers can only access and modify their own profile
Login enduser (Public)
Method: POST
https://api.tellescope.com/v1/login-enduser
Generates an authentication token for access to enduser-facing endpoints
{
id?: string,
phone?: string,
email?: string,
password: string,
durationInSeconds?: number (> 0)
}
Register as Enduser (Public)
Method: POST
https://api.tellescope.com/v1/register-as-enduser
Allows and enduser to register directly with an email and password
{
fname?: string,
lname?: string,
emailConsent?: boolean,
email: string,
password: string
}
Set enduser password
Method: POST
https://api.tellescope.com/v1/set-enduser-password
Sets (or resets) an enduser's password. Minimum length 8 characters.
{
id: string,
password: string
}
Check enduser authentication
Method: GET
https://api.tellescope.com/v1/enduser-is-authenticated
Checks the validity of an enduser's authToken
{
id?: string,
authToken: string
}
Refresh enduser authentication
Method: POST
https://api.tellescope.com/v1/refresh-enduser-session
When called by an authenticated enduser, generates a new session
Authentication info only
Generate authToken
Method: GET
https://api.tellescope.com/v1/generate-enduser-auth-token
Generates an authToken for use by an enduser. Useful for integrating a 3rd-party authentication process or creating a session for an enduser without a set password in Tellescope.
{
id?: string,
externalId?: string,
email?: string,
phone?: string,
durationInSeconds?: number (> 0)
}
Logout enduser
Method: POST
https://api.tellescope.com/v1/logout-enduser
Logs out an enduser
Authentication info only
Get session info
Method: GET
https://api.tellescope.com/v1/enduser-session-info
When called by an authenticated enduser, returns their session details
Authentication info only
Create Enduser
Method: POST
https://api.tellescope.com/v1/enduser
Creates a new Enduser
{
externalId?: string,
email?: string,
emailConsent?: boolean,
phone?: string,
phoneConsent?: boolean,
fname?: string,
lname?: string,
dateOfBirth?: Date,
journeys?: {
journey.id: journey.state.name
},
tags?: [string],
fields?: {
string: string
},
preference?: 'email' | 'sms' | 'call' | 'chat',
assignedTo?: [string],
unread?: boolean,
lastActive?: Date,
lastLogout?: Date,
lastCommunication?: Date,
avatar?: string
}
Create Endusers
Method: POST
https://api.tellescope.com/v1/endusers
Creates new Endusers
{
create: [
{
externalId?: string,
email?: string,
emailConsent?: boolean,
phone?: string,
phoneConsent?: boolean,
fname?: string,
lname?: string,
dateOfBirth?: Date,
journeys?: {
journey.id: journey.state.name
},
tags?: [string],
fields?: {
string: string
},
preference?: 'email' | 'sms' | 'call' | 'chat',
assignedTo?: [string],
unread?: boolean,
lastActive?: Date,
lastLogout?: Date,
lastCommunication?: Date,
avatar?: string
}
]
}
Update Enduser
Method: PATCH
https://api.tellescope.com/v1/enduser/:id
Updates Enduser fields
{
updates: {
externalId?: string,
email?: string,
emailConsent?: boolean,
phone?: string,
phoneConsent?: boolean,
fname?: string,
lname?: string,
dateOfBirth?: Date,
journeys?: {
journey.id: journey.state.name
},
tags?: [string],
fields?: {
string: string
},
preference?: 'email' | 'sms' | 'call' | 'chat',
assignedTo?: [string],
unread?: boolean,
lastActive?: Date,
lastLogout?: Date,
lastCommunication?: Date,
avatar?: string
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get Enduser
Method: GET
https://api.tellescope.com/v1/enduser/:id
Get an Enduser
{
filter?: {}
}
Get Endusers
Method: GET
https://api.tellescope.com/v1/endusers
Get a page of Endusers
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete Enduser
Method: DELETE
https://api.tellescope.com/v1/enduser/:id
Delete one Enduser
Authentication info only
EnduserStatusUpdates
Create EnduserStatusUpdate
Method: POST
https://api.tellescope.com/v1/enduser-status-update
Creates a new EnduserStatusUpdate
{
journeyId: string,
enduserId: string,
status: string
}
Create EnduserStatusUpdates
Method: POST
https://api.tellescope.com/v1/enduser-status-updates
Creates new EnduserStatusUpdates
{
create: [
{
journeyId: string,
enduserId: string,
status: string
}
]
}
Get EnduserStatusUpdate
Method: GET
https://api.tellescope.com/v1/enduser-status-update/:id
Get an EnduserStatusUpdate
{
filter?: {}
}
Get EnduserStatusUpdates
Method: GET
https://api.tellescope.com/v1/enduser-status-updates
Get a page of EnduserStatusUpdates
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete EnduserStatusUpdate
Method: DELETE
https://api.tellescope.com/v1/enduser-status-update/:id
Delete one EnduserStatusUpdate
Authentication info only
ApiKeys
Generate ApiKey
Method: POST
https://api.tellescope.com/v1/api-key
Generates and returns a new ApiKey. The returned key is not stored in Tellescope and cannot be retrieved later.
Authentication info only
Get ApiKey
Method: GET
https://api.tellescope.com/v1/api-key/:id
Get an ApiKey
{
filter?: {}
}
Get ApiKeys
Method: GET
https://api.tellescope.com/v1/api-keys
Get a page of ApiKeys
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete ApiKey
Method: DELETE
https://api.tellescope.com/v1/api-key/:id
Delete one ApiKey
Authentication info only
EngagementEvents
Create EngagementEvent
Method: POST
https://api.tellescope.com/v1/engagement-event
Creates a new EngagementEvent
{
enduserId: string,
type: string,
significance: number (> 0),
timestamp?: Date,
fields?: {
string: string
}
}
Create EngagementEvents
Method: POST
https://api.tellescope.com/v1/engagement-events
Creates new EngagementEvents
{
create: [
{
enduserId: string,
type: string,
significance: number (> 0),
timestamp?: Date,
fields?: {
string: string
}
}
]
}
Update EngagementEvent
Method: PATCH
https://api.tellescope.com/v1/engagement-event/:id
Updates EngagementEvent fields
{
updates: {
type?: string,
significance?: number (> 0),
timestamp?: Date,
fields?: {
string: string
}
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get EngagementEvent
Method: GET
https://api.tellescope.com/v1/engagement-event/:id
Get an EngagementEvent
{
filter?: {}
}
Get EngagementEvents
Method: GET
https://api.tellescope.com/v1/engagement-events
Get a page of EngagementEvents
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete EngagementEvent
Method: DELETE
https://api.tellescope.com/v1/engagement-event/:id
Delete one EngagementEvent
Authentication info only
Journeys
Constraints
- title must be unique across Journeys
- states.name must be unique for each Journeys
- states must include defaultState
Update State
Method: PATCH
https://api.tellescope.com/v1/journey/:id/state/:name
Updates a state in a journey. Endusers and automations are updated automatically.
{
updates:
}
Delete States
Method: DELETE
https://api.tellescope.com/v1/journey/:id/states
Deletes states in a journey. Endusers and automations are updated automatically.
{
states: [string]
}
Create Journey
Method: POST
https://api.tellescope.com/v1/journey
Creates a new Journey
- To update state names, use Update State to ensure that updates propagate to endusers
{
title: string,
defaultState?: string,
description?: string,
states?: [{ name: string, priority: 'Disengated' | 'N/A' | 'Engaged' }]
}
Create Journeys
Method: POST
https://api.tellescope.com/v1/journeys
Creates new Journeys
{
create: [
{
title: string,
defaultState?: string,
description?: string,
states?: [{ name: string, priority: 'Disengated' | 'N/A' | 'Engaged' }]
}
]
}
Update Journey
Method: PATCH
https://api.tellescope.com/v1/journey/:id
Updates Journey fields
{
updates: {
title?: string,
defaultState?: string,
description?: string,
states?: [{ name: string, priority: 'Disengated' | 'N/A' | 'Engaged' }]
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get Journey
Method: GET
https://api.tellescope.com/v1/journey/:id
Get an Journey
{
filter?: {}
}
Get Journeys
Method: GET
https://api.tellescope.com/v1/journeys
Get a page of Journeys
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete Journey
Method: DELETE
https://api.tellescope.com/v1/journey/:id
Delete one Journey
Authentication info only
Tasks
Create Task
Method: POST
https://api.tellescope.com/v1/task
Creates a new Task
{
text: string,
completed?: boolean,
description?: string,
dueDate?: Date,
assignedTo?: string,
enduserId?: string,
subscribers?: [string],
subscriberRoles?: [string]
}
Create Tasks
Method: POST
https://api.tellescope.com/v1/tasks
Creates new Tasks
{
create: [
{
text: string,
completed?: boolean,
description?: string,
dueDate?: Date,
assignedTo?: string,
enduserId?: string,
subscribers?: [string],
subscriberRoles?: [string]
}
]
}
Update Task
Method: PATCH
https://api.tellescope.com/v1/task/:id
Updates Task fields
{
updates: {
text?: string,
completed?: boolean,
description?: string,
dueDate?: Date,
assignedTo?: string,
enduserId?: string,
subscribers?: [string],
subscriberRoles?: [string]
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get Task
Method: GET
https://api.tellescope.com/v1/task/:id
Get an Task
{
filter?: {}
}
Get Tasks
Method: GET
https://api.tellescope.com/v1/tasks
Get a page of Tasks
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete Task
Method: DELETE
https://api.tellescope.com/v1/task/:id
Delete one Task
Authentication info only
Emails
Constraints
- Email and email consent must be set for enduser
Create Email
Method: POST
https://api.tellescope.com/v1/email
Sends or logs an email
{
logOnly?: boolean,
enduserId: string,
userId?: string,
subject: string,
textContent: stringValidator25000,
HTMLContent?: stringValidator25000,
timestamp?: Date,
replyTo?: string,
inbound?: boolean,
readBy?: { [id: string]: Date }
}
Create Emails
Method: POST
https://api.tellescope.com/v1/emails
Sends or logs multiple emails
{
create: [
{
logOnly?: boolean,
enduserId: string,
userId?: string,
subject: string,
textContent: stringValidator25000,
HTMLContent?: stringValidator25000,
timestamp?: Date,
replyTo?: string,
inbound?: boolean,
readBy?: { [id: string]: Date }
}
]
}
Update Email
Method: PATCH
https://api.tellescope.com/v1/email/:id
Updates Email fields
{
updates: {
logOnly?: boolean,
enduserId?: string,
subject?: string,
textContent?: stringValidator25000,
HTMLContent?: stringValidator25000,
timestamp?: Date,
replyTo?: string,
inbound?: boolean,
readBy?: { [id: string]: Date }
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get Email
Method: GET
https://api.tellescope.com/v1/email/:id
Get an Email
{
filter?: {}
}
Get Emails
Method: GET
https://api.tellescope.com/v1/emails
Get a page of Emails
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete Email
Method: DELETE
https://api.tellescope.com/v1/email/:id
Delete one Email
Authentication info only
SmsMessages
Constraints
- Phone number and phone consent must be set for enduser
Create SmsMessage
Method: POST
https://api.tellescope.com/v1/sms-message
Sends or logs an SMS message
{
logOnly?: boolean,
message: string,
enduserId: string,
userId?: string,
inbound?: boolean,
newThread?: boolean,
readBy?: { [id: string]: Date }
}
Create SmsMessages
Method: POST
https://api.tellescope.com/v1/sms-messages
Sends or logs multiple SMS message
{
create: [
{
logOnly?: boolean,
message: string,
enduserId: string,
userId?: string,
inbound?: boolean,
newThread?: boolean,
readBy?: { [id: string]: Date }
}
]
}
Update SmsMessage
Method: PATCH
https://api.tellescope.com/v1/sms-message/:id
Updates SmsMessage fields
{
updates: {
logOnly?: boolean,
inbound?: boolean,
readBy?: { [id: string]: Date }
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get SmsMessage
Method: GET
https://api.tellescope.com/v1/sms-message/:id
Get an SmsMessage
{
filter?: {}
}
Get SmsMessages
Method: GET
https://api.tellescope.com/v1/sms-messages
Get a page of SmsMessages
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete SmsMessage
Method: DELETE
https://api.tellescope.com/v1/sms-message/:id
Delete one SmsMessage
Authentication info only
ChatRooms
Constraints
- Elements of userIds must be unique for each ChatRooms
- Elements of enduserIds must be unique for each ChatRooms
Join chat room
Method: POST
https://api.tellescope.com/v1/join-chat-room
Allows a user to join a chat room with no other users, for use in accepting support chats.
{
id: string
}
Attendee display info
Method: GET
https://api.tellescope.com/v1/chat-room-display-info
Returns an object which maps userIds/enduserIds to display information. Includes the roomId as the 'id' field.
{
id: string
}
Create ChatRoom
Method: POST
https://api.tellescope.com/v1/chat-room
Creates a new ChatRoom
{
title?: string,
numMessages?: number (> 0),
recentMessageSentAt?: number (> 0),
type?: 'internal' | 'external',
topic?: string,
topicId?: string,
description?: string,
userIds?: [string],
enduserIds?: [string],
ticketId?: string,
endedAt?: Date,
tags?: [string],
infoForUser?:
}
Create ChatRooms
Method: POST
https://api.tellescope.com/v1/chat-rooms
Creates new ChatRooms
{
create: [
{
title?: string,
numMessages?: number (> 0),
recentMessageSentAt?: number (> 0),
type?: 'internal' | 'external',
topic?: string,
topicId?: string,
description?: string,
userIds?: [string],
enduserIds?: [string],
ticketId?: string,
endedAt?: Date,
tags?: [string],
infoForUser?:
}
]
}
Update ChatRoom
Method: PATCH
https://api.tellescope.com/v1/chat-room/:id
Updates ChatRoom fields
{
updates: {
title?: string,
numMessages?: number (> 0),
recentMessageSentAt?: number (> 0),
type?: 'internal' | 'external',
topic?: string,
topicId?: string,
description?: string,
userIds?: [string],
enduserIds?: [string],
ticketId?: string,
endedAt?: Date,
tags?: [string],
infoForUser?:
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get ChatRoom
Method: GET
https://api.tellescope.com/v1/chat-room/:id
Get an ChatRoom
{
filter?: {}
}
Get ChatRooms
Method: GET
https://api.tellescope.com/v1/chat-rooms
Get a page of ChatRooms
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete ChatRoom
Method: DELETE
https://api.tellescope.com/v1/chat-room/:id
Delete one ChatRoom
Authentication info only
ChatMessages
Create Chat
Method: POST
https://api.tellescope.com/v1/chat
Creates a new Chat
{
roomId: string,
message: string,
html?: string,
replyId?: string,
readBy?: { [id: string]: Date },
attachments?: [{ type: 'image' | 'file', secureName: string }]
}
Get Chat
Method: GET
https://api.tellescope.com/v1/chat/:id
Get an Chat
{
filter: {
roomId: string
}
}
Get Chats
Method: GET
https://api.tellescope.com/v1/chats
Get a page of Chats
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter: {
roomId: string
}
}
Delete Chat
Method: DELETE
https://api.tellescope.com/v1/chat/:id
Delete one Chat
Authentication info only
Users
Constraints
- username must be unique across Users
- Only admin users can update others' profiles
Request Password Reset (Public)
Method: POST
https://api.tellescope.com/v1/request-password-reset
Sends a password reset email
{
email: string
}
Reset Password (Public)
Method: POST
https://api.tellescope.com/v1/reset-password
For a code generated by request-password-reset, sets a new password
{
resetToken: string,
newPassword: string
}
User Display Info
Method: GET
https://api.tellescope.com/v1/user-display-info
Gets display info for users, accessible by endusers
Authentication info only
Refresh enduser authentication
Method: POST
https://api.tellescope.com/v1/refresh-session
When called by an authenticated user, generates a new session
Authentication info only
Get User
Method: GET
https://api.tellescope.com/v1/user/:id
Get an User
{
filter?: {}
}
Get Users
Method: GET
https://api.tellescope.com/v1/users
Get a page of Users
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Update User
Method: PATCH
https://api.tellescope.com/v1/user/:id
Users can only be updated by self or an organization admin
{
updates: {
email?: string,
phone?: string,
fields?: {
string: string
},
fname?: string,
lname?: string,
accountType?: 'Business',
skills?: [string],
notificationPreferences?: ,
avatar?: string
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Templates
Constraints
- title must be unique across Templates
Create Template
Method: POST
https://api.tellescope.com/v1/template
Creates a new Template
{
title: string,
subject: string,
message: stringValidator25000,
html?: stringValidator25000,
editorState?: stringValidator25000,
type?: 'enduser' | 'team',
mode?:
}
Create Templates
Method: POST
https://api.tellescope.com/v1/templates
Creates new Templates
{
create: [
{
title: string,
subject: string,
message: stringValidator25000,
html?: stringValidator25000,
editorState?: stringValidator25000,
type?: 'enduser' | 'team',
mode?:
}
]
}
Update Template
Method: PATCH
https://api.tellescope.com/v1/template/:id
Updates Template fields
{
updates: {
title?: string,
subject?: string,
message?: stringValidator25000,
html?: stringValidator25000,
editorState?: stringValidator25000,
type?: 'enduser' | 'team',
mode?:
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get Template
Method: GET
https://api.tellescope.com/v1/template/:id
Get an Template
{
filter?: {}
}
Get Templates
Method: GET
https://api.tellescope.com/v1/templates
Get a page of Templates
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete Template
Method: DELETE
https://api.tellescope.com/v1/template/:id
Delete one Template
Authentication info only
Files
Prepare File Upload
Method: POST
https://api.tellescope.com/v1/prepare-file-upload
Generates an upload link for a file, storing metadata as a File record.
{
name: string,
size: number,
type: string,
enduserId?: string
}
Generate File Download
Method: GET
https://api.tellescope.com/v1/file-download-URL
Generates a temporary download link for a file (which expires in no more than 7 days).
{
secureName: string
}
Get File
Method: GET
https://api.tellescope.com/v1/file/:id
Get an File
{
filter?: {}
}
Get Files
Method: GET
https://api.tellescope.com/v1/files
Get a page of Files
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Update File
Method: PATCH
https://api.tellescope.com/v1/file/:id
Updates File fields
{
updates: {
name?: string,
size?: number,
type?: string,
enduserId?: string
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Tickets
Constraints
- When created by an enduser, enduserId must match their id
Create Ticket
Method: POST
https://api.tellescope.com/v1/ticket
Creates a new Ticket
{
title: string,
enduserId?: string,
automationStepId?: string,
closedForReason?: string,
closeReasons?: [string],
chatRoomId?: string,
dueDateInMS?: number (> 0),
closedAt?: Date,
owner?: string,
message?: string,
type?: string,
skillsRequired?: [string]
}
Create Tickets
Method: POST
https://api.tellescope.com/v1/tickets
Creates new Tickets
{
create: [
{
title: string,
enduserId?: string,
automationStepId?: string,
closedForReason?: string,
closeReasons?: [string],
chatRoomId?: string,
dueDateInMS?: number (> 0),
closedAt?: Date,
owner?: string,
message?: string,
type?: string,
skillsRequired?: [string]
}
]
}
Update Ticket
Method: PATCH
https://api.tellescope.com/v1/ticket/:id
Updates Ticket fields
{
updates: {
title?: string,
enduserId?: string,
automationStepId?: string,
closedForReason?: string,
closeReasons?: [string],
chatRoomId?: string,
dueDateInMS?: number (> 0),
closedAt?: Date,
owner?: string,
message?: string,
type?: string,
skillsRequired?: [string]
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get Ticket
Method: GET
https://api.tellescope.com/v1/ticket/:id
Get an Ticket
{
filter?: {}
}
Get Tickets
Method: GET
https://api.tellescope.com/v1/tickets
Get a page of Tickets
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete Ticket
Method: DELETE
https://api.tellescope.com/v1/ticket/:id
Delete one Ticket
Authentication info only
Meetings
Start Meeting
Method: POST
https://api.tellescope.com/v1/start-meeting
Generates an video meeting room
{
attendees?: [{ type: 'user' | 'enduser', id: string }],
publicRead?: boolean
}
Send Meeting Invite
Method: POST
https://api.tellescope.com/v1/send-meeting-invite
Sends a meeting invite via email to the given enduser
{
meetingId: string,
enduserId: string
}
End Meeting
Method: POST
https://api.tellescope.com/v1/end-meeting
Ends a video meeting
{
id: string
}
Add Attendees to Meeting
Method: POST
https://api.tellescope.com/v1/add-attendees-to-meeting
Adds other attendees to a meeting
{
id: string,
attendees: [{ type: 'user' | 'enduser', id: string }]
}
Get attendee info for meeting
Method: GET
https://api.tellescope.com/v1/attendee-info
Gets meeting info for the current user, and details about other attendees
{
id: string
}
Get list of meetings
Method: GET
https://api.tellescope.com/v1/my-meetings
Gets meetings for the current user.
Authentication info only
Get Meetings (Admin Only)
Method: GET
https://api.tellescope.com/v1/meetings
Get a page of Meetings
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Notes
Create Note
Method: POST
https://api.tellescope.com/v1/note
Creates a new Note
{
enduserId: string,
ticketId?: string,
text?: string,
title?: string,
fields?: {
string: string
}
}
Create Notes
Method: POST
https://api.tellescope.com/v1/notes
Creates new Notes
{
create: [
{
enduserId: string,
ticketId?: string,
text?: string,
title?: string,
fields?: {
string: string
}
}
]
}
Update Note
Method: PATCH
https://api.tellescope.com/v1/note/:id
Updates Note fields
{
updates: {
enduserId?: string,
ticketId?: string,
text?: string,
title?: string,
fields?: {
string: string
}
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get Note
Method: GET
https://api.tellescope.com/v1/note/:id
Get an Note
{
filter?: {}
}
Get Notes
Method: GET
https://api.tellescope.com/v1/notes
Get a page of Notes
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete Note
Method: DELETE
https://api.tellescope.com/v1/note/:id
Delete one Note
Authentication info only
Forms
Create Form
Method: POST
https://api.tellescope.com/v1/form
Creates a new Form
{
title: string,
numFields?: number (> 0),
customGreeting?: string,
customSignature?: string,
customSubject?: string,
allowPublicURL?: boolean,
intakePhone?: 'optional' | 'required',
thanksMessage?: string
}
Create Forms
Method: POST
https://api.tellescope.com/v1/forms
Creates new Forms
{
create: [
{
title: string,
numFields?: number (> 0),
customGreeting?: string,
customSignature?: string,
customSubject?: string,
allowPublicURL?: boolean,
intakePhone?: 'optional' | 'required',
thanksMessage?: string
}
]
}
Update Form
Method: PATCH
https://api.tellescope.com/v1/form/:id
Updates Form fields
{
updates: {
title?: string,
numFields?: number (> 0),
customGreeting?: string,
customSignature?: string,
customSubject?: string,
allowPublicURL?: boolean,
intakePhone?: 'optional' | 'required',
thanksMessage?: string
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get Form
Method: GET
https://api.tellescope.com/v1/form/:id
Get an Form
{
filter?: {}
}
Get Forms
Method: GET
https://api.tellescope.com/v1/forms
Get a page of Forms
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete Form
Method: DELETE
https://api.tellescope.com/v1/form/:id
Delete one Form
Authentication info only
FormFields
Create FormField
Method: POST
https://api.tellescope.com/v1/form-field
Creates a new FormField
{
formId: string,
title: string,
type?: ,
previousFields?: ,
options?: ,
description?: string,
intakeField?: string,
isOptional?: boolean
}
Create FormFields
Method: POST
https://api.tellescope.com/v1/form-fields
Creates new FormFields
{
create: [
{
formId: string,
title: string,
type?: ,
previousFields?: ,
options?: ,
description?: string,
intakeField?: string,
isOptional?: boolean
}
]
}
Update FormField
Method: PATCH
https://api.tellescope.com/v1/form-field/:id
Updates FormField fields
{
updates: {
formId?: string,
title?: string,
type?: ,
previousFields?: ,
options?: ,
description?: string,
intakeField?: string,
isOptional?: boolean
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get FormField
Method: GET
https://api.tellescope.com/v1/form-field/:id
Get an FormField
{
filter?: {}
}
Get FormFields
Method: GET
https://api.tellescope.com/v1/form-fields
Get a page of FormFields
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete FormField
Method: DELETE
https://api.tellescope.com/v1/form-field/:id
Delete one FormField
Authentication info only
FormResponses
Generate Session for Public Form (Public)
Method: POST
https://api.tellescope.com/v1/session-for-public-form
Generates a session for filling out a public form.
{
email: string,
formId: string,
businessId: string,
phone?: string,
fname?: string,
lname?: string
}
Prepare Form Response
Method: POST
https://api.tellescope.com/v1/prepare-form-response
Generates an access code that allows an enduser to submit a form response.
{
formId: string,
enduserId: string,
automationStepId?: string
}
Submit Form Response
Method: PATCH
https://api.tellescope.com/v1/submit-form-response
With an accessCode, stores responses to a form.
{
accessCode: string,
responses: [string | number | [] | { }],
automationStepId?: string
}
Create FormResponse
Method: POST
https://api.tellescope.com/v1/form-response
Creates a new FormResponse
{
formId: string,
enduserId?: string,
submissionExpiresAt?: number (> 0),
publicSubmit?: boolean,
submittedBy?: string,
accessCode?: string,
userEmail?: string,
submittedAt?: Date,
formTitle?: string,
responses?: [string | number | [] | { }]
}
Create FormResponses
Method: POST
https://api.tellescope.com/v1/form-responses
Creates new FormResponses
{
create: [
{
formId: string,
enduserId?: string,
submissionExpiresAt?: number (> 0),
publicSubmit?: boolean,
submittedBy?: string,
accessCode?: string,
userEmail?: string,
submittedAt?: Date,
formTitle?: string,
responses?: [string | number | [] | { }]
}
]
}
Update FormResponse
Method: PATCH
https://api.tellescope.com/v1/form-response/:id
Updates FormResponse fields
{
updates: {
formId?: string,
enduserId?: string,
publicSubmit?: boolean,
submittedBy?: string,
accessCode?: string,
userEmail?: string,
submittedAt?: Date,
formTitle?: string,
responses?: [string | number | [] | { }]
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get FormResponse
Method: GET
https://api.tellescope.com/v1/form-response/:id
Get an FormResponse
{
filter?: {}
}
Get FormResponses
Method: GET
https://api.tellescope.com/v1/form-responses
Get a page of FormResponses
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete FormResponse
Method: DELETE
https://api.tellescope.com/v1/form-response/:id
Delete one FormResponse
Authentication info only
Webhooks
Each webhook is a POST request to the given URL, of the form
{
model: string,
type: 'create' | 'update' | 'delete',
records: object[],
timestamp: string,
integrity: string,
relatedRecords: { [id: string]: object }
}
This includes the name of the model, the type of operation performed, and an array of the new, updated, or deleted model(s).
The integrity field is a sha256 hash of (record ids concatenated from index 0 to the end, with the timestamp and then secret appended)
For example hook: { records: [{ id: '1', ... }, { id: '4', ... }], timestamp: "1029358" } with secret set as "secret",
integrity = sha256('141029358secret')
Each time you handle a webhook, you should verify the integrity field is correct to ensure that the request is actually coming from Tellescope.
For performance, a relatedRecords object is provided as a cache. This object maps some ids referenced in the webhook records to the corresponding models in Tellescope.
For a given webhook, relatedRecords may be empty, or may not include all related ids. In such cases, you'll need to query against the Tellescope API for an up-to-date reference.
Currently supported models for Webhooks: chats, meetings
You can handle webhooks from automations in Tellescope, which have a simpler format:
{
type: 'automation'
message: string,
timestamp: string,
integrity: string,
}
In this case, integrity is a simple sha256 hash of message + timestamp + secret
You can also handle calendar event reminders as webhooks, which have the format:
{
type: 'calendar_event_reminder'
event: CalendarEvent,
timestamp: string,
integrity: string,
}
In this case, integrity is a simple sha256 hash of event.id + timestamp + secret
Configure Webhooks (Admin Only)
Method: POST
https://api.tellescope.com/v1/configure-webhooks
Sets the URL, secret, and initial subscriptions for your organization. Only one webhooks configuration per organization is allowed at this time. Your secret must exceed 15 characters and should be generated randomly.
{
url: string,
secret: string,
subscriptions?: { [ModelName]?: { create?: boolean, update?: boolean, delete?: boolean } }
}
Get current configuration info
Method: GET
https://api.tellescope.com/v1/webhook-configuration
Returns current webhook configuration
Authentication info only
Update Webhooks (Admin Only)
Method: PATCH
https://api.tellescope.com/v1/update-webhooks
Modifies only subscriptions to models included in subscriptionUpdates. To remove subscriptions for a given model, set all values to false.
{
url?: string,
secret?: string,
subscriptionUpdates?: { [ModelName]?: { create?: boolean, update?: boolean, delete?: boolean } }
}
Send Automation Webhook
Method: POST
https://api.tellescope.com/v1/send-automation-webhook
Sends a webhook with the automations format, useful for testing automation integrations
{
message: string
}
Send Calendar Event Reminder Webhook
Method: POST
https://api.tellescope.com/v1/send-calendar-event-reminder-webhook
Sends a webhook with the calendar reminder format, useful for testing integrations
{
id: string
}
CalendarEvents
Create CalendarEvent
Method: POST
https://api.tellescope.com/v1/calendar-event
Creates a new CalendarEvent
{
title: string,
startTimeInMS: number (> 0),
durationInMinutes: number (> 0),
description?: string,
chatRoomId?: string,
attendees?: [{ type: 'user' | 'enduser', id: string }],
reminders?: ,
publicRead?: boolean,
displayImage?: string,
fields?: {
string: string
}
}
Create CalendarEvents
Method: POST
https://api.tellescope.com/v1/calendar-events
Creates new CalendarEvents
{
create: [
{
title: string,
startTimeInMS: number (> 0),
durationInMinutes: number (> 0),
description?: string,
chatRoomId?: string,
attendees?: [{ type: 'user' | 'enduser', id: string }],
reminders?: ,
publicRead?: boolean,
displayImage?: string,
fields?: {
string: string
}
}
]
}
Update CalendarEvent
Method: PATCH
https://api.tellescope.com/v1/calendar-event/:id
Updates CalendarEvent fields
{
updates: {
title?: string,
startTimeInMS?: number (> 0),
durationInMinutes?: number (> 0),
description?: string,
chatRoomId?: string,
attendees?: [{ type: 'user' | 'enduser', id: string }],
reminders?: ,
publicRead?: boolean,
displayImage?: string,
fields?: {
string: string
}
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get CalendarEvent
Method: GET
https://api.tellescope.com/v1/calendar-event/:id
Get an CalendarEvent
{
filter?: {}
}
Get CalendarEvents
Method: GET
https://api.tellescope.com/v1/calendar-events
Get a page of CalendarEvents
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete CalendarEvent
Method: DELETE
https://api.tellescope.com/v1/calendar-event/:id
Delete one CalendarEvent
Authentication info only
SequenceAutomations
Create SequenceAutomation
Method: POST
https://api.tellescope.com/v1/sequence-automation
Creates a new SequenceAutomation
{
title: string
}
Create SequenceAutomations
Method: POST
https://api.tellescope.com/v1/sequence-automations
Creates new SequenceAutomations
{
create: [
{
title: string
}
]
}
Update SequenceAutomation
Method: PATCH
https://api.tellescope.com/v1/sequence-automation/:id
Updates SequenceAutomation fields
{
updates: {
title?: string
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get SequenceAutomation
Method: GET
https://api.tellescope.com/v1/sequence-automation/:id
Get an SequenceAutomation
{
filter?: {}
}
Get SequenceAutomations
Method: GET
https://api.tellescope.com/v1/sequence-automations
Get a page of SequenceAutomations
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete SequenceAutomation
Method: DELETE
https://api.tellescope.com/v1/sequence-automation/:id
Delete one SequenceAutomation
Authentication info only
AutomationSteps
Constraints
- updateStateForJourney cannot have the same info as enterState or leaveState events
- Event, action, and conditions cannot all be shared by an existing event automation (no duplicates)
Create AutomationStep
Method: POST
https://api.tellescope.com/v1/automation-step
Creates a new AutomationStep
{
journeyId: string,
event: ,
action: ,
conditions?:
}
Create AutomationSteps
Method: POST
https://api.tellescope.com/v1/automation-steps
Creates new AutomationSteps
{
create: [
{
journeyId: string,
event: ,
action: ,
conditions?:
}
]
}
Update AutomationStep
Method: PATCH
https://api.tellescope.com/v1/automation-step/:id
Updates AutomationStep fields
{
updates: {
journeyId?: string,
event?: ,
action?: ,
conditions?:
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get AutomationStep
Method: GET
https://api.tellescope.com/v1/automation-step/:id
Get an AutomationStep
{
filter?: {}
}
Get AutomationSteps
Method: GET
https://api.tellescope.com/v1/automation-steps
Get a page of AutomationSteps
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete AutomationStep
Method: DELETE
https://api.tellescope.com/v1/automation-step/:id
Delete one AutomationStep
Authentication info only
AutomatedActions
Create AutomatedAction
Method: POST
https://api.tellescope.com/v1/automated-action
Creates a new AutomatedAction
{
cancelConditions?: ,
automationStepId: string,
enduserId: string,
journeyId: string,
event: ,
action: ,
status: ,
processAfter: number (> 0)
}
Create AutomatedActions
Method: POST
https://api.tellescope.com/v1/automated-actions
Creates new AutomatedActions
{
create: [
{
cancelConditions?: ,
automationStepId: string,
enduserId: string,
journeyId: string,
event: ,
action: ,
status: ,
processAfter: number (> 0)
}
]
}
Update AutomatedAction
Method: PATCH
https://api.tellescope.com/v1/automated-action/:id
Updates AutomatedAction fields
{
updates: {
cancelConditions?: ,
automationStepId?: string,
enduserId?: string,
journeyId?: string,
event?: ,
action?: ,
status?: ,
processAfter?: number (> 0)
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get AutomatedAction
Method: GET
https://api.tellescope.com/v1/automated-action/:id
Get an AutomatedAction
{
filter?: {}
}
Get AutomatedActions
Method: GET
https://api.tellescope.com/v1/automated-actions
Get a page of AutomatedActions
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete AutomatedAction
Method: DELETE
https://api.tellescope.com/v1/automated-action/:id
Delete one AutomatedAction
Authentication info only
UserLogs
Get UserLog
Method: GET
https://api.tellescope.com/v1/user-log/:id
Get an UserLog
{
filter?: {}
}
Get UserLogs
Method: GET
https://api.tellescope.com/v1/user-logs
Get a page of UserLogs
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
UserNotifications
Send Team Email Notification
Method: POST
https://api.tellescope.com/v1/send-user-email-notification
Sends an email notification to a team member (user)
{
userId: string,
message: string,
subject?: string
}
Create UserNotification
Method: POST
https://api.tellescope.com/v1/user-notification
Creates a new UserNotification
{
userId: string,
type: string,
message: string,
read?: boolean,
relatedRecords?:
}
Create UserNotifications
Method: POST
https://api.tellescope.com/v1/user-notifications
Creates new UserNotifications
{
create: [
{
userId: string,
type: string,
message: string,
read?: boolean,
relatedRecords?:
}
]
}
Update UserNotification
Method: PATCH
https://api.tellescope.com/v1/user-notification/:id
Updates UserNotification fields
{
updates: {
userId?: string,
type?: string,
message?: string,
read?: boolean,
relatedRecords?:
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get UserNotification
Method: GET
https://api.tellescope.com/v1/user-notification/:id
Get an UserNotification
{
filter?: {}
}
Get UserNotifications
Method: GET
https://api.tellescope.com/v1/user-notifications
Get a page of UserNotifications
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete UserNotification
Method: DELETE
https://api.tellescope.com/v1/user-notification/:id
Delete one UserNotification
Authentication info only
EnduserObservations
Create EnduserObservation
Method: POST
https://api.tellescope.com/v1/enduser-observation
Creates a new EnduserObservation
{
category: ,
status: ,
measurement: ,
enduserId: string,
code?: string,
source?: string,
type?: string,
notes?: string,
recordedAt?: Date
}
Create EnduserObservations
Method: POST
https://api.tellescope.com/v1/enduser-observations
Creates new EnduserObservations
{
create: [
{
category: ,
status: ,
measurement: ,
enduserId: string,
code?: string,
source?: string,
type?: string,
notes?: string,
recordedAt?: Date
}
]
}
Update EnduserObservation
Method: PATCH
https://api.tellescope.com/v1/enduser-observation/:id
Updates EnduserObservation fields
{
updates: {
category?: ,
status?: ,
measurement?: ,
enduserId?: string,
code?: string,
source?: string,
type?: string,
notes?: string,
recordedAt?: Date
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get EnduserObservation
Method: GET
https://api.tellescope.com/v1/enduser-observation/:id
Get an EnduserObservation
{
filter?: {}
}
Get EnduserObservations
Method: GET
https://api.tellescope.com/v1/enduser-observations
Get a page of EnduserObservations
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete EnduserObservation
Method: DELETE
https://api.tellescope.com/v1/enduser-observation/:id
Delete one EnduserObservation
Authentication info only
ManagedContentRecords
Create ManagedContentRecord
Method: POST
https://api.tellescope.com/v1/managed-content-record
Creates a new ManagedContentRecord
{
slug?: string,
title: string,
description?: string,
textContent: stringValidator25000,
htmlContent?: stringValidator25000,
editorState?: stringValidator25000,
mode?: ,
files?: [string],
tags?: [string]
}
Create ManagedContentRecords
Method: POST
https://api.tellescope.com/v1/managed-content-records
Creates new ManagedContentRecords
{
create: [
{
slug?: string,
title: string,
description?: string,
textContent: stringValidator25000,
htmlContent?: stringValidator25000,
editorState?: stringValidator25000,
mode?: ,
files?: [string],
tags?: [string]
}
]
}
Update ManagedContentRecord
Method: PATCH
https://api.tellescope.com/v1/managed-content-record/:id
Updates ManagedContentRecord fields
{
updates: {
slug?: string,
title?: string,
description?: string,
textContent?: stringValidator25000,
htmlContent?: stringValidator25000,
editorState?: stringValidator25000,
mode?: ,
files?: [string],
tags?: [string]
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get ManagedContentRecord
Method: GET
https://api.tellescope.com/v1/managed-content-record/:id
Get an ManagedContentRecord
{
filter?: {}
}
Get ManagedContentRecords
Method: GET
https://api.tellescope.com/v1/managed-content-records
Get a page of ManagedContentRecords
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete ManagedContentRecord
Method: DELETE
https://api.tellescope.com/v1/managed-content-record/:id
Delete one ManagedContentRecord
Authentication info only
Forums
Constraints
- title must be unique across Forums
Create Forum
Method: POST
https://api.tellescope.com/v1/forum
Creates a new Forum
{
title: string,
description?: string,
publicRead?: boolean,
slug?: string
}
Create Forums
Method: POST
https://api.tellescope.com/v1/forums
Creates new Forums
{
create: [
{
title: string,
description?: string,
publicRead?: boolean,
slug?: string
}
]
}
Update Forum
Method: PATCH
https://api.tellescope.com/v1/forum/:id
Updates Forum fields
{
updates: {
title?: string,
description?: string,
publicRead?: boolean,
slug?: string
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get Forum
Method: GET
https://api.tellescope.com/v1/forum/:id
Get an Forum
{
filter?: {}
}
Get Forums
Method: GET
https://api.tellescope.com/v1/forums
Get a page of Forums
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete Forum
Method: DELETE
https://api.tellescope.com/v1/forum/:id
Delete one Forum
Authentication info only
ForumPosts
Create ForumPost
Method: POST
https://api.tellescope.com/v1/forum-post
Creates a new ForumPost
{
forumId: string,
postedBy?: ,
numComments?: number (> 0),
numLikes?: number (> 0),
textContent: stringValidator25000,
htmlContent?: stringValidator25000,
editorState?: stringValidator25000,
slug?: string
}
Create ForumPosts
Method: POST
https://api.tellescope.com/v1/forum-posts
Creates new ForumPosts
{
create: [
{
forumId: string,
postedBy?: ,
numComments?: number (> 0),
numLikes?: number (> 0),
textContent: stringValidator25000,
htmlContent?: stringValidator25000,
editorState?: stringValidator25000,
slug?: string
}
]
}
Update ForumPost
Method: PATCH
https://api.tellescope.com/v1/forum-post/:id
Updates ForumPost fields
{
updates: {
forumId?: string,
postedBy?: ,
numComments?: number (> 0),
numLikes?: number (> 0),
textContent?: stringValidator25000,
htmlContent?: stringValidator25000,
editorState?: stringValidator25000,
slug?: string
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get ForumPost
Method: GET
https://api.tellescope.com/v1/forum-post/:id
Get an ForumPost
{
filter?: {}
}
Get ForumPosts
Method: GET
https://api.tellescope.com/v1/forum-posts
Get a page of ForumPosts
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete ForumPost
Method: DELETE
https://api.tellescope.com/v1/forum-post/:id
Delete one ForumPost
Authentication info only
PostComments
Create PostComment
Method: POST
https://api.tellescope.com/v1/post-comment
Creates a new PostComment
{
forumId: string,
postId: string,
replyTo?: string,
postedBy?: ,
attachments?: [string],
textContent: stringValidator25000,
htmlContent?: stringValidator25000,
editorState?: stringValidator25000
}
Create PostComments
Method: POST
https://api.tellescope.com/v1/post-comments
Creates new PostComments
{
create: [
{
forumId: string,
postId: string,
replyTo?: string,
postedBy?: ,
attachments?: [string],
textContent: stringValidator25000,
htmlContent?: stringValidator25000,
editorState?: stringValidator25000
}
]
}
Update PostComment
Method: PATCH
https://api.tellescope.com/v1/post-comment/:id
Updates PostComment fields
{
updates: {
forumId?: string,
postId?: string,
replyTo?: string,
postedBy?: ,
attachments?: [string],
textContent?: stringValidator25000,
htmlContent?: stringValidator25000,
editorState?: stringValidator25000
},
options?: {
replaceObjectFields?: boolean /* See Updating Records in Getting Started */
}
}
Get PostComment
Method: GET
https://api.tellescope.com/v1/post-comment/:id
Get an PostComment
{
filter?: {}
}
Get PostComments
Method: GET
https://api.tellescope.com/v1/post-comments
Get a page of PostComments
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete PostComment
Method: DELETE
https://api.tellescope.com/v1/post-comment/:id
Delete one PostComment
Authentication info only
PostLikes
Like Forum Post
Method: POST
https://api.tellescope.com/v1/post-like
Likes a post
{
postId: string,
forumId: string
}
Unlike Forum Post
Method: POST
https://api.tellescope.com/v1/unlike-forum-post
Removes a like for a given forum post
{
postId: string,
forumId: string
}
Get PostLike
Method: GET
https://api.tellescope.com/v1/post-like/:id
Get an PostLike
{
filter?: {}
}
Get PostLikes
Method: GET
https://api.tellescope.com/v1/post-likes
Get a page of PostLikes
{
lastId?: string,
limit?: number,
sort?: 'oldFirst' | 'newFirst',
search?: { \n query: string,\n },
filter?: {}
}
Delete PostLike
Method: DELETE
https://api.tellescope.com/v1/post-like/:id
Delete one PostLike
Authentication info only
Organizations
Constraints
- name must be unique across Organizations
Get Organization Theme (Public)
Method: GET
https://api.tellescope.com/v1/organization-theme
Gets theme information for an organization
{
businessId?: string
}