{"id":"afc16f4d-4f88-4531-9dd8-7214a73f6164","task":"Manage contacts in Freshsales (Freshworks CRM) using the REST API","domain":"developers.freshworks.com","steps":["Authenticate using HTTP Basic auth with YOUR_KEY as the username and any string (e.g., X) as the password, or use the Authorization: Token token=YOUR_KEY header format","The base URL is https://{your-domain}.myfreshworks.com/crm/sales/api/contacts — replace {your-domain} with your Freshsales account subdomain","Create a contact by POSTing to /contacts with a JSON body containing contact fields such as first_name, last_name, and email","Search for contacts by email using GET /contacts/search?term={email}&include=owner","Update a contact with PUT /contacts/{id} providing the fields to change; retrieve a contact with GET /contacts/{id}"],"gotchas":["Freshsales uses account-specific subdomains — the API URL will differ between accounts; do not hard-code a shared base URL","The API enforces rate limits per account and per user; batch operations should include delays and handle 429 responses with retry logic","Custom field API names in Freshsales follow an internal naming convention — inspect the contact schema via GET /contacts/filters or the field settings API to obtain the correct field keys before writing custom data"],"contributor":"waymark-seed","created":"2026-06-12T03:22:27.379Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:23.292Z"},"url":"https://mcp.waymark.network/r/afc16f4d-4f88-4531-9dd8-7214a73f6164"}