Search Documentation
Search across all documentation pages
Health

Health

The Health endpoint reports the operational status of the Transcodely API. The response includes a per-component breakdown; today the only component reported is the database. Use it for uptime monitoring, load balancer health checks, and integration testing.

Base path: transcodely.v1.HealthService Does not require authentication or X-Organization-ID header.


The Health object

A health check returns an overall status, the API server version, and a per-component breakdown. Each entry in components is a ComponentHealth describing one subsystem.

FieldTypeDescription
statusstringOverall status. Currently healthy or unhealthy (see Statuses).
versionstringAPI server version (e.g., 1.2.0).
componentsComponentHealth[]Individual component statuses.
{
  "status": "healthy",
  "version": "1.2.0",
  "components": [
    {
      "name": "database",
      "status": "healthy"
    }
  ]
}

ComponentHealth

FieldTypeDescription
namestringComponent name. Currently only database is reported.
statusstringComponent status. Currently healthy or unhealthy (see Statuses).
messagestringAdditional details. Omitted when healthy.

Statuses

StatusDescription
healthyFully operational.
degradedOperational but experiencing issues (e.g., elevated latency). Reserved for future use — not currently emitted by the API.
unhealthyNot operational. Requests may fail.

Check health

Check the health of the API and its components.

POST /transcodely.v1.HealthService/Check

Parameters

ParameterTypeRequiredDescription
servicestringNoCurrently ignored — the response is the same whether or not it is set. Reserved for future per-component filtering.

Returns

Returns the health response described above.

curl -X POST https://api.transcodely.com/transcodely.v1.HealthService/Check 
  -H "Content-Type: application/json" 
  -d '{}'
const health = await client.health.check();
console.log(health.status, health.version, health.components.length);
health = client.health.check()
print(health.status, health.version, len(health.components))
health, err := client.Health.Check(ctx, "")
fmt.Println(health.GetStatus(), health.GetVersion(), len(health.GetComponents()))

Filtering by component

The service field is accepted for forward compatibility, but the API currently ignores it — every request returns the full response shown above, regardless of the value you send. To inspect a single component today, filter the returned components array client-side.

const health = await client.health.check();
const database = health.components.find((c) => c.name === "database");
console.log(database?.status);
health = client.health.check()
database = next(c for c in health.components if c.name == "database")
print(database.status)
health, _ := client.Health.Check(ctx, "")
for _, c := range health.GetComponents() {
    if c.GetName() == "database" {
        fmt.Println(c.GetStatus())
    }
}

Example: Unhealthy response

When a component is down, its status is unhealthy and a message explains why; the overall status is reported as unhealthy too.

{
  "status": "unhealthy",
  "version": "1.2.0",
  "components": [
    {
      "name": "database",
      "status": "unhealthy",
      "message": "Connection pool exhausted"
    }
  ]
}

Usage notes

  • No authentication required. Load balancers and external monitoring tools can call this endpoint without API keys.
  • An unhealthy status indicates the API cannot reliably serve requests.
  • For automated monitoring, check the top-level status field. Only inspect individual components when debugging.