Skip to main content

Populator - Template Edit

Endpoint

/i/populator/templates/edit

Overview

Updates an existing populator template. This endpoint replaces the template document with the submitted payload and updates editor metadata.

Authentication

Countly API supports three authentication methods:

  1. API key query parameter: api_key=YOUR_API_KEY
  2. Auth token query parameter: auth_token=YOUR_AUTH_TOKEN
  3. Auth token header: countly-token: YOUR_AUTH_TOKEN

Permissions

Requires Update permission for the Populator feature.

Request Parameters

ParameterTypeRequiredDescription
app_idStringYesApp context for permission checks.
api_keyStringConditionalRequired when auth_token is not provided.
auth_tokenStringConditionalRequired when api_key is not provided.
template_idStringYesTemplate document ID to update.
_idStringYesCurrent template ID used for duplicate-name comparison.
nameStringYesTemplate name (must remain unique).
uniqueUserCountNumberYesExpected unique user count.
platformTypeArrayYesTarget platforms.
isDefaultBoolean or StringNo'true' becomes true; all other values become false.
lastEditedByStringNoOptional value; endpoint also sets editor name from current member.
usersArrayNoUser-generation definitions.
eventsArrayNoEvent-generation definitions.
viewsArrayNoView/screen-generation definitions.
sequencesArrayNoSequence definitions.
behaviorObjectNoBehavior configuration.
generated_onNumberNoOptional override for stored generation timestamp.

Template Object Structure

FieldTypeRequiredDescription
nameStringYesUnique template name.
uniqueUserCountNumberYesTarget number of generated users.
platformTypeArray (String)YesPlatforms included in template output.
isDefaultBoolean/StringNoDefault-template flag normalized to boolean.
usersArrayNoUser attribute distributions.
eventsArrayNoEvent definitions and segment distributions.
viewsArrayNoScreen/view generation definitions.
sequencesArrayNoSequence definitions used for behavior flows.
behaviorObjectNoAdditional behavior controls.

Response

Success Response

{
"result": "Success"
}

Response Fields

FieldTypeDescription
resultStringSuccess when replace completes.

Error Responses

400 Bad Request

{
"result": "Invalid params: ..."
}

400 Bad Request

{
"result": "Template with name Subscription Demo already exists"
}

400 Bad Request

{
"result": "Missing parameter \"api_key\" or \"auth_token\""
}

401 Unauthorized

{
"result": "No app_id provided"
}

404 Not Found

{
"result": "Template not found"
}

500 Internal Server Error

{
"result": "Invalid template id."
}

500 Internal Server Error

{
"result": "Database error: operation failed"
}

Behavior/Processing

Behavior Modes

ModeTriggerProcessing PathResponse Shape
Template updatedValid ID and payloadValidates payload, checks duplicate name, replaces template document.Wrapped object: { "result": "Success" }
Duplicate nameAnother template already has nameStops before replace.Wrapped object: { "result": "Template with name ... already exists" }
Invalid IDtemplate_id cannot be parsedStops update path and returns error.Wrapped object: { "result": "Invalid template id." }

Impact on Other Data

  • Replaces one document in countly.populator_templates.
  • Updates lastEditedBy with current member name.
  • Optionally overrides generatedOn from generated_on.

Audit & System Logs

ActionTriggerPayload
populator_template_editedTemplate replace succeeds{ before, update } objects for audit comparison.

Database Collections

CollectionUsed forData touched by this endpoint
countly.populator_templatesTemplate storageReads by name for uniqueness and replaces target template document.
countly.membersAuthentication and authorizationReads member context and editor name.
countly.appsApp rights validationReads app access context from app_id.

Examples

Rename and adjust template volume

https://your-server.com/i/populator/templates/edit?
app_id=6991c75b024cb89cdc04efd2&
api_key=YOUR_API_KEY&
template_id=65f0cbf8bca6b8e8fbf7f901&
_id=65f0cbf8bca6b8e8fbf7f901&
name=Subscription Demo v2&
uniqueUserCount=1500&
platformType=["iOS","Android"]

Update template for web expansion

https://your-server.com/i/populator/templates/edit?
app_id=6991c75b024cb89cdc04efd2&
api_key=YOUR_API_KEY&
template_id=65f0cbf8bca6b8e8fbf7f901&
_id=65f0cbf8bca6b8e8fbf7f901&
name=Subscription Demo v2&
uniqueUserCount=1800&
platformType=["iOS","Android","Web"]&
isDefault=true

Limitations

  • This endpoint uses full-document replacement; fields omitted from the submitted payload are not preserved automatically.
  • Duplicate-name check compares submitted _id with matched documents; _id should match template_id for same-template renames.

Last Updated

2026-02-17