CRM field mappings
How Kenso fields map to your CRM's fields.
Get the field mapping
GET
/v1/crm-connections/{connectionId}/field-mappingscrm-field-mappings.listNeeds the ingestion feature on your workspace. Until it is on, calls answer 404.
objectType company, contact or deal (omit for all three). Also returns the Ken fields a mapping can name.
Parameters
Name
In
Type
Required
Description
connectionId
In: path
integer (int64)
required
objectType
In: query
string
optional
Ken-Version
In: header
string, one of: 2026-11-02, 1.1
required
The API version: a dated version (YYYY-MM-DD), or 1.1, another name for the first dated version. Without it the request uses your API key's pinned version; an unpinned key reaches the legacy shape of the same path. 1.0 selects the legacy shape explicitly.
X-Ken-Workspace-Id
In: header
integer (int64)
optional
Workspace to act in. Required when your credential can reach more than one workspace (otherwise
400 workspace_required).Response 200
data is a CrmFieldMapModel.
Field
Type
Description
mappings
array of CrmFieldMappingModel
kenFields
array of CrmKenFieldModel
Request
curl -X GET "https://api.ken.so/v1/crm-connections/812/field-mappings" \ -H "Authorization: Bearer $KEN_API_KEY" \ -H "Ken-Version: 2026-11-02" \ -H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID"
Response 200
{
"success": true,
"data": {
"mappings": [
{
"id": 812,
"objectType": "string",
"kenField": "string",
"kenFieldLabel": "string",
"crmField": "string",
"direction": "string",
"isEnabled": true,
"isDefault": true,
"updatedAt": "2026-09-23T15:02:11Z"
}
],
"kenFields": [
{
"key": "string",
"objectType": "string",
"label": "string",
"dataType": "string",
"fixedDirection": "string"
}
]
}
}Replace one object's field mapping
PUT
/v1/crm-connections/{connectionId}/field-mappingscrm-field-mappings.replaceNeeds the ingestion feature on your workspace. Until it is on, calls answer 404.
Every mapping of objectType is replaced. Checked against the CRM's fields and Ken's field catalog; Ken's own fields always sync from Ken. Requires the integrations permission.
Parameters
Name
In
Type
Required
Description
connectionId
In: path
integer (int64)
required
Ken-Version
In: header
string, one of: 2026-11-02, 1.1
required
The API version: a dated version (YYYY-MM-DD), or 1.1, another name for the first dated version. Without it the request uses your API key's pinned version; an unpinned key reaches the legacy shape of the same path. 1.0 selects the legacy shape explicitly.
X-Ken-Workspace-Id
In: header
integer (int64)
optional
Workspace to act in. Required when your credential can reach more than one workspace (otherwise
400 workspace_required).Request body
application/json, optional.
Field
Type
Required
Description
objectType
string
optional
mappings
array of CrmFieldMappingBody
optional
Response 200
data is a CrmFieldMapModel.
Field
Type
Description
mappings
array of CrmFieldMappingModel
kenFields
array of CrmKenFieldModel
Request
curl -X PUT "https://api.ken.so/v1/crm-connections/812/field-mappings" \
-H "Authorization: Bearer $KEN_API_KEY" \
-H "Ken-Version: 2026-11-02" \
-H "X-Ken-Workspace-Id: $KEN_WORKSPACE_ID" \
-H "Content-Type: application/json" \
-d '{
"objectType": "string",
"mappings": [
{
"kenField": "string",
"crmField": "string",
"direction": "string",
"isEnabled": true
}
]
}'Response 200
{
"success": true,
"data": {
"mappings": [
{
"id": 812,
"objectType": "string",
"kenField": "string",
"kenFieldLabel": "string",
"crmField": "string",
"direction": "string",
"isEnabled": true,
"isDefault": true,
"updatedAt": "2026-09-23T15:02:11Z"
}
],
"kenFields": [
{
"key": "string",
"objectType": "string",
"label": "string",
"dataType": "string",
"fixedDirection": "string"
}
]
}
}