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
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
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
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
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
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
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
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
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
Error Handling
Common error codes you might encounter:
400
: Invalid request format or data404
: List or company not found422
: Invalid field value format
Best Practices
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
Optimize performance
Use batch operations for multiple entries
Implement pagination for large lists
Monitor import operations for large datasets
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
Maintain data quality
Define default values for select/status fields
Document custom field purposes and valid values
Regularly review and clean up unused fields