Updates the targets of an existing collection, configuration using numeric resource IDs.
Modes: Pass appendTargets=true to add to existing targets (APPEND). Omit this parameter to replace all targets (REPLACE). Note: REPLACE is not supported for user targets - use APPEND instead.
Scope validation: Each resource ID (Computer or User) must be within the technician's assigned scope. To look up resource IDs for collection, use ComputerDetails to get all computers. To use this endpoint, set useResourceIdFormat=true in the request body.
put /dcapi/target/{collectionId}/modifyTargets
https://{serverurl}/dcapi/target/{collectionId}/modifyTargets
Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52
The unique numeric identifier of the collection whose targets are to be updated. Fetch from Get Configurations View .
Mandatory. Must be true to activate the new-format path. When false, use the 'targets' array (legacy path) instead.
Optional. When true, new targets are appended to the existing target list; duplicates are silently skipped. When false (default), existing targets are fully replaced by the supplied list.
Mandatory when useResourceIdFormat=true. Target descriptor with type and resource IDs. Must NOT be combined with 'targets' in the same request.
Mandatory. Target category — 'computer' or 'user' (case-insensitive). Must match the collection's existing type; a mismatch returns a 400 error.
Mandatory. Array of numeric resource IDs to assign as targets. Each ID is validated against the RESOURCE table — computer IDs must be actively managed (MANAGED_BY_DC) and belong to the customer. Scoped technicians can only reference resources within their USERRESOURCEMAPPING scope. Any invalid, non-managed, or out-of-scope ID returns a 400 error. Minimum 1 entry.
Optional. When true, the domain is used as the main target in the generated target payload instead of the remote office. Defaults to false.
curl --request PUT \
--url https://appdomains/dcapi/target/{collectionId}/modifyTargets \
--header 'Accept: application/modifyTargets.v1+json' \
--header 'Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52' \
--header 'Content-Type: application/modifyTargets.v1+json' \
--data '{}'Replace all targets for a computer-type collection with three resource IDs
{
"appendTargets": false,
"useResourceIdFormat": true,
"targetDetails": {
"isDomainMainTarget": false,
"values": [
1001,
1002,
1003
],
"type": "computer"
}
}
Append new user resource IDs to an existing user-type collection's target list
{
"appendTargets": true,
"useResourceIdFormat": true,
"targetDetails": {
"isDomainMainTarget": false,
"values": [
2005,
2006
],
"type": "user"
}
}
The collection ID whose targets were updated. Fetch from Get Configurations View .
Total number of assigned targets after the update operation (after APPEND merge or REPLACE).
Update mode applied — 'APPEND' when appendTargets=true, 'REPLACE' when appendTargets=false (default).
Confirmation string — always 'Updated' on success.
CONFIG_INVALID_INPUT_DATA: request payload validation failed. Possible causes: missing required field (useResourceIdFormat, targetDetails, targets, type, or values); mutual-exclusivity violation (targets and targetDetails both supplied); unsupported target type (not 'computer' or 'user'); filter type mismatch between request and collection type; invalid, non-managed, or out-of-scope resource ID in values array; unresolved name/domain pair; or empty values array.
Specific message describing the first validation failure encountered.
Unauthorized error code: credentials missing, expired, or invalid
Authentication failure reason
CONFIG_INTERNAL_ERROR or SERVICE_NOT_AVAILABLE: unexpected failure during target resolution, target payload generation, or collection update.
Message describing the internal server error. Contact your administrator.
REPLACE mode — targets fully replaced with the supplied IDs
{
"mode": "REPLACE",
"totalTargets": 3,
"collectionId": 12345,
"status": "Updated"
}
APPEND mode — new targets merged into the existing list
{
"mode": "APPEND",
"totalTargets": 7,
"collectionId": 67890,
"status": "Updated"
}
One of the supplied resource IDs is invalid, non-managed, or out of the technician's scope
{
"error_description": "Resource ID 9999 is invalid, not managed, or out of your scope.",
"error_code": "CONFIG_INVALID_INPUT_DATA"
}
The requested target type does not match the collection's existing type
{
"error_description": "Filter type mismatch. Collection is of type 'Computer' but request contains type 'User'",
"error_code": "CONFIG_INVALID_INPUT_DATA"
}
User lacks write role for this configuration type
{
"error_description": "Access denied - You are not allowed to access the requested resource.",
"error_code": "UAC_UNAUTHORIZED"
}
Unexpected failure during target payload generation or collection update
{
"error_description": "Error validating resource IDs. Contact administrator.",
"error_code": "CONFIG_INTERNAL_ERROR"
}
![]()
Duration: 1 minute | Threshold: 30 | Lock period: 5 minutes
Duration - Time window for the threshold.
Threshold - Number of API calls allowed within the specified duration.
Lock Period - Wait time before consecutive API requests.
© 2026, Zoho Corporation Pvt. Ltd. All Rights Reserved.