For Agents
Read a Code::Stats user profile or submit a programming-activity pulse with per-language XP using an X-API-Token header.
Get started with Code::Stats API in minutes using your preferred integration method.
# Add to your MCP client config (Claude Desktop, Cursor, Windsurf)
{
"jentic": {
"url": "https://api.jentic.com/mcp",
"auth": "oauth"
}
}
# Then ask your agent:
"submit a programming activity pulse to Code::Stats"
# → Jentic returns the GET /events tool with parameter schema, agent executes.What an agent can do with Code::Stats API API.
Submit a pulse of XP across one or more programming languages via POST /my/pulses
Read any user's public profile, including total XP and per-language breakdowns, via GET /users/{username}
Calculate level progress from XP using the published formula (level = floor(0.025 * sqrt(xp)))
Compare two developers' per-language XP for friendly competition or onboarding metrics
GET STARTED
Use for: Submit a pulse of XP for Python coding activity, Get the public profile and total XP for a Code::Stats user, Find which programming language a user has the most XP in, Check whether a Code::Stats username exists
Not supported: Does not handle private profile data, account creation, or aggregated leaderboards — use for public profile reads and personal pulse submission only.
Jentic publishes the only available OpenAPI document for Code::Stats API, keeping it validated and agent-ready.
Jentic publishes the only available OpenAPI specification for Code::Stats API, keeping it validated and agent-ready. Code::Stats is a free, open-source programming activity tracker — editor plugins watch what a developer types in each language and report XP (experience points) to a hosted profile that visualises long-term coding activity. The API has just 2 endpoints over codestats.net/api: GET /users/{username} returns a public profile with per-language XP and totals, and POST /my/pulses lets a client submit a fresh pulse of XP gained against one or more languages. Pulse submission requires a signed API token (X-API-Token header).
Drive a custom editor plugin or CI hook that reports coding activity to Code::Stats
Patterns agents use Code::Stats API API for, with concrete tasks.
★ Custom Editor Activity Reporting
Developers using editors that lack an official Code::Stats plugin can build a thin client that posts pulses through POST /my/pulses. Each save or focus event accumulates XP per language and is flushed periodically. Lets unsupported tools (custom IDEs, terminal-based editors, niche notebooks) participate in the same long-term activity profile as the official plugins.
Buffer typed-character counts per language for 60 seconds, then POST /my/pulses with coded_at=now and an xps array of {language, xp} pairs
Developer Profile Embed for a Personal Site
Embed live Code::Stats data in a personal website by calling GET /users/{username} server-side and rendering total XP, top languages, and recent activity. The page stays in sync with the developer's coding activity without manual updates. Replaces stale 'I work in Rust and Python' bullet points with data sourced from the editor itself.
Call GET /users/alice, extract the top 5 languages by XP, and render them as a sorted list on the personal site
Team or Cohort Activity Dashboard
Bootcamps and engineering teams use Code::Stats to give learners and members a shared, public view of their progress. The agent loops over a list of usernames calling GET /users/{username} and aggregates XP into a leaderboard or cohort dashboard. Builds friendly motivation around consistent practice rather than headline output.
For each username in cohort.csv call GET /users/{username}, sum total XP for the last 30 days, and render a leaderboard
Agent-Driven Code::Stats via Jentic
An AI agent connected to Jentic can answer 'how much XP did I earn this week?' or post a pulse from a custom toolchain without holding the raw signed token. Jentic stores the X-API-Token in its vault and executes /users/{username} or /my/pulses on the agent's behalf, returning parsed responses.
Search Jentic for 'submit Code::Stats pulse', load the POST /my/pulses schema, and execute it with coded_at=now and xps=[{language: 'Python', xp: 100}]
2 endpoints — jentic publishes the only available openapi specification for code::stats api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/users/{username}
Get a user's public profile
/my/pulses
Submit a programming-activity pulse
/users/{username}
Get a user's public profile
/my/pulses
Submit a programming-activity pulse
Three things that make agents converge on Jentic-routed access.
Credential isolation
The signed Code::Stats X-API-Token is stored encrypted in the Jentic vault. Agents receive scoped execution access; the raw token never enters agent context, and rotation can be handled centrally without redeploying plugins.
Intent-based discovery
Agents search Jentic by intent (e.g., 'submit a Code::Stats pulse') and Jentic returns the matching operation with parameter schema, so the agent can call /my/pulses without scraping vendor docs.
Time to first call
Direct Code::Stats integration: an hour or two to wire the X-API-Token header and pulse payload format. Through Jentic: under 15 minutes — search, load, execute.
Alternatives and complements available in the Jentic catalogue.
GitHub API
Pair with Code::Stats to combine commit-level activity (GitHub) with editor-level XP (Code::Stats)
Use GitHub for commit-driven activity and Code::Stats for editor-driven XP when building a holistic developer dashboard
Stack Exchange API
Pull a developer's reputation and answers from Stack Overflow alongside Code::Stats activity
Combine when a profile widget should show both coding activity (Code::Stats) and Q&A reputation (Stack Exchange)
GitLab API
Add GitLab commit and merge request activity for users hosting code on GitLab
Use when a cohort uses GitLab as well as Code::Stats and the dashboard should reflect both signals
Specific to using Code::Stats API API through Jentic.
Why is there no official OpenAPI spec for Code::Stats API?
Code::Stats does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Code::Stats API via structured tooling. It is validated against the live API and kept up to date. Get started at https://app.jentic.com/sign-up.
What authentication does the Code::Stats API use?
Profile reads at GET /users/{username} are public and need no auth. Pulse submission at POST /my/pulses requires a signed token in the X-API-Token header, generated in the Code::Stats Machine control panel. Through Jentic the token is stored in the vault.
Can I submit programming activity from a custom editor?
Yes. POST /my/pulses accepts a coded_at timestamp and an xps array of {language, xp} entries, so any tool that observes coding activity can report it. Bundle multiple languages in one pulse if a session crosses files of different types.
What are the rate limits for the Code::Stats API?
Code::Stats does not publish a fixed public rate limit. The service is community-run, so pulse submission frequency should match the official plugins (one pulse every minute or so) and profile reads should be cached. Back off on HTTP 429 responses.
How do I read a user profile through Jentic?
Search Jentic for 'get Code::Stats user profile', load the GET /users/{username} schema, and execute it with the username. The endpoint is unauthenticated, so Jentic simply returns the parsed profile including total XP and per-language XP.