---
title: "Update custom fields by phone, email, or contact ID"
method: POST
path: "/contacts/custom-fields/bulk-update"
tags: ["Custom Fields"]
---

# Update custom fields by phone, email, or contact ID

`POST /contacts/custom-fields/bulk-update`

## Request

- Base URL: `https://api.spurnow.com`
- URL: `https://api.spurnow.com/contacts/custom-fields/bulk-update`
- Auth: HTTP bearer

Update custom fields for a contact using any of the following identifiers:
- **contactId**: Direct contact ID (takes highest priority)
- **phone**: Phone number with country code (e.g., "919876543210")
- **email**: Email address (case-insensitive lookup)

At least one identifier must be provided. If multiple are provided, the lookup priority is: contactId > phone > email.

This endpoint is useful when you don't have the contact ID readily available but have the phone number or email from your system.

## Request body

- BulkUpdateCustomFieldsDto
  - `contactId` number: Contact ID. Takes priority over phone and email if provided. You can find the Contact ID by searching for contacts using the GET /contacts endpoint.
  - `phone` string: Phone number with country code, no spaces (e.g., "919876543210"). Used to look up the contact if contactId is not provided.
  - `email` string: Email address. Used to look up the contact if contactId and phone are not provided.
  - `customFields` AddCustomFieldDto[], required: Array of custom fields to update
    - `value` union: Value can be any type of data
      - string, nullable
      - number, nullable
      - string, date-time, nullable
    - `name` string, required

## Response `201`

---

[API](https://skmtc.dev/spurnow/apis/spur-apis.md) - [All operations](https://skmtc.dev/spurnow/apis/spur-apis/llms.txt) - [OpenAPI document](https://skmtc.dev/spurnow/apis/spur-apis/revisions/27ca7bf002cb?raw)
