# List a build's log lines

Returns the log lines the build runner stored, newest first, in the same entry shape as version logs. Page with `cursor`.

GET `/v1/builds/{buildId}/logs`

## Authorization

`Authorization` Bearer token · header required

`Authorization: Bearer <token>` with an API key (`sfa_` prefix), an OAuth access token, a session token, or a Space machine credential (`sfm_` prefix).

## Path parameters

`buildId` string required

## Query parameters

`limit` integer required  
min 1 · max 100 · default: 20

`cursor` string  
min length 1 · max length 4096

## Responses

### 200 Response for status 200

`$schema` string <uri>  
Canonical JSON Schema URL for this response body. The server also sends it in the `Link: rel="describedby"` response header.

`data` object[] required

Array of `object`

- `timestamp` string <date-time> required  
    When the version last changed. Every line in one response carries the same value; the log records no per-line time.

- `level` string required  
    `error` when the version failed, `info` otherwise.

- `code` string required  
    The version's current status, as `version.<status>`. The same on every line.

- `message` string required  
    The log line itself.

`pagination` object required

- `nextCursor` string | any required  
    Cursor for the next page. Null on the last page.

- `hasMore` boolean required  
    True when another page exists.

### default Error  
Every 4xx and 5xx response is one RFC 9457 problem document served as `application/problem+json`.

`$schema` string <uri>  
Canonical JSON Schema URL for this response body. The server also sends it in the `Link: rel="describedby"` response header.

- `type` string required  
    URL of the documentation page for this error. Derived from `code`.

- `title` string required  
    Human-readable name of the error type. Derived from `code`.

- `status` integer required  
    HTTP status of the response, repeated in the body.

- `detail` string required  
    What went wrong in this request.

- `code` string required  
    Stable snake_case error code. Match on this, not on `detail`.

- `pointer` string  
    RFC 6901 JSON Pointer to the request field or batch entry that failed, for example `/files/37/path`. Present on validation failures.

- `details` object  
    Machine-readable context keyed by the error code.

- `suggestions` string[]  
    Recovery steps safe to show to a person.

- `next` string[]  
    Commands or API requests to run next, usable as written.

- `requestId` string required  
    ID of this request, from the `X-Request-Id` header or generated. Quote it when contacting support.

## Try it

### Server

Base URL https://api.spacefast.com  
Custom base URL Overrides the selected server when set.

## Authorization

Bearer token  
Remember on this device  
Include my values in samples

## Parameters

`buildId` path *  
`limit` query *  
`cursor` query

## Send

### Request

#### cURL

```
curl -X GET "https://api.spacefast.com/v1/builds/string/logs?limit=20" \
  -H "Authorization: Bearer YOUR_TOKEN"
```

#### JavaScript

```
const response = await fetch("https://api.spacefast.com/v1/builds/string/logs?limit=20", {
  method: "GET",
  headers: {
    "Authorization": "Bearer YOUR_TOKEN"
  }
});
```

#### Python

```
import requests

response = requests.get(
    "https://api.spacefast.com/v1/builds/string/logs?limit=20",
    headers={
        "Authorization": "Bearer YOUR_TOKEN"
    },
)
```

### Response

#### 200 default

```
{
  "$schema": "http://example.com",
  "data": [
    {
      "timestamp": "2019-08-24T14:15:22Z",
      "level": "string",
      "code": "string",
      "message": "string"
    }
  ],
  "pagination": {
    "nextCursor": "string",
    "hasMore": true
  }
}
```

#### Error response

```
{
  "$schema": "http://example.com",
  "type": "string",
  "title": "string",
  "status": -9007199254740991,
  "detail": "string",
  "code": "string",
  "pointer": "string",
  "details": {
    "property1": null,
    "property2": null
  },
  "suggestions": [
    "string"
  ],
  "next": [
    "string"
  ],
  "requestId": "string"
}
```
