Artifacts API
Endpoints for managing build artifacts and downloads.
List Artifacts
List artifacts for a specific build.
GET /v1/builds/{build_id}/artifactsAuthentication: User session (Bearer)
Response 200 OK
Returns an array of artifact objects.
[
{
"id": "art_abc123",
"build_id": "build_xyz789",
"filename": "app-release.apk",
"size_bytes": 15728640,
"content_type": "application/vnd.android.package-archive",
"created_at": 1738800360
}
]Generate Download Link
Generate a time-limited download URL for an artifact.
POST /v1/artifacts/{artifact_id}/download-linkAuthentication: User session (Bearer)
Response 200 OK
{
"url": "http://127.0.0.1:8787/v1/artifacts/download/token_abc123",
"expires_at": 1738800600
}For S3/R2 storage, the URL is a pre-signed URL pointing directly to the storage provider. For local storage, the URL points to the daemon.
Download Artifact
Download an artifact using a token from the download link endpoint.
GET /v1/artifacts/download/{token}Authentication: Download token (in URL path)
Returns the artifact file with appropriate Content-Type and Content-Disposition headers.
Upload Artifact (Runner)
Used by runners to upload artifacts after a successful build.
POST /v1/runners/{runner_id}/jobs/{job_id}/artifactsAuthentication: Runner token (Bearer)
This endpoint is called by the runner process, not by end users.
Local Upload (Runner)
For local storage, runners upload artifact files directly to the daemon.
PUT /v1/artifacts/local-upload/{token}Authentication: Upload token (in URL path)
This endpoint receives the raw file bytes with a size limit defined by the daemon configuration.