Skip to main content
POST
Bulk Update Contacts
Update several contacts in one call, each identified by its Apollo id. Partial success is normal. Writes land in the AIsa workspace, which every caller shares: the record becomes visible and editable by others, and there is no per-caller isolation.
First time? Point any MCP client at https://mcp.aisa.one/mcp — Claude Code, Codex, Cursor, VS Code and the rest. Authorization is OAuth: the client opens a browser, you click Allow once, and there is no key to paste. Your agent then reaches every endpoint through a few meta tools: search, list_categories, get_details and batch_quote are free, batch_use is billed per call. Setup per client is in Connect via MCP; the live tool list and what each call costs are on aisa.one/mcp.
Set this endpoint up in your agent →

Request contract

Complete OpenAPI definition Effective request and pricing declaration (including authentication and referenced schemas):

Cost and request rules

Published reference price: $0.012 USD per successful request. Account-specific pricing and final settlement may differ. Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.
  • Default request reference estimate (USD): 0.012
  • Cost contract: fixed_success
  • Settlement evidence source: request_snapshot

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
contact_ids
string[]
required

Array of contact IDs to update with the same values. Use this for applying the same updates to multiple contacts.

Example:
account_id
string

When using contact_ids, apply this account ID to all contacts

Example:

"63f53afe4ceeca00016bdd2f"

async
boolean

Force asynchronous processing. Automatically enabled for >100 contacts.

Example:

false

contact_attributes
object[]

Array of contact objects with individual updates. Use this for applying different updates to each contact.

email
string

When using contact_ids, apply this email to all contacts

Example:

"updated@example.com"

first_name
string

When using contact_ids, apply this first name to all contacts

Example:

"Updated"

last_name
string

When using contact_ids, apply this last name to all contacts

Example:

"Name"

linkedin_url
string

When using contact_ids, apply this LinkedIn URL to all contacts

Example:

"https://www.linkedin.com/in/updated"

organization_name
string

When using contact_ids, apply this organization name to all contacts

Example:

"Updated Corp"

owner_id
string

When using contact_ids, apply this owner to all contacts

Example:

"66302798d03b9601c7934ebf"

present_raw_address
string

When using contact_ids, apply this address to all contacts

Example:

"New York, NY"

title
string

When using contact_ids, apply this title to all contacts

Example:

"Updated Title"

typed_custom_fields
object

When using contact_ids, apply these custom fields to all contacts

Example:
visible_entity_ids
string[]

Specific contact IDs to return in the response (for performance)

Example:

Response

Successful response

contacts
string

Updated contacts

contacts[].account_id
string

Account ID

contacts[].email
string

Email

contacts[].first_name
string

First name

contacts[].id
string

Contact ID

contacts[].last_name
string

Last name

contacts[].linkedin_url
string

LinkedIn URL

contacts[].organization_name
string

Organization name

contacts[].owner_id
string

Owner ID

contacts[].present_raw_address
string

Raw address

contacts[].title
string

Title

contacts[].updated_at
string

Updated timestamp