API Reference
REST API documentation for programmatic access to ZhenSkill
Endpoints
Base URL
All API requests should be made to:
Authentication
Most endpoints are publicly accessible. For authenticated endpoints (publishing skills, managing your account), you'll need an API key.
Getting an API Key
- Log in to your ZhenSkill account
- Go to Dashboard → Settings → API Keys
- Generate a new API key
Using Your API Key
Include your API key in the Authorization header:
Example Request
GET /api/skills
Retrieve a list of all skills.
Request
Query Parameters
| Parameter | Type | Description | Default |
|---|---|---|---|
category | string | Filter by category slug | - |
search | string | Search query | - |
featured | boolean | Show only featured skills | false |
sort | string | Sort by: downloads, rating, date | downloads |
limit | number | Number of results (max 100) | 20 |
offset | number | Pagination offset | 0 |
Example Request
Response
GET /api/skills/[name]
Get detailed information about a specific skill.
Request
Parameters
| Parameter | Type | Description |
|---|---|---|
name | string | Skill name (URL path parameter) |
Example Request
Response
Error Response (404)
GET /api/categories
Get all skill categories.
Request
Example Request
Response
Rate Limits
To ensure fair usage and service stability, the ZhenSkill API implements rate limiting.
Limits
| Endpoint Type | Unauthenticated | Authenticated |
|---|---|---|
| Read operations (GET) | 100 requests/hour | 1000 requests/hour |
| Write operations (POST/PUT) | N/A | 100 requests/hour |
Rate Limit Headers
Every API response includes rate limit information:
Exceeding Rate Limits
If you exceed the rate limit, you'll receive a 429 Too Many Requests response:
Error Handling
The API uses standard HTTP status codes and returns errors in a consistent format.
HTTP Status Codes
| Code | Description |
|---|---|
200 | Success |
201 | Created |
400 | Bad Request - Invalid parameters |
401 | Unauthorized - Invalid or missing API key |
403 | Forbidden - Insufficient permissions |
404 | Not Found - Resource doesn't exist |
429 | Too Many Requests - Rate limit exceeded |
500 | Internal Server Error |
503 | Service Unavailable |
Error Response Format
All errors follow this format:
Common Error Codes
| Code | Description |
|---|---|
SKILL_NOT_FOUND | Requested skill doesn't exist |
INVALID_PARAMETERS | Request parameters are invalid |
UNAUTHORIZED | Authentication required or failed |
RATE_LIMIT_EXCEEDED | Too many requests |
VALIDATION_ERROR | Input validation failed |
SDK and Libraries
Official SDKs are available for popular languages:
- JavaScript/TypeScript:
npm install @zhenskill/sdk - Python:
pip install zhenskill - Go:
go get github.com/ZhenRobotics/zhenskill-go
JavaScript Example
Webhooks (Coming Soon)
Webhook support is planned for future releases. You'll be able to subscribe to events like:
- New skill published
- Skill updated
- New review posted
- Download milestone reached
Need Help?
If you have questions about the API:
- Join our Discord community
- Check API examples on GitHub
- Report issues on GitHub