Skip to main content
GET
Error
Required Permissions How permissions work

Authorizations

Authorization
string
header
required

Management API authentication for /api/* endpoints. Use the Authorization header with Bearer <token>, where <token> is one of:

  • a Bifrost management API key,
  • a dashboard session token issued by POST /api/session/login,
  • base64 of <admin-username>:<admin-password> (legacy equivalent of BasicAuth).

Virtual keys (sk-bf-*) and the x-api-key header are not accepted on management APIs - the sole exception is GET /api/governance/virtual-keys/quota, which is virtual-key-only.

Authentication alone is not sufficient in Bifrost Enterprise: each operation page shows a Required Permissions table (Resource:Operation, for example Dashboard:View) above its Authorizations section, and the caller's RBAC role or management API key scopes must include what it lists, otherwise the request is rejected with 403 Forbidden.

A local admin — authenticated with the admin password, or any caller on a deployment with dashboard auth disabled — bypasses these checks and can call every management endpoint.

OSS setup lock. On Bifrost OSS, while dashboard auth is not active (no admin account, or auth disabled), every management endpoint except the public ones (/health, /api/version, /api/session/is-auth-enabled, /api/session/login, ...) requires the operator's setup token in the X-Bifrost-Setup-Token header, in place of Authorization. The token is set with setup_token in config.json or the BIFROST_SETUP_TOKEN environment variable. A missing header returns 401, a wrong token 403. The header stops working once dashboard auth is enabled. The dashboard instead trades the token once for an HttpOnly bifrost_setup_session cookie via POST /api/session/setup. See Required permissions for how permissions are derived and which endpoints are exempt.

Path Parameters

id
string
required

Relay log ID

Response

The relay log

One relayed call, or the job row a relayed call started.

id
string
required
timestamp
string<date-time>
required
created_at
string<date-time>
required
relay_name
string
required
kind
enum<string>
required
Available options:
call,
job
method
string
required
path
string
required
status
enum<string>
required
Available options:
success,
error,
cancelled
status_code
integer
required
streamed
boolean
required
billable
boolean
required
bytes_out
integer<int64>
required

Response body bytes forwarded to the caller.

request_id
string
required
content_hidden
boolean
required

True when request and response content was not persisted for this call.

route_path
string

The matched route's path glob. Absent when no route matched.

model
string
latency
number

Milliseconds from the pre-hooks to the end of the reply.

upstream_latency
number

Milliseconds blocked on the upstream socket. Absent when unmeasured.

overhead_latency
number

Bifrost overhead in milliseconds - total minus upstream. Absent when unmeasured.

overhead_breakdown
object[]

Where the overhead was spent, by component.

cost
number

USD charged to budgets.

cost_per_request
number
cost_per_unit
number
extracted_cost
number
units
number
billed_units
number
input_tokens
integer
output_tokens
integer
total_tokens
integer
job_id
string
job_status
string
parent_log_id
string

On a job row, the id of the start call's log.

user_id
string
user_name
string
virtual_key_id
string
virtual_key_name
string
team_id
string
team_name
string
customer_id
string
customer_name
string
business_unit_id
string
business_unit_name
string
project_id
string
project_name
string
team_ids
string[]

Every team the call was attributed to, when the caller belongs to more than one.

team_names
string[]
customer_ids
string[]
customer_names
string[]
business_unit_ids
string[]
business_unit_names
string[]
user_agent
string

Raw HTTP User-Agent of the calling client.

app
string

Client application detected from user_agent.

request_body
string
response_body
string
plugin_logs
string

JSON-serialized plugin log entries grouped by plugin name.

budget_ids
string[]
rate_limit_ids
string[]
request_headers
object
response_headers
object
error_details
object

Error response from Bifrost