Create check in

The deployed agent's check-in — the path consistent with the account surface, reporting the agent's account and telemetry state so the connection can be tracked.

POST /v1/o11y/cloud_integrations/{cloud_provider}/accounts/check_in

Addresshttps://api.hanzo.ai/v1/o11y/cloud_integrations/{cloud_provider}/accounts/check_in
MethodPOST
OperationAgentCheckIn
AuthAuthorization: Bearer $HANZO_API_KEY

The deployed agent's check-in — the path consistent with the account surface, reporting the agent's account and telemetry state so the connection can be tracked. Viewer gate — the agent's role is viewer.

Request

7 fields, body application/json (required).

FieldInTypeRequiredDescription
cloud_providerpathstringyes
account_idbodystring—
cloud_account_idbodystring—
cloudIntegrationIdbodyany—
databodyobject—
data.*bodyany—
providerAccountIdbodystring—

Response

StatusBodyMeaning
200o11y.O11yAgentCheckInOutok
202Approvalheld for approval
defaultproblem-detailsrefused

200 body — 46 fields.

FieldInTypeAlwaysDescription
databodyo11y.GettableAgentCheckIn—
data.account_idbodystring—Older fields for backward compatibility with existing AWS agents
data.cloud_account_idbodystring—
data.cloudIntegrationIdbodystring—
data.integration_configbodyo11y.IntegrationConfig—
data.integration_config.enabled_regionsbodystring[]—backward compatible
data.integration_config.telemetrybodyo11y.OldAWSCollectionStrategy—
data.integration_config.telemetry.aws_logsbodyo11y.OldAWSLogsStrategy—
data.integration_config.telemetry.aws_logs.cloudwatch_logs_subscriptionsbodyobject[]—
data.integration_config.telemetry.aws_logs.cloudwatch_logs_subscriptions[].filter_patternbodystring—
data.integration_config.telemetry.aws_logs.cloudwatch_logs_subscriptions[].log_group_name_prefixbodystring—
data.integration_config.telemetry.aws_metricsbodyo11y.OldAWSMetricsStrategy—
data.integration_config.telemetry.aws_metrics.cloudwatch_metric_stream_filtersbodyobject[]—
data.integration_config.telemetry.aws_metrics.cloudwatch_metric_stream_filters[].MetricNamesbodystring[]—
data.integration_config.telemetry.aws_metrics.cloudwatch_metric_stream_filters[].Namespacebodystring—
data.integration_config.telemetry.providerbodystring—
data.integration_config.telemetry.s3_bucketsbodyobject—
data.integration_config.telemetry.s3_buckets.*bodystring[]—
data.integrationConfigbodyo11y.ProviderIntegrationConfig—
data.integrationConfig.awsbodyo11y.AWSIntegrationConfig—
data.integrationConfig.aws.enabledRegionsbodystring[]—
data.integrationConfig.aws.telemetryCollectionStrategybodyo11y.AWSTelemetryCollectionStrategy—
data.integrationConfig.aws.telemetryCollectionStrategy.logsbodyo11y.AWSLogsCollectionStrategy—
data.integrationConfig.aws.telemetryCollectionStrategy.logs.subscriptionsbodyo11y.AWSCloudWatchLogsSubscription[]—
data.integrationConfig.aws.telemetryCollectionStrategy.logs.subscriptions[].filterPatternbodystring—https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html "" implies no filtering is required
data.integrationConfig.aws.telemetryCollectionStrategy.logs.subscriptions[].logGroupNamePrefixbodystring—subscribe to all logs groups with specified prefix.
data.integrationConfig.aws.telemetryCollectionStrategy.metricsbodyo11y.AWSMetricsCollectionStrategy—
data.integrationConfig.aws.telemetryCollectionStrategy.metrics.streamFiltersbodyo11y.AWSCloudWatchMetricStreamFilter[]—to be used as https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cloudwatch-metricstream.html#cfn-cloudwatch-metricstream-includefilters
data.integrationConfig.aws.telemetryCollectionStrategy.metrics.streamFilters[].metricNamesbodystring[]—
data.integrationConfig.aws.telemetryCollectionStrategy.metrics.streamFilters[].namespacebodystring—https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-cloudwatch-metricstream-metricstreamfilter.html
data.integrationConfig.aws.telemetryCollectionStrategy.s3Bucketsbodyobject—Only available in S3 Sync Service Type in AWS
data.integrationConfig.aws.telemetryCollectionStrategy.s3Buckets.*bodystring[]—
data.integrationConfig.azurebodyo11y.AzureIntegrationConfig—
data.integrationConfig.azure.deploymentRegionbodystring—
data.integrationConfig.azure.resourceGroupsbodystring[]—
data.integrationConfig.azure.telemetryCollectionStrategybodyo11y.AzureTelemetryCollectionStrategy[]—
data.integrationConfig.azure.telemetryCollectionStrategy[].logsbodyo11y.AzureLogsCollectionStrategy—
data.integrationConfig.azure.telemetryCollectionStrategy[].logs.categoryGroupsbodystring[]—List of categories to enable for diagnostic settings, to start with it will have 'allLogs' and no filtering.
data.integrationConfig.azure.telemetryCollectionStrategy[].metricsbodyo11y.AzureMetricsCollectionStrategy—
data.integrationConfig.azure.telemetryCollectionStrategy[].resourceProviderbodystring—https://learn.microsoft.com/en-us/azure/azure-resource-manager/management/resource-providers-and-types
data.integrationConfig.azure.telemetryCollectionStrategy[].resourceTypebodystring—
data.integrationConfig.gcpbodyo11y.GCPIntegrationConfig—
data.providerAccountIdbodystring—
data.removed_atbodystring (date-time)—
data.removedAtbodystring (date-time)—
statusbodystring—Status is "success".

Failure carries the platform error shape — see Errors.

Examples

hanzo o11y cloud_integrations accounts check_in <cloud_provider>
import { Configuration, O11yApi } from 'hanzoai';

const api = new O11yApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.agentCheckIn({ cloud_provider: 'cloud_provider', account_id: "<account_id>", cloud_account_id: "<cloud_account_id>" });
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import O11yApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = O11yApi(client).agent_check_in(cloud_provider='cloud_provider', account_id="<account_id>", cloud_account_id="<cloud_account_id>")
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.O11yAPI.AgentCheckIn(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, o11y_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = o11y_api::agent_check_in(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.O11yApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new O11yApi(client).agentCheckIn();
curl -X POST https://api.hanzo.ai/v1/o11y/cloud_integrations/<cloud_provider>/accounts/check_in \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "account_id": "<account_id>",
       "cloud_account_id": "<cloud_account_id>"
     }'

Tool o11y, op AgentCheckIn — POST the JSON-RPC envelope to https://api.hanzo.ai/v1/mcp.

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "o11y",
         "arguments": {
           "op": "AgentCheckIn",
           "input": {
             "cloud_provider": "<cloud_provider>",
             "account_id": "<account_id>",
             "cloud_account_id": "<cloud_account_id>"
           }
         }
       }
     }'

O11y API · All Hanzo APIs · Interactive reference

Was this page useful?