# Read build logs

Download up to 1 MiB of build output as plain text after completion. Returns 409 until logs are available.

`GET /api/platform/v1/apps/{appId}/builds/{buildId}/logs`

Required permission: `project:read`.

## Parameters

| Name | In | Type | Required | Description |

| --- | --- | --- | --- | --- |

| `appId` | path | `string` | Yes | — |

| `buildId` | path | `string` | Yes | — |

## Example request

```bash
curl --request GET \
  --url https://api.hoplite.sh/api/platform/v1/apps/appId/builds/buildId/logs \
  --header "X-Api-Key: $HOPLITE_API_KEY"
```

## 200 response

Success

Content type: `text/plain`. Response type: `string`.

```text

```

## Status codes

- `200` — Success

- `400` — Invalid request

- `401` — Authentication required

- `403` — Permission, app scope or entitlement denied

- `404` — App, source or thread not found

- `409` — Idempotency conflict or request in progress

- `413` — Request too large

- `503` — Source storage or execution unavailable