Skip to main content
PATCH
/
crm
/
{objectSlug}
/
{recordId}
Patch a CRM record
curl --request PATCH \
  --url https://api.zeeg.me/v2/crm/{objectSlug}/{recordId} \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "price": 35,
  "inventory_count": 80
}
'
{
  "success": true,
  "status": 200,
  "record": {
    "id": "c1d2e3f4-a5b6-7890-cdef-123456789012",
    "objectSlug": "products",
    "attributes": {
      "sku": "DRESS-001",
      "price": 29,
      "inventory_count": 150
    },
    "createdAt": "2025-06-01T10:00:00+00:00",
    "updatedAt": "2025-06-01T12:00:00+00:00"
  }
}

Documentation Index

Fetch the complete documentation index at: https://developer.zeeg.me/llms.txt

Use this file to discover all available pages before exploring further.

Partially updates a CRM record. Only the attributes you include in the request body are changed — all other attributes remain exactly as they are.

Path parameters

ParameterTypeDescription
objectSlugstringThe slug of the custom CRM object the record belongs to.
recordIdstring (UUID)The UUID of the record to update.

Request body

A flat JSON object containing only the attribute slug → value pairs you want to change. Attributes not present in the body are untouched.
{
  "price": 49,
  "in_stock": false
}
This updates price and in_stock only. Every other attribute on the record keeps its current value.

PATCH vs. Assert

PATCH /{objectSlug}/{recordId}PUT /{objectSlug}?matchingAttribute=...
LookupBy record idBy attribute value
ScopeOnly provided attributes changeFull body applied (omitted attrs → null on create)
Use caseEdit a known record’s specific fieldsSync/upsert from an external system
Use PATCH when you have the record ID and only want to update certain fields. Use Assert when syncing from an external source or when you don’t have the ID yet.

Attribute types

The same type rules apply as when creating a record:
TypeExpected valueExample
textString, max 255 characters"Updated name"
numberInteger49
checkboxBooleanfalse
dateISO 8601 date string"2025-12-31"
selectObject with an id key{ "id": "opt_abc123" }
multiselectArray of option objects[{ "id": "opt_abc" }]
relationArray of related record UUIDs["uuid-1", "uuid-2"]
userArray of organization member UUIDs["member-uuid-1"]
For relation and user attributes, PATCH replaces the entire array. To add or remove individual IDs without overwriting the full list, use Update Relation instead.

Clearing a value

To explicitly clear an attribute, pass null:
{
  "launched_at": null
}

Example: update price and stock status

PATCH /v2/crm/products/c1d2e3f4-a5b6-7890-cdef-123456789012
{
  "price": 49,
  "inventory_count": 0,
  "in_stock": false
}
Response returns the full updated record with all attributes, including the unchanged ones.

When to use this endpoint

  • Edit forms — a user edits one or a few fields and saves.
  • Status updates — flip a single boolean or enum field without touching anything else.
  • Partial enrichment — backfill a specific attribute after you’ve gathered more data.

Authorizations

Authorization
string
header
required

Path Parameters

objectSlug
string
required

Slug of the custom CRM object.

recordId
string<uuid>
required

UUID of the record to update.

Body

application/json

Flat object of attribute slug → value pairs to update.

Response

OK

success
boolean
Example:

true

status
integer
Example:

200

record
object

A record for a custom CRM object.

Last modified on May 7, 2026