Skip to main content

/i/date_presets/delete

Endpoint​

/i/date_presets/delete

Overview​

Delete a date preset and compact sort_order for presets that were below it.

Authentication​

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

Permissions​

  • App write permission is required for the provided app_id.
  • Caller must be preset owner or a global admin.

Request Parameters​

ParameterTypeRequiredDescription
api_keyStringYes (or use auth_token)Dashboard API authentication key.
auth_tokenStringYes (or use api_key)Dashboard auth token.
app_idStringYesApp ID used by write-access validation.
preset_idStringYesPreset ID (24-char hex).

Examples​

Example 1: Delete one preset​

/i/date_presets/delete?api_key=YOUR_API_KEY&app_id=6991c75b024cb89cdc04efd2&preset_id=6992de8e6fbee4231c404429

Response​

Success Response​

{
"acknowledged": true,
"deletedCount": 1
}

Response Fields​

FieldTypeDescription
acknowledgedBooleanDelete operation acknowledgement flag.
deletedCountNumberNumber of deleted preset documents.

Error Responses​

Status Code: 400 Bad Request

{
"result": "Not enough args"
}

Status Code: 401 Unauthorized

{
"result": "Not authorized"
}

Status Code: 500 Internal Server Error

{
"result": "Could not find preset"
}

Status Code: 500 Internal Server Error

{
"result": "Error deleting preset"
}

Status Code: 500 Internal Server Error

{
"result": "Error updating sort order of other presets"
}

Behavior​

Behavior Modes​

ModeTriggerProcessing PathResponse Shape
Authorized deletePreset exists and caller is owner/global adminDeletes preset, then decrements sort_order for presets with greater sort_order.Raw object (Mongo delete result)
Unauthorized deletePreset exists but caller is not owner and not global adminStops before deletion.Wrapped object: { "result": "Not authorized" }

Impact on Other Data​

  • Deletion updates the ordering of remaining presets by decrementing sort_order for entries below the deleted item.

Limitations​

  • app_id is required for write-access validation, but deletion is keyed by preset_id.
  • The sort_order compaction update is not filtered by app, so it affects all presets with greater sort_order.
Implementation details

Database Collections

CollectionUsed forData touched by this endpoint
countly.date_presetsPreset lookup, deletion, and ordering compactionReads target preset by _id, deletes it, then updates other preset documents' sort_order.
countly.membersAuthentication and caller identity resolutionResolves member._id / global_admin context used for authorization checks.