---
title: "List ownership inference history for a resource"
method: GET
path: "/api/v2/csm/ownership/{resource_id}/history"
tags: ["CSM Ownership"]
---

# List ownership inference history for a resource

`GET /api/v2/csm/ownership/{resource_id}/history`

List inference history entries for a resource across all owner types, ordered from most recent to oldest. Uses cursor-based pagination.

## Path parameters

- `resource_id` string, required

## Query parameters

- `cursor` string
- `limit` integer

## Response `200`

OK

- OwnershipHistoryResponse — The response returned when listing the inference history for a resource.
  - `data` OwnershipHistoryData, required — The data wrapper for an ownership history response.
    - `attributes` OwnershipHistoryAttributes, required — The attributes of an ownership history response.
      - `items` OwnershipHistoryItem[], required — The list of history entries returned for this page.
        - `checksum` string, required — A checksum identifying the state of the inference at this point in time.
        - `confidence` string, required — The confidence score of the inference, expressed as a numeric string with up to four decimal places.
        - `created_at` string, date-time, required — The time this history entry was created.
        - `evidence_versions` OwnershipEvidenceVersion[], nullable, required — The list of evidence versions associated with an inference.
        - `explanation` string, required — A human-readable explanation of how the inference was produced.
        - `failed_at` string, date-time, nullable — The time when this inference failed, if applicable.
        - `failure_reason` string, nullable — The reason why this inference failed, if applicable.
        - `id` integer, required — The unique identifier of the history entry.
        - `owner_type` 'user' | 'team' | 'service' | 'unknown', required — The owner type for an ownership inference.
        - `primary_contact_ref` string, nullable — The primary contact reference for the inferred owner, formatted as `ref:handle/<owner_handle>`.
        - `resource_id` string, required — The identifier of the resource that the inference applies to.
        - `retry_schedule` string, date-time, nullable — The scheduled retry time for a failed inference, if applicable.
        - `sources` OwnershipInferenceSource[], required — The list of sources backing an ownership inference. Empty when the inference status is not whitelisted to expose sources.
        - `status` 'suggested' | 'persisted' | 'overridden' | 'failed' | 'unknown', required — The lifecycle status of an ownership inference.
      - `pagination` OwnershipHistoryPagination, required — Cursor-based pagination metadata for the history response.
        - `has_more` boolean, required — Whether more history entries are available beyond this page.
        - `next_cursor` string, nullable — An opaque, base64-encoded cursor token. Pass it as the `cursor` query parameter to retrieve the next page. Absent or `null` when there are no further pages.
    - `id` string, required — The resource identifier for which history is returned.
    - `type` 'ownership_history', required — The type of the ownership history resource. The value should always be `ownership_history`.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized
- `429` — Too many requests

---

[API](https://skmtc.net/datadog/apis/api-v2.md) · [All operations](https://skmtc.net/datadog/apis/api-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/datadog/api-v2/versions/da68bf029e4c/schema)
