Platform API ClientClient group4 methodsTelemetryMethods

Telemetry

Report hybrid deployment usage windows, submit attestation digests, and review telemetry report/challenge state.

Usage report ingestionAttestation verificationChallenge feed

Telemetry

telemetry.reportUsage()
Generated exampleHTTP endpoint wrapperPOST /api/v1/telemetry/usage

POST /api/v1/telemetry/usage

Signature

reportUsage(input: {
    idempotencyKey?: string;
    windowStart: string | Date;
    windowEnd: string | Date;
    operationCounts: {
      audit_event: number;
      compliance_proof: number;
      risk_decision: number;
      replay_verification: number;
    };
    source?: {
      deploymentId?: string;
      region?: string;
      provider?: "aws" | "gcp" | "azure" | "other";
    };
  }): Promise<{
    reportId: string;
    accepted: boolean;
    totalQuantity?: number;
    operationCounts?: unknown;
    attestation?: {
      required: boolean;
      challengeId?: string | null;
      expiresAt?: string | Date | null;
    };
  }>

Parameters

NameTypeFlags
input{ idempotencyKey?: string; windowStart: string | Date; windowEnd: string | Date; operationCounts: { audit_event: number; compliance_proof: number; risk_decision: number; replay_verification: number; }; source?: { deploymentId?: string; region?: string; provider?: "aws" | "gcp" | "azure" | "other"; }; }required
TypeScript SDKTypeScript
import { ArelisClient } from "@arelis-ai/governance-api-client";

const client = new ArelisClient({
  baseUrl: "https://api.arelis.digital",
  apiKey: process.env.ARELIS_API_KEY,
});

const input = {} as {
    idempotencyKey?: string;
    windowStart: string | Date;
    windowEnd: string | Date;
    operationCounts: {
      audit_event: number;
      compliance_proof: number;
      risk_decision: number;
      replay_verification: number;
    };
    source?: {
      deploymentId?: string;
      region?: string;
      provider?: "aws" | "gcp" | "azure" | "other";
    };
  };
// Fill the input payload fields before calling this method.

const response = await client.telemetry.reportUsage(input);
console.log(response);

Response

// Response type
Promise<{
    reportId: string;
    accepted: boolean;
    totalQuantity?: number;
    operationCounts?: unknown;
    attestation?: {
      required: boolean;
      challengeId?: string | null;
      expiresAt?: string | Date | null;
    };
  }>

// Inspect concrete fields from your runtime payload:
// console.log(JSON.stringify(response, null, 2));
telemetry.submitAttestation()
Generated exampleHTTP endpoint wrapperPOST /api/v1/telemetry/attestations/{challengeId}

POST /api/v1/telemetry/attestations/{challengeId}

Signature

submitAttestation(challengeId: string, input: {
      usageDigest: string;
      totalOperations: number;
      attestationDigest: string;
      merkleRoot?: string;
      evidenceHash?: string;
    }): Promise<{
    challengeId: string;
    reportId: string;
    verified: boolean;
    status: string;
  }>

Parameters

NameTypeFlags
challengeIdstringrequired
input{ usageDigest: string; totalOperations: number; attestationDigest: string; merkleRoot?: string; evidenceHash?: string; }required
TypeScript SDKTypeScript
import { ArelisClient } from "@arelis-ai/governance-api-client";

const client = new ArelisClient({
  baseUrl: "https://api.arelis.digital",
  apiKey: process.env.ARELIS_API_KEY,
});

const challengeId = "<challengeId>";
const input = {} as {
      usageDigest: string;
      totalOperations: number;
      attestationDigest: string;
      merkleRoot?: string;
      evidenceHash?: string;
    };

const response = await client.telemetry.submitAttestation(challengeId, input);
console.log(response);

Response

// Response type
Promise<{
    challengeId: string;
    reportId: string;
    verified: boolean;
    status: string;
  }>

// Inspect concrete fields from your runtime payload:
// console.log(JSON.stringify(response, null, 2));
telemetry.listReports()
Generated exampleHTTP endpoint wrapperGET /api/v1/telemetry/reports

GET /api/v1/telemetry/reports

Signature

listReports(params?: {
    status?: "accepted" | "pending" | "verified" | "failed" | "expired" | "not_requested";
    startTime?: string;
    endTime?: string;
    cursor?: string;
    limit?: number;
  }): Promise<TelemetryReportListResponse>

Parameters

NameTypeFlags
params{ status?: "accepted" | "pending" | "verified" | "failed" | "expired" | "not_requested"; startTime?: string; endTime?: string; cursor?: string; limit?: number; }optional
TypeScript SDKTypeScript
import { ArelisClient } from "@arelis-ai/governance-api-client";

const client = new ArelisClient({
  baseUrl: "https://api.arelis.digital",
  apiKey: process.env.ARELIS_API_KEY,
});

const params = {} as {
    status?: "accepted" | "pending" | "verified" | "failed" | "expired" | "not_requested";
    startTime?: string;
    endTime?: string;
    cursor?: string;
    limit?: number;
  };
// Fill the params payload fields before calling this method.

const response = await client.telemetry.listReports(params);
console.log(response);

Response

// Response type
Promise<TelemetryReportListResponse>

// Inspect concrete fields from your runtime payload:
// console.log(JSON.stringify(response, null, 2));
telemetry.listChallenges()
Generated exampleHTTP endpoint wrapperGET /api/v1/telemetry/challenges

GET /api/v1/telemetry/challenges

Signature

listChallenges(params?: {
    status?: "accepted" | "pending" | "verified" | "failed" | "expired" | "not_requested";
    startTime?: string;
    endTime?: string;
    cursor?: string;
    limit?: number;
  }): Promise<TelemetryChallengeListResponse>

Parameters

NameTypeFlags
params{ status?: "accepted" | "pending" | "verified" | "failed" | "expired" | "not_requested"; startTime?: string; endTime?: string; cursor?: string; limit?: number; }optional
TypeScript SDKTypeScript
import { ArelisClient } from "@arelis-ai/governance-api-client";

const client = new ArelisClient({
  baseUrl: "https://api.arelis.digital",
  apiKey: process.env.ARELIS_API_KEY,
});

const params = {} as {
    status?: "accepted" | "pending" | "verified" | "failed" | "expired" | "not_requested";
    startTime?: string;
    endTime?: string;
    cursor?: string;
    limit?: number;
  };
// Fill the params payload fields before calling this method.

const response = await client.telemetry.listChallenges(params);
console.log(response);

Response

// Response type
Promise<TelemetryChallengeListResponse>

// Inspect concrete fields from your runtime payload:
// console.log(JSON.stringify(response, null, 2));