Bulk import via Territory API does not update territory assignments for existing records

We’re using the Territory Management API to bulk import account assignments to different territories. The API call completes successfully (200 status), but when we check the accounts in Zoho CRM, their territory assignments haven’t changed. New accounts get assigned correctly, but existing accounts keep their old territory assignments.

Our payload structure:


{
  "data": [
    {"Account_Name": "Acme Corp", "Territory": "4150868000001234567"},
    {"Account_Name": "TechStart Inc", "Territory": "4150868000001234568"}
  ]
}

We’re using the account name to match existing records and including the territory ID in the payload. The API response shows success for all records, but the territory field remains unchanged for accounts that already exist in the system. We need to reassign about 200 accounts monthly as our sales territories evolve. Is there a specific parameter or permission setting required to update territory assignments on existing records via bulk import?

Territory assignments in Zoho CRM are handled differently than regular field updates. You need to use the dedicated territory assignment API endpoint, not the standard bulk update endpoint. Check the Territory Management section of the API documentation for the specific endpoint format.

I think the issue is that you’re using Account_Name as the identifier, but bulk updates require the record ID. You should first fetch the account IDs using a search query, then use those IDs in your bulk update payload. Also, the Territory field might need to be structured as an object with an ‘id’ property rather than just the territory ID string. Try this format: “Territory”: {“id”: “4150868000001234567”}

Check if your territories have assignment rules configured. If automatic territory assignment rules are active, they might be re-evaluating and reverting your API changes based on the account’s field values (like country, state, industry). You’d need to either disable those rules temporarily or ensure your account data matches the territory rule criteria.

Are you using the upsert operation or a standard update? For existing records, you need to explicitly use the update operation with the record ID. The bulk import might be treating all your records as inserts, which would explain why new accounts work but existing ones don’t get updated.