REST API Reference
Authentication
Fatbuildrweb supports optional authentication, depending on the loaded policy. The authentication is based on JWT tokens. Users can obtain a valid token by running this command:
$ fatbuildrctl tokens generate| Refer to fatbuildrctlmanpage
tokens section for more details. | 
The tokens must be transmitted to the server as a Bearer token through the
Authorization HTTP request header, as defined in
RFC6750.
Most endpoints are associated to a permission action as referenced in the sections below. The policy defines which roles (including the anonymous role) are granted to perform these actions.
Fatbuildrweb determines the user encoded in the JWT token provided the request headers. Then, it searches for the roles associated this user. If the request is sent without token, the anonymous role is selected. Then, Fatbuildrweb checks one of the roles is permitted to perform the permission action associated to the endpoint. If the user is not permitted for this permission action, the server responds with HTTP/403 Forbidden code.
API Endpoints
Instances
List of Available Instances
GET /instances.json
No permission action required.
Returns the list of available instances on Fatbuildr server.
| This endpoint is not available when Fatbuildrweb component runs in mono-instance mode. | 
Responses
| Code | Description | Content Type | Data Type | 
|---|---|---|---|
| 200 | Operation successful | 
 | array[Instance object] | 
Example
Request:
$ curl -X GET http://localhost:5000/instances.jsonResponse:
[
  {
    "id": "default",
    "name": "Default Fatbuildr Instance",
    "userid": "Maintainers <maintainers@example.org>"
  },
  {
    "id": "prod",
    "name": "Production Fatbuildr Instance",
    "userid": "Maintainers <maintainers@example.org>"
  },
]| All the following API endpoints are composed of the instance path parameter as they manipulate data from a specific instance. However, this instance path attribute is not required when Fatbuildrweb component runs in mono-instance mode. In this mode, all the following endpoints must be considered without the instance path attribute. | 
Instance Information
GET /{instance}/instance.json
Permission action: view-registry
Returns instance information.
Path Parameters
| Name | Description | Type | Example | 
|---|---|---|---|
| 
 | Name of Fatbuildr instance | string | 
 | 
Responses
| Code | Description | Content Type | Data Type | 
|---|---|---|---|
| 200 | Operation successful | 
 | Instance object | 
| 403 | Forbidden | 
 | Error object | 
| 404 | Instance or JWT signing key not found | 
 | Error object | 
Examples
Request:
$ curl -X GET http://localhost:5000/default/instance.jsonResponse:
{
  "id": "default",
  "name": "Default Fatbuildr Instance",
  "userid": "Maintainers <maintainers@example.org>"
}Pipelines
Pipelines Architectures
GET /{instance}/pipelines/architectures.json
Permission action: view-pipeline
Returns the list of CPU architectures supported in the instance pipelines.
Path Parameters
| Name | Description | Type | Example | 
|---|---|---|---|
| 
 | Name of Fatbuildr instance | string | 
 | 
Responses
| Code | Description | Content Type | Data Type | 
|---|---|---|---|
| 200 | Operation successful | 
 | array[string] | 
| 403 | Forbidden | 
 | Error object | 
| 404 | Instance or JWT signing key not found | 
 | Error object | 
Examples
Request:
$ curl -X GET http://localhost:5000/default/pipelines/architectures.jsonResponse:
["x86_64","arm64"]Pipelines Formats
GET /{instance}/pipelines/formats.json
Permission action: view-pipeline
Returns the artifacts formats defined in instance pipelines with their distributions and associated build environments and derivatives.
Path Parameters
| Name | Description | Type | Example | 
|---|---|---|---|
| 
 | Name of Fatbuildr instance | string | 
 | 
Query Parameters
| Name | Description | Type | Required | Example | 
|---|---|---|---|---|
| 
 | Name of artifact format, to filter responses for this particular format. | string | 
 | |
| 
 | Name of registry distribution, to filter responses for this particular distribution. | string | 
 | |
| 
 | Name of registry distribution derivative, to filter responses for this particular distribution derivative. | string | 
 | |
| 
 | Name of artifact build environment, to filter responses for this particular build environment. | string | 
 | 
Responses
| Code | Description | Content Type | Data Type | 
|---|---|---|---|
| 200 | Operation successful | 
 | PipelineFormat object | 
| 403 | Forbidden | 
 | Error object | 
| 404 | Instance, derivative or JWT signing key not found | 
 | Error object | 
Examples
Request:
$ curl -X GET http://localhost:5000/default/pipelines/formats.jsonResponse:
{
  "deb": [
    {
      "derivatives": [
        "main",
        "foox"
      ],
      "distribution": "bookworm",
      "environment": "bookworm"
    },
    {
      "derivatives": [
        "main",
        "foox"
      ],
      "distribution": "sid",
      "environment": "sid"
    }
  ],
  "osi": [
    {
      "derivatives": [
        "main"
      ],
      "distribution": "containers",
      "environment": null
    }
  ],
  "rpm": [
    {
      "derivatives": [
        "main",
        "foox"
      ],
      "distribution": "el8",
      "environment": "rocky-8"
    }
  ]
}Request:
$ curl -X GET http://localhost:5000/default/pipelines/formats.json?format=rpmResponse:
{
  "rpm": [
    {
      "derivatives": [
        "main",
        "foox"
      ],
      "distribution": "el8",
      "environment": "rocky-8"
    }
  ]
}Request:
$ curl -X GET http://localhost:5000/default/pipelines/formats.json?distribution=el8Response:
{
  "rpm": [
    {
      "derivatives": [
        "main",
        "foox"
      ],
      "distribution": "el8",
      "environment": "rocky-8"
    }
  ]
}Registries
Registry Formats
GET /{instance}/registry.json
Permission action: view-registry
Returns the list of artifacts formats available in a registry.
Path Parameters
| Name | Description | Type | Example | 
|---|---|---|---|
| 
 | Name of Fatbuildr instance | string | 
 | 
Responses
| Code | Description | Content Type | Data Type | 
|---|---|---|---|
| 200 | Operation successful | 
 | array[string] | 
| 403 | Forbidden | 
 | Error object | 
| 404 | Instance or JWT signing key not found | 
 | Error object | 
Examples
Request:
$ curl -X GET http://localhost:5000/default/registry.jsonResponse:
["rpm","deb"]Format Distributions
GET /{instance}/registry/{format}.json
Permission action: view-registry
Returns the list of available distributions in a registry for a given format.
Path Parameters
| Name | Description | Type | Example | 
|---|---|---|---|
| 
 | Name of Fatbuildr instance | string | 
 | 
| 
 | Artifact format name | string | 
 | 
Responses
| Code | Description | Content Type | Data Type | 
|---|---|---|---|
| 200 | Operation successful | 
 | array[string] | 
| 403 | Forbidden | 
 | Error object | 
| 404 | Instance, JWT signing key not found or format not supported by the instance | 
 | Error object | 
Examples
Request:
$ curl -X GET http://localhost:5000/default/registry/rpm.jsonResponse:
["el8"]Distribution Derivatives
GET /{instance}/registry/{format}/{distribution}.json
Permission action: view-registry
Returns the list of derivatives available for the distribution.
Path Parameters
| Name | Description | Type | Example | 
|---|---|---|---|
| 
 | Name of Fatbuildr instance | string | 
 | 
| 
 | Artifact format name | string | 
 | 
| 
 | Distribution name | string | 
 | 
Responses
| Code | Description | Content Type | Data Type | 
|---|---|---|---|
| 200 | Operation successful | 
 | array[string] | 
| 403 | Forbidden | 
 | Error object | 
| 404 | Instance, JWT signing key not found, format not supported by the instance or distribution not found in registry. | 
 | Error object | 
Examples
Request:
$ curl -X GET http://localhost:5000/default/registry/deb/bullseye.jsonResponse:
[
  "main",
  "foox"
]Derivative Artifacts
GET /{instance}/registry/{format}/{distribution}/{derivative}.json
Permission action: view-registry
Returns the list of artifacts in a distribution derivative.
Path Parameters
| Name | Description | Type | Example | 
|---|---|---|---|
| 
 | Name of Fatbuildr instance | string | 
 | 
| 
 | Artifact format name | string | 
 | 
| 
 | Distribution name | string | 
 | 
| 
 | Name of distribution derivative | string | 
 | 
Responses
| Code | Description | Content Type | Data Type | 
|---|---|---|---|
| 200 | Operation successful | 
 | array[Artifact object] | 
| 403 | Forbidden | 
 | Error object | 
| 404 | Instance, JWT signing key not found, format not supported by the instance, distribution or derivative not found in registry. | 
 | Error object | 
Examples
Request:
$ curl -X GET http://localhost:5000/default/registry/deb/bullseye/main.jsonResponse:
[
  {
    "architecture": "noarch",
    "name": "fatbuildr",
    "size": 580300,
    "version": "0.1-1.deb11"
  },
  {
    "architecture": "noarch",
    "name": "fatbuildr-common",
    "size": 8824,
    "version": "0.1-1.deb11"
  },
  {
    "architecture": "x86_64",
    "name": "fatbuildr-wrappers",
    "size": 36364,
    "version": "0.1-1.deb11"
  },
  {
    "architecture": "x86_64",
    "name": "fatbuildr-wrappers-dbgsym",
    "size": 6320,
    "version": "0.1-1.deb11"
  },
  {
    "architecture": "src",
    "name": "fatbuildr",
    "size": 0,
    "version": "0.1-1.deb11"
  }
]Artifact Information
GET /{instance}/registry/{format}/{distribution}/{derivative}/{architecture}/{artifact}.json
Permission action: view-registry
Returns full description of an artifact in registry.
Path Parameters
| Name | Description | Type | Example | 
|---|---|---|---|
| 
 | Name of Fatbuildr instance | string | 
 | 
| 
 | Artifact format name | string | 
 | 
| 
 | Dis$tribution name | string | 
 | 
| 
 | Name of distribution derivative | string | 
 | 
| 
 | Name of CPU architecture of the artifact. The special value  | string | 
 | 
| 
 | Name of the artifact | string | 
 | 
Responses
| Code | Description | Content Type | Data Type | 
|---|---|---|---|
| 200 | Operation successful | 
 | |
| 403 | Forbidden | 
 | Error object | 
| 404 | Instance, JWT signing key not found, format not supported by the instance, distribution, derivative, architecture or artifact not found in registry. | 
 | Error object | 
Examples
Request:
$ curl -X GET http://localhost:5000/default/registry/deb/bullseye/main/src/fatbuildr.jsonResponse:
{
  "artifact": "fatbuildr",
  "binaries": [
    {
      "architecture": "noarch",
      "name": "fatbuildr",
      "size": 587200,
      "version": "0.1-2.deb11"
    },
    {
      "architecture": "noarch",
      "name": "fatbuildr-common",
      "size": 10792,
      "version": "0.1-2.deb11"
    },
    {
      "architecture": "x86_64",
      "name": "fatbuildr-wrappers",
      "size": 13012,
      "version": "0.1-2.deb11"
    },
    {
      "architecture": "x86_64",
      "name": "fatbuildr-wrappers-dbgsym",
      "size": 5988,
      "version": "0.1-2.deb11"
    }
  ],
  "changelog": [
    {
      "author": "John Doe <john@doe.org>",
      "changes": [
        "Another Fatbuildr test build"
      ],
      "date": 1655841969,
      "version": "0.1-2.deb11"
    },
    {
      "author": "John Doe <john@doe.org>",
      "changes": [
        "Fatbuildr test build"
      ],
      "date": 1655838256,
      "version": "0.1-1.deb11"
    }
  ]
}Request:
$ curl -X GET http://localhost:5000/default/registry/deb/bullseye/main/x86_64/fatbuildr-wrappers.jsonResponse:
{
  "artifact": "fatbuildr-wrappers",
  "changelog": [
    {
      "author": "John Doe <john@doe.org>",
      "changes": [
        "Another Fatbuildr test build"
      ],
      "date": 1655841969,
      "version": "0.1-2.deb11"
    },
    {
      "author": "John Doe <john@doe.org>",
      "changes": [
        "Fatbuildr test build"
      ],
      "date": 1655838256,
      "version": "0.1-1.deb11"
    }
  ],
  "source": {
    "architecture": "src",
    "name": "fatbuildr",
    "size": 0,
    "version": "0.1-2.deb11"
  },
  "content": [
    {
      "path": "/usr",
      "size": 0,
      "type": "d"
    },
    {
      "path": "/usr/libexec",
      "size": 0,
      "type": "d"
    },
    {
      "path": "/usr/libexec/fatbuildr",
      "size": 0,
      "type": "d"
    },
    {
      "path": "/usr/libexec/fatbuildr/u-mkosi",
      "size": 14504,
      "type": "f"
    },
    {
      "path": "/usr/libexec/fatbuildr/u-nspawn",
      "size": 14504,
      "type": "f"
    },
    {
      "path": "/usr/share",
      "size": 0,
      "type": "d"
    },
    {
      "path": "/usr/share/doc",
      "size": 0,
      "type": "d"
    },
    {
      "path": "/usr/share/doc/fatbuildr-wrappers",
      "size": 0,
      "type": "d"
    },
    {
      "path": "/usr/share/doc/fatbuildr-wrappers/changelog.Debian.gz",
      "size": 271,
      "type": "f"
    },
    {
      "path": "/usr/share/doc/fatbuildr-wrappers/changelog.gz",
      "size": 6897,
      "type": "f"
    },
    {
      "path": "/usr/share/doc/fatbuildr-wrappers/copyright",
      "size": 53,
      "type": "f"
    }
  ]
}Artifact Deletion
DELETE /{instance}/registry/{format}/{distribution}/{derivative}/{architecture}/{artifact}.json
Permission action: edit-registry
Delete an artifact from registry.
Path Parameters
| Name | Description | Type | Example | 
|---|---|---|---|
| 
 | Name of Fatbuildr instance | string | 
 | 
| 
 | Artifact format name | string | 
 | 
| 
 | Dis$tribution name | string | 
 | 
| 
 | Name of distribution derivative | string | 
 | 
| 
 | Name of CPU architecture of the artifact. The special value  | string | 
 | 
| 
 | Name of the artifact | string | 
 | 
Query Parameters
| Name | Description | Type | Required | Example | 
|---|---|---|---|---|
| 
 | Version of the artifact. | string | ✅ | 
 | 
Responses
| Code | Description | Content Type | Data Type | 
|---|---|---|---|
| 200 | Operation successful | 
 | |
| 403 | Forbidden | 
 | Error object | 
| 404 | Instance, JWT signing key not found, format not supported by the instance, distribution, derivative, architecture or artifact not found in registry. | 
 | Error object | 
Examples
Request:
$ curl -X DELETE http://localhost:5000/default/registry/deb/bullseye/main/src/fatbuildr.json?version=2.0.1Response:
{
  "task": "ef6176ad-9489-449a-804e-77370fee2540"
}Artifact Search
GET /{instance}/search.json
Permission action: view-registry
Search for artifacts in instance registries.
Path Parameters
| Name | Description | Type | Example | 
|---|---|---|---|
| 
 | Name of Fatbuildr instance | string | 
 | 
Query Parameters
| Name | Description | Type | Required | Example | 
|---|---|---|---|---|
| 
 | Part of artifact name to search. All artifacts whose name contains this parameter are selected in results. | string | ✓ | 
 | 
Responses
| Code | Description | Content Type | Data Type | 
|---|---|---|---|
| 200 | Operation successful | 
 | |
| 400 | Missing artifact query parameter | 
 | |
| 403 | Forbidden | 
 | Error object | 
| 404 | Instance or JWT signing key not found | 
 | Error object | 
Examples
Request:
$ curl -X GET http://localhost:5000/default/search.json?artifact=fatbuildrResponse:
{
  "deb": {
    "bullseye": {
      "main": [
        {
          "architecture": "noarch",
          "name": "fatbuildr",
          "size": 587200,
          "version": "0.1-1.deb11"
        },
        {
          "architecture": "noarch",
          "name": "fatbuildr-common",
          "size": 10792,
          "version": "0.1-1.deb11"
        },
        {
          "architecture": "x86_64",
          "name": "fatbuildr-wrappers",
          "size": 13012,
          "version": "0.1-1.deb11"
        },
        {
          "architecture": "x86_64",
          "name": "fatbuildr-wrappers-dbgsym",
          "size": 5988,
          "version": "0.1-1.deb11"
        },
        {
          "architecture": "src",
          "name": "fatbuildr",
          "size": 0,
          "version": "0.1-1.deb11"
        }
      ]
    }
  },
  "rpm": {
    "el8": {
      "main": [
        {
          "architecture": "noarch",
          "name": "fatbuildr",
          "size": 464556,
          "version": "0.1-1.el8"
        },
        {
          "architecture": "noarch",
          "name": "fatbuildr-common",
          "size": 8560,
          "version": "0.1-1.el8"
        },
        {
          "architecture": "x86_64",
          "name": "fatbuildr-wrappers",
          "size": 12748,
          "version": "0.1-1.el8"
        },
        {
          "architecture": "x86_64",
          "name": "fatbuildr-wrappers-dbgsym",
          "size": 9748,
          "version": "0.1-1.el8"
        },
        {
          "architecture": "src",
          "name": "fatbuildr",
          "size": 2166701,
          "version": "0.1-1.el8"
        }
      ]
    }
  }
}Tasks
Submit Build Task
POST /{instance}/build
Permission action: build
Submit artifact build task in queue.
Path Parameters
| Name | Description | Type | Example | 
|---|---|---|---|
| 
 | Name of Fatbuildr instance | string | 
 | 
Consumes
| Content Type | Data Type | 
|---|---|
| 
 | BuildSubmission object | 
Responses
| Code | Description | Content Type | Data Type | 
|---|---|---|---|
| 200 | Operation successful | 
 | |
| 400 | Missing form parameter | 
 | |
| 403 | Forbidden | 
 | Error object | 
| 404 | Instance or JWT signing key not found | 
 | Error object | 
Examples
Request:
$ curl -X POST \
  -F "format=deb" \
  -F "distribution=bullseye" \
  -F "architectures=x84_64" \
  -F "derivative=main" \
  -F "artifact=fatbuildr" \
  -F "user_name=John Doe" \
  -F "user_email=john.doe@example.org" \
  -F "message=Test new awesome feature" \
  -F "tarball=@artifact.tar.xz" \
  http://localhost:5000/default/buildResponse:
{
  "task": "ef6176ad-9489-449a-804e-77370fee2540"
}Running Task
GET /{instance}/running.json
Permission action: view-task
Returns information about the running task.
Path Parameters
| Name | Description | Type | Example | 
|---|---|---|---|
| 
 | Name of Fatbuildr instance | string | 
 | 
Responses
| Code | Description | Content Type | Data Type | 
|---|---|---|---|
| 200 | Operation successful | 
 | Task object or null | 
| 403 | Forbidden | 
 | Error object | 
| 404 | Instance or JWT signing key not found | 
 | Error object | 
Examples
Request:
$ curl -X GET http://localhost:5000/default/running.jsonResponse:
{
  "architectures": [
    "x86_64"
  ],
  "archives": [
    {
      "id": "fatbuildr",
      "path": "/var/cache/fatbuildr/default/fatbuildr/v1.1.0.tar.gz"
    },
    {
      "id": "bootstrap",
      "path": "/var/cache/fatbuildr/default/fatbuildr/bootstrap-5.2.3-dist.zip"
    }
  ],
  "artifact": "fatbuildr",
  "derivative": "main",
  "distribution": "bullseye",
  "email": "john.doe@example.org",
  "format": "deb",
  "id": "c8c9935e-44c9-48de-a318-b6060c08b8c8",
  "io": {
    "console": "/var/lib/fatbuildr/workspaces/default/c8c9935e-44c9-48de-a318-b6060c08b8c8/console.sock",
    "interactive": null,
    "journal": {
      "path": "/var/lib/fatbuildr/workspaces/default/c8c9935e-44c9-48de-a318-b6060c08b8c8/task.journal"
    }
  },
  "message": "Test of new feature",
  "name": "artifact build",
  "place": "/var/lib/fatbuildr/workspaces/default/c8c9935e-44c9-48de-a318-b6060c08b8c8",
  "state": "running",
  "submission": 1656074753,
  "user": "John Doe"
}Pending Tasks
GET /{instance}/queue.json
Permission action: view-task
Returns list of pending tasks.
Path Parameters
| Name | Description | Type | Example | 
|---|---|---|---|
| 
 | Name of Fatbuildr instance | string | 
 | 
Responses
| Code | Description | Content Type | Data Type | 
|---|---|---|---|
| 200 | Operation successful | 
 | array[Task object] | 
| 403 | Forbidden | 
 | Error object | 
| 404 | Instance or JWT signing key not found | 
 | Error object | 
Examples
Request:
$ curl -X GET http://localhost:5000/default/queue.jsonResponse:
[
  {
    "architectures": [
      "x86_64"
    ],
    "archives": [],
    "artifact": "fatbuildr",
    "derivative": "main",
    "distribution": "bullseye",
    "email": "john.doe@example.org",
    "format": "deb",
    "id": "604a1348-dd3a-4082-b78d-78563c728bef",
    "io": {
      "console": "/var/lib/fatbuildr/workspaces/default/604a1348-dd3a-4082-b78d-78563c728bef/console.sock",
      "interactive": null,
      "journal": {
        "path": "/var/lib/fatbuildr/workspaces/default/604a1348-dd3a-4082-b78d-78563c728bef/task.journal"
      }
    },
    "message": "Test of new feature on Debian bullseye",
    "name": "artifact build",
    "place": "/var/lib/fatbuildr/workspaces/default/604a1348-dd3a-4082-b78d-78563c728bef",
    "state": "pending",
    "submission": 1656075042,
    "user": "John Doe"
  },
  {
    "architectures": [
      "x86_64"
    ],
    "archives": [],
    "artifact": "fatbuildr",
    "derivative": "main",
    "distribution": "bookworm",
    "email": "john.doe@example.org",
    "format": "deb",
    "id": "ace984e3-4d5b-4aa1-a2ba-5997ea6ae7e6",
    "io": {
      "console": "/var/lib/fatbuildr/workspaces/default/ace984e3-4d5b-4aa1-a2ba-5997ea6ae7e6/console.sock",
      "interactive": null,
      "journal": {
        "path": "/var/lib/fatbuildr/workspaces/default/ace984e3-4d5b-4aa1-a2ba-5997ea6ae7e6/task.journal"
      }
    },
    "message": "Test of new feature on Debian bookworm",
    "name": "artifact build",
    "place": "/var/lib/fatbuildr/workspaces/default/ace984e3-4d5b-4aa1-a2ba-5997ea6ae7e6",
    "state": "pending",
    "submission": 1656075042,
    "user": "John Doe"
  }
]Task Information
GET /{instance}/tasks/{task}.json
Permission action: view-task
Returns information about an archived task.
Path Parameters
| Name | Description | Type | Example | 
|---|---|---|---|
| 
 | Name of Fatbuildr instance | string | 
 | 
| 
 | Task UUID | uuid | 
Responses
| Code | Description | Content Type | Data Type | 
|---|---|---|---|
| 200 | Operation successful | 
 | Task object or null | 
| 403 | Forbidden | 
 | Error object | 
| 404 | Instance, JWT signing key or task not found | 
 | Error object | 
Examples
Request:
$ curl -X GET  http://localhost:5000/default/tasks/c8c9935e-44c9-48de-a318-b6060c08b8c8.jsonResponse:
{
  "architectures": [
    "x86_64"
  ],
  "archives": [
    {
      "id": "fatbuildr",
      "path": "/var/cache/fatbuildr/default/fatbuildr/v1.1.0.tar.gz"
    },
    {
      "id": "bootstrap",
      "path": "/var/cache/fatbuildr/default/fatbuildr/bootstrap-5.2.3-dist.zip"
    }
  ],
  "artifact": "fatbuildr",
  "derivative": "main",
  "distribution": "bullseye",
  "email": "john.doe@example.org",
  "format": "deb",
  "id": "c8c9935e-44c9-48de-a318-b6060c08b8c8",
  "io": {
    "console": "/var/lib/fatbuildr/workspaces/default/c8c9935e-44c9-48de-a318-b6060c08b8c8/console.sock",
    "interactive": null,
    "journal": {
      "path": "/var/lib/fatbuildr/workspaces/default/c8c9935e-44c9-48de-a318-b6060c08b8c8/task.journal"
    }
  },
  "message": "Test of new feature",
  "name": "artifact build",
  "place": "/var/lib/fatbuildr/workspaces/default/c8c9935e-44c9-48de-a318-b6060c08b8c8",
  "state": "finished",
  "submission": 1656074753,
  "user": "John Doe"
}Task Journal
GET /{instance}/watch/{task}.journal
Permission action: view-task
Returns the binary journal of either running or archived task.
| The response is a binary file encoded with Fatbuildr specific ConsoleMessageprotocol. This is supposed to be consumed byfatbuildrctlwatchcommand only. | 
| When the task is running, the output is streamed until the task is over. In this case, the duration of the response might be significant. | 
Path Parameters
| Name | Description | Type | Example | 
|---|---|---|---|
| 
 | Name of Fatbuildr instance | string | 
 | 
| 
 | Task UUID | uuid | 
Responses
| Code | Description | Content Type | Data Type | 
|---|---|---|---|
| 200 | Operation successful | 
 | file | 
| 403 | Forbidden | 
 | Error object | 
| 404 | Instance, JWT signing key or task not found | 
 | Error object | 
Examples
Request:
$ curl -X GET http://localhost:5000/default/watch/c8c9935e-44c9-48de-a318-b6060c08b8c8.journal \
  --output task.journalResponse:
$ file task.journal
task.journal: dataKeyring
Keyring Armored Public Key
GET /{instance}/keyring.asc
Permission action: view-keyring
Download instance keyring public key in armored format.
Path Parameters
| Name | Description | Type | Example | 
|---|---|---|---|
| 
 | Name of Fatbuildr instance | string | 
 | 
Responses
| Code | Description | Content Type | Data Type | 
|---|---|---|---|
| 200 | Operation successful | 
 | string | 
| 403 | Forbidden | 
 | Error object | 
| 404 | Instance, JWT signing key or keyring not found | 
 | Error object | 
Examples
Request:
$ curl -X GET http://localhost:5000/default/keyring.ascResponse:
-----BEGIN PGP PUBLIC KEY BLOCK-----
…
-----END PGP PUBLIC KEY BLOCK-----Objects
Instance
Properties:
| Name | Description | Required | Type | 
|---|---|---|---|
| 
 | Instance identifier | ✓ | string | 
| 
 | Full name of the instance | ✓ | string | 
| 
 | The user identifier of instance signing keyring | ✓ | string | 
PipelineFormat
Additional Properties type: array[PipelineFormatItem object]
PipelineFormatItem
Properties:
| Name | Description | Required | Type | 
|---|---|---|---|
| 
 | Name of registry distribution | ✓ | string | 
| 
 | Name of build environment | ✓ | string | 
| 
 | List of derivatives available for the associated registry distribution | ✓ | array[string] | 
ArtifactDescription
Properties:
| Name | Description | Required | Type | 
|---|---|---|---|
| 
 | Name of the artifact | ✓ | string | 
| 
 | Corresponding list of produced binary artifacts (only for source artifact). | array[Artifact object] | |
| 
 | Corresponding original source artifact (only for binary artifact). | Artifact object | |
| 
 | List of artifact changelog entries | ✓ | array[ChangelogEntry object] | 
| 
 | List of artifact content | ✓ | array[ArtifactContent object] | 
Artifact
Properties:
| Name | Description | Required | Type | 
|---|---|---|---|
| 
 | Name of CPU architecture of the artifact | ✓ | string | 
| 
 | Name of artifact | ✓ | string | 
| 
 | Version number of the artifact | ✓ | string | 
| 
 | Size of the artifact in bytes | ✓ | integer | 
ArtifactContent
Properties:
| Name | Description | Required | Type | 
|---|---|---|---|
| 
 | Path to file in artifact | ✓ | string | 
| 
 | File type encoded as a single character ( | ✓ | string | 
| 
 | File size in bytes | ✓ | integer | 
ChangelogEntry
Properties:
| Name | Description | Required | Type | 
|---|---|---|---|
| 
 | Artifact build author with name and email | ✓ | string | 
| 
 | List of changes with the build | ✓ | array[string] | 
| 
 | Timestamp since epoch of the build | ✓ | integer | 
| 
 | Version number of the artifact | ✓ | string | 
ArtifactSearchResult
Additional Properties type: ArtifactFormatSearchResult object
ArtifactFormatSearchResult
Additional Properties type: ArtifactDistributionSearchResult object
ArtifactDistributionSearchResult
Additional Properties type: ArtifactDerivativeSearchResult object
ArtifactDerivativeSearchResult
Additional Properties type: array[Artifact object]
BuildSubmission
Additional Properties type: array[Artifact object]
Properties:
| Name | Description | Required | Type | ||
|---|---|---|---|---|---|
| 
 | Comma-separated list of targeted CPU architectures | ✓ | string | ||
| 
 | Name of artifact | ✓ | string | ||
| 
 | Distribution derivative name | ✓ | string | ||
| 
 | Distribution name | ✓ | array[string] | ||
| 
 | Artifact format | ✓ | string | ||
| 
 | Build description integrated in changelog entry | ✓ | string | ||
| 
 | Optional archive of artifact sources for identifier  
 | file | |||
| 
 | Tarball with artifact definition files | ✓ | file | ||
| 
 | User name | ✓ | string | ||
| 
 | User email address | ✓ | string | 
SourceArchive
Properties:
| Name | Description | Required | Type | 
|---|---|---|---|
| 
 | Artifact source identifier | ✓ | string | 
| 
 | Absolute path of artifact source archive | ✓ | string | 
Task
Properties:
| Name | Description | Required | Type | 
|---|---|---|---|
| 
 | Build environment CPU architecture (only for image build environment creation and image build environment update tasks) | string | |
| 
 | Build targeted CPU architectures (only for artifact build tasks) | array[string] | |
| 
 | List of artifact source archives used for build (only for artifact build tasks) | array[SourceArchive object] | |
| 
 | Artifact name (only for artifact build and artifact deletion tasks) | string (for artifact build) or Artifact object (for artifact deletion task) | |
| 
 | Distribution derivative name (only for artifact build tasks) | string | |
| 
 | Distribution name (only for artifact build tasks) | string | |
| 
 | Keyring renewal duration time (only for keyring renewal tasks) | string | |
| 
 | User email address (only for artifact build tasks) | string | |
| 
 | Build environment name (only for image build environment creation and image build environment update tasks) | string | |
| 
 | Force image creation when already existing (only for image creation tasks) | boolean | |
| 
 | Artifact format (only for artifact build, image creation, image update, image build environment creation and image build environment update tasks) | string | |
| 
 | Submitted task UUID | ✓ | uuid | 
| 
 | Task IO channels | ✓ | TaskIO object | 
| 
 | Build description integrated in changelog entry (only for artifact build tasks) | string | |
| 
 | Task type name | ✓ | string | 
| 
 | Absolute path to task running directory | ✓ | string | 
| 
 | Current status of task | ✓ | string | 
| 
 | Timestamp since epoch of task submission | ✓ | integer | 
| 
 | User name (only for artifact build tasks) | string | 
TaskIO
Properties:
| Name | Description | Required | Type | 
|---|---|---|---|
| 
 | Absolute path to console Unix socket | ✓ | string | 
| 
 | Indicates if task is in interactive mode | ✓ | boolean | 
| 
 | Task journal object | ✓ | TaskIOJournal object |