Search Neon CRM accounts, donations, memberships and events; create accounts and activities.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Create a constituent account: an INDIVIDUAL (a person) or a COMPANY (with company_name, plus an optional primary contact). Neon's Account Match may merge it into an existing account with the same name and email, so check neon_list_accounts by email first. Returns the new id. Neon: POST /accounts.
Individual person or company account.
City.
Primary email (primaryContact.email1).
Phone number (stored on the primary address as phone1).
Secondary email (primaryContact.email2).
ZIP / postal code.
Job title (primaryContact.title).
Last name.
Source id (see neon_list_properties name=sources).
Country id (see neon_list_properties name=countries).
First name (primaryContact.firstName).
Phone type.
Middle name.
Company name — required when type is COMPANY.
Primary address, line 1.
Primary address, line 2.
Preferred name.
Mark the account as do-not-solicit.
State/province code, e.g. CA.
The server marks this tool as destructive. Running it may delete or overwrite data on the server or in any account you connected with your headers.
Create a constituent account: an INDIVIDUAL (a person) or a COMPANY (with company_name, plus an optional primary contact). Neon's Account Match may merge it into an existing account with the same name and email, so check neon_list_accounts by email first. Returns the new id. Neon: POST /accounts.
| Argument | Type | Description |
|---|---|---|
| city | string | City. |
| type* | string | Individual person or company account. |
| string | Primary email (primaryContact.email1). | |
| phone | string | Phone number (stored on the primary address as phone1). |
| email2 | string | Secondary email (primaryContact.email2). |
| zip_code | string | ZIP / postal code. |
| job_title | string | Job title (primaryContact.title). |
| last_name | string | Last name. |
| source_id | string | Source id (see neon_list_properties name=sources). |
| country_id | string | Country id (see neon_list_properties name=countries). |
| first_name | string | First name (primaryContact.firstName). |
| phone_type | string | Phone type. |
| middle_name | string | Middle name. |
| company_name | string | Company name — required when type is COMPANY. |
| address_line1 | string | Primary address, line 1. |
| address_line2 | string | Primary address, line 2. |
| preferred_name | string | Preferred name. |
| no_solicitation | boolean | Mark the account as do-not-solicit. |
| state_province_code | string | State/province code, e.g. CA. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"type"
],
"properties": {
"city": {
"type": "string",
"description": "City."
},
"type": {
"enum": [
"INDIVIDUAL",
"COMPANY"
],
"type": "string",
"description": "Individual person or company account."
},
"email": {
"type": "string",
"description": "Primary email (primaryContact.email1)."
},
"phone": {
"type": "string",
"description": "Phone number (stored on the primary address as phone1)."
},
"email2": {
"type": "string",
"description": "Secondary email (primaryContact.email2)."
},
"zip_code": {
"type": "string",
"description": "ZIP / postal code."
},
"job_title": {
"type": "string",
"description": "Job title (primaryContact.title)."
},
"last_name": {
"type": "string",
"description": "Last name."
},
"source_id": {
"type": "string",
"description": "Source id (see neon_list_properties name=sources)."
},
"country_id": {
"type": "string",
"description": "Country id (see neon_list_properties name=countries)."
},
"first_name": {
"type": "string",
"description": "First name (primaryContact.firstName)."
},
"phone_type": {
"enum": [
"Home",
"Work",
"Mobile",
"Other"
],
"type": "string",
"description": "Phone type."
},
"middle_name": {
"type": "string",
"description": "Middle name."
},
"company_name": {
"type": "string",
"description": "Company name — required when type is COMPANY."
},
"address_line1": {
"type": "string",
"description": "Primary address, line 1."
},
"address_line2": {
"type": "string",
"description": "Primary address, line 2."
},
"preferred_name": {
"type": "string",
"description": "Preferred name."
},
"no_solicitation": {
"type": "boolean",
"description": "Mark the account as do-not-solicit."
},
"state_province_code": {
"type": "string",
"description": "State/province code, e.g. CA."
}
}
}Create an activity — log an interaction with a constituent (call, meeting, note) or schedule a task. Needs a subject, a start date, a time zone id (neon_list_properties name=systemTimezones), a status id (name=activityStatuses) and a priority; link it to accounts and assign it to system users. Returns the new id. Neon: POST /activities.
| Argument | Type | Description |
|---|---|---|
| note | string | The body / notes. |
| subject* | string | Short subject line. |
| end_date | string | End date, YYYY-MM-DD. |
| end_time | string | End time. |
| priority* | string | Priority. |
| status_id* | string | Activity status id (neon_list_properties name=activityStatuses). |
| start_date* | string | Start date, YYYY-MM-DD. |
| start_time | string | Start time, e.g. 09:30. |
Fetch one account in full — returned as individualAccount or companyAccount with its primary contact, addresses, consent, custom fields, current membership status and timestamps. Neon: GET /accounts/{id}.
| Argument | Type | Description |
|---|---|---|
| account_id* | string | The account id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"account_id"
],
"properties": {
"account_id": {
"type": "string",
"minLength": 1,
"description": "The account id."
}
}
}Fetch one activity (a logged interaction or task) — subject, note, dates, linked accounts, assigned users, status and priority. Neon: GET /activities/{id}.
| Argument | Type | Description |
|---|---|---|
| activity_id* | string | The activity id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"activity_id"
],
"properties": {
"activity_id": {
"type": "string",
"minLength": 1,
"description": "The activity id."
}
}
}Fetch one campaign — dates, goal, fund, purpose, parent campaign, status, page URLs and fundraising statistics. Neon: GET /campaigns/{id}.
| Argument | Type | Description |
|---|---|---|
| campaign_id* | string | The campaign id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"campaign_id"
],
"properties": {
"campaign_id": {
"type": "string",
"minLength": 1,
"description": "The campaign id."
}
}
}Fetch one donation — amount, date, fund, campaign, purpose, source, tribute, soft-credit solicitor, payments and status. Neon: GET /donations/{id}.
| Argument | Type | Description |
|---|---|---|
| donation_id* | string | The donation id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"donation_id"
],
"properties": {
"donation_id": {
"type": "string",
"minLength": 1,
"description": "The donation id."
}
}
}Fetch one event — name, summary, dates, location, capacity, category, campaign, registration and financial settings. Neon: GET /events/{id}.
| Argument | Type | Description |
|---|---|---|
| event_id* | string | The event id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"event_id"
],
"properties": {
"event_id": {
"type": "string",
"minLength": 1,
"description": "The event id."
}
}
}Fetch one membership — level, term, dates, fee, status, auto-renewal, sub-members and payments. Neon: GET /memberships/{membershipId}.
| Argument | Type | Description |
|---|---|---|
| membership_id* | string | The membership id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"membership_id"
],
"properties": {
"membership_id": {
"type": "string",
"minLength": 1,
"description": "The membership id."
}
}
}Fetch the Neon CRM organization these credentials belong to — its name, org ID and app URL. A cheap way to confirm the org ID and API key work. Neon: GET /properties/organizationProfile.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List one account's donations (amount, date, fund, campaign, purpose, status, payments), newest first by default. Neon: GET /accounts/{id}/donations.
| Argument | Type | Description |
|---|---|---|
| account_id* | string | The account id. |
| sort_column | string | Sort by date or amount. |
| current_page | integer | 0-based page number (Neon pages start at 0). Default 0. |
| sort_direction | string | Sort direction. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"account_id"
],
"properties": {
"account_id": {
"type": "string",
"minLength": 1,
"description": "The account id."
},
"sort_column": {
"enum": [
"date",
"amount"
],
"type": "string",
"description": "Sort by date or amount."
},
"current_page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "0-based page number (Neon pages start at 0). Default 0."
},
"sort_direction": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction."
}
}
}List the event registrations one account has made, optionally for a single event. Neon: GET /accounts/{id}/eventRegistrations.
| Argument | Type | Description |
|---|---|---|
| event_id | string | Only registrations for this event. |
| account_id* | string | The account id. |
| current_page | integer | 0-based page number (Neon pages start at 0). Default 0. |
| sort_direction | string | Sort direction. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"account_id"
],
"properties": {
"event_id": {
"type": "string",
"description": "Only registrations for this event."
},
"account_id": {
"type": "string",
"minLength": 1,
"description": "The account id."
},
"current_page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "0-based page number (Neon pages start at 0). Default 0."
},
"sort_direction": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction."
}
}
}List one account's membership history — level, term, start and end dates, fee, status (e.g. SUCCEEDED/FAILED) and auto-renewal. Filter to active or the primary active membership. Neon: GET /accounts/{id}/memberships.
| Argument | Type | Description |
|---|---|---|
| is_active | boolean | Only memberships matching the account's Active member flag. |
| page_size | integer | Results per page. |
| account_id* | string | The account id. |
| sort_column | string | Sort by date or amount. |
| current_page | integer | 0-based page number (Neon pages start at 0). Default 0. |
| sort_direction | string | Sort direction. |
| primary_active_membership | boolean | Only the highest-value active membership. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"account_id"
],
"properties": {
"is_active": {
"type": "boolean",
"description": "Only memberships matching the account's Active member flag."
},
"page_size": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Results per page."
},
"account_id": {
"type": "string",
"minLength": 1,
"description": "The account id."
},
"sort_column": {
"enum": [
"date",
"amount"
],
"type": "string",
"description": "Sort by date or amount."
},
"current_page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "0-based page number (Neon pages start at 0). Default 0."
},
"sort_direction": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction."
},
"primary_active_membership": {
"type": "boolean",
"description": "Only the highest-value active membership."
}
}
}List constituent accounts (individuals and companies), optionally filtered by email, first or last name, or type. Returns accountId, names, email and userType. For richer queries use neon_search. Neon: GET /accounts.
| Argument | Type | Description |
|---|---|---|
| string | Exact email address. | |
| last_name | string | Last name. |
| page_size | integer | Results per page. |
| user_type | string | Account type. |
| first_name | string | First name. |
| current_page | integer | 0-based page number (Neon pages start at 0). Default 0. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"email": {
"type": "string",
"description": "Exact email address."
},
"last_name": {
"type": "string",
"description": "Last name."
},
"page_size": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Results per page."
},
"user_type": {
"enum": [
"INDIVIDUAL",
"COMPANY"
],
"type": "string",
"description": "Account type."
},
"first_name": {
"type": "string",
"description": "First name."
},
"current_page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "0-based page number (Neon pages start at 0). Default 0."
}
}
}List fundraising campaigns (id, code, name, status). Neon: GET /campaigns.
No arguments.
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {}
}List the registrations for one event — registrant account, tickets and attendees, amount, payments. Optionally only one registrant. Neon: GET /events/{id}/eventRegistrations.
| Argument | Type | Description |
|---|---|---|
| page | integer | 0-based page number (Neon pages start at 0). Default 0. |
| event_id* | string | The event id. |
| page_size | integer | Results per page. |
| sort_direction | string | Sort direction. |
| registrant_account_id | string | Only this registrant's registrations. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"event_id"
],
"properties": {
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "0-based page number (Neon pages start at 0). Default 0."
},
"event_id": {
"type": "string",
"minLength": 1,
"description": "The event id."
},
"page_size": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Results per page."
},
"sort_direction": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction."
},
"registrant_account_id": {
"type": "string",
"description": "Only this registrant's registrations."
}
}
}List events, filterable by name, category, date window, published or archived state. Dates are YYYY-MM-DD. Only Neon's legacy events are exposed by the API. Neon: GET /events.
| Argument | Type | Description |
|---|---|---|
| archived | boolean | Only archived (true) or active (false) events. |
| page_size | integer | Results per page. |
| event_name | string | Event name. |
| current_page | integer | 0-based page number (Neon pages start at 0). Default 0. |
| end_date_after | string | Events ending after this date (YYYY-MM-DD). |
| event_category | string | Event category (a delimited list is allowed). |
| end_date_before | string | Events ending before this date (YYYY-MM-DD). |
| published_event | boolean | Only published (true) or unpublished (false) events. |
| start_date_after | string |
List the organization's membership levels (id, code, description, rank, type, status). Neon: GET /memberships/levels.
| Argument | Type | Description |
|---|---|---|
| status | string | Only levels with this status. |
| page_size | integer | Results per page. |
| current_page | integer | 0-based page number (Neon pages start at 0). Default 0. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"status": {
"enum": [
"ACTIVE",
"INACTIVE"
],
"type": "string",
"description": "Only levels with this status."
},
"page_size": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Results per page."
},
"current_page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "0-based page number (Neon pages start at 0). Default 0."
}
}
}List one of the organization's lookup lists — the ids other tools need: funds, purposes, sources, solicitation methods, activity statuses and system time zones (for neon_create_activity), system users, individual and company types, event categories, countries, states/provinces, genders, prefixes. Neon: GET /properties/{name}.
| Argument | Type | Description |
|---|---|---|
| name* | string | Which lookup list. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"name"
],
"properties": {
"name": {
"enum": [
"funds",
"purposes",
"sources",
"solicitationMethods",
"activityStatuses",
"systemTimezones",
"systemUsers",
"individualTypes",
"companyTypes",
"eventCategories",
"countries",
"stateProvinces",
"genders",
"prefixes"
],
"type": "string",
"description": "Which lookup list."
}
}
}Discover the field names neon_search accepts for a resource: kind=searchFields gives filterable fields with their allowed operators; kind=outputFields gives the columns you can return (standard field names plus custom fields with numeric ids). Call this before neon_search. Neon: GET /{resource}/search/searchFields or /outputFields.
| Argument | Type | Description |
|---|---|---|
| kind* | string | Filter fields or output columns. |
| resource* | string | Which record type. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"resource",
"kind"
],
"properties": {
"kind": {
"enum": [
"searchFields",
"outputFields"
],
"type": "string",
"description": "Filter fields or output columns."
},
"resource": {
"enum": [
"accounts",
"donations",
"activities",
"events"
],
"type": "string",
"description": "Which record type."
}
}
}Report-style search over accounts, donations (includes pledges and pledge payments), activities or events. Give filter criteria (field + operator + value), the output columns to return (standard field NAMES as strings, or custom-field IDS as integers — both from neon_list_search_fields), and 0-based pagination. Results come back as searchResults rows keyed by output field name, plus pagination totals. Neon allows only ONE concurrent search per endpoint. Neon: POST /{resource}/search.
| Argument | Type | Description |
|---|---|---|
| resource* | string | Which record type to search. |
| page_size | integer | Results per page. |
| sort_column | string | Output field name to sort by — it must also appear in output_fields. |
| current_page | integer | 0-based page number (Neon pages start at 0). Default 0. |
| output_fields* | array | Columns to return: standard field names (strings) and/or custom-field ids (integers). Max 300. |
| search_fields* | array | Filter criteria, ANDed together. Neon requires at least one. |
| sort_direction | string |
Change an account's name, email, job title, company name or do-not-solicit / email opt-out flags. Only the fields you pass are changed (PATCH). The type must match the account (see neon_get_account). Addresses are not edited here. Neon: PATCH /accounts/{id}.
| Argument | Type | Description |
|---|---|---|
| type* | string | The account's type (individualAccount vs companyAccount). |
| string | Primary email (primaryContact.email1). | |
| email2 | string | Secondary email (primaryContact.email2). |
| job_title | string | Job title (primaryContact.title). |
| last_name | string | Last name. |
| account_id* | string | The account id. |
| first_name | string | First name (primaryContact.firstName). |
| middle_name | string | Middle name. |
| company_name | string |
Change an activity's subject, note, status (e.g. mark it completed) or priority. Only the fields you pass are changed (PATCH). Neon: PATCH /activities/{id}.
| Argument | Type | Description |
|---|---|---|
| note | string | New note (replaces the old one). |
| subject | string | New subject. |
| priority | string | New priority. |
| status_id | string | New status id (neon_list_properties name=activityStatuses). |
| activity_id* | string | The activity id. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"activity_id"
],
"properties": {
"note": {
"type": "string",
"description": "New note (replaces the old one)."
},
"subject": {
"type": "string",
"description": "New subject."
},
"priority": {
"enum": [
"High",
"Normal",
"Low"
],
"type": "string",
"description": "New priority."
},
"status_id": {
"type": "string",
"description": "New status id (neon_list_properties name=activityStatuses)."
},
"activity_id": {
"type": "string",
"minLength": 1,
"description": "The activity id."
}
}
}| account_ids |
| array |
| Accounts this activity is about. |
| time_zone_id* | string | Time zone id (neon_list_properties name=systemTimezones). |
| system_user_ids | array | System users it is assigned to. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"subject",
"start_date",
"time_zone_id",
"status_id",
"priority"
],
"properties": {
"note": {
"type": "string",
"description": "The body / notes."
},
"subject": {
"type": "string",
"minLength": 1,
"description": "Short subject line."
},
"end_date": {
"type": "string",
"description": "End date, YYYY-MM-DD."
},
"end_time": {
"type": "string",
"description": "End time."
},
"priority": {
"enum": [
"High",
"Normal",
"Low"
],
"type": "string",
"description": "Priority."
},
"status_id": {
"type": "string",
"description": "Activity status id (neon_list_properties name=activityStatuses)."
},
"start_date": {
"type": "string",
"description": "Start date, YYYY-MM-DD."
},
"start_time": {
"type": "string",
"description": "Start time, e.g. 09:30."
},
"account_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "Accounts this activity is about."
},
"time_zone_id": {
"type": "string",
"description": "Time zone id (neon_list_properties name=systemTimezones)."
},
"system_user_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "System users it is assigned to."
}
}
}| Events starting after this date (YYYY-MM-DD). |
| start_date_before | string | Events starting before this date (YYYY-MM-DD). |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"archived": {
"type": "boolean",
"description": "Only archived (true) or active (false) events."
},
"page_size": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Results per page."
},
"event_name": {
"type": "string",
"description": "Event name."
},
"current_page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "0-based page number (Neon pages start at 0). Default 0."
},
"end_date_after": {
"type": "string",
"description": "Events ending after this date (YYYY-MM-DD)."
},
"event_category": {
"type": "string",
"description": "Event category (a delimited list is allowed)."
},
"end_date_before": {
"type": "string",
"description": "Events ending before this date (YYYY-MM-DD)."
},
"published_event": {
"type": "boolean",
"description": "Only published (true) or unpublished (false) events."
},
"start_date_after": {
"type": "string",
"description": "Events starting after this date (YYYY-MM-DD)."
},
"start_date_before": {
"type": "string",
"description": "Events starting before this date (YYYY-MM-DD)."
}
}
}| Sort direction. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"resource",
"search_fields",
"output_fields"
],
"properties": {
"resource": {
"enum": [
"accounts",
"donations",
"activities",
"events"
],
"type": "string",
"description": "Which record type to search."
},
"page_size": {
"type": "integer",
"maximum": 500,
"minimum": 1,
"description": "Results per page."
},
"sort_column": {
"type": "string",
"description": "Output field name to sort by — it must also appear in output_fields."
},
"current_page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "0-based page number (Neon pages start at 0). Default 0."
},
"output_fields": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
}
]
},
"maxItems": 300,
"minItems": 1,
"description": "Columns to return: standard field names (strings) and/or custom-field ids (integers). Max 300."
},
"search_fields": {
"type": "array",
"items": {
"type": "object",
"required": [
"field",
"operator"
],
"properties": {
"field": {
"type": "string",
"description": "A search field name, e.g. 'Email' or 'Donation Date'."
},
"value": {
"type": "string",
"description": "The value to compare against."
},
"operator": {
"enum": [
"EQUAL",
"NOT_EQUAL",
"BLANK",
"NOT_BLANK",
"LESS_THAN",
"GREATER_THAN",
"LESS_AND_EQUAL",
"GREATER_AND_EQUAL",
"IN_RANGE",
"NOT_IN_RANGE",
"CONTAIN",
"NOT_CONTAIN"
],
"type": "string",
"description": "Comparison operator. BLANK/NOT_BLANK take no value."
},
"value_list": {
"type": "array",
"items": {
"type": "string"
},
"description": "A list of values, for IN_RANGE / NOT_IN_RANGE."
}
}
},
"minItems": 1,
"description": "Filter criteria, ANDed together. Neon requires at least one."
},
"sort_direction": {
"enum": [
"ASC",
"DESC"
],
"type": "string",
"description": "Sort direction."
}
}
}| New company name (COMPANY accounts only). |
| email_opt_out | boolean | Opt the primary email out of email (email1OptOut). |
| preferred_name | string | Preferred name. |
| no_solicitation | boolean | Do-not-solicit flag. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"account_id",
"type"
],
"properties": {
"type": {
"enum": [
"INDIVIDUAL",
"COMPANY"
],
"type": "string",
"description": "The account's type (individualAccount vs companyAccount)."
},
"email": {
"type": "string",
"description": "Primary email (primaryContact.email1)."
},
"email2": {
"type": "string",
"description": "Secondary email (primaryContact.email2)."
},
"job_title": {
"type": "string",
"description": "Job title (primaryContact.title)."
},
"last_name": {
"type": "string",
"description": "Last name."
},
"account_id": {
"type": "string",
"minLength": 1,
"description": "The account id."
},
"first_name": {
"type": "string",
"description": "First name (primaryContact.firstName)."
},
"middle_name": {
"type": "string",
"description": "Middle name."
},
"company_name": {
"type": "string",
"description": "New company name (COMPANY accounts only)."
},
"email_opt_out": {
"type": "boolean",
"description": "Opt the primary email out of email (email1OptOut)."
},
"preferred_name": {
"type": "string",
"description": "Preferred name."
},
"no_solicitation": {
"type": "boolean",
"description": "Do-not-solicit flag."
}
}
}