Skip to main content

Data Manager Validations - Approve

Enterprise Only This API is available exclusively in Countly Enterprise.

Endpoint

/o/data-manager/validations/approve

Overview

Approves selected validation records and marks them resolved.

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 data_manager Read permission for this endpoint.

Request Parameters

ParameterTypeRequiredDescription
app_idStringYesTarget app ID.
validationIdsJSON String (Array)YesArray of validation document IDs to approve.
api_keyStringConditionalRequired if auth_token is not provided.
auth_tokenStringConditionalRequired if api_key is not provided.

validationIds Array Structure

validationIds is a JSON-stringified array of validation record IDs.

Decoded example:

["67b85e7a9f2d3e0012ab9c10", "67b85e7a9f2d3e0012ab9c11"]

Parameter Semantics

FieldExpected valuesBehavior
validationIdsJSON array of document IDsMust be a JSON-stringified array of validation record IDs.
Validation targetevent / segmentDrives whether event status or segment status is updated in drill_meta.
Validation typeunexpected, unplanned, GLOBAL_REGEX, SEGMENT_REGEX, data_type_mismatch, missing_segmentationOnly unexpected/unplanned trigger approval meta updates; others are effectively no-op for approval path.

Response

Success Response

Full success:

"Success"

Partial failures:

{
"67b85e7a9f2d3e0012ab9c10": "failed"
}

Response Fields

FieldTypeDescription
(root value)String"Success" on full success.
validationIdStringPresent in partial-failure map output, value "failed".

Error Responses

  • 500
{
"result": "Error"
}

Behavior/Processing

Behavior Modes

ModeTriggerProcessing PathResponse Shape
Full successAll selected items processedUpdates drill meta/status where applicable, marks validations resolved, logs approvals."Success"
Partial failureSome validation items cannot be approved (for example missing parent event for segment target)Skips failed item(s), tracks failure map, continues other items.Object keyed by validation ID with "failed"

Impact on Other Data

  • Updates countly_drill.drill_meta for approved event/segment statuses.
  • Updates countly.validation_errors{appId} to set resolved=true and lastresolvedAt.
  • Invalidates Data Manager cache for app.

Audit & System Logs

ActionTriggerPayload
dm-event-approveApproved event-level validation{ event: JSON.stringify(eventMeta), ev: validation.event }
dm-segment-approveApproved segment-level validation{ event: JSON.stringify(eventMeta), ev: validation.event, segment: validation.segment }

Database Collections

CollectionUsed forData touched by this endpoint
countly.validation_errors{appId}Validation workflow stateMarks selected validations as resolved and updates resolution timestamps.
countly_drill.drill_metaEvent/segment approval stateUpdates event or segment status metadata for approve-eligible validation types.
countly.systemlogsAudit trailWrites dm-event-approve / dm-segment-approve for processed approvals.

Examples

Approve multiple validation records

/o/data-manager/validations/approve?
app_id=64f5c0d8f4f7ac0012ab3456&
validationIds=["67b85e7a9f2d3e0012ab9c10","67b85e7a9f2d3e0012ab9c11"]

Approve a single segment validation

/o/data-manager/validations/approve?
app_id=64f5c0d8f4f7ac0012ab3456&
validationIds=["67b85e7a9f2d3e0012ab9c10"]

Operational Considerations

  • Handler processes validations sequentially to preserve parent-event/segment dependency behavior.

Limitations

  • Malformed validationIds JSON returns generic 500 Error.
  • This endpoint currently requires Read permission even though it mutates data.


Last Updated

2026-02-16