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

StatusBodyRemarks
200JSON{ 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
ParameterRemarks
fieldTypeListnull - 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
ParameterRemarks
elementTypeModule 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})
ParameterRemarks
elementTypeTarget 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
ParameterRemarks
idrecord_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;
ParameterRemarks
queryquery_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"}
ParameterRemarks
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"}
ParameterRemarks
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
ParameterRemarks
modifiedTimeLast known modified time from where you expect state changes of records should be in UNIX timestamp. For example 1561718898
elementTypeTarget module name.
syncTypeuser: 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
ParameterRemarks
idrecord_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
ParameterRemarks
elementTypeTarget 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 - urlencodedRemarks
idrecord_Id
{
    "success": true,
    "result": {
        "message": "Record reopened successfully."
    }
}

When you are looking to break the existing relationship between two records, you can use this API.

POST Endpoint/delete_related
Body - urlencodedRemarks
sourceRecordIdrecord_id
relatedRecordIdtarget_record_id
{
    "success": true,
    "result": {
        "message": "successful"
    }
}

/tags_add

Add tags to the target record.

POST Endpoint/tags_add
Body - urlencodedRemarks
idrecord_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
ParameterRemarks
idrecord_Id
{
    "success": true,
    "result": {
        "tags": []
    }
}

/tags_delete

Drop tag(s) applied on the target record or across all records.

POST Endpoint/tags_delete
Body - urlencodedRemarks
idrecord_Id
tags["tag"]
delete_allboolean
{
    "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
ParameterRemarks
idrecord_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"]
ParameterRemarks
typephone/email
valuexxx
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
ParameterRemarks
modulemoduleName
sourcefieldsourceFieldName
targetfieldtargetFieldName
{
    "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 - urlencodedRemarks
element{"leadId":"2x3072","entities":{"Contacts":{"create":true},"Accounts":{"create":true},"Potentials":{"create":true}}}

Establish a relationship between the two records.

POST Endpoint/add_related
Body - urlencodedRemarks
sourceRecordIdrecord_id
relatedRecordIdtarget_record_id
relationIdLabeltarget_relation_label
{
    "success": true,
    "result": {
        "message": "successful"
    }
}

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
ParameterRemarks
idrecord_Id
relatedLabeltarget_relationship_label
relatedTypetarget_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": "₹"
        }
    ]
}

Fetch related records matching a search criteria using this API.

GET Endpoint/query_related?query=query_string&id=record_id&relatedLabel=target_moduleName
ParameterRemarks
queryquery_string
idrecord_id
relatedLabeltarget_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
ParameterRemarks
idresource_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 ........."
        }
    ]
}