Skip to main content
PUT

Authorizations

Authorization
string
header
required

Enter your API key with the Bearer prefix — e.g. Bearer sk_live_xxx (production) or Bearer sk_test_xxx (sandbox)

Headers

X-End-User-Id
string
required

Identifier of the end user whose connected provider should be queried. This is the same endUserId you supplied when creating the connect token. Required on every CRM and accounting call.

Example:

"user-001"

Path Parameters

resource
enum<string>
required

Canonical CRM resource type to update. Must be one of the values in the enum below. RouteMCP maps this to the equivalent provider-native object (e.g. contact → HubSpot Contacts, Pipedrive Persons, Zoho Contacts). owner and pipeline are read-only and cannot be updated.

Available options:
contact,
lead,
deal,
meeting,
company,
note,
task,
activity,
appointment
id
string
required

Provider-native record id. This is the id as it appears in the source system (e.g. a HubSpot contact id, a Pipedrive deal id, a QuickBooks invoice id). Use the remote_id field returned by the list endpoint.

Example:

"12345"

Query Parameters

provider
string
required

Provider slug identifying which connected provider to target (e.g. hubspot, pipedrive, zoho-crm, quickbooks-online, xero, zoho-books). Required — single-record operations always target a specific provider.

Example:

"hubspot"

Body

application/json

Full replacement body (PUT). Sends the complete record — fields not supplied are reset to their defaults or cleared, depending on the provider. Same required fields as create.

first_name
string

Given name of the contact.

Example:

"Gil"

last_name
string

Family name of the contact.

Example:

"Feig"

account
string

Provider-native ID of the associated account (company). Format is provider-specific.

Example:

"420578000000250001"

owner
string

Provider-native ID of the record owner.

Example:

"420578000000250001"

addresses
Address · object[]

Postal addresses for this contact. Most providers persist only the first (primary) address.

email_addresses
EmailAddress · object[]

Email addresses for this contact. The first entry is treated as the primary email.

phone_numbers
PhoneNumber · object[]

Phone numbers for this contact. The first entry is treated as the primary phone.

Response

Resource fully updated

Standard envelope returned by PUT /crm/{resource}/{id} and PATCH /crm/{resource}/{id}. Contains the record as it exists after the write. The shape of data depends on the {resource} path parameter — see the tabs to switch between resource variants.

success
boolean
required

Always true for successful (2xx) responses.

Example:

true

statusCode
integer
required

HTTP status code mirrored inside the envelope.

Example:

200

message
string
required
Example:

"OK"

data
Contact · object
required

A person record (typically associated with a company/account).