API for recording and tracking habits or effort, routines
Full LLM thinking from the 4-phase benchmark pipeline.
{
"service_type": "platform",
"base_url": "https://pixe.la",
"auth_method": "token",
"auth_config": {
"header_name": "X-USER-TOKEN",
"token_obtained_via": "user registration, typically POST /v1/users with token field",
"type": "static_token"
},
"endpoints": [
{
"name": "Create User",
"method": "POST",
"path": "/v1/users",
"description": "Registers a new user with a token, username, and optional agreeTermsOfService and notMinor."
},
{
"name": "Update User",
"method": "PUT",
"path": "/v1/users/{userName}",
"description": "Updates user profile (e.g., displayName, status, token)."
},
{
"name": "Delete User",
"method": "DELETE",
"path": "/v1/users/{userName}",
"description": "Deletes the user and all associated data."
},
{
"name": "Get User Profile",
"method": "GET",
"path": "/v1/users/{userName}",
"description": "Retrieves user profile information including pixel count and settings."
},
{
"name": "Create Graph",
"method": "POST",
"path": "/v1/users/{userName}/graphs",
"description": "Defines a new graph (e.g., id, name, unit, color, type, timezone)."
},
{
"name": "Get Graph List",
"method": "GET",
"path": "/v1/users/{userName}/graphs",
"description": "Lists all graphs for a user."
},
{
"name": "Update Graph",
"method": "PUT",
"path": "/v1/users/{userName}/graphs/{graphID}",
"description": "Modifies graph properties like name, unit, color, etc."
},
{
"name": "Delete Graph",
"method": "DELETE",
"path": "/v1/users/{userName}/graphs/{graphID}",
"description": "Removes a graph and its data."
},
{
"name": "Get Graph Definition",
"method": "GET",
"path": "/v1/users/{userName}/graphs/{graphID}",
"description": "Gets details of a specific graph."
},
{
"name": "Increment Pixel",
"method": "POST",
"path": "/v1/users/{userName}/graphs/{graphID}",
"description": "Creates a pixel for today (or specified date) with optional quantity and optional optionalData."
},
{
"name": "Get Pixel",
"method": "GET",
"path": "/v1/users/{userName}/graphs/{graphID}/{yyyyMMdd}",
"description": "Retrieves pixel data for a specific date."
},
{
"name": "Update Pixel",
"method": "PUT",
"path": "/v1/users/{userName}/graphs/{graphID}/{yyyyMMdd}",
"description": "Updates quantity or optionalData for an existing pixel."
},
{
"name": "Delete Pixel",
"method": "DELETE",
"path": "/v1/users/{userName}/graphs/{graphID}/{yyyyMMdd}",
"description": "Deletes a pixel for a specific date."
},
{
"name": "Increment Multiple Pixels",
"method": "POST",
"path": "/v1/users/{userName}/graphs/{graphID}/increment",
"description": "Increments pixels for multiple dates in one request (newer feature)."
},
{
"name": "Get Graph Statistics",
"method": "GET",
"path": "/v1/users/{userName}/graphs/{graphID}/stats",
"description": "Returns overall statistics such as total count, average, min, max, etc."
},
{
"name": "Get Graph SVG",
"method": "GET",
"path": "/v1/users/{userName}/graphs/{graphID}.svg",
"description": "Generates an SVG representation of the graph for embedding."
},
{
"name": "Get Graph PNG",
"method": "GET",
"path": "/v1/users/{userName}/graphs/{graphID}.png",
"description": "Generates a PNG image of the graph."
},
{
"name": "Get Graph HTML",
"method": "GET",
"path": "/v1/users/{userName}/graphs/{graphID}.html",
"description": "Renders an HTML view of the graph via Graph view."
},
{
"name": "Get Graph Calendar",
"method": "GET",
"path": "/v1/users/{userName}/graphs/{graphID}.calendar",
"description": "Provides calendar view data for the graph."
},
{
"name": "Get Graph URLs (links)",
"method": "GET",
"path": "/v1/users/{userName}/graphs/{graphID}/urls",
"description": "Returns URLs for SVG, PNG, etc."
},
{
"name": "Create Webhook",
"method": "POST",
"path": "/v1/users/{userName}/webhooks",
"description": "Creates a webhook for triggering actions like incrementing pixels (requires graphID)."
},
{
"name": "List Webhooks",
"method": "GET",
"path": "/v1/users/{userName}/webhooks",
"description": "Lists all webhooks for the user."
},
{
"name": "Invoke Webhook",
"method": "POST",
"path": "/v1/users/{userName}/webhooks/{webhookHash}",
"description": "Triggers the webhook action (can be used by external systems via URL)."
},
{
"name": "Delete Webhook",
"method": "DELETE",
"path": "/v1/users/{userName}/webho2/3 tests passed
| Test | Endpoint | Status | Latency |
|---|---|---|---|
| website_uptime | GET / | 200 | 660ms |
| robots_txt | GET /robots.txt | 200 | 599ms |
| llms_txt | GET /llms.txt | 404 | 567ms |
```json
{
"overall": 72,
"dimensions": {
"token_efficiency": 8.0,
"first_try_success": 7.0,
"response_parseability": 7.5,
"error_clarity": 6.0,
"doc_quality": 8.0,
"auth_simplicity": 6.5,
"latency": 6.5,
"consistency": 8.0
},
"pricing_normalized": {},
"issues": [
"No /llms.txt availability (404) - reduces discoverability for AI agents",
"Missing security headers (no X-Frame-Options, Content-Security-Policy etc.)",
"No explicit API documentation surfaced in agent check results"
],
"recommendations": [
"Add an /llms.txt file to provide a clear, concise platform overview for AI agents",
"Implement standard security headers to improve trust signal",
"Ensure a public REST API reference is easily discoverable for programmatic access"
]
}
```Show your live agent-readiness score on your own site. Free, no auth — it updates as your score changes.
<a href="https://prowl.world/service/pixela">
<img src="https://prowl.world/badge/pixela.svg" height="56" alt="Agent-readiness on Prowl">
</a>
See operational metrics, LLM evaluations, agent readiness, and more.
Open in Dashboard