{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/clipform-io/json-schema/clipform-io-dynamic-link-schema.json",
  "title": "DynamicLink",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/clipform-io-openapi.yml#/components/schemas/DynamicLink",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "format": "uuid",
      "maxLength": 36
    },
    "public_id": {
      "type": "string",
      "description": "Opaque 8-character hex handle, repointable to a different form_id without changing this value.",
      "maxLength": 20
    },
    "name": {
      "type": "string",
      "maxLength": 100
    },
    "form_id": {
      "type": [
        "string",
        "null"
      ],
      "format": "uuid",
      "description": "Null when the target form has been deleted (an orphaned link, still listed and repointable).",
      "maxLength": 36
    },
    "slug": {
      "type": [
        "string",
        "null"
      ],
      "pattern": "^[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$",
      "maxLength": 63,
      "description": "Vanity path on the workspace's active custom domain (forms.acme.com/<slug>). Null until set."
    },
    "form": {
      "type": [
        "object",
        "null"
      ],
      "description": "Present in list responses only.",
      "properties": {
        "share_id": {
          "type": [
            "string",
            "null"
          ],
          "maxLength": 2000
        },
        "title": {
          "type": [
            "string",
            "null"
          ],
          "maxLength": 2000
        }
      }
    },
    "created_at": {
      "type": "string",
      "format": "date-time",
      "maxLength": 30
    },
    "updated_at": {
      "type": "string",
      "format": "date-time",
      "maxLength": 30
    }
  }
}