---
title: "Logs history (paginated)"
method: POST
path: "/serverless/logs/history"
tags: ["Serverless", "Logs"]
---

# Logs history (paginated)

`POST /serverless/logs/history`

Returns paginated historical logs that match the provided filters.

## Query parameters

- `limit` integer — Number of results per page
- `cursor` string — Pagination cursor from previous response (timestamp-based). Use as 'until' parameter for next page.
- `start` union — Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.
  - string, date-time
  - string
- `end` union — End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.
  - string, date-time
  - string
- `app_id` union — Filter by specific app ID(s) in '<owner>/<name>' format (e.g. 'fal-ai/my-app'). Accepts 1-50 app IDs. Supports comma-separated values: ?app_id=fal-ai/foo,fal-ai/bar or array syntax: ?app_id=fal-ai/foo&app_id=fal-ai/bar
  - string
  - string[]
- `revision` string — Filter by revision
- `run_source` 'grpc-run' | 'grpc-register' | 'gateway' | 'cron' — Filter by run source
- `traceback` boolean, nullable — Include tracebacks
- `search` string — Free-text search
- `level` string — Minimum log level
- `job_id` string — Filter by job id
- `request_id` string — Filter by request id

## Request body

- object[]
  - `key` string, required — Label key to filter
  - `value` union, required — Filter value
    - string
    - string[]
  - `condition_type` 'equals' | 'in' | 'not_equals' | 'not_in' — Condition type for label filtering

## Response `200`

Logs history retrieved successfully

- object — Paginated logs response
  - `next_cursor` string, nullable, required — Cursor for the next page of results, null if no more pages
  - `has_more` boolean, required — Boolean indicating if more results are available (convenience field derived from next_cursor)
  - `items` object[], required — Array of log entries matching the query
    - `timestamp` string, required — ISO timestamp of the log line
    - `level` string, required — Log level
    - `message` string, required — Log message
    - `app` string, required — App identifier
    - `revision` string, required — Revision identifier
    - `labels` object — Additional labels

## Other responses

- `401` — Authentication required
- `429` — Rate limit exceeded
- `500` — Internal server error

---

[API](https://skmtc.dev/fal/apis/platform-apis.md) · [All operations](https://skmtc.dev/fal/apis/platform-apis/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fal/platform-apis/revisions/0c7dabf80b00/schema)
