---
title: "Get the most recent application logs"
method: GET
path: "/v2/apps/{appId}/logs"
tags: ["Lifecycle"]
---

# Get the most recent application logs

`GET /v2/apps/{appId}/logs`

Fetches the application's most recent stdout/stderr buffer — a short-lived snapshot, not a stream. stdout and stderr are returned concatenated in order, with no per-line distinction on this route. For continuous/live logs (and per-line stdout/stderr stream ids), open the realtime SSE endpoint (`GET /v2/apps/:appId/realtime`) instead of polling this route.

**Rate limits** (exceeding either returns `429`):
- **1 request per 5s** per (user, application).
- **20 requests per 10s** per user across all applications, then a 30s cooldown — a burst cap so log polling cannot be fanned across many apps.

## Path parameters

- `appId` string, required

## Response `200`

Concatenated log buffer.

- object
  - `status` 'success', required
  - `response` object, required
    - `logs` string, required

## Other responses

- `401` — The Authorization header is missing, malformed, or the credentials are not valid.
- `404` — Logs could not be returned (application offline, not deployed yet, or a transient error).
- `429` — The endpoint enforces its own rate limit and the caller hit the cooldown.
- `500` — An unexpected error occurred while processing the request.

---

[API](https://skmtc.dev/squarecloud/apis/square-cloud-api.md) · [All operations](https://skmtc.dev/squarecloud/apis/square-cloud-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/squarecloud/square-cloud-api/revisions/54b7733a6b95/schema)
