REST API
Vtiger Cloud offers REST APIs which can be used for integration with external application.
Endpoint: https://CRM_URL/restapi/v1/vtiger/default
Authentication: HTTP Basic (CRM Username and Access Key). You can find Access Key under My Preferences in the CRM.
Response Format
Status | Body | Remarks |
---|---|---|
200 | JSON | { success: true, result: JSON_VAL } |
4xx | - | Failure. Header line with error message |
5xx | - | Failure. Header line with error message |
Record ID
Webservice ID of the form (ModuleTypeIDxRecordID
) is used to represent record references.
Described below are the details of API. You can use this postman collection to explore against your CRM instance.
/me - User Profile
This API helps you to get the logged in user profile or context (like UserID, Name).
GET Endpoint/me
{
success: true,
result: {
id: user_record_id,
user_name: string,
fist_name: string,
last_name: string,
email1: string
}
}
/listtypes - Modules List
Use this API to get details of the accessible list of modules and basic metadata of module.
GET Endpoint/listtypes?fieldTypeList=null
Parameter | Remarks |
---|---|
fieldTypeList | null - for any. fieldTypeList[]=typename for specific type. (typename = email, grid etc...) |
{
success: true,
result: {
types: [
module_name
],
information: {
module_name: {
isEntity: boolean,
label: string,
singular: string
}
}
}
}
/describe - Module Metadata
Use this API to get metadata of module comprising of fields, blocks, permissions.
GET Endpoint/describe?elementType=module_name
Parameter | Remarks |
---|---|
elementType | Module name |
{
success: true,
result: {
name: string,
label: string,
createable: boolean,
updateable: boolean,
deleteable: boolean,
retrieveable: boolean,
fields: [
{
name: string,
label: string,
mandatory: boolean,
quickcreate: boolean,
summaryfield: boolean,
headerfield: boolean,
default: value,
type: {
name: string,
length: size,
refersTo: [ reference_module_name ],
picklistValues: [ {value: val, label: lbl} ],
defaultValue: picklist_value
},
isunique: boolean,
nullable: boolean,
editable: boolean,
data: json // extended info
}
],
inactivefields: [ field_info ],
idPrefix: module_type_id,
isEntity: boolean,
allowDuplicates: boolean,
labelFields: string_or_arrayOfString
}
}
/create
This API enables you to create a single entity record. You are expected to send all the mandatory field values along with the optional fields for successful record creation.
POST Endpoint/create?elementType=moduleName&element=convert_into_json_string ({field1:value1, field2:value2})
Parameter | Remarks |
---|---|
elementType | Target Module Name |
element | ({field1: value1, field2:value2}) |
{
"success": true,
"result": {
"notes_title": "Sample_file_1",
"document_source": "Vtiger",
"assigned_user_id": "",
"note_no": "DOC19",
"folderid": "22x1",
"createdtime": "2023-06-13 05:46:59",
"modifiedtime": "2023-06-13 05:46:59",
"modifiedby": "",
"created_user_id": "",
"source": "WEBSERVICE",
"starred": "0",
"tags": "",
"record_currency_id": "",
"record_conversion_rate": "",
"filelocationtype": "I",
"filestatus": "1",
"filename": "",
"filesize": "0",
"filetype": "",
"fileversion": "",
"filedownloadcount": "",
"share_count": "0",
"email_open_count": "0",
"open_count": "0",
"shared_download_count": "0",
"reshares_count": "0",
"unique_open_count": "0",
"deal_conversion_rate": "0",
"avg_time_spent": "0",
"total_time_spent": "0",
"document_type": "Public",
"notecontent": "",
"id": "7x549",
"isclosed": 0,
"label": "Sample_file_1",
"url": "https://{{your_domain}}/view/detail?module=Documents&id=549"
}
}
/retrieve
You can pull a piece of specific record information using this API.
GET Endpoint/retrieve?id=record_Id
Parameter | Remarks |
---|---|
id | record_Id - Restapi uses a composite key to represent record id, a combination of (module-type-id and module-record-id) separated by (x). |
{
"success": true,
"result": {
"notes_title": "Sample_file_1",
"document_source": "Vtiger",
"assigned_user_id": "",
"note_no": "DOC14",
"folderid": "22x1",
"createdtime": "2023-06-09 06:11:18",
"modifiedtime": "2023-06-09 06:11:18",
"modifiedby": "",
"created_user_id": "",
"source": "WEBSERVICE",
"starred": "0",
"tags": "",
"record_currency_id": "",
"record_conversion_rate": "",
"filelocationtype": "I",
"filestatus": "1",
"filename": "Sample_1.odt",
"filesize": "22728",
"filetype": "application/vnd.oasis.opendocument.text",
"fileversion": "",
"filedownloadcount": "18",
"share_count": "0",
"email_open_count": "0",
"open_count": "0",
"shared_download_count": "0",
"reshares_count": "0",
"unique_open_count": "0",
"deal_conversion_rate": "0",
"avg_time_spent": "0",
"total_time_spent": "0",
"document_type": "Public",
"notecontent": "",
"id": "7x521",
"isclosed": 0,
"imageattachmentids": "7x522",
"label": "Sample_file_1",
"url": "https://{{your_domain}}/view/detail?module=Documents&id=521"
}
}
/query
Retrieve one or more records matching filtering field conditions.
GET Endpoint/query?query=query_string;
Parameter | Remarks |
---|---|
query | query_string |
{
"success": true,
"result": [
{
"notes_title": "testing 123",
"document_source": "Vtiger",
"assigned_user_id": "",
"note_no": "DOC11",
"folderid": "22x1",
"createdtime": "2023-06-09 05:57:13",
"modifiedtime": "2023-06-09 05:57:13",
"modifiedby": "",
"created_user_id": "",
"source": "WEBSERVICE",
"starred": "0",
"tags": "",
"record_currency_id": "",
"record_conversion_rate": "",
"filelocationtype": "",
"filestatus": "1",
"filename": "",
"filesize": "0",
"filetype": "",
"fileversion": "",
"filedownloadcount": "",
"share_count": "0",
"email_open_count": "0",
"open_count": "0",
"shared_download_count": "0",
"reshares_count": "0",
"unique_open_count": "0",
"deal_conversion_rate": "0",
"avg_time_spent": "0",
"total_time_spent": "0",
"document_type": "Public",
"notecontent": "",
"id": "7x517",
"isclosed": "0",
"record_currency_symbol": null
}
]
}
/update
When you intend to update specific fields of existing records, you can use this or Revise API. Note: This API expects all the mandatory fields to be re-stated as part of the element parameter.
POST Endpoint/update?element={"id":"record_id", "field1":"revalue1", "field2":"value2"}
Parameter | Remarks |
---|---|
element | {"id":"record_id", "field1":"revalue1", "field2":"value2"} |
{
"success": true,
"result": {
"productname": "test1",
"productcode": "",
"discontinued": "1",
"product_type": "Solo",
"productcategory": "",
"vendor_id": "",
"manufacturer": "",
"sales_start_date": "",
"sales_end_date": "",
"start_date": "",
"expiry_date": "",
"serial_no": "",
"mfr_part_no": "",
"vendor_part_no": "",
"website": "",
"glacct": "",
"productsheet": "",
"createdtime": "2023-06-08 09:35:49",
"modifiedtime": "2023-06-13 05:47:40",
"product_no": "PRO15",
"modifiedby": "",
"created_user_id": "",
"source": "WEBSERVICE",
"starred": "0",
"tags": "",
"record_currency_id": "21x2",
"record_conversion_rate": "1.00000",
"item_barcode": "",
"hsn_code": "",
"unit_price": "0.00000000",
"commissionrate": "",
"taxclass": "",
"purchase_cost": "0.00000000",
"purchase_cost_currency_value": "",
"billing_type": "One time",
"usageunit": "",
"qty_per_unit": "",
"qtyinstock": "0.000",
"reorderlevel": "0",
"assigned_user_id": "19x1",
"qtyindemand": "",
"defect_qtyinstock": "0.000",
"reorder_qty": "0.000",
"availablestock": "0.000",
"committedstock": "0.000",
"incomingstock": "0.000",
"imagename": "",
"description": "",
"id": "6x502",
"isclosed": 0,
"label": "test1",
"url": "https://{{your_domain}}/view/detail?module=Products&id=502",
"currency1": 0,
"currency2": 0,
"currency_id": "21x2"
}
}
/revise
This is similar to Update API but relaxes the constraint of re-stating the mandatory fields but expects target fields that need to be updated.
POST Endpoint/revise?element={"id":"record_id", "field2":"revalue2"}
Parameter | Remarks |
---|---|
element | {"id":"record_id", "field2":"revalue2"} |
{
"success": true,
"result": {
"productname": "sample",
"productcode": "",
"discontinued": "1",
"product_type": "Solo",
"productcategory": "",
"vendor_id": "",
"manufacturer": "",
"sales_start_date": "",
"sales_end_date": "",
"start_date": "",
"expiry_date": "",
"serial_no": "",
"mfr_part_no": "",
"vendor_part_no": "",
"website": "",
"glacct": "",
"productsheet": "",
"createdtime": "2023-06-08 09:35:49",
"modifiedtime": "2023-06-13 05:47:56",
"product_no": "PRO15",
"modifiedby": "",
"created_user_id": "",
"source": "WEBSERVICE",
"starred": "0",
"tags": "",
"record_currency_id": "21x2",
"record_conversion_rate": "1.00000",
"item_barcode": "",
"hsn_code": "",
"unit_price": "0.00000000",
"commissionrate": "",
"taxclass": "",
"purchase_cost": "0.00000000",
"purchase_cost_currency_value": "",
"billing_type": "One time",
"usageunit": "",
"qty_per_unit": "",
"qtyinstock": "0.000",
"reorderlevel": "0",
"assigned_user_id": "",
"qtyindemand": "",
"defect_qtyinstock": "0.000",
"reorder_qty": "0.000",
"availablestock": "0.000",
"committedstock": "0.000",
"incomingstock": "0.000",
"imagename": "",
"description": "",
"id": "6x502",
"isclosed": 0,
"label": "sample",
"url": "https://{{your_domain}}/view/detail?module=Products&id=502",
"currency1": 0,
"currency2": 0,
"currency_id": "21x2"
}
}
/sync
When you need to fetch records that changed their state from the last-known time, you can use this API.
GET Endpoint/sync?modifiedTime=timestamp&elementType=moduleName&syncType=sync_type
Parameter | Remarks |
---|---|
modifiedTime | Last known modified time from where you expect state changes of records should be in UNIX timestamp. For example 1561718898 |
elementType | Target module name. |
syncType | user: fetch records restricted to the assigned owner of the record. userandgroup: fetch records restricted to the assigned owner of own’s group. application: fetch records without restriction on the assigned owner. |
{
"success": true,
"result": {
"updated": [
{
"salutationtype": "",
"firstname": "",
"lastname": "Ram",
"email": "",
"phone": "",
"mobile": "",
"homephone": "",
"birthday": "",
"fax": "",
"account_id": "",
"title": "",
"department": "",
"contact_id": "",
"leadsource": "",
"secondaryemail": "",
"assistant": "",
"assigned_user_id": "",
"assistantphone": "",
"donotcall": "0",
"notify_owner": "0",
"emailoptout": "0",
"createdtime": "2023-06-09 04:36:47",
"modifiedtime": "2023-06-12 07:20:52",
"contact_no": "CON24",
"modifiedby": "",
"isconvertedfromlead": "0",
"created_user_id": "",
"primary_twitter": "",
"source": "WEBSERVICE",
"engagement_score": "0",
"last_contacted_on": "",
"last_contacted_via": "",
"slaid": "",
"contacttype": "Lead",
"contactstatus": "Cold",
"happiness_rating": "",
"record_currency_id": "",
"record_conversion_rate": "",
"profile_score": "0",
"profile_rating": "0",
"referred_by": "",
"emailoptin": "singleoptinuser",
"emailoptin_requestcount": "0",
"emailoptin_lastrequestedon": "",
"smsoptin": "singleoptinuser",
"language": "",
"primary_phone_field": "",
"primary_email_field": "",
"isclosed": "0",
"source_campaign": "",
"otherphone": "",
"portal": "0",
"support_start_date": "",
"support_end_date": "",
"mailingcountry": "",
"othercountry": "",
"mailingstreet": "",
"otherstreet": "",
"mailingpobox": "",
"otherpobox": "",
"mailingcity": "",
"othercity": "",
"mailingstate": "",
"otherstate": "",
"mailingzip": "",
"otherzip": "",
"mailing_gps_lat": "-360.0000000",
"mailing_gps_lng": "-360.0000000",
"description": "",
"imagename": "",
"primary_linkedin": "",
"followers_linkedin": "",
"primary_facebook": "",
"followers_facebook": "",
"facebookid": "0",
"instagramid": "",
"twitterid": "",
"id": "4x506",
"_module": "Contacts"
},
{
"salutationtype": "",
"firstname": "Shri",
"lastname": "Ram",
"email": "ram12@gmail.com",
"phone": "+911234567890",
"mobile": "",
"homephone": "",
"birthday": "",
"fax": "",
"account_id": "",
"title": "",
"department": "",
"contact_id": "",
"leadsource": "",
"secondaryemail": "",
"assistant": "",
"assigned_user_id": "",
"assistantphone": "",
"donotcall": "0",
"notify_owner": "0",
"emailoptout": "0",
"createdtime": "2023-06-09 05:31:14",
"modifiedtime": "2023-06-12 12:45:36",
"contact_no": "CON25",
"modifiedby": "",
"isconvertedfromlead": "0",
"created_user_id": "",
"primary_twitter": "",
"source": "WEBSERVICE",
"engagement_score": "0",
"last_contacted_on": "",
"last_contacted_via": "",
"slaid": "",
"contacttype": "Lead",
"contactstatus": "Cold",
"happiness_rating": "",
"record_currency_id": "",
"record_conversion_rate": "",
"profile_score": "0",
"profile_rating": "0",
"referred_by": "",
"emailoptin": "none",
"emailoptin_requestcount": "0",
"emailoptin_lastrequestedon": "0000-00-00 00:00:00",
"smsoptin": "singleoptinuser",
"language": "",
"primary_phone_field": "",
"primary_email_field": "",
"isclosed": "0",
"source_campaign": "",
"otherphone": "",
"portal": "0",
"support_start_date": "",
"support_end_date": "",
"mailingcountry": "",
"othercountry": "",
"mailingstreet": "",
"otherstreet": "",
"mailingpobox": "",
"otherpobox": "",
"mailingcity": "",
"othercity": "",
"mailingstate": "",
"otherstate": "",
"mailingzip": "",
"otherzip": "",
"mailing_gps_lat": "-360.0000000",
"mailing_gps_lng": "-360.0000000",
"description": "",
"imagename": "",
"primary_linkedin": "",
"followers_linkedin": "",
"primary_facebook": "",
"followers_facebook": "",
"facebookid": "0",
"instagramid": "",
"twitterid": "",
"id": "4x515",
"_module": "Contacts"
}
],
"deleted": [
"4x503"
],
"more": false,
"lastModifiedTime": 1686573936
}
}
/delete
Delete existing records through this API.
POST Endpoint/delete?id=record_Id
Parameter | Remarks |
---|---|
id | record_Id |
{
"success": true,
"result": {
"status": "successful"
}
}
/relatedtypes
What relationship a module has with others can be obtained through this API.
GET Endpoint/relatedtypes?elementType=moduleName
Parameter | Remarks |
---|---|
elementType | Target module name. |
{
"success": true,
"result": {
"types": [
"Potentials",
"Calendar",
"Emails",
"Quotes",
"PurchaseOrder",
"SalesOrder",
"Products",
"Calendar",
"Documents",
"Campaigns",
"Invoice",
"ServiceContracts",
"Services",
"Project",
"Assets",
"EmailCampaigns",
"Vendors",
"ModComments",
"Cases",
"Olark",
"WorkOrders",
"PhoneCalls",
"Esign",
"Webchat",
"SMSNotifier"
],
"information": {
"18": {
"name": "Potentials",
"label": "Potentials",
"translated_label": "Deals",
"isEntity": "1",
"relation_id": "18",
"actions": "add"
},
"19": {
"name": "Calendar",
"label": "Activities",
"translated_label": "Activities",
"isEntity": "1",
"relation_id": "19",
"actions": "add"
},
"20": {
"name": "Emails",
"label": "Emails",
"translated_label": "Emails",
"isEntity": "1",
"relation_id": "20",
"actions": "add"
},
"22": {
"name": "Quotes",
"label": "Quotes",
"translated_label": "Quotes",
"isEntity": "1",
"relation_id": "22",
"actions": "add"
},
"23": {
"name": "PurchaseOrder",
"label": "Purchase Order",
"translated_label": "Purchase Orders",
"isEntity": "1",
"relation_id": "23",
"actions": "add"
},
"24": {
"name": "SalesOrder",
"label": "Sales Order",
"translated_label": "Sales Orders",
"isEntity": "1",
"relation_id": "24",
"actions": "add"
},
"25": {
"name": "Products",
"label": "Products",
"translated_label": "Products",
"isEntity": "1",
"relation_id": "25",
"actions": "select"
},
"26": {
"name": "Calendar",
"label": "Activity History",
"translated_label": "Activity History",
"isEntity": "1",
"relation_id": "26",
"actions": "add"
},
"27": {
"name": "Documents",
"label": "Documents",
"translated_label": "Documents",
"isEntity": "1",
"relation_id": "27",
"actions": "add,select"
},
"28": {
"name": "Campaigns",
"label": "Campaigns",
"translated_label": "Campaigns",
"isEntity": "1",
"relation_id": "28",
"actions": "select"
},
"29": {
"name": "Invoice",
"label": "Invoice",
"translated_label": "Invoices",
"isEntity": "1",
"relation_id": "29",
"actions": "add"
},
"91": {
"name": "ServiceContracts",
"label": "Service Contracts",
"translated_label": "Service Contracts",
"isEntity": "1",
"relation_id": "91",
"actions": "ADD"
},
"106": {
"name": "Services",
"label": "Services",
"translated_label": "Services",
"isEntity": "1",
"relation_id": "106",
"actions": "SELECT"
},
"123": {
"name": "Project",
"label": "Projects",
"translated_label": "Projects",
"isEntity": "1",
"relation_id": "123",
"actions": "add"
},
"373": {
"name": "Assets",
"label": "Assets",
"translated_label": "Assets",
"isEntity": "1",
"relation_id": "373",
"actions": "ADD"
},
"404": {
"name": "EmailCampaigns",
"label": "List and Campaigns",
"translated_label": "List and Campaigns",
"isEntity": "1",
"relation_id": "404",
"actions": "ADD"
},
"474": {
"name": "Vendors",
"label": "Vendors",
"translated_label": "Vendors",
"isEntity": "1",
"relation_id": "474",
"actions": "SELECT"
},
"565": {
"name": "ModComments",
"label": "ModComments",
"translated_label": "Comments",
"isEntity": "1",
"relation_id": "565",
"actions": "ADD"
},
"584": {
"name": "Cases",
"label": "Cases",
"translated_label": "Cases",
"isEntity": "1",
"relation_id": "584",
"actions": "ADD"
},
"593": {
"name": "Olark",
"label": "Olark",
"translated_label": "Olark Chats",
"isEntity": "1",
"relation_id": "593",
"actions": ""
},
"1021": {
"name": "WorkOrders",
"label": "WorkOrders",
"translated_label": "Work Orders",
"isEntity": "1",
"relation_id": "1021",
"actions": "ADD"
},
"2420": {
"name": "PhoneCalls",
"label": "Phone Calls",
"translated_label": "Phone Calls",
"isEntity": "1",
"relation_id": "2420",
"actions": ""
},
"2882": {
"name": "Esign",
"label": "Esign",
"translated_label": "Esign Documents",
"isEntity": "1",
"relation_id": "2882",
"actions": "ADD,SELECT"
},
"4370": {
"name": "Webchat",
"label": "Webchat",
"translated_label": "Live Chats",
"isEntity": "1",
"relation_id": "4370",
"actions": ""
},
"6569": {
"name": "SMSNotifier",
"label": "SMSNotifier",
"translated_label": "SMS Messages",
"isEntity": "1",
"relation_id": "6569",
"actions": " "
}
}
}
}
/reopen
Reopen closed record if permitted.
POST Endpoint/reopen
Body - urlencoded | Remarks |
---|---|
id | record_Id |
{
"success": true,
"result": {
"message": "Record reopened successfully."
}
}
/delete_related
When you are looking to break the existing relationship between two records, you can use this API.
POST Endpoint/delete_related
Body - urlencoded | Remarks |
---|---|
sourceRecordId | record_id |
relatedRecordId | target_record_id |
{
"success": true,
"result": {
"message": "successful"
}
}
/tags_add
Add tags to the target record.
POST Endpoint/tags_add
Body - urlencoded | Remarks |
---|---|
id | record_Id |
tags | ["tag1", "tag2"] |
{
"success": true,
"result": {
"message": "tags added"
}
}
/tags_retrieve
Fetch tags applied on target record.
GET Endpoint/tags_retrieve?id=record_Id
Parameter | Remarks |
---|---|
id | record_Id |
{
"success": true,
"result": {
"tags": []
}
}
/tags_delete
Drop tag(s) applied on the target record or across all records.
POST Endpoint/tags_delete
Body - urlencoded | Remarks |
---|---|
id | record_Id |
tags | ["tag"] |
delete_all | boolean |
{
"success": true,
"result": {
"message": "tags deleted"
}
}
/get_account_hierarchy
Accounts can be linked to parent Accounts and hence form a hierarchy.
GET Endpoint/get_account_hierarchy?id=record_Id
Parameter | Remarks |
---|---|
id | record_Id |
{
"success": true,
"result": [
{
"id": "3x539",
"name": "TATA",
"level": 1,
"label": "Parent Org",
"current": "false"
},
{
"id": "3x540",
"name": "tcs",
"level": 2,
"label": "Org",
"current": "true"
}
]
}
/lookup
This API enables you to search records with a phone or email id in different modules and fields.
GET Endpoint/lookup?type=phone/email&value=xxx&searchIn=["moduleName"]
Parameter | Remarks |
---|---|
type | phone/email |
value | xxx |
searchIn | ["moduleName"] |
{
"success": true,
"result": [
{
"salutationtype": "",
"firstname": "Shri",
"lastname": "Ram",
"email": "ram12@gmail.com",
"phone": "+911234567890",
"mobile": "",
"homephone": "",
"birthday": "",
"fax": "",
"account_id": "",
"title": "",
"department": "",
"contact_id": "",
"leadsource": "",
"secondaryemail": "",
"assistant": "",
"assigned_user_id": "",
"assistantphone": "",
"donotcall": "0",
"notify_owner": "0",
"emailoptout": "0",
"createdtime": "2023-06-09 05:31:14",
"modifiedtime": "2023-06-12 12:45:36",
"contact_no": "CON25",
"modifiedby": "",
"isconvertedfromlead": "0",
"created_user_id": "",
"primary_twitter": "",
"source": "WEBSERVICE",
"engagement_score": "0",
"last_contacted_on": "",
"last_contacted_via": "",
"slaid": "",
"starred": "0",
"tags": "",
"contacttype": "Lead",
"contactstatus": "Cold",
"happiness_rating": "",
"record_currency_id": "",
"record_conversion_rate": "",
"profile_score": "0",
"profile_rating": "0",
"referred_by": "",
"emailoptin": "none",
"emailoptin_requestcount": "0",
"emailoptin_lastrequestedon": "0000-00-00 00:00:00",
"smsoptin": "singleoptinuser",
"language": "",
"primary_phone_field": "",
"primary_email_field": "",
"isclosed": 0,
"source_campaign": "",
"otherphone": "",
"portal": "0",
"support_start_date": "",
"support_end_date": "",
"mailingcountry": "",
"othercountry": "",
"mailingstreet": "",
"otherstreet": "",
"mailingpobox": "",
"otherpobox": "",
"mailingcity": "",
"othercity": "",
"mailingstate": "",
"otherstate": "",
"mailingzip": "",
"otherzip": "",
"mailing_gps_lat": "-360.0000000",
"mailing_gps_lng": "-360.0000000",
"description": "",
"imagename": "",
"primary_linkedin": "",
"followers_linkedin": "",
"primary_facebook": "",
"followers_facebook": "",
"facebookid": "0",
"instagramid": "",
"twitterid": "",
"id": "4x515",
"label": "Shri Ram",
"url": "https://{{your_domain}}/view/detail?module=Contacts&id=515"
}
]
}
/picklist_dependency
You can get dependency between two picklist fields.
GET Endpoint/picklist_dependency?module=moduleName&sourcefield=sourceFieldName&targetfield=targetFieldName
Parameter | Remarks |
---|---|
module | moduleName |
sourcefield | sourceFieldName |
targetfield | targetFieldName |
{
"success": true,
"result": {
"sourcefield": "contacttype",
"targetfield": "contactstatus",
"valuemapping": [
{
"sourcevalue": "Lead",
"targetvalues": [
"Cold",
"Warm",
"Hot",
"NLWC",
"Inactive"
]
},
{
"sourcevalue": "Sales Qualified Lead",
"targetvalues": [
"Accepted",
"Lost",
"Rejected"
]
},
{
"sourcevalue": "Customer",
"targetvalues": [
"Active",
"NLWC",
"Inactive"
]
},
{
"sourcevalue": "Partner",
"targetvalues": [
"Active",
"NLWC",
"Inactive"
]
},
{
"sourcevalue": "Analyst",
"targetvalues": [
"Positive",
"Neutral",
"Negative",
"NLWC",
"Inactive"
]
},
{
"sourcevalue": "Competitor",
"targetvalues": [
""
]
},
{
"sourcevalue": "Vendor",
"targetvalues": [
"Active",
"NLWC",
"Inactive"
]
},
{
"sourcevalue": "Marketing Qualified Lead",
"targetvalues": [
"Not reached",
"Reached",
"Interested"
]
}
]
}
}
/convertlead
Use this API to achieve lead conversion.
POST Endpoint/convertlead
Body - urlencoded | Remarks |
---|---|
element | {"leadId":"2x3072","entities":{"Contacts":{"create":true},"Accounts":{"create":true},"Potentials":{"create":true}}} |
/add_related
Establish a relationship between the two records.
POST Endpoint/add_related
Body - urlencoded | Remarks |
---|---|
sourceRecordId | record_id |
relatedRecordId | target_record_id |
relationIdLabel | target_relation_label |
{
"success": true,
"result": {
"message": "successful"
}
}
/retrieve_related
When you need related records of a target, record this API to go with.
GET Endpoint/retrieve_related?id=record_Id&relatedLabel=target_relationship_label&relatedType=target_moduleName
Parameter | Remarks |
---|---|
id | record_Id |
relatedLabel | target_relationship_label |
relatedType | target_moduleName |
{
"success": true,
"result": [
{
"productname": "sample",
"productcode": "",
"discontinued": "1",
"product_type": "Solo",
"productcategory": "",
"vendor_id": "",
"manufacturer": "",
"sales_start_date": "",
"sales_end_date": "",
"start_date": "",
"expiry_date": "",
"serial_no": "",
"mfr_part_no": "",
"vendor_part_no": "",
"website": "",
"glacct": "",
"productsheet": "",
"createdtime": "2023-06-08 09:35:49",
"modifiedtime": "2023-06-13 05:48:06",
"product_no": "PRO15",
"modifiedby": "",
"created_user_id": "",
"source": "WEBSERVICE",
"starred": "0",
"tags": "",
"record_currency_id": "21x2",
"record_conversion_rate": "1.00000",
"item_barcode": "",
"hsn_code": "",
"unit_price": "0.00000000",
"commissionrate": "",
"taxclass": "",
"purchase_cost": "0.00000000",
"purchase_cost_currency_value": "",
"billing_type": "One time",
"usageunit": "",
"qty_per_unit": "",
"qtyinstock": "0.000",
"reorderlevel": "0",
"assigned_user_id": "",
"qtyindemand": "",
"defect_qtyinstock": "0.000",
"reorder_qty": "0.000",
"availablestock": "0.000",
"committedstock": "0.000",
"incomingstock": "0.000",
"imagename": "",
"description": "",
"id": "6x502",
"isclosed": "0",
"record_currency_symbol": "₹"
}
]
}
/query_related
Fetch related records matching a search criteria using this API.
GET Endpoint/query_related?query=query_string&id=record_id&relatedLabel=target_moduleName
Parameter | Remarks |
---|---|
query | query_string |
id | record_id |
relatedLabel | target_moduleName |
{
"success": true,
"result": [
{
"notes_title": "file upload",
"document_source": "Vtiger",
"assigned_user_id": "",
"note_no": "DOC13",
"folderid": "22x1",
"createdtime": "2023-06-09 05:59:50",
"modifiedtime": "2023-06-09 05:59:50",
"modifiedby": "",
"created_user_id": "",
"source": "WEBSERVICE",
"starred": "0",
"tags": "",
"record_currency_id": "",
"record_conversion_rate": "",
"filelocationtype": "I",
"filestatus": "1",
"filename": "Test1.odt",
"filesize": "13104",
"filetype": "application/vnd.oasis.opendocument.text",
"fileversion": "",
"filedownloadcount": "18",
"share_count": "0",
"email_open_count": "0",
"open_count": "0",
"shared_download_count": "0",
"reshares_count": "0",
"unique_open_count": "0",
"deal_conversion_rate": "0",
"avg_time_spent": "0",
"total_time_spent": "0",
"document_type": "Public",
"notecontent": "",
"id": "7x519",
"isclosed": "0",
"imageattachmentids": "7x520",
"record_currency_symbol": null
},
{
"notes_title": "Sample_file_1",
"document_source": "Vtiger",
"assigned_user_id": "",
"note_no": "DOC14",
"folderid": "22x1",
"createdtime": "2023-06-09 06:11:18",
"modifiedtime": "2023-06-09 06:11:18",
"modifiedby": "",
"created_user_id": "",
"source": "WEBSERVICE",
"starred": "0",
"tags": "",
"record_currency_id": "",
"record_conversion_rate": "",
"filelocationtype": "I",
"filestatus": "1",
"filename": "Sample_1.odt",
"filesize": "22728",
"filetype": "application/vnd.oasis.opendocument.text",
"fileversion": "",
"filedownloadcount": "18",
"share_count": "0",
"email_open_count": "0",
"open_count": "0",
"shared_download_count": "0",
"reshares_count": "0",
"unique_open_count": "0",
"deal_conversion_rate": "0",
"avg_time_spent": "0",
"total_time_spent": "0",
"document_type": "Public",
"notecontent": "",
"id": "7x521",
"isclosed": "0",
"imageattachmentids": "7x522",
"record_currency_symbol": null
}
]
}
/files_retrieve
This special API lets you pull the content of the linked image (Contacts, Products) that are not embedded as part of the record.
GET Endpoint/files_retrieve?id=resource_Id
Parameter | Remarks |
---|---|
id | resource_Id - You obtain this value through record retrieve (example: imageattachmentids field value of Contacts module record). |
{
"success": true,
"result": [
{
"fileid": "522",
"filename": "Sample_1.odt",
"filetype": "application/vnd.oasis.opendocument.text",
"filesize": 22728,
"filecontents": "UEsDBBQAAAgAAC0xyVZexjIMJwAAACcAAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlvbi92bmQub2FzaX ........."
}
]
}