Skip to main content
Custom Fields API

Learn how to create, manage, and use custom fields via API

Harmonic Team avatar
Written by Harmonic Team
Updated over a month ago

Overview

Custom fields in Harmonic allow you to extend your company lists with additional data points that matter to your organization. Whether you're tracking deal stages, assigning priority levels, or maintaining internal notes, custom fields help you organize and manage company information beyond standard Harmonic data.

Understanding Custom Fields

Custom fields are additional data columns you can add to your company and people lists. Think of them as extra columns in a spreadsheet where:

  • Each column is a custom field (e.g., "Deal Status", "Priority Level")

  • Each row represents a company

  • Each cell contains the specific value for that company's custom field

Custom Field Types

Each custom field has a specific type that determines what kind of data it can store:

Text

Free-form text values

Number

Numeric values with formatting options

(plain number/percent/USD)

Date

Dates with configurable display formats

(MM/DD/YYYY, DD/MM/YYYY, YYYY/MM/DD)

Single-select

One choice from predefined options

Multi-select

Multiple choices from predefined options

Person

References to team members (single or multiple)

Website

URL values

Checkbox

True/false values

Status

Status indicators with predefined options

Creating & Managing Custom Fields

Learn how to set up and maintain your custom fields through the API.

Create a custom Field

Add new custom fields to your lists to begin tracking additional information.

POST /watchlists/companies/{list_id}/custom_field  # For company lists
POST /watchlists/people/{list_id}/custom_field # For people lists

Example request (company list)

Example request (people list)

Updating Custom Fields

Modify existing custom field properties as your needs evolve.

PUT /watchlists/companies/{list_id}/custom_field?custom_field_urn={urn}  
# For company lists

PUT /watchlists/people/{list_id}/custom_field?custom_field_urn={urn}
# For people lists

You can update:

  • Field name

  • Metadata (options for select fields, formatting for numbers/dates)

  • Default values

Example request (company list)

Example request (people list)

Deleting Custom Fields

Remove custom fields that are no longer needed from your lists.

DELETE /watchlists/companies/{list_id}/custom_field?custom_field_urn={urn}  # For company lists

DELETE /watchlists/people/{list_id}/custom_field?custom_field_urn={urn} # For people lists

Working with Custom Field Values

View custom field experience in Harmonic Console

Each field type requires specific value formatting:

Managing List Entries

Once you've set up custom fields, you'll need to manage the values for companies in your list. List entries connect companies with their custom field values.

Getting Available Custom Fields

Before adding entries, you'll need the URNs of your custom fields:

GET /watchlists/companies/{list_id}/custom_fields  # For company lists
GET /watchlists/people/{list_id}/custom_fields # For people lists

Example response (company list)

Example response (people list)

Adding or Updating Entries

Add new entries to your lists or update existing ones with their custom field values. You can identify companies using either URN or canonical identifiers.

POST /watchlists/companies/{list_id}/entries  # For company lists
POST /watchlists/people/{list_id}/entries # For people lists

Example request (company list)

Example request (people list)

Retrieving Entries

Fetch and sort your list entries along with their custom field values.

GET /watchlists/companies/{list_id}/entries  # For company lists
GET /watchlists/people/{list_id}/entries # For people lists

Supports:

  • Pagination (page, size)

  • Sorting (sort_field, sort_descending)

  • Custom field sorting (sort_custom_field_urn)

Deleting Entries

Remove entries from your lists when they're no longer needed.

POST /watchlists/companies/{list_id}/entries:batchDelete  
# For company lists

POST /watchlists/people/{list_id}/entries:batchDelete
# For people lists

Example request (company list)

Example request (people list)

Bulk Import Operations

For larger datasets, you can use import operations to add or update multiple entries efficiently.

Starting an Import

Import operations are initiated through the list entries endpoint with multiple entries. The system will process these in the background and provide an import ID for tracking.

Tracking Import Status

Monitor the progress and results of your import.

GET /watchlists/companies/imports/{id or urn}  # For company lists
GET /watchlists/people/imports/{id or urn} # For people lists

Example response (company list)

Example response (people list)

Reviewing Import Results

View the outcomes of your import, including any errors.

GET /watchlists/companies/imports/{id or urn}/entries  # For company lists
GET /watchlists/people/imports/{id or urn}/entries # For people lists

Example response (company list)

Example response (people list)

View Import History

Access historical records of all import operations for a list.

GET /watchlists/companies/{list_id}/imports  # For company lists
GET /watchlists/people/{list_id}/imports # For people lists

Example response (company list)

Example response (people list)

Error Handling

Common error codes you might encounter:

  • 400: Invalid request format or data

  • 404: List or company not found

  • 422: Invalid field value format

Example error

Best Practices

  1. Plan your fields

    • Choose appropriate field types for your data

    • Consider using select fields instead of text for standardized values

    • Define clear, consistent naming conventions

  2. Optimize performance

    • Use batch operations for multiple entries

    • Implement pagination for large lists

    • Monitor import operations for large datasets

  3. Handle data carefully

    • Validate field values before sending

    • Implement proper error handling

    • Keep track of import IDs for status checking

    • Consider using canonical identifiers as URN fallback

  4. Maintain data quality

    • Define default values for select/status fields

    • Document custom field purposes and valid values

    • Regularly review and clean up unused fields

Did this answer your question?