Upsert an Account
Changed onCreates a new account or updates an existing one. domain_lookup is the matching identifier (domain is its deprecated name).
Accounts without a domain — where the workspace allows accounts without a company, omit domain_lookup and pass name to create an account with no company or domain. Every such request creates a new account; it never matches an existing one by name.
Duplicate resolution — an exact domain_lookup match is updated in place, otherwise an account is created (a company record for the domain must exist in our data sources).
Update by id — with id, that account is updated and never created; an unknown id returns 404. domains replaces the domain list as on PATCH /v1/accounts/{account_id}, as do company_id and replace_edited_fields. List company_id in clear_fields to unlink. Null fields are left unchanged; list fields to clear in clear_fields. Requires a user-scoped key.
Enrichment — creation synchronously enriches the account with firmographic data (industry, employee count, funding), so requests can take several seconds. Use generous timeouts (10s+) and keep creates off hot paths.
Request
- Base URLhttps://api.monaco.com
- URLhttps://api.monaco.com/v1/accounts/
- Authnone declared
Request body
Example request
{
"linkedin_url": "https://linkedin.com/company/acme",
"employee_count": 250,
"founded_year": 2019,
"estimated_annual_revenue_usd": 12000000,
"total_funding_usd": 50000000,
"last_funding_round": "series_b",
"last_funding_date": "2024-03-15",
"industries": [
"Software",
"Artificial Intelligence"
],
"business_model": "B2B",
"company_status": "active",
"location": "San Francisco, CA, United States",
"domain_lookup": "acme.com",
"domain": "acme.com",
"domains": [
"acme.com",
"acme.io"
],
"clear_fields": [
"owner"
],
"name": "Acme Corp",
"status": "NEW",
"notes": "Key enterprise prospect"
}Response
Successful Response
Example response
{
"data": {
"id": "acc_abc123",
"name": "Acme Corp",
"status": "PROSPECTING",
"owner": {
"id": "usr_abc123",
"first_name": "Jane",
"last_name": "Smith"
},
"parent_account": {
"id": "acc_abc123",
"name": "Acme Holdings"
},
"notes": "Key enterprise prospect",
"domains": [
"acme.com",
"acme.io"
],
"company": {
"domain": "acme.com",
"linkedin_url": "https://linkedin.com/company/acme",
"description": "Enterprise software company specializing in AI-driven sales tools",
"employee_count": 250,
"founded_year": 2019,
"industries": [
"Software",
"Artificial Intelligence"
],
"total_funding_usd": 50000000,
"last_funding_date": "2024-03-15",
"company_name": "Acme Corporation",
"estimated_annual_revenue_usd": 12000000,
"last_funding_round": "series_b",
"business_model": "B2B",
"company_status": "active",
"location": "San Francisco, CA, United States"
},
"overridden_fields": [
"industries",
"domains"
],
"scoring": {
"tier": "A",
"heat_score": "Hot"
},
"tags": [
"Enterprise",
"High Priority"
],
"created_at": "2025-06-15T10:30:00Z",
"updated_at": "2025-06-15T10:30:00Z",
"last_activity_at": "2025-06-15T10:30:00Z",
"last_activity_type": "outbound_email",
"last_contacted_at": "2025-06-15T10:30:00Z",
"last_contacted_type": "email",
"last_inbound_at": "2025-06-15T10:30:00Z",
"last_inbound_type": "email",
"skipped_domains": [
{
"domain": "acme.com",
"reason": "conflict",
"account_name": "Acme Corp"
}
]
}
}Changes
- info
added the new optional request property
- info
added the new optional request property
- info
added the new optional request property
- info
added the new optional request property
- info
added the new optional request property
- info
added the new optional request property
- info
added the new optional request property
- info
added the new optional request property
- info
added the new optional request property
- info
added the new optional request property
- info
added the new optional request property
- info
added the new optional request property
- info
added the new optional request property
- info
added the new optional request property
- info
added the new optional request property
- info
added the new optional request property
- info
added the new optional request property
- info
added the new optional request property
- info
the request property
became optional - info
request property
deprecated - info
request property
list-of-types was widened by adding typesnullto media typeapplication/json - info
added the non-success response with the status
- info
added the optional property
///to the response with the status - info
added the optional property
///to the response with the status - info
added the optional property
///to the response with the status - info
added the optional property
///to the response with the status - info
added the optional property
///to the response with the status - info
added the optional property
///to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status - info
added the optional property
/to the response with the status
- info