Skip to main content
Returns the current health status of every Truthlocks service. Use this endpoint to integrate service availability into your own dashboards, alerting pipelines, or circuit breakers. This endpoint is served from status.truthlocks.com, not the main API. No authentication is required.
GET https://status.truthlocks.com/api/health

Response

{
  "status": "operational",
  "timestamp": "2026-03-26T14:30:00Z",
  "services": [
    {
      "id": "api-gateway",
      "name": "API Gateway",
      "status": "operational",
      "responseTime": 42
    },
    {
      "id": "trust-registry",
      "name": "Trust Registry",
      "status": "operational",
      "responseTime": 38
    },
    {
      "id": "billing-service",
      "name": "Billing",
      "status": "operational",
      "responseTime": 55
    },
    {
      "id": "signing-service",
      "name": "Signing",
      "status": "operational",
      "responseTime": 31
    },
    {
      "id": "attestation-service",
      "name": "Attestations",
      "status": "operational",
      "responseTime": 44
    },
    {
      "id": "audit-service",
      "name": "Audit Logs",
      "status": "operational",
      "responseTime": 29
    },
    {
      "id": "transparency-log",
      "name": "Transparency Log",
      "status": "operational",
      "responseTime": 36
    },
    {
      "id": "verification-service",
      "name": "Verification",
      "status": "operational",
      "responseTime": 40
    }
  ]
}

Response fields

FieldTypeDescription
statusstringOverall system health: operational, degraded, or outage.
timestampstringISO 8601 timestamp of the check.
servicesarrayPer-service health results.
services[].idstringMachine-readable service identifier (e.g., api-gateway, signing-service).
services[].namestringHuman-readable service name.
services[].statusstringService health: operational, degraded, or outage.
services[].responseTimenumber or nullResponse time in milliseconds, or null if unreachable.
services[].errorstringPresent only when the service is not operational. Describes the failure reason.

Status logic

  • operational — all services are healthy and responding normally.
  • degraded — at least one service is slow or returning errors, but none are fully down.
  • outage — at least one service is completely unreachable.

Monitored services

Service IDNameDescription
api-gatewayAPI GatewayMain API endpoint for all public requests
trust-registryTrust RegistryIssuer management and governance
billing-serviceBillingSubscription and payment processing
signing-serviceSigningCryptographic signing operations
attestation-serviceAttestationsAttestation minting and management
audit-serviceAudit LogsActivity logging and compliance
transparency-logTransparency LogCryptographic append-only log
verification-serviceVerificationProof bundle verification

Example: poll status from your application

async function checkTruthlockStatus() {
  const res = await fetch("https://status.truthlocks.com/api/health");
  const data = await res.json();

  if (data.status !== "operational") {
    console.warn(`Truthlocks is ${data.status}`);
    const issues = data.services.filter((s) => s.status !== "operational");
    issues.forEach((s) =>
      console.warn(`  ${s.name}: ${s.status}${s.error}`)
    );
  }

  return data;
}

Example: pre-flight check before minting

async function mintWithStatusCheck(attestation) {
  const status = await fetch("https://status.truthlocks.com/api/health");
  const health = await status.json();

  const signingService = health.services.find(
    (s) => s.id === "signing-service"
  );
  const attestationService = health.services.find(
    (s) => s.id === "attestation-service"
  );

  if (
    signingService?.status !== "operational" ||
    attestationService?.status !== "operational"
  ) {
    throw new Error("Required services are not operational — retry later");
  }

  return client.attestations.mint(attestation);
}
This endpoint is rate-limited to prevent abuse. For continuous monitoring, poll no more frequently than once every 30 seconds.