List gate heartbeats (deduped)
Returns the newest heartbeat per distinct gate process — same deduplication shape as /gate/server-starts (partition by analytics_correlation_id, newest publish_time wins). The row's sequence counter lets a caller distinguish "gate has been alive throughout" (monotonic per process) from "gate restarted" (new correlation_id with sequence starting at 1).
Default lookback when neither start_time nor end_time is provided is 7 days — "who is alive right now" framing. Same one-bound derivation and 30-day cap as the sibling endpoints.
Query Parameters
- limit integer
Possible values:
<= 500The maximum number of items to return. Default 50.
- offset integer
The number of the first item to return.
- start_time date-time
RFC3339 timestamp. Inclusive lower bound on
publish_time. - end_time date-time
RFC3339 timestamp. Exclusive upper bound on
publish_time. - filter string
SCIM 2.0 filter over
GET /gate/heartbeats.Fields (all optional):
- event_id, analytics_correlation_id: identifier lookups.
- sequence: integer, supports ranges (gt/lt/ge/le).
- instance_id: exact-match on the persistent gate installation UUID.
- service_name: exact-match on the OpenTelemetry
service.name. - client_ip_address: exact-match on the emitting gate's client IP.
Supported operators:
- eq, ne (all fields). Multi-value lookups: chain with
or, e.g.foo eq "A" or foo eq "B". The SCIM 2.0 filter parser used here doesn't implementin. - gt, lt, ge, le (sequence)
Example: sequence gt 100
Header Parameters
- SlashID-OrgID string required
The organization ID
Example: af5fbd30-7ce7-4548-8b30-4cd59cb2aba1
- 200
- 400
- 401
- 403
OK
- application/json
- Schema
- Example (from schema)
Schema
meta object
pagination object
limit integeroffset integertotal_count int64cursor_pagination object
limit integercursor stringtotal_count int64errors object[]
httpcode integermessage stringresult object[]
event_name stringPossible values: [
AuthenticationSucceeded_v1,AuthenticationFailed_v1,PersonCreated_v1,AnonymousPersonCreated_v1,PersonDeleted_v1,VirtualPageLoaded_v1,SlashIDSDKLoaded_v1,PersonIdentified_v1,PersonLoggedOut_v1,TokenMinted_v1,AnonymousTokenMinted_v1,PasswordChanged_v1,GdprConsentsChanged_v1,GateServerStarted_v1,GateRequestHandled_v1,GateHeartbeat_v1,PermissionCreated_InRegion_v1,PermissionCreated_v1,PermissionDeleted_InRegion_v1,PermissionDeleted_v1,RoleCreated_InRegion_v1,RoleCreated_v1,RoleDeleted_InRegion_v1,RoleDeleted_v1,RoleUpdated_InRegion_v1,RoleUpdated_v1,RolesSetToPerson_InRegion_v1,RolesSetToPerson_v1,PermissionsSetToPerson_InRegion_v1,PermissionsSetToPerson_v1,MitmAttackDetected_v1,PermissionUpdated_InRegion_v1,PermissionUpdated_v1,SuborganizationCreated_InRegion_v1,SuborganizationCreated_v1,OAuth2ClientCreated_InRegion_v1,OAuth2ClientCreated_v1,AWSIAMUserCreated_v1,AWSIAMRoleCreated_v1,AWSIAMRoleInlinePoliciesUpdated_v1,AWSIAMRoleManagedPoliciesUpdated_v1,AWSIAMRoleAssumeRolePolicyUpdated_v1,AWSIAMRolePermissionsBoundaryUpdated_v1,AWSIAMRoleDeleted_v1,GCPServiceAccountCreated_v1,GCPRoleCreated_v1,GCPIAMPolicyBindingUpdated_v1,GCPServiceAccountDeleted_v1,ActiveDirectorySPNCreated_v1,ActiveDirectorySPNRoleUpdated_v1,ActiveDirectorySPNDeleted_v1,ActiveDirectoryUserCreated_v1]service_name stringHuman-readable service identity — the OpenTelemetry
service.nameattribute Gate also emits on traces and logs. Typically set by the operator to the deployment name (e.g. "gate-demo", "slashid-backend"); defaults to "gate".instance_id uuidStable UUID identifying a Gate installation across restarts. Generated on first boot and persisted to disk at monitoring.instance_id_file. When the file cannot be read or written, Gate falls back to the same UUID as analytics_correlation_id — so instance_id == analytics_correlation_id reliably signals "no persistent identity available".
sequence int64Monotonically-increasing counter starting at 1, incremented per heartbeat send attempt from the same Gate process. Lets the backend detect gaps ("heartbeat 5 arrived, then 7 — one was dropped") without needing wall-clock arithmetic. The counter is tied to the process, not to the boot event, so it does not reset across the periodic GateServerStarted_v1 renewals.
event_metadata object
Metadata attached by the backend after ingest. A curated subset of
common.EventMetadatafrom the proto plus one BQ-derived field (publish_time).sourceis omitted (always "Gate" for these events);event_type/event_name/event_versionare already carried by theEventIdentifiersslice of the embedded ingress schema.event_id uuidtimestamp stringRFC3339Nano — client-set, when gate emitted the event.
publish_time date-timePub/Sub ingest time, from the BigQuery table column. Not on the proto. Endpoints order by this field.
organization_id uuidroot_organization_id uuidanalytics_correlation_id uuidPer-gate-process identifier. Same value across every event emitted by one gate process (including its heartbeats); a new value on process restart.
{
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total_count": 0
},
"cursor_pagination": {
"limit": 0,
"cursor": "string",
"total_count": 0
}
},
"errors": [
{
"httpcode": 0,
"message": "string"
}
],
"result": [
{
"event_name": "AuthenticationSucceeded_v1",
"service_name": "string",
"instance_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"sequence": 0,
"event_metadata": {
"event_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"timestamp": "string",
"publish_time": "2005-12-24T18:29:30.033157Z",
"organization_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"root_organization_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"analytics_correlation_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6"
}
}
]
}
Bad Request
- application/json
- Schema
- Example (from schema)
Schema
meta object
pagination object
limit integeroffset integertotal_count int64cursor_pagination object
limit integercursor stringtotal_count int64errors object[]
httpcode integermessage string
{
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total_count": 0
},
"cursor_pagination": {
"limit": 0,
"cursor": "string",
"total_count": 0
}
},
"errors": [
{
"httpcode": 0,
"message": "string"
}
]
}
Unauthorized
- application/json
- Schema
- Example (from schema)
Schema
meta object
pagination object
limit integeroffset integertotal_count int64cursor_pagination object
limit integercursor stringtotal_count int64errors object[]
httpcode integermessage string
{
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total_count": 0
},
"cursor_pagination": {
"limit": 0,
"cursor": "string",
"total_count": 0
}
},
"errors": [
{
"httpcode": 0,
"message": "string"
}
]
}
Forbidden
- application/json
- Schema
- Example (from schema)
Schema
meta object
pagination object
limit integeroffset integertotal_count int64cursor_pagination object
limit integercursor stringtotal_count int64errors object[]
httpcode integermessage string
{
"meta": {
"pagination": {
"limit": 0,
"offset": 0,
"total_count": 0
},
"cursor_pagination": {
"limit": 0,
"cursor": "string",
"total_count": 0
}
},
"errors": [
{
"httpcode": 0,
"message": "string"
}
]
}