Accessibility Token Manifest
API Contract
REST
/api/v1/token-manifests
8 endpoints
GET
/api/v1/token-manifests/api/v1/token-manifests
List all accessibility token manifest versions
Public
Response Example
{
"data": [
{
"id": "tm-001",
"version": "1.0.0",
"color_pair_count": 12,
"type_scale_entry_count": 8,
"sizing_entry_count": 6,
"active": true,
"created_at": "2026-03-26T07:00:00Z"
},
{
"id": "tm-002",
"version": "1.1.0",
"color_pair_count": 14,
"type_scale_entry_count": 9,
"sizing_entry_count": 7,
"active": false,
"created_at": "2026-03-26T09:00:00Z"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 2
}
}
GET
/api/v1/token-manifests/api/v1/token-manifests/:id
Get a full manifest with all color pairs, type scales, and sizing entries
Public
Response Example
{
"id": "tm-001",
"version": "1.0.0",
"active": true,
"color_pairs": [
{
"id": "cp-001",
"foreground_key": "color.text.primary",
"background_key": "color.background",
"context": "body-text"
},
{
"id": "cp-002",
"foreground_key": "color.text.on-primary",
"background_key": "color.primary",
"context": "button-label"
}
],
"type_scale_entries": [
{
"id": "tse-001",
"role": "body",
"base_size_sp": 14,
"max_scale_factor": 1.3
},
{
"id": "tse-002",
"role": "headline",
"base_size_sp": 24,
"max_scale_factor": 1.5
}
],
"sizing_entries": [
{
"id": "se-001",
"token_key": "sizing.touch-target",
"min_dp": 44,
"recommended_dp": 48
}
],
"created_at": "2026-03-26T07:00:00Z"
}
POST
/api/v1/token-manifests/api/v1/token-manifests
Create a new accessibility token manifest version
Public
Request Example
{
"version": "1.2.0",
"color_pairs": [
{
"foreground_key": "color.text.primary",
"background_key": "color.background",
"context": "body-text"
}
],
"type_scale_entries": [
{
"role": "body",
"base_size_sp": 14,
"max_scale_factor": 1.3
}
],
"sizing_entries": [
{
"token_key": "sizing.touch-target",
"min_dp": 44,
"recommended_dp": 48
}
]
}
Response Example
{
"id": "tm-003",
"version": "1.2.0",
"color_pair_count": 1,
"type_scale_entry_count": 1,
"sizing_entry_count": 1,
"active": false,
"created_at": "2026-03-26T10:00:00Z"
}
PUT
/api/v1/token-manifests/api/v1/token-manifests/:id
Update a manifest version (e.g. activate it or amend entries)
Public
Request Example
{
"active": true,
"sizing_entries": [
{
"token_key": "sizing.touch-target",
"min_dp": 44,
"recommended_dp": 52
}
]
}
Response Example
{
"id": "tm-003",
"version": "1.2.0",
"color_pair_count": 1,
"type_scale_entry_count": 1,
"sizing_entry_count": 1,
"active": true,
"created_at": "2026-03-26T10:00:00Z",
"updated_at": "2026-03-26T10:35:00Z"
}
DELETE
/api/v1/token-manifests/api/v1/token-manifests/:id
Delete a manifest version
Public
Response Example
{
"deleted": true,
"id": "tm-003"
}
GET
/api/v1/token-manifests/api/v1/token-manifests/:id/color-pairs
List all color pairs in a manifest
Public
Response Example
{
"data": [
{
"id": "cp-001",
"foreground_key": "color.text.primary",
"background_key": "color.background",
"context": "body-text"
},
{
"id": "cp-002",
"foreground_key": "color.text.on-primary",
"background_key": "color.primary",
"context": "button-label"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 12
}
}
GET
/api/v1/token-manifests/api/v1/token-manifests/:id/type-scale-entries
List all type scale entries in a manifest
Public
Response Example
{
"data": [
{
"id": "tse-001",
"role": "body",
"base_size_sp": 14,
"max_scale_factor": 1.3
},
{
"id": "tse-002",
"role": "headline",
"base_size_sp": 24,
"max_scale_factor": 1.5
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 8
}
}
GET
/api/v1/token-manifests/api/v1/token-manifests/:id/sizing-entries
List all sizing constraint entries in a manifest
Public
Response Example
{
"data": [
{
"id": "se-001",
"token_key": "sizing.touch-target",
"min_dp": 44,
"recommended_dp": 48
},
{
"id": "se-002",
"token_key": "sizing.icon-button",
"min_dp": 44,
"recommended_dp": 44
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 6
}
}