Flutter Accessibility Lint Config
API Contract
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
}