Skip to main content
GET
Stream normalized deployment diagnostics

Authorizations

Authorization
string
header
required

WorkOS access JWT or a user-owned WorkOS API key. User keys are bound to one organization and restricted to their enabled product permissions. Session-only onboarding and session revocation require an interactive access JWT. No cookie session is assumed.

Headers

X-Request-Id
string

Optional caller-provided correlation identifier.

Required string length: 1 - 128

Path Parameters

project_id
string
required

Project identifier.

Pattern: ^[0-9A-HJKMNP-TV-Z]{26}$
deployment_id
string
required

Deployment identifier.

Pattern: ^[0-9A-HJKMNP-TV-Z]{26}$

Response

A bounded normalized diagnostic event stream.

id
string
required
Pattern: ^[0-9A-HJKMNP-TV-Z]{26}$
source
enum<string>
required
Available options:
build,
control,
runtime,
function
code
string
required
Pattern: ^[A-Z][A-Z0-9_]{1,63}$
message
string
required
Pattern: ^[A-Z][A-Z0-9_]{1,127}$
occurred_at
string<date-time>
required
exception_class
string
Maximum string length: 128
file
string
Maximum string length: 512
line
integer
Required range: x >= 1
column
integer
Required range: x >= 0
route
string
Maximum string length: 512
request_id
string
Maximum string length: 128
trace_id
string
Maximum string length: 128
duration_ms
integer
Required range: 0 <= x <= 900000
excerpt
string

The customer's own output with control characters removed before storage: on BUILD_FAILED the tail of the install/build output (newest lines last), on HEALTH_CHECK_FAILED the head of the body the health check was answered with (at most 4096 characters, never a header). A running application holds its environment's secrets and this answer is not scanned for them, so, like a query of the project's database, a HEALTH_CHECK_FAILED excerpt is returned only to an owner of the project; never answer a health check with a secret.

Required string length: 1 - 16384
excerpt_truncated
boolean

Whether output was omitted from excerpt (earlier build output, or the rest of the health answer). Present exactly when excerpt is present.

status_code
integer

The HTTP status the health check was answered with; present only on HEALTH_CHECK_FAILED. The probe is a cookieless GET of route that follows no redirect, so a 3xx is unhealthy too.

Required range: 100 <= x <= 599