REST /api/v1/lint-configs 6 endpoints
GET /api/v1/lint-configs/api/v1/lint-configs

List all lint configuration profiles

Public

Response Example

{
  "data": [
    {
      "id": "lc-001",
      "name": "default",
      "rule_count": 12,
      "active": true,
      "created_at": "2026-03-26T07:00:00Z"
    },
    {
      "id": "lc-002",
      "name": "strict",
      "rule_count": 18,
      "active": false,
      "created_at": "2026-03-26T07:05:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 2
  }
}
GET /api/v1/lint-configs/api/v1/lint-configs/:id

Get a lint config profile with full rules and analysis options

Public

Response Example

{
  "id": "lc-001",
  "name": "default",
  "active": true,
  "rules": [
    {
      "id": "min-contrast-normal",
      "enabled": true,
      "min_ratio": 4.5
    },
    {
      "id": "min-contrast-large",
      "enabled": true,
      "min_ratio": 3
    },
    {
      "id": "min-touch-target",
      "enabled": true,
      "min_dp": 44
    }
  ],
  "analysis_options": {
    "include": [
      "lib/**"
    ],
    "exclude": [
      "test/**"
    ],
    "language": "dart"
  },
  "valid": true,
  "created_at": "2026-03-26T07:00:00Z"
}
POST /api/v1/lint-configs/api/v1/lint-configs

Create a new lint configuration profile

Public

Request Example

{
  "name": "wcag-aaa",
  "rules": [
    {
      "id": "min-contrast-normal",
      "enabled": true,
      "min_ratio": 7
    },
    {
      "id": "min-contrast-large",
      "enabled": true,
      "min_ratio": 4.5
    },
    {
      "id": "min-touch-target",
      "enabled": true,
      "min_dp": 48
    }
  ],
  "analysis_options": {
    "include": [
      "lib/**"
    ],
    "exclude": [
      "test/**",
      "gen/**"
    ],
    "language": "dart"
  }
}

Response Example

{
  "id": "lc-003",
  "name": "wcag-aaa",
  "rule_count": 3,
  "active": false,
  "valid": true,
  "created_at": "2026-03-26T10:00:00Z"
}
PUT /api/v1/lint-configs/api/v1/lint-configs/:id

Update a lint configuration profile

Public

Request Example

{
  "active": true,
  "rules": [
    {
      "id": "min-contrast-normal",
      "enabled": true,
      "min_ratio": 7
    }
  ]
}

Response Example

{
  "id": "lc-003",
  "name": "wcag-aaa",
  "rule_count": 1,
  "active": true,
  "valid": true,
  "created_at": "2026-03-26T10:00:00Z",
  "updated_at": "2026-03-26T10:20:00Z"
}
DELETE /api/v1/lint-configs/api/v1/lint-configs/:id

Delete a lint configuration profile

Public

Response Example

{
  "deleted": true,
  "id": "lc-003"
}
POST /api/v1/lint-configs/api/v1/lint-configs/:id/export

Export analysis_options YAML for the given config

Public

Request Example

{
  "output_path": "analysis_options.yaml"
}

Response Example

{
  "exported": true,
  "output_path": "analysis_options.yaml",
  "config_id": "lc-001",
  "byte_size": 512
}

Additional Metadata

{
  "contract_summary": {
    "total_contracts": 410,
    "total_endpoints": 2416,
    "api_styles_used": [
      "rest"
    ]
  },
  "generated_at": "2026-03-26T06:55:53.316Z"
}