https://strawhub.dev/api/v1/
Authentication
Most read endpoints are public. Write endpoints require a Bearer token:Rate Limits
All rate limits are per IP address.| Bucket | Limit |
|---|---|
| Read | 100/min |
| Write | 10/min |
| Search | 30/min |
429 response includes a Retry-After: 60 header.
Skills
List Skills
| Param | Description | Default |
|---|---|---|
limit | Results per page (1-200) | 50 |
sort | updated, downloads, or stars | updated |
Get Skill Detail
Get Skill File
path defaults to SKILL.md.
Publish Skill
Requires authentication.
| Field | Description |
|---|---|
slug | Package slug |
displayName | Display name |
version | Semver version |
changelog | Version changelog |
dependencies | Optional JSON: {"skills": ["dep-a", "dep-b>=1.0.0"]} |
customTags | Optional tags |
files[] | File uploads (max 20 files, 512 KB each) |
.md, .txt, .json, .yaml, .yml, .toml.
Delete Skill
Requires admin role.
Roles
List Roles
Get Role Detail
Get Role File
Resolve Role Dependencies
Publish Role
Requires authentication.
dependencies supports both skills and roles:
{"skills": ["git-workflow>=1.0.0"], "roles": ["reviewer"]}.
Roles must contain exactly one file named ROLE.md.
Delete Role
Requires admin role.
Search
| Param | Description | Default |
|---|---|---|
q | Search query (required) | — |
kind | all, skill, or role | all |
limit | Results (1-100) | 20 |
Stars
Toggle Star
Requires authentication.
{ "starred": true } or { "starred": false }.
Auth
Whoami
{ "handle", "displayName", "email", "role", "image" }.
Admin
Set User Role
Requires admin role.
admin, moderator, user.
Ban / Unban User
Requires admin role.