Create, update, and merge Freshdesk contacts and link them to companies via the Freshdesk API
domain: developers.freshdesk.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Authenticate with your Freshdesk API key as the HTTP Basic Auth username and any string (e.g. "X") as the password, e.g. curl -u {api_key}:X, over HTTPS at https://{domain}.freshdesk.com/api/v2/
Create a contact with POST /api/v2/contacts, supplying name plus at least one of email or phone; set company_id (or other_companies) to associate the contact with a company
Create a company with POST /api/v2/companies, supplying name and an optional domains array — contacts whose email domain matches an entry in domains are auto-associated with that company
Read or update records with GET/PUT /api/v2/contacts/[id] and GET/PUT /api/v2/companies/[id]; use /api/v2/contacts/autocomplete?term= or the beta /api/v2/search/contacts?query= for filtered lookups (companies have equivalent autocomplete/search endpoints)
Merge duplicate contacts with POST /api/v2/contacts/merge, designating a primary contact that retains name/phone/company details and absorbs the secondary contact's tickets and notes
For bulk retrieval, trigger an asynchronous export via /api/v2/contacts/export or /api/v2/companies/export and poll the returned job for a CSV download URL
Known gotchas
Only one contact export and one company export can run per account at a time, and the resulting file's download URL expires after 15 days
Account-wide rate limits are plan-based (e.g. Growth 100/min, Pro 400/min, Enterprise 700/min) and even invalid/failed requests count against the limit; check the X-Ratelimit-Remaining and Retry-After response headers
Updating a contact that has been soft-deleted or blocked returns HTTP 405 Method Not Allowed — restore it first via /api/v2/contacts/[id]/restore
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?