Skip to main content
June 9, 2026
  • A path parameter shared by multiple operations on the same path is now declared once at the path level instead of being repeated on each operation. Purely structural and non-breaking — the same parameters apply to the same operations, so the request contract is unchanged.
  • Added optional useDataTimeRange boolean to the line-chart and time-series-lines widgets in the dashboard payload under /dashboards/dashboards/v1. When true, the widget derives its time window from the returned data instead of the dashboard time range — useful for time-shifted DataPrime queries (e.g. addTime($m.timestamp, 14days)) whose output timestamps fall outside the dashboard’s selected window. Optional and non-breaking; omitting it preserves existing behavior.
  • Breaking (spec contract): Integer fields that carry 64-bit values are now declared as type: string with a digit pattern (^[0-9]+$ unsigned, ^-?[0-9]+$ signed) and minLength: 1 / maxLength: 20, instead of as numbers. This matches the actual JSON wire format — servers already emit and accept these values as quoted strings — so there is no runtime behavior change; only the declared type in the spec changes.
  • Array schemas now declare minItems: 0 (on every array, regardless of item type) and unsigned integer fields declare minimum: 0 by default in the spec. Additive and non-breaking (least-restrictive constraints); no runtime behavior change.
  • Added optional dataspace string to the policy target in the log, span, and generic TCO policy payloads (/dataplans/log-policies/v1, /dataplans/span-policies/v1, /dataplans/policies/v1), request and response. A free-form identifier for the target’s dataspace, mirroring dataset. Non-breaking.
  • Added optional priority (enum: PRIORITY_TYPE_UNSPECIFIED, PRIORITY_TYPE_BLOCK, PRIORITY_TYPE_LOW, PRIORITY_TYPE_MEDIUM, PRIORITY_TYPE_HIGH), priorityOverride (object), and archiveRetention (object with an id string) to the policy target in the same log/span/generic policy payloads, request and response. Optional in the spec; server validation determines required semantics. Non-breaking.
  • 46 PUT/POST request bodies across the aaa, alerts, cases, dashboards, data-exploration, dataengine, dataplan(s), enrichment-rules, events2metrics, incidents, logs, metrics, and slo APIs are now declared required in the spec. Non-breaking — clients were already required to send these bodies; the spec now reflects it.
  • Added a PagerDuty actor variant to case event actors, returned at GET /cases/cases/v1/{case_id}/events. The pagerDuty actor carries pagerDutyUserId (string), displayName (string), optional userEmail (string), and optional coralogixUserId (string, UUID). Response-only; non-breaking.
  • Removed the optional source string from the APM-database impacted-entity in case responses under /cases/cases/v1. The field had no consumers.
  • Added optional accessPolicy string to the dashboard create/replace request bodies (POST / PUT /dashboards/dashboards/v1) and the dashboard get responses (GET /dashboards/dashboards/v1/{dashboard_id}, GET /dashboards/dashboards/v1/slugs/lookup/{slug}), letting callers read and write a per-dashboard PBAC access policy (opaque JSON string). On create/replace a non-empty value sets the policy; omitting it leaves the policy unchanged. Non-breaking.
  • Added a PromQL variant to the dashboard variable query source in the dashboard payload under /dashboards/dashboards/v1. Variables can now be sourced from a PromQL query in addition to metric name, label name, and label value sources. The promqlQuery object carries the query string and an optional promqlQueryType enum (PROM_QL_QUERY_TYPE_UNSPECIFIED, PROM_QL_QUERY_TYPE_RANGE, PROM_QL_QUERY_TYPE_INSTANT) to opt into range queries. Non-breaking.
  • Added resolvedValues (array of strings) to the SLO ownership tag in the SLO payload under /slo/slos/v1, request and response. A flat, deduplicated union of the tag’s static values and the values resolved from its label keys (empties excluded), giving a single searchable list regardless of source. Non-breaking.
  • Added Prometheus Alert Manager support to the cases responses. The case payload returned by GET /cases/cases/v1/{id} and the list at POST /cases/cases/v1 gains a prometheusAlertIndicators array (an array of Prometheus alert indicator objects, under caseIndicators) listing the Prometheus alerts contributing to the case, and the case events list at GET /cases/cases/v1/{case_id}/events gains a prometheusAlertManager event-actor variant. Response-only; non-breaking.
  • Breaking: moved two /integrations/* endpoints to resolve OpenAPI path ambiguities. The legacy paths have been removed; clients must switch over.
    • POST /integrations/contextual-data/v1/{integration_id}/testPOST /integrations/contextual-data/v1/test/{integration_id}.
    • GET /integrations/extensions/v1/{id}GET /integrations/extensions/v1/catalog/{id}.
  • Added allocationType (enum: QUOTA_ALLOCATION_TYPE_UNSPECIFIED, QUOTA_ALLOCATION_TYPE_PERCENTAGE, QUOTA_ALLOCATION_TYPE_LOCKED_UNITS) and cxManaged (boolean, response-only) to the quota allocation rule in the quota-rules payload under /dataplan/quota-rules/v1, letting quota rules distinguish percentage allocation from locked units and identify Coralogix-managed rules. Non-breaking.
  • Added GET /cases/cases/v1/{case_id}/deep-links for retrieving deep-link URLs from a case to related product views.
  • Added a PAGERDUTY_INCIDENTS value to the connector type enum in the connectors payload (POST / PUT /notifications/notification-center/v1/connectors), enabling notification routing to PagerDuty via the Incidents API. Non-breaking.
  • Breaking: removed the deprecated team-configs endpoints. The following paths have been deleted; clients must migrate to the equivalent case-settings paths under /cases/cases/case-settings/v1/configs (see the 2026-05-19 entry).
    • POST /cases/cases/team-configs/v1/configs
    • GET /cases/cases/team-configs/v1/configs/{id}
    • PATCH /cases/cases/team-configs/v1/configs/{id}
    • DELETE /cases/cases/team-configs/v1/configs/{id}
    • GET /cases/cases/team-configs/v1/configs:getActive
    • GET /cases/cases/team-configs/v1/configs:getSystemDefaults
  • Cases API is now public: the following endpoints now appear in the public OpenAPI spec and customer-facing docs.
    • GET /cases/cases/v1/{id}
    • POST /cases/cases/v1
    • PUT /cases/cases/v1/{id}
    • PUT /cases/priority-override/v1/{id}
    • DELETE /cases/priority-override/v1/{id}
    • POST /cases/assigned/v1/{id}
    • DELETE /cases/assigned/v1/{id}
    • PUT /cases/acknowledged/v1/{id}
    • DELETE /cases/acknowledged/v1/{id}
    • POST /cases/closed/v1/{id}
    • PUT /cases/resolved/v1/{id}
    • POST /cases/filter-values/v1
    • PUT /cases/assigned/v1
    • DELETE /cases/assigned/v1
    • POST /cases/acknowledged/v1
    • POST /cases/resolved/v1
    • POST /cases/closed/v1
    • POST /cases/priority-override/v1
    • DELETE /cases/priority-override/v1
    • GET /cases/grouping-keys/v1
  • Added a new public case-settings API for managing team-level case settings. It supersedes the team-configs endpoints, which are now deprecated and will be removed in a future release — clients should migrate to the new paths below.
    • POST /cases/cases/case-settings/v1/configs
    • GET /cases/cases/case-settings/v1/configs/{id}
    • PATCH /cases/cases/case-settings/v1/configs/{id}
    • DELETE /cases/cases/case-settings/v1/configs/{id}
    • GET /cases/cases/case-settings/v1/configs:getActive
    • GET /cases/cases/case-settings/v1/configs:getSystemDefaults
  • Breaking: moved five /notifications/notification-center/v1/presets/* endpoints to resolve OpenAPI path ambiguities with /presets/{id} and /presets/{id}/default. The legacy paths have been removed; clients must switch over.
    • POST /notifications/notification-center/v1/presets/customPOST /notifications/notification-center/v1/presets:createCustom.
    • PUT /notifications/notification-center/v1/presets/customPUT /notifications/notification-center/v1/presets:replaceCustom.
    • POST /notifications/notification-center/v1/presets/{id}/defaultPOST /notifications/notification-center/v1/presets/{id}/default/apply. (This also resolves the /notifications/notification-center/v1/presets/custom/{id} collision, so DELETE /notifications/notification-center/v1/presets/custom/{id} keeps its existing path.)
    • GET /notifications/notification-center/v1/presets/summariesGET /notifications/notification-center/v1/presets:getDefaultSummary.
    • POST /notifications/notification-center/v1/presets/testsPOST /notifications/notification-center/v1/presets:test.
  • Breaking: moved two cases team-config read endpoints to resolve OpenAPI path ambiguities with /cases/cases/team-configs/v1/configs/{id}. The legacy paths have been removed; clients must switch over.
    • GET /cases/cases/team-configs/v1/configs/activeGET /cases/cases/team-configs/v1/configs:getActive.
    • GET /cases/cases/team-configs/v1/configs/system-defaultsGET /cases/cases/team-configs/v1/configs:getSystemDefaults.
  • Breaking: moved three /aaa/* endpoints to resolve OpenAPI path ambiguities. The legacy paths have been removed; clients must switch over.
    • GET /aaa/api-keys/v3/listGET /aaa/api-keys/v3/list/all.
    • GET /aaa/team-groups/v2/{group_id}/usersGET /aaa/team-groups/v2/{group_id}/users/list.
    • PATCH /aaa/teams/v2/{team_id}/members/statusPATCH /aaa/teams/v2/{team_id}/members:updateStatuses.
  • Added POST /dataplans/policies/v1/all/forecast-usage, which forecasts the usage in bytes of a draft TCO policy based on the bytes matched by its filter rules over a given time window.
  • Breaking: moved two dashboards read endpoints to new REST paths to resolve OpenAPI path ambiguities with /dashboards/dashboards/v1/{dashboard_id}. The legacy paths have been removed; clients must switch over.
    • GET /dashboards/dashboards/v1/catalogGET /dashboards/dashboards/v1/catalog/list.
    • GET /dashboards/dashboards/v1/slugs/{slug}GET /dashboards/dashboards/v1/slugs/lookup/{slug}.
  • Added optional targets (array, 1–10 items) to enrichments in the enrichment-rules payload under /enrichment-rules/enrichment-rules/v1, request and response. Each entry is an object with a dataset string, scoping the enrichment to specific datasets. Non-breaking.
  • Added optional roleArn and externalId strings to the S3 target spec in the archive setup payload under /logs/data-setup/v2, request and response, supporting sts:AssumeRole + external-ID cross-account S3 access. Non-breaking.
  • Added Cases KPI support across two cases payloads. Team-level KPI thresholds appear in the case-settings config under caseLifecycle.kpi (an object whose thresholds array holds the per-KPI settings) — written on POST /cases/cases/case-settings/v1/configs and PATCH /cases/cases/case-settings/v1/configs/{id}, and read on GET /cases/cases/case-settings/v1/configs/{id} (and the :getActive / :getSystemDefaults reads). Case-level breach data appears in the case payload as kpiBreaches (an object with a breachedKpis array; each entry carries kpiType, casePriority, breachedAt, and breachStatus) in the case payload returned by GET /cases/cases/v1/{id} and the list at POST /cases/cases/v1, response-only. Non-breaking.
  • Added optional metadata object (string-to-string map) to the success result of notification test endpoints (response), e.g. POST /notifications/notification-center/v1/connectors:test. Non-breaking.
  • Added optional description (string), dpxlFilter (string), and urlFields (array) to the action payload under /actions/actions/v2, request and response. Each urlFields entry is an object with name (string) and required (boolean). Non-breaking.