---
title: "Public client config"
method: GET
path: "/config"
tags: ["Config"]
---

# Public client config

`GET /config`

## Request

- Base URL: `https://pdf2md.dev`
- URL: `https://pdf2md.dev/config`
- Auth: HTTP bearer

Public, unauthenticated client bootstrap config. The extension and web app
read it (TTL, upload limit, slot count, support URL, optional announcement).

## Response `200`

Client config

- object
  - `job_ttl_seconds` integer: How long a ready result is retained before TTL cleanup, for the ANONYMOUS tier (this endpoint is unauthenticated). Signed-in clients must use /api/v2/limits.ready_ttl_sec instead — retention is per-tier and each job expires by its own snapshot value.
  - `max_file_size` integer: Device-signed (v1) upload limit in bytes.
  - `max_slots` integer: Recent-jobs slots shown in the UI.
  - `support_url` string, uri
  - `announcement` object, nullable: Optional launch/PH announcement strip (EP-034); null when inactive.
    - `active` boolean
    - `id` string
    - `kind` string
    - `url` string, uri

---

[API](https://skmtc.dev/pdf2md/apis/pdf-to-markdown-api-facade.md) · [All operations](https://skmtc.dev/pdf2md/apis/pdf-to-markdown-api-facade/llms.txt) · [OpenAPI document](https://skmtc.dev/pdf2md/apis/pdf-to-markdown-api-facade/revisions/4636782fb8b6?raw)
