Klenty's POST APIs

Perform actions using Klenty's public APIs

Karthik Natarajan avatar
Written by Karthik Natarajan
Updated over a week ago

Klenty's POST API's allows you to perform actions like create prospects, start cadence and much more. Klenty provides you with around 20 endpoints to perform various actions:

  • Create Prospects

  • Update Prospect

  • Add Prospect to List

  • Add Tags to a Prospect

  • Add value to a Prospect’s Custom Field

  • Bulk Add Prospects

  • Remove Tags

  • Unsubscribe Prospect

  • Change Prospect Status to DoNotContact

  • Revert from DoNotContact status

  • Start Cadence

  • Stop Cadence for a prospect

  • Resume cadence

  • Stop Mails

  • Email Engagements

  • StepWise Metric Engagement

  • Add a Webhook

  • Update a Webhook

  • Delete a Webhook


Create Prospects

This endpoint will create a Prospect based on the input, which is given as a JSON object.

Request Type: POST

https://api.klenty.com/apis/v1/user/kevin@klenty.com/prospects

Input:

Email (string): the Prospect’s email id.

FirstName (string): the value for the Prospect’s first name.

Company (string): the value for the Prospect’s company name.

FullName (string): the value for the Prospect’s full name.

LastName (string): the value for the Prospect’s last name.

MiddleName (string): the value for the Prospect’s middle name.

Account (string): the value for the Prospect's Account field.

Department (string): the value for the Prospect's Department field.

CompanyDomain (string): the value for the Prospect's Company Domain field.

Title (string): the value for the Prospect's Title field.

Location (string): the value for the Prospect’s Location field.

Phone (string): the value for the Prospect’s Phone field.

TwitterId (string): the value for the Prospect’s Twitter field.

CompanyPhone (string): the value for the Prospect’s company phone field.

CompanyEmail (string): the value for the Prospect’s company email field.

LinkedinURL (string): the value for the Prospect’s LinkedIn field.

City (string): the value for the Prospect’s city field.

Country (string): the value for the Prospect’s country field.

List (string): Enter the Prospect list you want to add this Prospect to. If left empty, the Prospect will be added to the default list. If the Prospect list you enter does not exist, a new one will be created and the Prospect will be assigned to it.

Tags (string): This is used to add tags to the prospect. For multiple tags: "Tags": "Tag1|Tag2"

CustomFields (string): This is used to add custom fields to the Prospect

Owner (string): Email address of the Owner to be assigned

Sample Input

{

"FullName": "Rex A Jose",

"FirstName": "Rex",

"LastName": "Jose",

"MiddleName": "A",

"Account": "Payments",

"Department": "Testing",

"Company": "klenty",

"CompanyDomain": "klenty.com",

"Title": "SE",

"Location": "California",

"Phone": "+13485948395",

"Email": "rex@klenty.com",

"TwitterId": "Twitter",

"CompanyEmail": "klenty@cc.co",

"CompanyPhone": "5656",

"City": "Italy",

"Country": "Italy",

"LinkedinURL": "Linkedin@io.co",

"List": "leads",

"Tags": "paid", // For multiple tags: "Tags": "Tag1|Tag2"

"CustomFields" : [{"key":"gender", "value" : "male"}],

"Owner": "av@klenty.com"

}

Response

  • status (Boolean): Returns either true or false based on the result

{ "status": true }

Update Prospect

This endpoint will update a Prospect based on the input which is given as a JSON object.

Request Type: POST

https://api.klenty.com/apis/v1/user/hello@klenty.com/prospects/victor@klenty.com

Input:

Email (string): the Prospect’s email id.

FirstName (string): the value for the Prospect’s first name.

Company (string): the value for the Prospect’s company name.

FullName (string): the value for the Prospect’s full name.

LastName (string): the value for the Prospect’s last name.

MiddleName (string): the value for the Prospect’s middle name.

Account (string): the value for the Prospect's Account field.

Department (string): the value for the Prospect's Department field.

CompanyDomain (string): the value for the Prospect's Company Domain field.

Title (string): the value for the Prospect's Title field.

Location (string): the value for the Prospect’s Location field.

Phone (string): the value for the Prospect’s Phone field.

TwitterId (string): the value for the Prospect’s Twitter field.

CompanyPhone (string): the value for the Prospect’s company phone field.

CompanyEmail (string): the value for the Prospect’s company email field.

LinkedinURL (string): the value for the Prospect’s LinkedIn field.

City (string): the value for the Prospect’s city field.

Country (string): the value for the Prospect’s country field.

List (string): Enter the Prospect list you want to add this Prospect to. If left empty, the Prospect will be added to the default list. If the Prospect list you enter does not exist, a new one will be created and the Prospect will be assigned to it.

Tags (string): This is used to add tags to the prospect. For multiple tags: "Tags": "Tag1|Tag2"

CustomFields (string): This is used to add custom fields to the Prospect.

Sample Input

{

"FullName": "Rex A Jose",

"FirstName": "Rex",

"LastName": "Jose",

"MiddleName": "A",

"Account": "Payments",

"Department": "Testing",

"Company": "klenty",

"CompanyDomain": "klenty.com",

"Title": "SE",

"Location": "California",

"Phone": "+13485948395",

"Email": "rex@klenty.com",

"TwitterId": "Twitter",

"CompanyEmail": "klenty@cc.co",

"CompanyPhone": "5656",

"City": "Italy",

"Country": "Italy",

"LinkedinURL": "Linkedin@io.co",

"List": "leads",

"Tags": "paid", // For multiple tags: "Tags": "Tag1|Tag2"

"CustomFields" : [{"key":"gender", "value" : "male"}]

}

Response

  • status (Boolean): Returns either true or false based on the result

    { "status": true }

Add Prospect to List

This endpoint expects an email and a list name and returns a boolean value based on success or failure. List will not be added if the prospect already exists in Klenty.

Request Type: POST

https://api.klenty.com/apis/v1/user/hello@klenty.com/prospects

Input:

  • Email (string): This is the Prospect’s email id.

  • FirstName (string): This is the Prospect’s first name.

  • List (string): This is the list you want to add the Prospect to

Sample Input

{

"Email" : "tony@klenty.com",

"FirstName" : "Tony",

"List": "Nurture Leads"

}

Response

  • status (Boolean): Returns either true or false based on the result

    { "status": true }

Add Tags to a Prospect

This endpoint expects a Prospect’s email address and a Tag name and returns a boolean value based on success or failure. Tags will not be added if the prospect already exists in Klenty.

Request Type: POST

https://api.klenty.com/apis/v1/user/hello@klenty.com/prospects

Input:

Email (string): This is the Prospect’s email id.

FirstName (string): This is the Prospect’s first name.

Tags (string): This is the name of the tag you want to assign to the prospect.

Sample Input

{

"Email" : "tom@klenty.com",

"FirstName" : "Tom",

"Tags": "ConnectLater"

}

Pro Tip: For multiple tags, use following format: "Tags": "Tag1|Tag2"

Response

  • status (Boolean): Returns either true or false based on the result

    { "status": true }

Add value to a Prospect’s Custom Field

This endpoint expects the email id of the prospect and the list of custom fields for which you want to add values, and returns a boolean value that is either true or false.

Request Type: POST

https://api.klenty.com/apis/v1/user/hello@klenty.com/prospects

Input:

Email (string): This is the Prospect’s email id.

FirstName (string): This is the Prospect’s first name.

CustomFields (string): This is a list of custom fields along with the values that should be added.

sample Input

{

"Email": "sheindrick9@klenty.com",

"FirstName":"sheindrick",

"CustomFields":[{"key":"key1","value":"value1"}]

}

Response

  • status (Boolean): Returns either true or false based on the result

    { "status": true }

Bulk Add Prospects

This endpoint can create up to 100 Prospects based on the input which is given as a JSON object. Input is passed as an array and a comma separates each Prospect details. If it is a new Prospect, it gets added to Klenty and you receive the response “Prospect added successfully”. If the prospect already exists in Klenty, you will receive the response “Prospect already exists in Klenty”.

Request Type: POST

https://api.klenty.com/apis/v1/user/hello@klenty.com/prospects 

Input:

Email (string): enter the Prospect’s email id.

FirstName (string): enter the Prospect’s first name.

Company (string): enter the Prospect’s company name.

FullName (string): enter the Prospect’s full name.

LastName (string): enter the Prospect’s last name.

MiddleName (string): enter the Prospect’s middle name.

Account (string): enter the account details the Prospect belongs to.

Department (string): enter the department the Prospect belongs to.

CompanyDomain (string): enter the company domain the Prospect belongs to.

Title (string): enter the title which the Prospect holds.

Location (string): enter the Prospect’s current location.

Phone (string): enter the Prospect’s phone number.

TwitterId (string): enter the Prospect’s twitter handle.

CompanyPhone (string): enter the Prospect’s company contact number.

CompanyEmail (string): enter the Prospect’s company email id.

LinkedinURL (string): enter the Prospect’s LinkedIn Public Profile URL.

City (string): enter the Prospect’s city.

Country (string): enter the Prospect’s country.

List (string): Enter the Prospect list you want to add this Prospect to. If left empty, the Prospect will be added to the default list. If the Prospect list you enter does not exist, a new one will be created and the Prospect will be assigned to it.

Tags (string): This is used to add tags to the prospect.

CustomFields (string): This is used to add custom fields to the Prospect.

Owner (string): Email address of the Owner to be assigned

Sample Input

[

{

"Email":"raj@klenty.com",

"FirstName" : "Raj",

"Phone" : "951357654",

"FullName" : "Raj Krishna",

"LastName" : "Krishna",

"Department" : "Testing1",

"CompanyDomain" : "klenty1.com",

"CompanyURL" : "www.klenty1.com",

"Title" : "Tester1",

"Location" : "Chennai Area1",

"City" : "Chennai1",

"Country" : "India1",

"CustomFields" : [{"key":"key1", "value" : "value1"}]

"Owner": "av@klenty.com"

},

{

"Email":"ram@klenty.com",

"FirstName" : "Ram",

"Phone" : "951357654",

"FullName" : "Ram Nath",

"LastName" : "Nath",

"Department" : "Testing1",

"CompanyDomain" : "klenty1.com",

"CompanyURL" : "www.klenty1.com",

"Title" : "Tester1",

"Location" : "Chennai Area1",

"City" : "Chennai1",

"Country" : "India1"

"Owner": "vj@klenty.com"

}

]

Response

  • status (Boolean): Returns either true or false based on the result

  • details (string): Returns the Prospect’s email id and result

    {
    "status": true,
    "details": [
    {
    "prospect":"raj@klenty.com",
    "status": "prospect added successfully",
    },
    {
    "prospect":"ram@klenty.com",
    "status":"prospect already exists in Klenty",
    }
    ]
    }

Remove Tags

This endpoint will help you remove tags that have been added to a Prospect in Klenty.

Request Type: POST

https://api.klenty.com/apis/v1/user/hello@klenty.com/prospects/tom@klenty.com/removeTags

Input:

tag (string): enter the tag which needs to be removed from the Prospect. You can include multiple tags separated by a comma.

Sample Input

{

"tag" : ["tag1","tag2"]

}

Response

  • status (Boolean) : Returns either true or false based on the outcome.

    {
    "status": true
    }

Unsubscribe Prospect

This endpoint expects an email address of a Prospect as input, to change the Prospect Status to Unsubscribed. Setting a Prospect to Unsubscribed status will prevent any future emails from being sent to them.

Request Type: POST

https://api.klenty.com/apis/v1/user/hello@klenty.com/prospects/steve@klenty.com/unsubscribe

Input:

Email (string): enter the email id of the Prospect you want to mark as unsubscribed.

Sample Input

{

"Email" : "steve@klenty..com"

}

Response

  • status (Boolean): Returns either true or false based on the outcome

    {
    "status": true
    }

Change Prospect Status to DoNotContact

This endpoint expects an email address of a Prospect as input, to change the Prospect Status to DoNotContact. Setting a Prospect to this status will prevent any future emails from being sent to them. This action is reversible i.e, prospects can be reverted from DoNotContact, allowing for the Prospect to be emailed again.

Request Type: POST

https://api.klenty.com/apis/v1/user/hello@klenty.com/prospects/steve@klenty.com/changeStatusToDoNotContact

Input:

Email (string): enter the email id of the Prospect you want to mark as DoNotContact.

Sample Input

{
"Email" : "steve@klenty..com"

}

Response

  • status (Boolean): Returns either true or false based on the outcome

    {
    "status": true
    }

Revert from DoNotContact status

This endpoint expects an email address of a Prospect as input, to change the Prospect Status from DoNotContact to normal state. Reverting back from DoNotContact helps users to continue sending emails to that prospect. If the Prospect is in Not Contacted state before, when reverting DoNotContact it changes to Not Contacted else the status will be Manually Stopped.

Request Type: POST

https://api.klenty.com/apis/v1/user/hello@klenty.com/prospects/steve@klenty.com/revertStatusToDoNotContact

Input:

Email (string): enter the email id of the Prospect you want to revert from DoNotContact.

Sample Input

{

"Email" : "steve@klenty..com"

}

Response

  • status (Boolean): Returns either true or false based on the outcome

    {
    "status": true
    }


Start Cadence

This endpoint expects an email address of the Prospect and the Cadence name as the input to add the Prospect to a Cadence.

Request Type: POST

https://api.klenty.com/apis/v1/user/hello@klenty.com/startcadence 

Input should contain the following values:

  • Email (string): enter the Email id of the Prospect you want to start the Cadence for.

  • cadenceName (string): enter the Cadence you want to add this Prospect to.

Sample Input

{

"Email" : "steve@klenty.com",

"cadenceName" : "Holiday campaign"

}

Response

  • status (Boolean): Returns either true or false based on the outcome

    {
    "status": true
    }

Stop Cadence for a prospect

This endpoint expects an email address of the Prospect and the name of the Cadence it is associated with as input to stop Cadences. If the cadence name is not specified, this endpoint removes the Prospect from all the cadences.

Request Type: POST

https://api.klenty.com/apis/v1/user/hello@klenty.com/stopcadence

Input should contain the following values:

  • Email (string): enter the Prospect’s Email id.

  • cadenceName (string): enter the Cadence Name from which the Prospect has to be removed.

Sample Input:

{

"Email" : "steve@klenty.com",

"cadenceName" : "SampleCadence"

}

Response

  • status (Boolean): Returns either true or false based on the outcome

    {
    "status": true
    }


Resume cadence

This endpoint expects an email address of a Prospect as input, to resume the Cadence that was paused for the Prospect.


Request Type: POST

https://api.klenty.com/apis/v1/user/hannah@klenty.com/cadences/resume

Input:

Email (string): enter the Prospect’s email id.

Sample Input:

{

"Email" : "steve@klenty.com"

}

Response

  • status (Boolean): Returns either true or false based on the outcome

    {
    "status": true
    }

Stop Mails

This endpoint expects an email address of a Prospect as input, to stop any scheduled emails from being sent to the Prospect.

Request Type: POST

https://api.klenty.com/apis/v1/user/hello@klenty.com/prospects/steve@klenty.com/stop

Input:

Email (string): enter the Prospect’s Email id.

Sample Input

{

"Email" : "steve@klenty.com"

}

Response

  • status (Boolean): Returns either true or false based on the outcome

    {
    "status": true
    }



Email Engagements

This endpoint expects a start date, end date, and the name of the Cadence to provide the email engagement count for that Cadence. You can also include a timestamp and date like "2020-04-01T06:30:51Z" to filter the results.

Request Type: POST

https://api.klenty.com/apis/v1/user/hello@klenty.com/emailEngagements

Input:

  • startDate (Date): The start date of the time period you want the email engagement metrics for. Format should be yyyy-mm-dd.

  • endDate (DATE): The end date of the time period you want the email engagement metrics for. Format should be yyyy-mm-dd.

  • cadenceName (string): The name of the Cadence for which you want the email engagement metrics.

Sample Input

{

"startDate" : "2020-04-01T06:30:51Z",

"endDate" : "2020-04-20T06:30:51Z",

"cadenceName" : "Website visitors"

}

Response

prospectsAdded (number): The total number of Prospects added to the Cadence in the specified date range.

inCadenceCount (number): the number of Prospects who are currently in Cadence

prospectsCompleted (number): the number of Prospects who have completed the Cadence

openCount (number): The count of total email opens.

linkCount (number): The count of total link clicks.

replyCount (number): This returns the value for total replies received.

unsubscribeCount (number): This returns the number of prospects who have unsubscribed.

bounceCount (number): This returns the number of prospects for whom emails bounced.

positiveCount (number): This returns the number of replies that were marked as positive.

negativeCount (number): This returns the number of replies that were marked as negative.

{
"prospectsAdded": 32,
"inCadenceCount": 2,
"prospectsCompleted": 0,
"openCount": 2,
"linkCount": 1,
"replyCount": 2,
"unsubscribeCount": 2,
"bounceCount": 5,
"positiveCount": 1,
"negativeCount": 1
}

StepWise Metric Engagement

This endpoint expects a start date, end date and the name of the Cadence to provide the stepwise metric count of that Cadence. You can also include a Timestamp along with a date like "2020-04-01T06:30:51Z" to filter the results.

Request Type: POST

https://api.klenty.com/apis/v1/user/hello@klenty.com/stepWiseEngagements

Input:

  • startDate (Date): Enter the value for the date from which you want the email stepwise metrics. Format should be yyyy-mm-dd.

  • endDate (DATE): Enter the value for the date until which you want the email stepwise metrics. Format should be yyyy-mm-dd.

  • cadenceName (string): Enter the name of the Cadence for which you want the stepwise metrics.

Sample Input

{

"startDate" : "2020-04-01T06:30:51Z",

"endDate" : "2020-04-20T06:30:51Z",

"cadenceName" : "Website visitors"

}

Response

  • stepNumber (number): This returns the step number for all the steps present in Cadence.

  • stepType (string): This returns the type of this step, if it is an email, task or call.

  • openCount (number): This returns the count of emails that were opened in this step.

  • replyCount (number): This returns the count of replies received.

  • positiveReply (number): This returns the count of replies that were marked as positive.

  • negativeReply (number): This returns the count of replies that were marked as negative.

  • positiveReplyPercent (number): This returns the percentage of positive replies received.

  • negativeReplyPercent (number): This returns the percentage of negative replies received.

  • linkCount (number) : This returns the count for total link clicks.

  • mailCount (number): This returns the count for emails sent in that step.

  • openPercent (number): This returns the percentage of emails opened.

  • replyPercent (number): This returns the percentage of replies received.

  • LinkPercent (number): This returns the percentage of links clicked.

  • Completed (number): This returns the number of prospects who have completed the step.

  • taskCount (number): This returns the number of tasks scheduled if this step is a task.

  • callCount (number): This returns the number of calls scheduled if this step is a call.

  • completedCalls (number): This returns the percentage value of calls that were completed, if this step is a call.

  • templateName (string): This returns the value for the template name if it is an email step.

  • subject (string): This returns the value for the subject line used, if it is an email step.

  • snippet (string): This returns the first few lines of the email content.

{
"stepNumber": 1,
"stepType": "mail",
"openCount": 1,
"replyCount": 1,
"positiveReply": 0,
"negetiveReply": 0,
"positiveReplyPercent": 0,
"negetiveReplyPercent": 0,
"linkCount": 0,
"mailCount": 8,
"openPercent": 13,
"replyPercent": 13,
"linkPercent": 0,
"completed": 0,
"taskCount": 0,
"callCount": 0,
"completedCalls": 0,
"options": [
{
"option": 1,
"openCount": 1,
"replyCount": 1,
"linkCount": 0,
"mailCount": 8,
"openPercent": 13,
"replyPercent": 13,
"positiveReply": 0,
"negetiveReply": 0,
"positiveReplyPercent": 0,
"negetiveReplyPercent": 0,
"linkPercent": 0,
"templateName": "Follow Ups",
"subject": "Enter your subject line here...",
"snippet": "This is the first step of your..."
},
{
"option": 2,
"openCount": 0,
"replyCount": 0,
"linkCount": 0,
"mailCount": 0,
"openPercent": 0,
"replyPercent": 0,
"positiveReply": 0,
"negetiveReply": 0,
"positiveReplyPercent": 0,
"negetiveReplyPercent": 0,
"linkPercent": 0,
"subject": "Enter your subject line here...",
"snippet": "This is the first step of your..."
}
]
},
{
"stepNumber": 2,
"stepType": "mail",
"openCount": 0,
"replyCount": 0,
"positiveReply": 0,
"negetiveReply": 0,
"positiveReplyPercent": 0,
"negetiveReplyPercent": 0,
"linkCount": 0,
"mailCount": 1,
"openPercent": 0,
"replyPercent": 0,
"linkPercent": 0,
"completed": 0,
"taskCount": 0,
"callCount": 0,
"completedCalls": 0,
"options": [
{
"option": 1,
"openCount": 0,
"replyCount": 0,
"linkCount": 0,
"mailCount": 1,
"openPercent": 0,
"replyPercent": 0,
"positiveReply": 0,
"negetiveReply": 0,
"positiveReplyPercent": 0,
"negetiveReplyPercent": 0,
"linkPercent": 0,
"subject": "Follow-up email",
"snippet": " This is the second step (foll..."
}
]
}


Add a Webhook

This endpoint expects the subscription URL and the events for which you are creating a webhook and returns the value of the webhook created.

Request Type: POST

https://api.klenty.com/apis/v1/user/hello@klenty.com/zapier/hooks

Input:

The JSON input can have the events listed as the input.

  • event (string): Enter the event that will trigger the webhook [Accepted events are: reply, cadenceFirstReply, sendProspect, startCadence, completeCadence, onMailBounce, open, click, unsubscribe].

  • subscription_url (string): the URL where you’d like the event to be created.

Sample Input

{

"subscription_url" : "www.klenty.com/analytics",

"event" : "completeCadence"

}

Response

  • event (string): the event that will trigger a webhook.

  • url (string): the URL where the event will be created.

  • _id - Webhook id (string): the Webhook id created when the event is generated.

{
"_id": "5e9da4ff65b8860012669444",
"url": "www.klenty.com/analytics",
"event": "completecadence"
}

Update a Webhook

This endpoint expects the subscription URL, _id of the webhook and the events that trigger the webhook.

Request Type: POST

https://api.klenty.com/apis/v1/user/hello@klenty.com/webhook/update

Input:

The JSON input can have the events listed as the input.

  • event (string): the event that will replace the existing for this webhook [Accepted events are: reply, cadenceFirstReply, sendProspect, prospect, startCadence, completeCadence, onMailBounce, open, click, unsubscribe].

  • subscription_url (string): the URL where the event is created.

  • _id - Webhook id (string): the Webhook id created when the event is generated.

Sample Input

{

"_id": "5e9f360ec0d425001292903b",

"subscription_url" : "www.klenty.com/analytics",

"event" : "unsubscribe"

}

Response

  • status (Boolean): Returns either true or false based on the outcome

    {
    "status": true
    }

Delete Webhook

This endpoint expects the webhook id which is to be deleted and returns a boolean value based on success or failure.

Request Type: POST

https://api.klenty.com/apis/v1/user/hello@klenty.com/webhook/delete

Input:

The JSON input can have the events listed as the input.

webhookId (string): This is the unique id created when a webhook is triggered.

Sample Input

{

"webhookId": "5e9eadce9bd3bc0012b38601"

}

Response

  • status (Boolean): Returns either true or false based on the outcome

    {
    "status": true
    }


If you have any further questions or facing any errors, please reach us at support@klenty.com.

Did this answer your question?