Dropto · Schema

SiteSettingsResponse

Response of `PATCH /sites/{siteId}`.

HostingArtificial IntelligenceStatic SitesDeveloper ToolsCloud

Properties

Name Type Description
commentAudience string Who the owner chose may comment — `Off`, `Invited` or `Anyone`. The stored choice, which takes effect only where the plan and the viewing mode allow it.
docsMode boolean The setting as it now stands.
expiresAt nullstring When the site is now scheduled to come down, or null when it has no schedule. Echoed because the request sends a string and this is the instant it parsed to.
expiryAction string What that schedule will do. Reported even when ExpiresAt is null, where it is the choice a future date would inherit.
folderId nullstring The folder the site is now filed in, or null when it sits at the root. Echoed so a client that sent `"root"` reads back the null it produced rather than the token it sent.
formsEnabled boolean Whether this site accepts form submissions. The site's own switch, which the tier has to permit before the edge honours it — so a site on a tier without forms reports false here and cannot be set to t
invitedOnly boolean Whether only the people on the site's list may now see it. Never true together with PasswordProtected.
live boolean Whether the hostname mapping was rewritten. False for a site that has never published, where the setting is stored and takes effect with its first deploy.
modeIsManual boolean Whether the serving mode shown here was chosen by the owner rather than detected from the files. Reported so the dashboard can say which it is. A control that renders a detected value identically to a
name nullstring The name as it now stands, or null when the site has none and the dashboard should show its subdomain. Echoed back because cleaning can change what was sent.
passwordProtected boolean Whether the site now requires a password. The password itself is never returned — only the hash is stored, so there is nothing to return even if it were wanted.
publicDocumentCounts boolean Whether readers see each document's views and downloads.
siteId string ULID of the site.
spaMode boolean The setting as it now stands.
View JSON Schema on GitHub

JSON Schema

dropto-run-site-settings-response-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/dropto-run/json-schema/dropto-run-site-settings-response-schema.json",
  "title": "SiteSettingsResponse",
  "description": "Response of `PATCH /sites/{siteId}`.",
  "x-generated": "2026-11-06",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/dropto-run-openapi.json#/components/schemas/SiteSettingsResponse",
  "properties": {
    "commentAudience": {
      "description": "Who the owner chose may comment — `Off`, `Invited` or `Anyone`. The stored choice, which\ntakes effect only where the plan and the viewing mode allow it.",
      "type": "string"
    },
    "docsMode": {
      "description": "The setting as it now stands.",
      "type": "boolean"
    },
    "expiresAt": {
      "description": "When the site is now scheduled to come down, or null when it has no schedule. Echoed because the\nrequest sends a string and this is the instant it parsed to.",
      "format": "date-time",
      "type": [
        "null",
        "string"
      ]
    },
    "expiryAction": {
      "description": "What that schedule will do. Reported even when ExpiresAt is null, where it is the\nchoice a future date would inherit.",
      "type": "string"
    },
    "folderId": {
      "description": "The folder the site is now filed in, or null when it sits at the root. Echoed so a client that sent\n`\"root\"` reads back the null it produced rather than the token it sent.",
      "type": [
        "null",
        "string"
      ]
    },
    "formsEnabled": {
      "description": "Whether this site accepts form submissions. The site's own switch, which the tier has to permit\nbefore the edge honours it — so a site on a tier without forms reports false here and cannot be set\nto true.",
      "type": "boolean"
    },
    "invitedOnly": {
      "description": "Whether only the people on the site's list may now see it. Never true together with\nPasswordProtected.",
      "type": "boolean"
    },
    "live": {
      "description": "Whether the hostname mapping was rewritten. False for a site that has never published, where the\nsetting is stored and takes effect with its first deploy.",
      "type": "boolean"
    },
    "modeIsManual": {
      "description": "Whether the serving mode shown here was chosen by the owner rather than detected from the files.\n\nReported so the dashboard can say which it is. A control that renders a detected value identically to\na chosen one tells the owner they picked something they never picked, and hides the one fact that\nexplains why the mode changed after a deploy — or why it stopped changing.",
      "type": "boolean"
    },
    "name": {
      "description": "The name as it now stands, or null when the site has none and the dashboard should show its\nsubdomain. Echoed back because cleaning can change what was sent.",
      "type": [
        "null",
        "string"
      ]
    },
    "passwordProtected": {
      "description": "Whether the site now requires a password. The password itself is never returned — only the hash is\nstored, so there is nothing to return even if it were wanted.",
      "type": "boolean"
    },
    "publicDocumentCounts": {
      "description": "Whether readers see each document's views and downloads.",
      "type": "boolean"
    },
    "siteId": {
      "description": "ULID of the site.",
      "type": "string"
    },
    "spaMode": {
      "description": "The setting as it now stands.",
      "type": "boolean"
    }
  },
  "required": [
    "siteId",
    "name",
    "spaMode",
    "docsMode",
    "modeIsManual",
    "live",
    "passwordProtected",
    "expiresAt",
    "expiryAction",
    "formsEnabled",
    "folderId",
    "invitedOnly",
    "commentAudience",
    "publicDocumentCounts"
  ],
  "type": "object"
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/dropto-run-site-settings-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.