Skip to main content
Version: 24.05

Create content block

Enterprise

This endpoint is part of Countly Enterprise. To get access, contact sales or compare versions. Existing customers can reach the support portal with questions.

Endpoint​

/i/content/save

Overview​

Creates a new content block document.

Authentication​

Pass api_key or auth_token as a query parameter, or send countly-token as a header. See Authentication.

Permissions​

  • Required permission: Create 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
typeStringYesContent block type
blocksStringYesJSON stringified array of block objects
detailsStringYesJSON stringified object with block metadata

details object keys used by server: created, creatorId, favorite, title. For create flow, server overwrites details.created with current timestamp.

Examples​

Example 1: Minimal Create Request​

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

blocks object before stringifying:

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

details object before stringifying:

{
"title": "Welcome Modal",
"creatorId": "5d4472152de8f07336f3b100",
"favorite": false,
"created": 0
}

Example 2: Multi-Block Create Request​

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

blocks object before stringifying:

[
{
"layout": "survey",
"placement": {
"small": {
"position": "center",
"heightMultiplier": 1,
"fullScreenOverride": true
}
},
"elements": {
"steps": {
"step_1": {
"elements": {
"title": {
"text": "How satisfied are you?",
"translations": {
"en": "How satisfied are you?",
"es": "¿Qué tan satisfecho estás?"
}
}
}
}
}
}
}
]

Response​

Success Response​

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

Response Fields​

FieldTypeDescription
statusStringOperation status
contentIdStringCreated content block ObjectID

Error Responses​

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

Behavior​

  1. Parses blocks and details from JSON strings.
  2. Builds document with app/type/blocks/details.
  3. Sets details.updated = Date.now and details.created = Date.now for new record.
  4. Inserts into countly.content_blocks.
Implementation details

Database Collections

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