Analysis REST API Contracts

Category:Toaster
This page gives you information on the Toaster Analysis REST API. This is a read-only API which provides information about a build that was recorded by Toaster.
It documents the search operation endpoints, parameters, and responses. You might also be interested in the Toaster installation and running instructions.
Toaster is accessible through REST APIs, which make the backend available to any client.
The data collected during the build is available via an unrestricted, anonymous, read-only API running on the local host machine.
== General ==
The data interface is available as a search query returning a list of typed objects.
The request method must be GET. The answers are always returned as JSON.
=== API version ===
The REST API is versioned as to allow further upgrades without having to maintain backward compatibility through changing the major version number.
Minor version numbers are intended to signify a capability level while maintaining compatibility.
This is the API version 1.0. All API requests are grouped under URL: 
GET /api/1.0/
=== Object types ===
The API can return Build, Target, Target installed packages, Layer, Layer version, Task, Task dependencies, Recipe, Recipe dependencies, Build packages, Package dependencies, Package files, Variables and Log messages. Each object is described below.
=== Search operation ===
The primary operation of the API is to retrieve a set of objects from the backend based on a search operation. The result will also contain all the data for the objects being returned, as to avoid separate connections to further bring the objects of the type queried.
The search operation can also specify the ordering of the results by key.
The search parameters are the same for all object types.
==== URI ====
All the search endpoints follow the same URI pattern
GET /api/1.0/{on}s/?{parameters}
* The on is the object name, one the endpoints described below.
* The parameters are described in the next section, and are the same for all search queries
==== Parameters ====
Name 	Type 	Description 	Comments
limit 	number	The number of objects to be returned 	-
offset 	number	Offset into the search result index. 	-
search 	string	Search string for all fields 	The argument is the string to be searched in the database. The backend MUST return only records that match the string.
filter 	string	String used to specify result filter function 	The general form: "<FIELD>:<VALUE>[,<FIELD>:<VALUE>]*". The backend MUST only return records that have FIELD matching to the VALUE specified. The <FIELD> names for each object type are the property names of the object.
orderby	string	The name of the field that determines the sorting of the results.	"<FIELD>:<ORDER_DIRECTION>". The results are ordered by the <FIELD> values in the <ORDER_DIRECTION> order. <ORDER_DIRECTION> values may be "asc" or "desc".
==== Response ====
All the responses are in JSON format. The response contains a set of fields describing the content of the data, and an array with the object data inside it.
== Build ==
Returns information about the builds recorded by Toaster.
=== Endpoints ===
Method	Endpoint 	Body	Description 	Comments
GET 	/api/1.0/builds	JSON	Returns page size-limited and search criteria-filtered builds from the database	-
=== Response ===
Name 	Type 	Dimension	Required	Default value(s)	Description 	Comments
[Object Root] 	object 	- 	YES 	- 	- 	-
[Object Root].count 	number 	- 	YES 	- 	Total amount of builds to be displayed (according to filter parameter)	-
[Object Root].list 	object array	- 	YES 	- 	- 	To describe a generic object element of the array, the reference to its root is "list[]"
[Object Root].list[].pk 	number 	- 	YES 	- 	- 	-
[Object Root].list[].model 	string 	- 	YES 	- 	- 	-
[Object Root].list[].fields 	object 	- 	YES 	- 	- 	-
[Object Root].list[].fields.bitbake_version	string 	- 	YES 	- 	BitBake version 	-
[Object Root].list[].fields.build_name 	string 	- 	YES 	- 	Build name 	Known issues: 5187
[Object Root].list[].fields.completed_on 	date 	- 	YES 	- 	Marks the moment the process is completed 	
[Object Root].list[].fields.cooker_log_path	string 	- 	YES 	- 	Path to log file 	Known issues: 5187
[Object Root].list[].fields.distro 	string 	- 	YES 	- 	Distro name 	-
[Object Root].list[].fields.distro_version 	string 	- 	YES 	- 	Distro version 	-
[Object Root].list[].fields.errors_no 	number 	- 	YES 	0 	Number of errors thrown by the build 	Known issues: 5642
[Object Root].list[].fields.machine 	string 	- 	YES 	- 	The selected hardware 	-
[Object Root].list[].fields.outcome 	number 	3 	YES 	2 	Signals successful or failed build 	0 Failed build 1 Successful build 2 Build in progress
[Object Root].list[].fields.started_on 	date 	- 	YES 	- 	Marks the moment the process is started 	
[Object Root].list[].fields.timespent 	number 	- 	YES 	0 	How long it took to complete the build in seconds 	
[Object Root].list[].fields.warnings_no 	number 	- 	YES 	0 	Number of warnings thrown by the build 	Known issues: 5642
== Target ==
Returns information about a build target(s).
=== Endpoints ===
Method	Endpoint 	Body	Description 	Comments
GET 	/api/1.0/targets	JSON	Returns page size-limited and search criteria-filtered targets from the database	-
=== Response ===
Name 	Type 	Dimension	Required	Default value(s)	Description 	Comments
[Object Root] 	object 	- 	YES 	- 	- 	-
[Object Root].count 	number 	- 	YES 	- 	Total amount of targets to be displayed (according to filter parameter) 	-
[Object Root].list 	object array	- 	YES 	- 	- 	To describe a generic object element of the array, the reference to its root is "list[]"
[Object Root].list[].pk 	number 	- 	YES 	- 	- 	-
[Object Root].list[].model 	string 	- 	YES 	- 	- 	-
[Object Root].list[].fields 	object 	- 	YES 	- 	- 	-
[Object Root].list[].fields.build 	number 	- 	YES 	- 	The ID of the build that created this target 	-
[Object Root].list[].fields.image_size 	number 	- 	YES 	0 	Not currently used, is intended to cache the uncompressed target image file size (i.e. the largest image_size for the target) to facilitate disk size computations	
[Object Root].list[].fields.is_image 	boolean 	- 	YES 	False 	True if one of the build targets is an image recipe 	-
[Object Root].list[].fields.license_manifest_path	string 	- 	NO 	- 	The path to the target license manifest file 	Known issues: 6051
[Object Root].list[].fields.target 	string 	- 	YES 	- 	The name of the build target 	-
== Target Files ==
Returns the directory structure of a target.
=== Endpoints ===
Method	Endpoint 	Body	Description 	Comments
GET 	/api/1.0/target_files	JSON	Returns page size-limited and search criteria-filtered targets from the database	-
=== Response ===
Name 	Type 	Dimension	Required	Default value(s)	Description 	Comments
[Object Root] 	object 	- 	YES 	- 	- 	-
[Object Root].count 	number 	- 	YES 	- 	Total amount of entries to be displayed (according to filter parameter)	-
[Object Root].list 	object array	- 	YES 	- 	- 	To describe a generic object element of the array, the reference to its root is "list[]"
[Object Root].list[].pk 	number 	- 	YES 	- 	- 	-
[Object Root].list[].model 	string 	- 	YES 	- 	- 	-
[Object Root].list[].fields 	object 	- 	YES 	- 	- 	-
[Object Root].list[].fields.directory 	number 	- 	NO 	- 	The ID of the directory 	-
[Object Root].list[].fields.group 	string 	- 	YES 	- 	The group of the entry owner 	-
[Object Root].list[].fields.inodetype 	number 	7 	YES 	- 	Entry type 	1 - Regular 2 - Directory 3 - Symlink 4 - Socket 5 - Fifo 6 - Character 7 - Block
[Object Root].list[].fields.owner 	string 	- 	YES 	- 	The entry owner 	
[Object Root].list[].fields.path 	string 	- 	YES 	- 	The entry path 	-
[Object Root].list[].fields.permission	string 	- 	YES 	- 	The entry permissions 	-
[Object Root].list[].fields.size 	number 	- 	YES 	- 	The entry size 	-
[Object Root].list[].fields.sym_target	number 	- 	NO 	- 	The ID of the symlink target 	-
[Object Root].list[].fields.target 	number 	- 	YES 	- 	The target ID 	-
== Target Image Files ==
Returns the list of root file system files for each build target.
=== Endpoints ===
Method	Endpoint 	Body	Description 	Comments
GET 	/api/1.0/target_image_file	JSON	Returns page size-limited and search criteria-filtered targets from the database	-
=== Response ===
Name 	Type 	Dimension	Required	Default value(s)	Description 	Comments
[Object Root] 	object 	- 	YES 	- 	- 	-
[Object Root].count 	number 	- 	YES 	- 	Total amount of entries to be displayed (according to filter parameter)	-
[Object Root].list 	object array	- 	YES 	- 	- 	To describe a generic object element of the array, the reference to its root is "list[]"
[Object Root].list[].pk 	number 	- 	YES 	- 	- 	-
[Object Root].list[].model 	string 	- 	YES 	- 	- 	-
[Object Root].list[].fields 	object 	- 	YES 	- 	- 	-
[Object Root].list[].fields.file_name	string 	- 	YES 	- 	The path to the rootfs file 	-
[Object Root].list[].fields.file_size	number 	- 	YES 	- 	The size of the rootfs file 	-
[Object Root].list[].fields.target 	number 	- 	YES 	- 	The ID of the target that generates the rootfs file 	-
== Target installed packages ==
Returns information about the packages installed in a target, when such target is an image recipe. 
NOTE: Build history must be enabled to collect this information.
=== Endpoints ===
Method	Endpoint 	Body	Description 	Comments
GET 	/api/1.0/target_packages	JSON	Returns page size-limited and search criteria-filtered installed packages from the database	-
=== Response ===
Name 	Type 	Dimension	Required	Default value(s)	Description 	Comments
[Object Root] 	object 	- 	YES 	- 	- 	-
[Object Root].count 	number 	- 	YES 	- 	Total amount of packages to be displayed (according to filter parameter)	-
[Object Root].list 	object array	- 	YES 	- 	- 	To describe a generic object element of the array, the reference to its root is "list[]"
[Object Root].list[].pk 	number 	- 	YES 	- 	- 	-
[Object Root].list[].model 	string 	- 	YES 	- 	- 	-
[Object Root].list[].fields 	object 	- 	YES 	- 	- 	-
[Object Root].list[].fields.package	number 	- 	YES 	- 	The pk of the package installed in the above target 	
[Object Root].list[].fields.target 	number 	- 	YES 	- 	The pk of the target that has this package 	-
== Layer ==
Returns information about the layers used in the builds recorded by Toaster.
=== Endpoints ===
Method	Endpoint 	Body	Description 	Comments
GET 	/api/1.0/layers	JSON	Returns page size-limited and search criteria-filtered layers from the database	-
=== Response ===
Name 	Type 	Dimension	Required	Default value(s)	Description 	Comments
[Object Root] 	object 	- 	YES 	- 	- 	-
[Object Root].count 	number 	- 	YES 	- 	Total amount of layers to be displayed (according to filter parameter)	-
[Object Root].list 	object array	- 	YES 	- 	- 	To describe a generic object element of the array, the reference to its root is "list[]"
[Object Root].list[].pk 	number 	- 	YES 	- 	- 	-
[Object Root].list[].model 	string 	- 	YES 	- 	- 	-
[Object Root].list[].fields 	object 	- 	YES 	- 	- 	-
[Object Root].list[].fields.layer_index_url	URL 	- 	NO 	- 	URL to the layer index application 	Possibly not available. Known issues: 5192
[Object Root].list[].fields.local_path 	string 	- 	YES 	- 	Path to the layer on local machine 	-
[Object Root].list[].fields.name 	string 	- 	YES 	- 	The local name under which the layer is known 	-
== Layer version ==
Returns information about the version (branch:commit in Git) of a layer used in a certain build.
=== Endpoints ===
Method	Endpoint 	Body	Description 	Comments
GET 	/api/1.0/layerversions	JSON	Returns page size-limited and search criteria-filtered layers from the database	-
=== Response ===
Name 	Type 	Dimension	Required	Default value(s)	Description 	Comments
[Object Root] 	object 	- 	YES 	- 	- 	-
[Object Root].count 	number 	- 	YES 	- 	Total amount of layers to be displayed (according to filter parameter)	-
[Object Root].list 	object array	- 	YES 	- 	- 	To describe a generic object element of the array, the reference to its root is "list[]"
[Object Root].list[].pk 	number 	- 	YES 	- 	- 	-
[Object Root].list[].model 	string 	- 	YES 	- 	- 	-
[Object Root].list[].fields 	object 	- 	YES 	- 	- 	-
[Object Root].list[].fields.branch 	string 	- 	YES 	- 	The branch name of the layer 	-
[Object Root].list[].fields.build 	number 	- 	YES 	- 	PK of the build including the layer 	
[Object Root].list[].fields.commit 	string 	- 	YES 	- 	The current commit of the layer 	-
[Object Root].list[].fields.layer 	number 	- 	YES 	- 	PK of the layer object 	-
[Object Root].list[].fields.priority	number 	- 	YES 	- 	Priority of the layer 	
== Task ==
Each build consists of a series of tasks. This is the endpoint for searching the task table.
=== Endpoints ===
Method	Endpoint 	Body	Description 	Comments
GET 	/api/1.0/tasks	JSON	Returns page size-limited and search criteria-filtered tasks from the database	-
=== Response ===
Name 	Type 	Dimension	Required	Default value(s)	Description 	Comments
[Object Root] 	object 	- 	YES 	- 	- 	-
[Object Root].count 	number 	- 	YES 	- 	Total amount of tasks to be displayed (according to filter parameter) 	-
[Object Root].list 	object array	- 	YES 	- 	- 	To describe a generic object element of the array, the reference to its root is "list[]"
[Object Root].list[].pk 	number 	- 	YES 	- 	- 	-
[Object Root].list[].model 	string 	- 	YES 	- 	- 	-
[Object Root].list[].fields 	object 	- 	YES 	- 	- 	-
[Object Root].list[].fields.build 	number 	- 	YES 	- 	Identifies the build in which the task occurred 	-
[Object Root].list[].fields.cpu_usage 	number 	- 	NO 	- 	Percent of the CPU used during the task 	
[Object Root].list[].fields.disk_io 	number 	- 	NO 	- 	Time spent by the task in I/O operations (in ms) 	
[Object Root].list[].message.elapsed_time 	number 	- 	NO 	- 	Time taken by the task to complete (in seconds) 	
[Object Root].list[].fields.line_number 	number 	- 	NO 	0 	Not in use and probably will be removed 	Known issues: 5255
[Object Root].list[].fields.logfile 	string 	- 	NO 	- 	Path to log file 	-
[Object Root].list[].message.message 	string 	- 	NO 	- 	Any message from the system regarding the task 	-
[Object Root].list[].fields.outcome 	number 	7 	YES 	-1 	-1 Not available 0 Succeeded 1 Covered 2 Cached 3 Prebuilt 4 Failed 5 Empty 	
[Object Root].list[].fields.path_to_sstate_obj	string 	- 	NO 	- 	The path to the sstate file, if applicable 	Known issues: 5252
[Object Root].list[].fields.recipe 	number 	- 	YES 	- 	ID of the recipe generating the task 	-
[Object Root].list[].fields.script_type 	number 	3 	NO 	0 	See if we executed a shell or python script, or no script was executed 	0 Not applicable 2 python 3 shell
[Object Root].list[].fields.source_url 	string 	- 	NO 	- 	It was created to provide access to the task executable output. Currently not in use	Known issues: 5255
[Object Root].list[].fields.sstate_checksum 	string 	- 	NO 	- 	Sstate checksum of the task 	-
[Object Root].list[].fields.sstate_result 	number 	4 	YES 	0 	Outcome of an sstate attempt 	0 Not applicable 1 Missing 2 Failed 3 Restored successfully
[Object Root].list[].fields.task_executed 	boolean 	- 	YES 	False 	True if task actually executed 	-
[Object Root].list[].fields.task_name 	string 	- 	YES 	- 	Name of the task 	e.g. "do_fetch"
[Object Root].list[].fields.work_directory 	string 	- 	NO 	- 	Not in use and probably will be removed 	Known issues: 5253
== Task dependencies ==
Returns the tasks dependency data.
=== Endpoints ===
Method	Endpoint 	Body	Description 	Comments
GET 	/api/1.0/task_dependencies	JSON	Returns page size-limited and search criteria-filtered tasks from the database	-
=== Response ===
Name 	Type 	Dimension	Required	Default value(s)	Description 	Comments
[Object Root] 	object 	- 	YES 	- 	- 	-
[Object Root].count 	number 	- 	YES 	- 	Total amount of tasks to be displayed (according to filter parameter)	-
[Object Root].list 	object array	- 	YES 	- 	- 	To describe a generic object element of the array, the reference to its root is "list[]"
[Object Root].list[].pk 	number 	- 	YES 	- 	- 	-
[Object Root].list[].model 	string 	- 	YES 	- 	- 	-
[Object Root].list[].fields 	object 	- 	YES 	- 	- 	-
[Object Root].list[].fields.task 	number 	- 	YES 	- 	The PK of the target task 	-
[Object Root].list[].fields.depends_on	number 	- 	YES 	- 	The PK of the task that the target task depends on 	-
== Recipe ==
Returns information about recipes in a certain build.
=== Endpoints ===
Method	Endpoint 	Body	Description 	Comments
GET 	/api/1.0/recipes	JSON	Returns page size-limited and search criteria-filtered recipes from the database	-
=== Response ===
Name 	Type 	Dimension	Required	Default value(s)	Description 	Comments
[Object Root] 	object 	- 	YES 	- 	- 	-
[Object Root].count 	number 	- 	YES 	- 	Total amount of recipes to be displayed (according to filter parameter) 	-
[Object Root].list 	object array	- 	YES 	- 	- 	To describe a generic object element of the array, the reference to its root is "list[]"
[Object Root].list[].pk 	number 	- 	YES 	- 	- 	-
[Object Root].list[].model 	string 	- 	YES 	- 	- 	-
[Object Root].list[].fields 	object 	- 	YES 	- 	- 	-
[Object Root].list[].fields.bugtracker 	string 	- 	NO 	- 	The bug tracking website for the software provided by the recipe 	-
[Object Root].list[].fields.description 	string 	- 	NO 	- 	The content of the DESCRIPTION variable 	-
[Object Root].list[].fields.file_path 	string 	- 	YES 	- 	Path to the recipe .bb file 	-
[Object Root].list[].fields.homepage 	string 	- 	NO 	- 	The website for the software provided by the recipe 	-
[Object Root].list[].fields.layer_version	number 	- 	YES 	- 	The version of the layer in which the recipe existed at the task building time	-
[Object Root].list[].fields.license 	string 	- 	NO 	- 	The license of the recipe 	-
[Object Root].list[].fields.name 	string 	- 	YES 	- 	The recipe name 	-
[Object Root].list[].fields.section 	string 	- 	YES 	- 	The section to which the recipe belongs 	-
[Object Root].list[].fields.summary 	string 	- 	NO 	- 	The content of the SUMMARY variable 	-
[Object Root].list[].fields.version 	string 	- 	YES 	- 	The recipe version 	
== Recipe dependencies ==
Returns the recipe dependency data.
=== Endpoints ===
Method	Endpoint 	Body	Description 	Comments
GET 	/api/1.0/recipe_dependencies	JSON	Returns page size-limited and search criteria-filtered recipes from the database	-
=== Response ===
Name 	Type 	Dimension	Required	Default value(s)	Description 	Comments
[Object Root] 	object 	- 	YES 	- 	- 	-
[Object Root].count 	number 	- 	YES 	- 	Total amount of recipes to be displayed (according to filter parameter)	-
[Object Root].list 	object array	- 	YES 	- 	- 	To describe a generic object element of the array, the reference to its root is "list[]"
[Object Root].list[].pk 	number 	- 	YES 	- 	- 	-
[Object Root].list[].model 	string 	- 	YES 	- 	- 	-
[Object Root].list[].fields 	object 	- 	YES 	- 	- 	-
[Object Root].list[].fields.recipe 	number 	- 	YES 	- 	The PK of the target recipe 	-
[Object Root].list[].fields.depends_on	number 	- 	YES 	- 	The PK of the recipe that the target recipe depends on 	-
[Object Root].list[].fields.dep_type 	number 	2 	YES 	- 	Dependency type 	0 DEPENDS 1 RDEPENDS
== Packages ==
Returns data about packages built. This information is collected at build time, while target installed packages information is collected from build history.
=== Endpoints ===
Method	Endpoint 	Body	Description 	Comments
GET 	/api/1.0/packages	JSON	Returns page size-limited and search criteria-filtered packages from the database	-
=== Response ===
Name 	Type 	Dimension	Required	Default value(s)	Description 	Comments
[Object Root] 	object 	- 	YES 	- 	- 	-
[Object Root].count 	number 	- 	YES 	- 	Total amount of packages to be displayed (according to filter parameter)	-
[Object Root].list 	object array	- 	YES 	- 	- 	To describe a generic object element of the array, the reference to its root is "list[]"
[Object Root].list[].pk 	number 	- 	YES 	- 	- 	-
[Object Root].list[].model 	string 	- 	YES 	- 	- 	-
[Object Root].list[].fields 	object 	- 	YES 	- 	- 	-
[Object Root].list[].fields.build 	number 	- 	YES 	- 	The PK of the build that generated this package 	-
[Object Root].list[].fields.description 	string 	- 	YES 	- 	The content of the recipe DESCRIPTION 	-
[Object Root].list[].fields.installed_name	string 	- 	NO 	- 	The name of an installed package at packaging time 	-
[Object Root].list[].fields.installed_size	number 	- 	NO 	0 	The size of an installed package 	-
[Object Root].list[].fields.license 	string 	- 	YES 	- 	The license of the package 	-
[Object Root].list[].fields.name 	string 	- 	YES 	- 	The package name at build time 	-
[Object Root].list[].fields.recipe 	number 	- 	NO 	- 	The PK of the recipe that generated this package 	-
[Object Root].list[].fields.revision 	string 	- 	YES 	- 	The package revision 	-
[Object Root].list[].fields.section 	string 	- 	YES 	- 	The section to which this package belongs 	-
[Object Root].list[].fields.size 	number 	- 	YES 	- 	The size of the package at build time 	
[Object Root].list[].fields.summary 	string 	- 	YES 	- 	The content of the recipe SUMMARY 	-
[Object Root].list[].fields.version 	string 	- 	YES 	- 	The package version 	-
== Package dependencies ==
Returns the package dependency data.
=== Endpoints ===
Method	Endpoint 	Body	Description 	Comments
GET 	/api/1.0/package_dependencies	JSON	Returns page size-limited and search criteria-filtered packages from the database	-
=== Response ===
Name 	Type 	Dimension	Required	Default value(s)	Description 	Comments 	
[Object Root] 	object 	- 	YES 	- 	- 	- 	
[Object Root].count 	number 	- 	YES 	- 	Total amount of packages to be displayed (according to filter parameter) 	- 	
[Object Root].list 	object array	- 	YES 	- 	- 	To describe a generic object element of the array, the reference to its root is "list[]" 	
[Object Root].list[].pk 	number 	- 	YES 	- 	- 	- 	
[Object Root].list[].model 	string 	- 	YES 	- 	- 	- 	
[Object Root].list[].fields 	object 	- 	YES 	- 	- 	- 	
[Object Root].list[].fields.package 	number 	- 	YES 	- 	The PK of the target package 	- 	
[Object Root].list[].fields.depends_on	number 	- 	YES 	- 	The PK of the package that the target package depends on 	 	
[Object Root].list[].fields.dep_type 	number 	8 	YES 	- 	Dependency type (TRDEPENDS and TRECOMMENDS are not BitBake variables. They collect RDEPENDS and RRECOMMENDS information for a specific target).	0 RDEPENDS 1 TRDEPENDS 2 RRECOMMENDS 3 TRECOMMENDS 4 RSUGGESTS 5 RPROVIDES 6 RREPLACES 7 RCONFLICTS	
[Object Root].list[].fields.target 	number 	- 	NO 	- 	For TRDEPENDS and TRCOMMENDS above, the applicable target 	 	
== Package files ==
Returns data about package-generated files.
=== Endpoints ===
Method	Endpoint 	Body	Description 	Comments
GET 	/api/1.0/package_files	JSON	Returns page size-limited and search criteria-filtered files for a package from the database	-
=== Response ===
Name 	Type 	Dimension	Required	Default value(s)	Description 	Comments
[Object Root] 	object 	- 	YES 	- 	- 	-
[Object Root].count 	number 	- 	YES 	- 	Total amount of files to be displayed (according to filter parameter)	-
[Object Root].list 	object array	- 	YES 	- 	- 	To describe a generic object element of the array, the reference to its root is "list[]"
[Object Root].list[].pk 	number 	- 	YES 	- 	- 	-
[Object Root].list[].model 	string 	- 	YES 	- 	- 	-
[Object Root].list[].fields 	object 	- 	YES 	- 	- 	-
[Object Root].list[].fields.package	number 	- 	YES 	- 	The PK of the package generating the file 	-
[Object Root].list[].fields.path 	String 	- 	YES 	- 	Full file path 	-
[Object Root].list[].fields.size 	number 	- 	YES 	- 	File size, in bytes 	-
== Variables ==
Returns data about key-value pairs applied to a certain build.
=== Endpoints ===
Method	Endpoint 	Body	Description 	Comments
GET 	/api/1.0/variables	JSON	Returns page size-limited and search criteria-filtered variables from the database	-
=== Response ===
Name 	Type 	Dimension	Required	Default value(s)	Description 	Comments
[Object Root] 	object 	- 	YES 	- 	- 	-
[Object Root].count 	number 	- 	YES 	- 	Total amount of variables to be displayed (according to filter parameter)	-
[Object Root].list 	object array	- 	YES 	- 	- 	To describe a generic object element of the array, the reference to its root is "list[]"
[Object Root].list[].pk 	number 	- 	YES 	- 	- 	-
[Object Root].list[].model 	string 	- 	YES 	- 	- 	-
[Object Root].list[].fields 	object 	- 	YES 	- 	- 	-
[Object Root].list[].fields.build 	number 	- 	YES 	- 	The PK of the build that generated this variable 	-
[Object Root].list[].fields.variable_name 	string 	- 	YES 	- 	The key in a key-value pair 	-
[Object Root].list[].fields.variable_value 	string 	- 	YES 	- 	The value in a key-value pair 	-
[Object Root].list[].fields.changed 	boolean 	- 	YES 	False 	Not defined 	Not currently available
[Object Root].list[].fields.human_readable_name	string 	- 	YES 	- 	Not defined 	Not currently available
[Object Root].list[].fields.description 	string 	- 	NO 	- 	Variable description in documentation.conf 	-
== Variable History ==
Returns information on how the variable reached its current value. 
=== Endpoints ===
Method	Endpoint 	Body	Description 	Comments
GET 	/api/1.0/variablehistory	JSON	Returns page size-limited and search criteria-filtered variables from the database	-
=== Response ===
Name 	Type 	Dimension	Required	Default value(s)	Description 	Comments
[Object Root] 	object 	- 	YES 	- 	- 	-
[Object Root].count 	number 	- 	YES 	- 	Total amount of entries to be displayed (according to filter parameter) 	-
[Object Root].list 	object array	- 	YES 	- 	- 	To describe a generic object element of the array, the reference to its root is "list[]"
[Object Root].list[].pk 	number 	- 	YES 	- 	- 	-
[Object Root].list[].model 	string 	- 	YES 	- 	- 	-
[Object Root].list[].fields 	object 	- 	YES 	- 	- 	-
[Object Root].list[].fields.file_name 	string 	- 	YES 	- 	The file name where the variable value change was specified 	-
[Object Root].list[].fields.line_number	integer 	- 	YES 	- 	The line number in the file where the variable value change was specified	-
[Object Root].list[].fields.operation 	string 	- 	YES 	- 	The change that took place, uninterpreted value 	-
[Object Root].list[].fields.value 	string 	- 	YES 	- 	The value of the variable after the operation 	Known issues: 5811
[Object Root].list[].fields.variable 	number 	- 	YES 	- 	The PK of the variable this operation changed 	-
== Log messages ==
Returns data about errors / warnings thrown by the build.
Known issues: 5642
=== Endpoints ===
Method	Endpoint 	Body	Description 	Comments
GET 	/api/1.0/logmessages	JSON	Returns page size-limited and search criteria-filtered messages from the database	-
=== Response ===
Name 	Type 	Dimension	Required	Default value(s)	Description 	Comments
[Object Root] 	object 	- 	YES 	- 	- 	-
[Object Root].count 	number 	- 	YES 	- 	Total amount of messages to be displayed (according to filter parameter)	-
[Object Root].list 	object array	- 	YES 	- 	- 	To describe a generic object element of the array, the reference to its root is "list[]"
[Object Root].list[].pk 	number 	- 	YES 	- 	- 	-
[Object Root].list[].model 	string 	- 	YES 	- 	- 	-
[Object Root].list[].fields 	object 	- 	YES 	- 	- 	-
[Object Root].list[].fields.build 	number 	- 	YES 	- 	The PK of the build that generated this message 	-
[Object Root].list[].fields.level 	number 	3 	YES 	0 	Message type 	0 - INFO 1 - WARNING 2 - ERROR
[Object Root].list[].fields.message 	string 	- 	YES 	- 	The message content 	-
[Object Root].list[].fields.pathname	string 	- 	YES 	- 	Path to the file generating the message 	-
[Object Root].list[].fields.lineno 	number 	- 	YES 	- 	Line number generating the message 	-
[Object Root].list[].fields.task 	number 	- 	NO 	- 	PK of the task generating the message 	Known issues: 5820