Publish Object
Use PublishObject to create or update a single Object.
The operation is an upsert: an existing object.id updates that Object, a new object.id creates a new Object, and an omitted ID lets the service assign one.
Lifecycle Operations
| Operation | How to model it |
|---|---|
Create |
Omit |
Update |
Provide an existing |
Delete |
Publish the Object with |
Publish Guidance
-
Include
provenance.updated_aton every publish. -
Populate only fields that are known for the represented Object.
-
Prefer domain-specific
type_infoand strongly typed fields over genericdetails. -
Do not send zero/default values for unknown data.
-
Use
PublishObjects(client-streaming RPC) only when you need high-throughput batch publishing.
Minimal Shape
{
"object": {
"name": "TRACK-4721",
"status": "OBJECT_STATUS_ACTIVE",
"location": {
"position": {
"latitude_degrees": 36.12,
"longitude_degrees": 42.88
}
},
"assessment": {
"affiliation": "AFFILIATION_HOSTILE"
},
"provenance": {
"name": "radar-feed",
"updated_at": "2026-04-15T10:30:10Z"
}
}
}