GET /jobs/{jobId}/artifacts
The files an analytical job has published: today, one log per finished attempt.
Syntax
GET https://grid-lab.zyxio.xyz/jobs/<jobId>/artifacts
x-api-key: <key>
Request
| Name | Where | Required | Meaning |
|---|---|---|---|
x-api-key | header | yes, or Authorization | Your API key, or Authorization: Bearer <token> from Zyxio sign-in. |
jobId | path | yes | An analytical job's cj_ id. |
Response
200 OK
| Field | Meaning |
|---|---|
artifacts | One entry per published file: artifactId, kind (log), byteLength, contentType (text/plain) and createdAt. |
Read a log's bytes with GET /jobs/{jobId}/logs.
Errors
| Status | Body | When | What to do |
|---|---|---|---|
401 | {"error": "unauthorized"} | No credential, or a key that is revoked, expired, wrong, or of a suspended account. | Send a valid key. |
503 | {"error": "accounting_unavailable"} | Your key or Zyxio sign-in could not be checked because the account database did not answer in time. Nothing was done. | Retry shortly; the same request is safe to resend. |
403 | {"error": "forbidden"} | A valid Zyxio sign-in token whose identity has no account here, or whose account is suspended. | Accept your invitation first, or use a key. |
404 | {"error": "unknown job"} | No such job, a capture item's id, or a job of another identity. | Check the id. |
503 | {"error": "COMPUTE_UNAVAILABLE"} | The job store did not answer in time. | Retry after the retry-after seconds. |
Example
curl -s https://grid-lab.zyxio.xyz/jobs/cj_0123456789abcdef0123456789abcdef/artifacts \
-H "x-api-key: $BROWSERGRID_API_KEY"
{"artifacts": [{"artifactId": "ca_0123456789abcdef0123456789abcdef", "kind": "log", "byteLength": 3, "contentType": "text/plain", "createdAt": "2026-10-10T12:01:30.000Z"}]}
Billing
Free.