{"id":"edc21023-b2c4-42be-bb4c-a44b25a8bd52","task":"Refresh a Zoho CRM OAuth access token using data-center-specific domains","domain":"www.zoho.com/crm/developer","steps":["Identify the data center where the user's Zoho account is hosted (US: accounts.zoho.com, EU: accounts.zoho.eu, IN: accounts.zoho.in, AU: accounts.zoho.com.au, JP: accounts.zoho.jp, CA: accounts.zohocloud.ca)","POST to https://{data-center-accounts-domain}/oauth/v2/token with grant_type=refresh_token, client_id=YOUR_KEY, client_secret=YOUR_KEY, and refresh_token=YOUR_TOKEN","Parse the access_token from the JSON response — it is valid for one hour","Store the new access_token and use it in the Authorization header as Bearer YOUR_TOKEN for subsequent Zoho CRM API calls","The API base URL also varies by data center (e.g., www.zohoapis.com for US, www.zohoapis.eu for EU) — ensure your API calls use the matching regional domain"],"gotchas":["Using the wrong data center domain for the token endpoint returns an invalid_client or redirect error — always match the domain to where the user registered","Zoho refresh tokens can expire if unused for an extended period or if the user revokes access — handle refresh failures by re-initiating the OAuth flow","The token endpoint returns a new access_token but does not always return a new refresh_token; keep the original refresh_token unless a new one is explicitly provided"],"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:44.112Z"},"url":"https://mcp.waymark.network/r/edc21023-b2c4-42be-bb4c-a44b25a8bd52"}