{
  "protocolVersion": "1.0",
  "name": "CADLens",
  "description": "Parses DWG, DXF, DWF, and DGN V7 drawings into structured vector JSON, layer metadata, drawing metadata, and PNG preview images. Send a CAD file as a file part and CADLens returns a task you can poll for the parsed result.",
  "version": "1.0.0",
  "provider": {
    "organization": "CADLens",
    "url": "https://cadlens.co"
  },
  "iconUrl": "https://cadlens.co/cadlens-logo-256.png",
  "documentationUrl": "https://cadlens.co/docs",
  "url": "https://api.cadlens.co/a2a",
  "preferredTransport": "JSONRPC",
  "supportedInterfaces": [
    {
      "url": "https://api.cadlens.co/a2a",
      "transport": "JSONRPC"
    }
  ],
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "securitySchemes": {
    "apiKey": {
      "type": "http",
      "scheme": "bearer",
      "description": "A CADLens API key, sent as `Authorization: Bearer cadl_...`. Create one at https://cadlens.co/dashboard/keys."
    }
  },
  "security": [
    {
      "apiKey": []
    }
  ],
  "defaultInputModes": [
    "text/plain",
    "application/octet-stream",
    "image/vnd.dwg",
    "application/dxf"
  ],
  "defaultOutputModes": [
    "application/json",
    "text/plain",
    "image/png"
  ],
  "skills": [
    {
      "id": "parse-cad-file",
      "name": "Parse CAD file",
      "description": "Parse a DWG, DXF, DWF, or DGN V7 drawing into structured vector JSON: entities with coordinates, layers, blocks, text, and drawing metadata.",
      "tags": [
        "cad",
        "dwg",
        "dxf",
        "dwf",
        "parsing",
        "vector"
      ],
      "examples": [
        "Parse this floor plan and list every entity on the WALLS layer.",
        "Convert the attached DWG to vector JSON."
      ],
      "inputModes": [
        "application/octet-stream",
        "image/vnd.dwg",
        "application/dxf",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "extract-cad-layers",
      "name": "Extract CAD layers",
      "description": "Return the layer table of a drawing — layer names, colors, line types, and per-layer entity counts.",
      "tags": [
        "cad",
        "layers",
        "metadata"
      ],
      "examples": [
        "What layers are in this drawing, and how many entities are on each?"
      ],
      "inputModes": [
        "application/octet-stream",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cad-preview-image",
      "name": "Render CAD preview image",
      "description": "Render a PNG preview of a drawing and return a time-limited URL to the image.",
      "tags": [
        "cad",
        "preview",
        "png",
        "render"
      ],
      "examples": [
        "Show me a preview image of this DXF."
      ],
      "inputModes": [
        "application/octet-stream",
        "text/plain"
      ],
      "outputModes": [
        "image/png",
        "application/json"
      ]
    },
    {
      "id": "cad-drawing-metadata",
      "name": "Read drawing metadata",
      "description": "Report a drawing’s units, extents, bounding box, CAD version, sheet list, and entity counts by type.",
      "tags": [
        "cad",
        "metadata",
        "units",
        "extents"
      ],
      "examples": [
        "What units and extents does this drawing use?"
      ],
      "inputModes": [
        "application/octet-stream",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ]
}
