Group Update API

1. Overview

The Group Update API lets you define and run automation campaigns that execute the same set of tasks (set/get parameter, RPC method, diagnostic, install/uninstall, reboot, reprovision, factory reset, backup/restore, download/upload, update software, set attributes) on multiple devices grouped by manufacturer and model.

A campaign is described by an UpdateGroup structure containing:

  • Activation settings (online-only, stop-on-fail, failure threshold, push, execution periods)

  • Optional Reactivation settings (recurrence and termination rules)

  • One or more Configs — per-model task sets selecting target devices by All, Condition (existing filter view) or Individual serial numbers

  • Optional execution Period windows (under Activation) and a group-level Random count

  • ScheduledStart — campaign scheduled start time

The lifecycle of a campaign is:

Diagram

Conditions used by campaigns with SourceType=Condition are managed independently via CreateGroupUpdateCondition / DeleteGroupUpdateCondition.

2. Common Request Fields

All Group Update endpoints inherit the standard authentication envelope from BaseRequest:

Field Type Description

Creator

string

API user name

AppId

string

Application identifier

CreatorPassword

string

API user password

For brevity these fields are omitted from the per-endpoint field tables below.

3. Base URL

All endpoints live under the /api path of the Northbound API service, e.g. http://<server>/iot-webservice/api/CreateGroupUpdate.

Full per-method request/response schemas (including all nested TaskDto variants and their fields) and live request/response examples are available in the interactive Swagger UI at http://<server>/iot-webservice/swagger-ui/index.html.

4. SOAP Availability

All Group Update operations are available over both REST and SOAP. The SOAP endpoint is /FTACSWS/ACSWS; the available operations are also listed in the SOAP API tab of the Swagger UI.

SOAP request and response bodies carry the same field structure as their REST counterparts — element names match the JSON property names. Authentication is provided via creator, appid, and creatorpassword fields in the SOAP request body.

See Data Formats for the date-time and boolean value conventions, which are identical across REST and SOAP.

Table 1. REST ↔ SOAP operation mapping
REST endpoint SOAP operation

PUT /api/CreateGroupUpdate

FTCreateGroupUpdate

PUT /api/DeleteGroupUpdate

FTDeleteGroupUpdate

PUT /api/GroupUpdateActivate

FTGroupUpdateActivate

PUT /api/GroupUpdatePause

FTGroupUpdatePause

PUT /api/GroupUpdateStop

FTGroupUpdateStop

PUT /api/CreateGroupUpdateCondition

FTCreateGroupUpdateCondition

PUT /api/DeleteGroupUpdateCondition

FTDeleteGroupUpdateCondition

POST /api/ViewGroupUpdateList

FTViewGroupUpdateList

POST /api/ViewGroupConditionList

FTViewGroupConditionList

POST /api/ViewGroupUpdateDetails

FTViewGroupUpdateDetails

POST /api/ViewGroupUpdateConditionDetails

FTViewGroupUpdateConditionDetails

5. Data Formats

The value conventions below apply uniformly to both REST and SOAP: the two channels share the same parsing and formatting logic, so any value accepted over REST is accepted over SOAP and vice versa.

5.1. Date and Time

Timestamp fields — UpdateGroup.ScheduledStart, UpdateGroup.Reactivation.StartsOn and UpdateGroup.Reactivation.EndsOn — use ISO-8601 date-time strings.

On input, parsing is lenient and accepts:

Accepted form Example

Date-time with milliseconds (canonical)

2026-07-23T15:15:54.259

Date-time without milliseconds

2026-07-23T15:15:54

Date-time with a zone offset — the offset is dropped, wall-clock time retained

2026-07-23T15:15:54.259+02:00, 2026-07-23T15:15:54Z

On output, timestamps are always emitted in the canonical form yyyy-MM-dd’T’HH:mm:ss.SSS (milliseconds, no offset), e.g. 2026-07-23T15:15:54.259.

An empty value is treated as absent (null). Times are interpreted as local wall-clock time; a supplied offset is stripped, not converted.

5.2. Boolean Parameters

Boolean fields accept the textual values true / false (case-insensitive). For the GET task parameter flags — TasksList[].Parameters[].Name, Parameters[].Attribute and Parameters[].Value — the numeric form documented in their field descriptions is additionally accepted:

Value Meaning

true, 1

Request the parameter names / attributes / values

false, 0

Do not request them

Surrounding whitespace is ignored. An unrecognized value (e.g. yes, 2) is rejected with a request-validation error rather than being silently treated as false. Over SOAP the same flags use identical element names and accept the same values, e.g. <fri:Name>1</fri:Name> or <fri:Name>true</fri:Name>.

6. CreateGroupUpdate

Create a new Group Update campaign.

6.1. Behavior

Schema and examples in Swagger UI: http://<server>/iot-webservice/swagger-ui/index.html#/Group Update/createGroupUpdate (SOAP operation FTCreateGroupUpdate).
  • Request is delegated to ACS via the FT ACS API client; on ACS error the call fails with 204 / ACS_EXCEPTION.

  • On success the campaign is persisted in ACS and the ID of the newly created campaign (last record in update_group table) is returned in GroupUpdateTaskID.

  • The campaign is created in inactive state. Use GroupUpdateActivate to start it.

  • Activation is required and defines online-only execution, stop-on-fail behavior, failure threshold, push flag and execution periods.

  • Reactivation is optional; when present it defines recurrence (Minutely/Hourly/Daily/Weekly/Monthly/Yearly) and termination (EndsNever, EndsOn, or EndsAfter). Exactly one repeat option and exactly one end condition must be specified.

  • Configs[] defines per-model task sets. SourceType controls the target audience:

    • All — all devices of the given manufacturer/model (requires only Manufacturer + ModelName);

    • Condition — devices matching the referenced ConditionID (created via CreateGroupUpdateCondition);

    • Individual — devices listed by device serial number in Sn[]. Each SerialID is a serial string (not an internal id): it is resolved to the internal device id within the Manufacturer+ModelName product class, restricted to the creator’s domain tree (a super-domain/unauthenticated creator resolves without a domain filter). Resolution is fail-closed: a serial that matches no device — or is ambiguous (matches more than one) — is treated as unresolved.

      For backward compatibility with the legacy contract, SourceType also accepts the numeric ids 0 (All), 1 (Condition) and 2 (Individual) — as a JSON number or string over REST, and as element text over SOAP — and the name in any case. Responses always emit the canonical name. When SourceType=Condition, the condition may be referenced either via ConditionID or via the legacy Name alias (a numeric condition id); ConditionID takes precedence when both are present. Any other value (for example 3/File or an unknown name) is rejected with a request-validation error.

      Breaking change (FRD-10258). A numeric SerialID is no longer treated as an internal device id — every SerialID is now looked up as a device serial number. Clients that previously passed internal ids must pass the actual device serials.

      Individual serial resolution outcome — for SourceType=Individual:

    • all serials resolve → the campaign is created for the resolved devices, ErrorCode 100;

    • some serials resolve → best-effort: the campaign is still created for the resolved devices, and the unresolved serials are reported with ErrorCode 209 and a Message listing them (GroupUpdateTaskID is set);

    • no serial resolves and there is no All/Condition config to fall back on → nothing to target, ErrorCode 201 (No CPE), no campaign is created.

  • A request may carry at most 50000 serial numbers in total across all Individual configs; beyond that the request is rejected with ErrorCode 203.

  • At least one task (TasksList) is required per Config.

6.2. Request Fields

Field Type Required Description

UpdateGroup.Name

string (1-255)

yes

Campaign name

UpdateGroup.Activation.OnlineOnly

boolean

yes

Update only devices that are currently online

UpdateGroup.Activation.StopOnFail

boolean

yes

Stop the campaign if a task fails

UpdateGroup.Activation.Threshold

integer (0-100)

no

Stop the campaign when this percentage of CPEs fail

UpdateGroup.Activation.Push

boolean

yes

Issue a connection request to each device

UpdateGroup.Activation.Period[]

array (1-2)

no

Execution windows (From/To HH:MM, DevicesAmount, Interval in minutes)

UpdateGroup.Reactivation.StartsOn

ISO-8601

yes (within Reactivation)

Reactivation start time

UpdateGroup.Reactivation end condition

EndsNever / EndsOn / EndsAfter

exactly one

Reactivation termination rule

UpdateGroup.Reactivation repeat

RepeatMinutely (1-59) / RepeatHourly (1-23) / RepeatDaily (1-31) / RepeatWeekly (array of 1-7) / RepeatMonthly (1-12) / RepeatYearly

exactly one

Reactivation recurrence rule

UpdateGroup.Reactivation.ReactivateOnlyFailed

boolean

yes

Reactivate only for CPEs that failed previously

UpdateGroup.Configs[].Manufacturer

string

yes

Target manufacturer

UpdateGroup.Configs[].ModelName

string

yes

Target model

UpdateGroup.Configs[].SourceType

enum

yes

All, Condition or Individual. Also accepts the legacy numeric ids 0/1/2 and the name in any case; responses emit the canonical name.

UpdateGroup.Configs[].ConditionID

integer

when SourceType=Condition

Reference to an existing condition view. The legacy Name field is accepted as an alias (numeric condition id); ConditionID wins if both are supplied.

UpdateGroup.Configs[].Sn[]

array (max 50000)

when SourceType=Individual

Device serial numbers of target devices, resolved to internal ids within the target product class and the creator’s domain tree. At most 50000 serials in total per request (across all configs). Unresolved serials are reported via ErrorCode 209.

UpdateGroup.Configs[].TasksList[]

array (min 1)

yes

Tasks to execute. Supported taskType values are listed in Supported Task Types

UpdateGroup.Random

integer (>= 1)

no

Randomization count

UpdateGroup.ScheduledStart

ISO-8601

yes

Campaign scheduled start time

Execution Period windows live under Activation (UpdateGroup.Activation.Period[]), matching the shape returned by ViewGroupUpdateDetails. FRD-10258 §7.7 nests Period under Configs; the canonical placement is under Activation, matching the oneiot reference. Random is a single group-level count: FRD §7.1 places it under Configs, but the canonical placement is group-level, again matching the oneiot reference.

6.3. Supported Task Types

The taskType enum accepts: SET_VALUE_TASK, GET_TASK, RPC_METHOD_TASK, DIAGNOSTIC_TASK, INSTALL_TASK, REBOOT_TASK, RE_PROVISION_TASK, FACTORY_RESET_TASK, BACKUP_TASK, RESTORE_TASK, DOWNLOAD_TASK, SET_ATTRIBUTES_TASK, UNINSTALL_TASK, UPDATE_SOFTWARE_TASK, UPLOAD_TASK.

Each task supports optional TaskConditions (EQUAL, NOT_EQUAL, LESS, LESS_EQUAL, GREATER, GREATER_EQUAL, CONTAINS, STARTS_WITH, REGEXP) and a task-specific payload (Parameters, RPCMethod, InstallFile, File, UpdateFile, DeleteFile, cpeParamAttributeList, etc.). The full payload schemas are available in Swagger UI.

FRD-10258 §7.1 lists each task as a named struct (SetValue, GetValue, DownloadFile, …). The Java port models TasksList[] as a flat taskType-discriminated union (the values above), matching the oneiot reference action model.

Sn, ConditionID and the Name alias are optional and are therefore not rendered in the auto-generated SOAP request template. When SourceType=Individual, the serial-number list is required and its element names are case-sensitive — use <fri:Sn> wrapping one <fri:SerialID> per device (not <sn>/<serialid>):

<fri:Configs>
  <fri:Manufacturer>Sagemcom</fri:Manufacturer>
  <fri:ModelName>F5359</fri:ModelName>
  <fri:SourceType>Individual</fri:SourceType>   <!-- or the legacy id 2 -->
  <fri:Sn>
    <fri:SerialID>0016E3F0D476</fri:SerialID>
    <fri:SerialID>0016E3F0D477</fri:SerialID>
  </fri:Sn>
  <fri:TasksList>
    <fri:taskType>REBOOT_TASK</fri:taskType>
  </fri:TasksList>
</fri:Configs>

A misspelled or wrong-case element (e.g. <sn>) is rejected with a 203 (INCORRECT_REQUEST) ErrorCode response, not a raw SOAP fault.

6.4. Response Fields

Field Type Description

ErrorCode

integer

Result code — see the table below

Message

string

Error description (for 209, lists the serial numbers that were not found)

GroupUpdateTaskID

integer

Identifier of the created campaign (set on 100 and 209)

ErrorCode Meaning

100

Success — campaign created and all target devices resolved.

201

No CPE — Individual serials were requested, none resolved, and no All/Condition config was present; no campaign created.

203

Incorrect request — request validation failed (missing/invalid field, or more than 50000 serials in total).

204

General error (e.g. ACS_EXCEPTION when the downstream ACS call fails).

209

Partial resolution — the campaign was created, but some Individual serial numbers could not be resolved to a device (listed in Message).

209 is specific to this endpoint and is not part of the FRD-10258 code catalog {100, 201, 202, 203, 204, 205}; it encodes the PO-sanctioned best-effort partial-resolution semantics (there is no .NET counterpart for CreateGroupUpdate).

7. DeleteGroupUpdate

Delete an existing Group Update campaign.

Schema and examples in Swagger UI: http://<server>/iot-webservice/swagger-ui/index.html#/Group Update/deleteGroupUpdate (SOAP operation FTDeleteGroupUpdate).

7.1. Behavior

  • Verifies that the campaign exists in update_group table; returns UPDATE_GROUP_NOT_FOUND when absent.

  • Delegates physical deletion to ACS via the FT ACS API client; on ACS error the call fails.

  • Deletion removes the campaign together with all associated configs, conditions linkage and pending executions on ACS side. Already-executed tasks recorded on devices are not rolled back.

  • This operation is irreversible.

7.2. Request Fields

Field

Type

Required

Description

GroupUpdateTaskID

integer (>0)

yes

Identifier of the campaign to delete

7.3. Response Fields

Field

Type

Description

ErrorCode

integer

100 success, 20X failed

Message

string

Error description

8. CreateGroupUpdateCondition

Create a reusable Condition (filter view) that selects target devices for Group Update campaigns. The condition is persisted as a view of type GroupUpdateView together with its column-condition tree, and its ID can later be referenced from UpdateGroup.Configs[].ConditionID when SourceType=Condition.

Schema and examples in Swagger UI: http://<server>/iot-webservice/swagger-ui/index.html#/Group Update/createGroupUpdateCondition (SOAP operation FTCreateGroupUpdateCondition).

8.1. Behavior

  • Persists a ViewEntity of type GroupUpdateView scoped to the creator’s domain (or super-domain when domain is null/0).

  • The Name must be unique within the domain for views of this type; otherwise PARAMETER_NOT_UNIQUE is returned.

  • Saves the condition tree (logic, columnKey, compare, conditionString, etc.) in column_condition table. Existing conditions not present in the request are removed.

  • Builds an SQL specification from the supplied conditions and stores the generated query and its parameters in custom_view_query / custom_view_query_parameter so the condition can be applied to device selection later.

  • Returns the persisted view identifier as GroupUpdateConditionID.

8.2. Request Fields

Field Type Required Description

Condition.Name

string (1-255)

yes

Condition (view) name, unique within domain

Condition.Configs[]

array (non-empty)

yes

Filter tree: column keys, comparison operators, values, AND/OR logic, optional nested items

8.2.1. Filter operators per family

Each filter field accepts only the operators defined for its family (FRD-10258 §7.3). Operator names are case-insensitive and accept both the spaced and non-spaced spelling (not equal / notequal, starts with / startswith). An operator outside its family, an unknown operator, or an unknown logic value is rejected with ErrorCode 203.

Behavior change (FRD-10258). Previously, an unknown or out-of-family operator (for example Greater, Less, Regexp on a text filter) was silently coerced to Equal and the request succeeded with ErrorCode 100; such requests now return ErrorCode 203.

Filter Allowed operators

Created, LastConnection

Day, Before, After, Between

Domain

All, Equal, NotEqual

Firmware, Software, Serial, Phone, UserID, UserLocation, UserStatus, UserTag, ZIP, Cust1Cust10

Equal, NotEqual, Like, NotLike

Hardware, IPaddress, MACaddress, OUI, Uptime

Equal, NotEqual, StartsWith

  • Date filters use the format dd.MM.yyyy. Between takes a range dd.MM.yyyy – dd.MM.yyyy (the separator may be a space-surrounded en-dash or hyphen) and is inclusive of both endpoints. A malformed date or range is rejected with ErrorCode 203.

  • Domain All selects every domain in the creator’s hierarchy and must be sent with an empty value; a non-empty value is rejected with ErrorCode 203.

  • Each filter field accepts at most 100 conditions; exceeding this is rejected with ErrorCode 203.

  • The request is validated at the SOAP boundary as well as over REST, so a missing Name/Configs or an invalid operator yields ErrorCode 203 on both transports.

8.3. Response Fields

Field

Type

Description

ErrorCode

integer

100 success, 20X failed

Message

string

Error description

GroupUpdateConditionID

integer

Identifier of the created condition view

9. DeleteGroupUpdateCondition

Delete an existing Condition.

Schema and examples in Swagger UI: http://<server>/iot-webservice/swagger-ui/index.html#/Group Update/deleteGroupUpdateCondition (SOAP operation FTDeleteGroupUpdateCondition).

9.1. Behavior

  • Looks up the view by ID and verifies that its type is GroupUpdateView; otherwise UPDATE_GROUP_NOT_FOUND is returned.

  • Removes the view from view table and cascades deletion of all related rows in column_condition.

  • Campaigns that referenced this condition via Configs[].ConditionID will no longer resolve devices through it; running ACS execution is not affected, but future re-selection will fail until the campaign is reconfigured.

9.2. Request Fields

Field

Type

Required

Description

GroupUpdateConditionID

integer

yes

Identifier of the condition view to delete

9.3. Response Fields

Field

Type

Description

ErrorCode

integer

100 success, 20X failed

Message

string

Error description

10. ViewGroupUpdateList

Return a flat list of all Group Update campaigns.

Schema and examples in Swagger UI: http://<server>/iot-webservice/swagger-ui/index.html#/Group Update/viewGroupUpdateList (SOAP operation FTViewGroupUpdateList).

10.1. Behavior

  • Reads all rows from update_group table; no filtering by status, creator or domain is applied.

  • Order of results is the natural persistence order returned by the repository.

  • Each entry contains only the campaign identifier and name; use ViewGroupUpdateDetails to retrieve the full configuration of a specific campaign.

  • This operation does not contact the device or trigger ACS execution.

10.2. Request Fields

Only the common authentication envelope (Creator, AppId, CreatorPassword).

10.3. Response Fields

Field Type Description

ErrorCode

integer

100 success, 20X failed

Message

string

Error description

GroupUpdateTasks[]

array

Campaign list

GroupUpdateTasks[].id

integer

Campaign identifier

GroupUpdateTasks[].name

string

Campaign name

11. ViewGroupConditionList

Return a flat list of all Conditions (filter views).

Schema and examples in Swagger UI: http://<server>/iot-webservice/swagger-ui/index.html#/Group Update/viewGroupUpdateConditionList (SOAP operation FTViewGroupConditionList).

11.1. Behavior

  • Reads all views of type GroupUpdateView via ViewRepository#getGroupUpdateConditions.

  • Results are sorted alphabetically by Name (case-sensitive).

  • Each entry contains only identifier and name; use ViewGroupUpdateConditionDetails to retrieve the full condition tree.

11.2. Request Fields

Only the common authentication envelope.

11.3. Response Fields

Field Type Description

ErrorCode

integer

100 success, 20X failed

Message

string

Error description

GroupUpdateConditions[]

array

Condition list

GroupUpdateConditions[].id

integer

Condition identifier

GroupUpdateConditions[].name

string

Condition name

12. ViewGroupUpdateDetails

Return the full configuration of a specific Group Update campaign.

Schema and examples in Swagger UI: http://<server>/iot-webservice/swagger-ui/index.html#/Group Update/viewGroupUpdateDetails (SOAP operation FTViewGroupUpdateDetails).

12.1. Behavior

  • Looks up the campaign in update_group table by GroupUpdateTaskID; returns UPDATE_GROUP_NOT_FOUND when absent.

  • Maps the persisted UpdateGroup entity (with its actions, conditions and serial-number lists) to the API UpdateGroup structure.

  • This operation does not contact the device or trigger ACS execution; it returns the stored configuration only.

  • Field values reflect the state at request time.

12.2. Request Fields

Field

Type

Required

Description

GroupUpdateTaskID

integer (>0)

yes

Identifier of the campaign to fetch

12.3. Response Fields

Field Type Description

ErrorCode

integer

100 success, 20X failed

Message

string

Error description

UpdateGroup

UpdateGroup

Full campaign configuration — same shape as CreateGroupUpdate request body

13. ViewGroupUpdateConditionDetails

Return the full configuration of a specific Condition.

Schema and examples in Swagger UI: http://<server>/iot-webservice/swagger-ui/index.html#/Group Update/viewGroupUpdateConditionDetails (SOAP operation FTViewGroupUpdateConditionDetails).

13.1. Behavior

  • Looks up the view by ID; if not found or its type is not GroupUpdateView, DEVICE_PROFILE_NOT_FOUND is returned.

  • Maps the persisted ViewEntity to GroupUpdateView and rebuilds the full hierarchical conditions tree from column_condition (parent/child relations).

  • Localization id is fixed to EN for condition labels.

13.2. Request Fields

Field

Type

Required

Description

GroupUpdateConditionID

integer (>0)

yes

Identifier of the condition view to fetch

13.3. Response Fields

Field Type Description

ErrorCode

integer

100 success, 20X failed

Message

string

Error description

Condition

GroupUpdateCondition

Full condition configuration with hierarchical filter tree

14. GroupUpdateActivate

Start execution of a previously created Group Update campaign.

Schema and examples in Swagger UI: http://<server>/iot-webservice/swagger-ui/index.html#/Group Update/activateGroupUpdate (SOAP operation FTGroupUpdateActivate).

14.1. Behavior

  • Verifies the campaign exists in the update_group table before delegating; a well-formed but non-existent GroupUpdateTaskID returns ErrorCode 201 (NO_CPE, Message = Update Group with ID <id> not found) without contacting ACS.

  • Delegates the start command to ACS via FtAcsApiClient#startUpdateGroup; on ACS error the call fails with ACS_EXCEPTION.

  • Activation transitions the campaign from inactive/paused/stopped state to running. The exact transition rules are enforced by ACS.

  • For campaigns with ScheduledStart in the future, ACS schedules execution rather than starting immediately.

14.2. Request Fields

Field

Type

Required

Description

GroupUpdateTaskID

integer (>0)

yes

Identifier of the campaign to activate

14.3. Response Fields

Field

Type

Description

ErrorCode

integer

100 success, 20X failed

Message

string

Error description

15. GroupUpdatePause

Pause execution of a running Group Update campaign.

Schema and examples in Swagger UI: http://<server>/iot-webservice/swagger-ui/index.html#/Group Update/pauseGroupUpdate (SOAP operation FTGroupUpdatePause).

15.1. Behavior

  • Verifies the campaign exists in the update_group table before delegating; a well-formed but non-existent GroupUpdateTaskID returns ErrorCode 201 (NO_CPE, Message = Update Group with ID <id> not found) without contacting ACS.

  • Delegates the pause command to ACS via FtAcsApiClient#pauseUpdateGroup; on ACS error the call fails with ACS_EXCEPTION.

  • Pause transitions the campaign from running to paused state. The exact transition rules are enforced by ACS.

  • Pause does not delete already-queued tasks; subsequent activation continues from the current execution position.

15.2. Request Fields

Field

Type

Required

Description

GroupUpdateTaskID

integer (>0)

yes

Identifier of the campaign to pause

15.3. Response Fields

Field

Type

Description

ErrorCode

integer

100 success, 20X failed

Message

string

Error description

16. GroupUpdateStop

Stop a Group Update campaign.

Schema and examples in Swagger UI: http://<server>/iot-webservice/swagger-ui/index.html#/Group Update/stopGroupUpdate (SOAP operation FTGroupUpdateStop).

16.1. Behavior

  • Verifies the campaign exists in the update_group table before delegating; a well-formed but non-existent GroupUpdateTaskID returns ErrorCode 201 (NO_CPE, Message = Update Group with ID <id> not found) without contacting ACS.

  • Delegates the stop command to ACS via FtAcsApiClient#stopUpdateGroup; on ACS error the call fails with ACS_EXCEPTION.

  • Stop transitions the campaign from running/paused to stopped state. The exact transition rules are enforced by ACS.

  • Stop does not delete the campaign or its configuration; use DeleteGroupUpdate to remove the campaign entirely.

  • In-flight device interactions already dispatched by ACS may still complete; only further task dispatching is halted.

16.2. Request Fields

Field

Type

Required

Description

GroupUpdateTaskID

integer (>0)

yes

Identifier of the campaign to stop

16.3. Response Fields

Field

Type

Description

ErrorCode

integer

100 success, 20X failed

Message

string

Error description

17. Errors

All Group Update endpoints return the standard Northbound error envelope (see API & Integration → Error Response Format). The most common codes relevant to Group Update are:

Code Enum Trigger

100

SUCCESS

Operation succeeded

200

FAIL

Generic failure

201

NO_CPE

GroupUpdateActivate / GroupUpdatePause / GroupUpdateStop were called with a well-formed GroupUpdateTaskID that does not exist in the update_group table; Message is Update Group with ID <id> not found

203

INCORRECT_REQUEST

Request validation failed (e.g. missing required field, non-unique condition name, invalid reactivation combination)

204

GENERAL

Unexpected server-side error (ACS_EXCEPTION is reported with this code together with the upstream message)

205

NO_ACS

ACS is unreachable

Specific service-level errors (visible in Message):

Error Meaning

UPDATE_GROUP_NOT_FOUND

GroupUpdateTaskID or condition view.id does not exist, or the view is not of type GroupUpdateView

PARAMETER_NOT_UNIQUE

Condition (view) name already exists within the domain

DEVICE_PROFILE_NOT_FOUND

Condition view requested in ViewGroupUpdateConditionDetails is missing or not a GroupUpdateView

ACS_EXCEPTION

ACS rejected the operation; upstream error is propagated in Message