HTTP API Reference¶
Base URL: https://api.nixbuild.net
Bearer authentication is used, an authorization
token must be provided in an Authorization: Bearer
<TOKEN> header for each API request.
Common Concepts¶
Build Status¶
Possible build status values:
builtbuild_failedcancelledtimeoutinternal_errorout_of_memorymax_memory_exceededclient_disconnectclient_errorpendingrunning
Build Output¶
Built output objects have the following schema:
{
  name : string,
  path : string,
  nar_hash : string,
  nar_size_bytes : integer number
}
Build¶
Build objects have the following schema:
{
  build_id : integer number,
  create_time : ISO 8601 string,
  start_time : ISO 8601 string,
  queue_time_seconds : decimal number,
  duration_seconds: null | decimal number,
  build_status : build status string (see above),
  status_message : null | string,
  cpu_count : integer number,
  allocated_megabytes : integer number,
  cpu_seconds : integer number,
  peak_memory_use_kilobytes : null | integer number,
  peak_storage_use_kilobytes : null | integer number,
  derivation_path : string,
  outputs : array of build output objects (see above),
  system : string,
  tags : object,
  restart_of_build_id : null | integer number,
  restarted_as_build_id : null | integer number
}
Endpoints¶
GET /builds¶
Query Parameters¶
tagsoptional
Filter on tags, by specifying a comma-separated sequence of <TAG>:<VALUE> pairs.
Tags can come from either top-level attributes (prefixed with
NIXBUILDNET_TAG_) in derivations, or from SSH session
environment variables (with same prefix).
See SSH Environment and
Nix Derivation.
create_time_fromoptional
Query for builds whose creation time is greater or equal to this parameter (in ISO 8601 date or date/time format).
create_time_tooptional
Query for builds whose creation time is less than this parameter (in ISO 8601 date or date/time format).
statusoptional
Filter on status by specifying one or multiple (comma-separated) status values (see Build Status).
limitoptional
Integer ceiling on the number of builds to return. Defaults to 500.
derivation_pathoptional
Query for builds of a specific derivation.
Response Body¶
The response body is a JSON array of objects of "build" type (see Build). The builds are ordered by creation time, latest first.
GET /builds/summary¶
Query Parameters¶
tagsoptional
Filter on tags, by specifying a comma-separated sequence of <TAG>:<VALUE> pairs.
Tags can come from either top-level attributes (prefixed with
NIXBUILDNET_TAG_) in derivations, or from SSH session
environment variables (with same prefix).
See SSH Environment and
Nix Derivation.
create_time_fromoptional
Query for builds whose creation time is greater or equal to this parameter (in ISO 8601 date or date/time format).
create_time_tooptional
Query for builds whose creation time is less than this parameter (in ISO 8601 date or date/time format).
statusoptional
Filter on status by specifying one or multiple (comma-separated) status values (see Build Status).
Response Body¶
The response is a JSON object of the following schema:
{
  build_count : integer number,
  running_build_count : integer number,
  discarded_build_count : integer number,
  failed_build_count : integer number,
  successful_build_count : integer number,
  total_cpu_seconds : integer number,
  billable_cpu_seconds : integer number,
  total_duration_seconds : decimal number,
  wall_time_seconds : decimal number,
  total_output_nar_size_kilobytes : integer number
}
GET /builds/:id¶
Response Body¶
The response body is a JSON object of "build" type (see Build).
GET /builds/:id/url¶
Returns a signed web URL that can be used to retrieve details about the build, including the build log.
Query Parameters¶
ttl_secondsoptional
Response Body¶
The response is a JSON object of the following schema:
{
  build_id : integer number,
  url : string,
  expires_at : ISO 8601 string
}
GET /usage¶
Query Parameters¶
fromoptional
Query for builds whose stop date is greater or equal to this parameter (in ISO 8601 date format).
tooptional
Query for builds whose stop date is less than this parameter (in ISO 8601 date format).
Response Body¶
The response is a JSON object of the following schema:
{
  billable_cpu_seconds : integer number,
  billable_build_count : integer number
}