Skip to content

KesselInventoryService_ReportResource

POST
/api/inventory/v1beta2/resources

Reports to Kessel Inventory that a Resource has been created or has been updated.

Reporters can use this API to report facts about their resources in order to facilitate integration, correlation, and access control.

Each call can include:

  • Reporter-specific attributes and relationships (representations.reporter)
  • Shared attributes and relationships common to all reporters (representations.common)
  • Identifiers and metadata that allow correlation to an existing resource

Multiple reporters may report representations for the same resource. Kessel Inventory correlates these based on correlation keys provided for a given resource type

All versions of your reported facts will be retained and can be queried as needed

The relationships reported through this API are used to determine relationship check outcomes via the Check and CheckForUpdate APIs.

Reporters are responsible for ensuring delivery guarantees and message ordering appropriate to the sensitivity and consistency needs of their use case.

This API does not guarantee immediate read-your-writes consistency by default. If a reporter requires newly submitted resources or relationships to be visible in subsequent checks (e.g., Check), the request must explicitly set write_visibility = IMMEDIATE.

Request to register or update a Reporter’s Representation of a Resource in Kessel Inventory.

object
inventoryId

The Kessel Inventory-assigned ID of the Resource.

Usually not required during reporting; populated internally during correlation.

string
type

The canonical type of the Resource (e.g., “k8s_cluster”, “host”, “integration”).

Must be a previously agreed-upon value between the Reporter and Kessel Inventory. Must be consistent across all Reporter Representations of a given Type reported by a given Reporter. Used to:

  • Select the appropriate schema to validate the Reporter Representation
  • Identify a Reporter’s Representation uniquely in Kessel Inventory
string
reporterType

The type of the Reporter (e.g., “hbi”, “acm”, “acs”, “notifications”).

Must be a previously agreed-upon value between the Reporter and Kessel Inventory. Must be consistent across all Reporter Representations reported by a given Reporter. Used to:

  • Select the appropriate schema to validate the Reporter Representation
  • Identify a Reporter’s Representation uniquely in Kessel Inventory
string
reporterInstanceId

Identifier for the specific instance of the Reporter. This may not be applicable to all Reporters

Used to distinguish between multiple instances of the same reporter_type. Does not require prior coordination with Kessel Inventory.

string
representations
object
metadata
object
localResourceId
string
apiHref
string
consoleHref
string
reporterVersion
string
common
object
reporter
object
writeVisibility

Controls the visibility guarantees of the write operation in Kessel Inventory.

  • MINIMIZE_LATENCY (default): Optimizes for throughput; may delay visibility in Check results.
  • IMMEDIATE: Ensures read-your-writes consistency; higher latency due to synchronization.

Use IMMEDIATE only if your use case requires strong consistency guarantees (e.g., writing and immediately checking access to the resource).

string format: enum
Allowed values: WRITE_VISIBILITY_UNSPECIFIED MINIMIZE_LATENCY IMMEDIATE

OK

object

Default error response

The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC. Each Status message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the API Design Guide.

object
code

The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].

integer format: int32
message

A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client.

string
details

A list of messages that carry the error details. There is a common set of message types for APIs to use.

Array<object>

Contains an arbitrary serialized message along with a @type that describes the type of the serialized message.

object
@type

The type of the serialized message.

string
key
additional properties
any