---
title: "Read a site’s title, description, social image, favicon and crawler policy"
method: GET
path: "/api/v1/sites/{id}/settings"
tags: ["Settings"]
---

# Read a site’s title, description, social image, favicon and crawler policy

`GET /api/v1/sites/{id}/settings`

## Request

- Base URL: `https://app.mondovo.com`
- URL: `https://app.mondovo.com/api/v1/sites/{id}/settings`
- Auth: HTTP bearer

Returns every site-level setting that is not code. `favicon_url` is the RESOLVED value — what a publish would actually ship, including one inherited from the brand kit. A crawler absent from `ai_crawlers` / `search_crawlers` has never been decided about and is allowed by default. Requires scope `sites:read`.

## Response `200`

Current settings.

- SiteSettings: Every site-level setting that is not code. Written into each published page’s head, or served as /robots.txt and /llms.txt.
  - `site_id` string, uuid
  - `title` string, nullable: Default browser-tab title and search headline.
  - `description` string, nullable: Default meta description.
  - `og_image_url` string, uri, nullable: Social sharing (Open Graph) image.
  - `favicon_url` string, uri, nullable: Browser-tab icon, resolved — what a publish would ship.
  - `ai_crawlers` object: Per-crawler booleans. true allows, false blocks. Omit a crawler to leave its current setting alone.
  - `search_crawlers` object: Per-crawler booleans. true allows, false blocks. Omit a crawler to leave its current setting alone.
  - `llms_txt` string, nullable: Markdown served at /llms.txt.
  - `robots_txt_rules` object[]
    - `user_agent` string
    - `allow` string[]
    - `disallow` string[]
  - `robots_txt_custom` string, nullable: Raw directives appended to robots.txt.
  - `schema_enabled` boolean: Whether Schema.org JSON-LD is injected into published pages.
  - `schema_business_type` string, nullable: Override for the auto-detected Schema.org type.
  - `schema_price_range` string, nullable: "$" to "$$$$".
  - `schema_description` string, nullable: Structured-data-only business description.
  - `updated` string[]: PATCH only — the fields that changed.
  - `published` boolean: PATCH only — always false; publish separately.
  - `message` string

## Other responses

- `401`: Authentication failed. Error codes: `invalid_api_key` (missing/unknown key), `key_revoked`, `key_expired`.
- `403`: Authenticated but not allowed. Error codes: `addon_required` (the API key’s workspace no longer has the Agency add-on — checked on every request, not just at key creation) and `missing_scope` (the key lacks the scope this endpoint needs).
- `404`: `site_not_found`.
- `429`: Rate limit exceeded (`rate_limit_exceeded`). The body includes `retry_after_seconds`, `limit`, and `window` ("minute" or "hour"); a `Retry-After` header is also set.

---

[API](https://skmtc.dev/mondovo/apis/mondovo-public-api.md) · [All operations](https://skmtc.dev/mondovo/apis/mondovo-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mondovo/apis/mondovo-public-api/revisions/1baa3e2865ba?raw)
