Skip to content
Go to platform

Get a job network trace

GET
/v1preview1/network-trace
curl --request GET \
--url 'https://api.craci.dev/v1preview1/network-trace?provider=github&repo=octo-org%2Focto-repo&job_id=12345678901' \
--header 'Authorization: Bearer <token>'

Get the job metadata and its observed network accesses by GitHub job identity.

provider
required
string

CI provider. The only supported provider is GitHub (github).

Example
github
repo
required
string

GitHub repository in OWNER/REPOSITORY form.

Example
octo-org/octo-repo
job_id
required
string

GitHub job ID.

Example
12345678901

Job metadata and observed network accesses

Media typeapplication/json
object
job
required

GitHub job that produced the observations.

object
branch
required

Git branch associated with the workflow run.

string
commitSha
required

Git commit checked out by the job.

string
jobId
required

GitHub job identifier encoded as a decimal string to preserve 64-bit precision.

string
jobName
required

Display name of the GitHub Actions job.

string
provider
required

CI provider that ran the job. Currently always GitHub (github).

string
repository
required

GitHub repository in OWNER/REPOSITORY form.

string
runAttempt
required

One-based attempt number for the workflow run.

integer format: int32
runId
required

GitHub run identifier encoded as a decimal string to preserve 64-bit precision.

string
status
required

Final status reported for the job.

string
workflow
required

Name or path of the GitHub Actions workflow.

string
observations
required

Network accesses in their original observation order.

Array
One of: discriminator: protocol
HTTP network observation
object
http
required

HTTP request and response details.

object
bodyHash
One of:
null
bodySizeBytes
required

Response body size encoded as a decimal string to preserve 64-bit precision.

string
denyReason

Reason the request was denied, when applicable.

string | null
ipAddress
required

Remote IP address used for the request.

string
matchedRule

Network policy rule that matched the request, when any.

string | null
method
required

HTTP request method.

string
originUrl
required

Original URL requested by the job.

string
policyDenied
required

Whether network policy denied the request.

boolean
statusCode
required

HTTP response status code.

integer format: int32
observedAt
required

Time at which the network access was observed, in RFC 3339 format.

string format: date-time
protocol
required
HTTP protocol discriminator
string
Allowed values: http
sequence
required

Stable ordering of this observation within the job trace.

integer format: int32
schemaVersion
required

Version of the network trace document schema.

string
Example
{
"observations": [
{
"protocol": "http"
}
]
}

Malformed selectors

Media typeapplication/problem+json
API problem
object
detail
required

Human-readable explanation specific to this occurrence.

string
status
required

HTTP status code returned with the problem.

integer format: int32
title
required

Short, human-readable summary of the problem.

string
type
required

URI identifying the problem type. about:blank uses the HTTP status meaning.

string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

Missing, invalid, expired, or revoked token

Media typeapplication/problem+json
API problem
object
detail
required

Human-readable explanation specific to this occurrence.

string
status
required

HTTP status code returned with the problem.

integer format: int32
title
required

Short, human-readable summary of the problem.

string
type
required

URI identifying the problem type. about:blank uses the HTTP status meaning.

string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

Unknown tuple

Media typeapplication/problem+json
API problem
object
detail
required

Human-readable explanation specific to this occurrence.

string
status
required

HTTP status code returned with the problem.

integer format: int32
title
required

Short, human-readable summary of the problem.

string
type
required

URI identifying the problem type. about:blank uses the HTTP status meaning.

string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

Job is not terminal

Media typeapplication/problem+json
API problem
object
detail
required

Human-readable explanation specific to this occurrence.

string
status
required

HTTP status code returned with the problem.

integer format: int32
title
required

Short, human-readable summary of the problem.

string
type
required

URI identifying the problem type. about:blank uses the HTTP status meaning.

string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}

Internal dependency unavailable

Media typeapplication/problem+json
API problem
object
detail
required

Human-readable explanation specific to this occurrence.

string
status
required

HTTP status code returned with the problem.

integer format: int32
title
required

Short, human-readable summary of the problem.

string
type
required

URI identifying the problem type. about:blank uses the HTTP status meaning.

string
Examplegenerated
{
"detail": "example",
"status": 1,
"title": "example",
"type": "example"
}