{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/clipform-io/json-schema/clipform-io-form-summary-schema.json",
  "title": "FormSummary",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/clipform-io-openapi.yml#/components/schemas/FormSummary",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "maxLength": 36
    },
    "title": {
      "type": "string",
      "maxLength": 2000
    },
    "share_id": {
      "type": "string",
      "maxLength": 64
    },
    "is_live": {
      "type": "boolean"
    },
    "has_unpublished_changes": {
      "type": "boolean",
      "description": "True when the working copy has drifted from the published snapshot."
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "maxLength": 30
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "maxLength": 30
    },
    "deleted_at": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "When the form was moved to the trash. Null for an active form.",
      "maxLength": 30
    },
    "tags": {
      "type": "array",
      "description": "Only present when `?include=tags` is passed.",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "maxLength": 36
          },
          "name": {
            "type": "string",
            "maxLength": 2000
          },
          "color": {
            "type": [
              "string",
              "null"
            ],
            "maxLength": 20
          }
        }
      },
      "maxItems": 500
    },
    "builder_url": {
      "type": "string",
      "format": "uri",
      "description": "Dashboard Build tab for this form. Absent for an anonymous caller.",
      "maxLength": 2048
    },
    "viewer_url": {
      "type": "string",
      "format": "uri",
      "description": "Live respondent link. Present only for a published (is_live) form, and absent for an anonymous caller.",
      "maxLength": 2048
    }
  }
}