Update List

Rename a list, change its tracking defaults, or archive it.

Updates a list's name, description, default_tracking_status and archived state. Send only the fields you want to change; anything you omit is left as it is. The list type is immutable — if you send it, it is ignored. Pass description: null to clear the description.

tier and default_signal_bucket are read-only: they come back on the updated list, but sending them changes nothing.

The three default lists every workspace starts with — Tier 1, Tier 2 and Tier 3 — can be renamed but not archived; archiving one returns 409. The same goes for the employee list, "All my employees".

Set archived: true to put a list away. It keeps every member and setting, but it stops appearing in List all lists unless you ask for it with include_archived=true. Set archived: false to bring it back. Archiving is not deleting: to remove a list, use Delete list.

Changing default_tracking_status immediately changes the behaviour of every member that has no tracking status of its own. Members carrying an explicit value keep it — clear a member's own value with Set member tracking status if you want it to follow the new default.

Update list

PUT/api/v2/lists/{kind}/{list_id}

Path parameters

ParameterTypeDescription
kindstringList kind: company or profile (matches the list type).
list_idintegerIdentifier of the list. Specific to your environment.

Request body

FieldTypeDescription
namestringOptional. New name, non-empty.
descriptionstringOptional. New description; pass null to clear it.
default_tracking_statusenumOptional. followed or unfollowed.
archivedbooleanOptional. true archives the list, false brings it back.
persona_idsinteger[]Optional. Replaces the full set of personas this list belongs to. Omit to leave them untouched; send an empty array to make the list apply to every persona. For the employee list, only its current set is accepted; any other set returns 409.

Every field is optional, but the body itself is required — send {} for a no-op. type, tier, default_signal_bucket and archived_at are not accepted and are ignored if present — archived_at is set for you when you pass archived.

Example request

curl -X PUT "https://api.getsillage.com/api/v2/lists/company/128" \
  -H "Authorization: Bearer $SILLAGE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Key competitors (EMEA)", "description": "Refocused on EMEA" }'

Example response

{
  "data": {
    "id": 128,
    "kind": "company",
    "type": "competitor",
    "name": "Key competitors (EMEA)",
    "description": "Refocused on EMEA",
    "tier": null,
    "default_tracking_status": "followed",
    "default_signal_bucket": "bucket_1",
    "member_count": 12,
    "bound_agent_count": 1,
    "archived_at": null,
    "persona_ids": []
  }
}

Errors

StatusDescription
400Invalid request.
401The API key is missing or invalid.
404The list does not exist in your workspace.
409The request archives one of the three default Tier 1/2/3 lists or the employee list, which cannot be archived, or changes the personas of the employee list.
422Invalid list_id, or an invalid body (empty name, unknown default_tracking_status, or a persona_ids entry that does not belong to your workspace).
429Too many requests.
500An unexpected server error occurred.

On this page