Skip to main content

Update content block

Endpoint

/i/content/save

Enterprise Only
This API is available exclusively in Countly Enterprise.

Overview

Updates an existing content block when content_id is provided.

Authentication

  • Authentication methods:
    • API Key (parameter): api_key=YOUR_API_KEY
    • Auth Token (parameter): auth_token=YOUR_AUTH_TOKEN
    • Auth Token (header): countly-token: YOUR_AUTH_TOKEN

Permissions

  • Required permission: Update on the content feature

Request Parameters

ParameterTypeRequiredDescription
api_keyStringYes (or auth_token)API key for authentication
auth_tokenStringYes (or api_key)Auth token for authentication
app_idStringYesApplication identifier
content_idStringYesContent block ObjectID to update
typeStringYesContent block type
blocksStringYesJSON stringified array of block objects
detailsStringYesJSON stringified object with metadata (created, creatorId, favorite, title)

Response

Success Response

{
"status": "Success",
"contentId": "507f1f77bcf86cd799439011"
}

Response Fields

FieldTypeDescription
statusStringOperation status
contentIdStringUpdated content block ID

Error Responses

HTTP StatusResponse
400JSON parsing error or "Invalid request"
400Validation/processing error message (e.message)
500"Error"

Behavior/Processing

  1. Uses branch when content_id is present.
  2. Parses blocks and details from JSON strings.
  3. Updates the document by _id + app.
  4. Uses upsert: true in update operation.
  5. Returns status and contentId.

Database Collections

CollectionUsed forData touched by this endpoint
countly.content_blocksEndpoint data source** - Content block definitions

Examples

Example 1: Update Request

/i/content/save?api_key=YOUR_API_KEY&app_id=5be987d7b93798516eb5289a&content_id=5d4472152de8f07336f3b352&type=modal&blocks=<JSON_STRING>&details=<JSON_STRING>

blocks object before stringifying:

[
{
"layout": "modal",
"elements": {
"title": {
"text": "Updated Welcome"
}
}
}
]

details object before stringifying:

{
"title": "Updated Welcome Modal",
"creatorId": "5d4472152de8f07336f3b100",
"favorite": true,
"created": 1567474533960
}

Limitations

  • Entire blocks payload is replaced by provided value.
  • Update path is implemented with upsert behavior.

Ⓔ Enterprise

This feature is part of Countly Enterprise.

Get Access:

Already a Customer? Use support portal if you have any questions


Last Updated

2026-02-16