Skip to content

API Reference

kendo provides a API for programmatic access and an MCP (Model Context Protocol) server for AI coding assistants.

Authentication

API Tokens

Create API tokens from your profile settings. Include the token in the Authorization header:

bash
curl https://{tenant}.kendo.dev/api/projects \
  -H "Authorization: Bearer your-api-token"

Tokens can be revoked at any time from your profile.

Base URL

All API endpoints are relative to your tenant subdomain:

https://{tenant}.kendo.dev/api/

Resources

ResourceDescription
IssuesCreate, update, move, and search issues
ProjectsManage projects and their configuration
SprintsPlan, activate, and complete sprints
Time EntriesLog and manage time against issues
CommentsAdd and manage comments on issues
EpicsGroup issues on a timeline

Additional Endpoints

MethodEndpointDescription
GET/api/projects/{id}/lanesList board lanes
GET/api/teamsList teams
GET/api/github/statusCheck GitHub connection
GET/api/projects/{id}/github-reposList linked repositories
GET/api/tokensList API tokens
POST/api/tokensCreate an API token

Response Format

All responses return JSON. Successful responses return the resource directly:

json
{
  "id": 1,
  "title": "...",
  "created_at": "2026-03-13T10:30:00.000000Z"
}

Collection endpoints return arrays:

json
[
  {"id": 1, "title": "..."},
  {"id": 2, "title": "..."}
]

Status Codes

CodeMeaning
200Success (retrieve, update, list)
201Created (store)
204No Content (delete)
422Validation Error (invalid input)

Validation Errors

When validation fails, the API returns a 422 response with field-level errors:

json
{
  "message": "The title field is required.",
  "errors": {
    "title": ["The title field is required."],
    "priority": ["The selected priority is invalid."]
  }
}

Authorization & Scoping

All API and MCP access is scoped to the authenticated user:

  • API tokens are user-specific — you only see projects, issues, and data for projects assigned to your teams
  • MCP tokens carry an mcp:use scope with the same access restrictions
  • This isn't just filtering — it's programmatic enforcement through Laravel Gates and Project::accessibleBy($user) checks
  • Role-based permissions apply per-action: Team Lead+ for sprint/epic management, Manager+ for epic deletion

MCP Server

kendo exposes a Model Context Protocol server with 15 tools and 10 resources for AI coding assistants.

For full documentation including setup guides, tool parameters, and workflow examples, see the MCP documentation.

SectionWhat's Covered
Overview & SetupOAuth flow, Claude Code and Cursor configuration
IssuesCreate, update, move, delete, search (5 tools)
CommentsAdd, update, delete with permission model (3 tools)
Time EntriesLog, update, delete, query with grouping (4 tools)
EpicsCreate, update, delete, get with progress (4 tools)
SprintsCreate, update, complete with lifecycle (3 tools)
BranchesLink branches with auto-repo resolution (1 tool)
Resources10 read-only resources for projects, issues, lanes, sprints, epics, members, teams, repos
WorkflowsMulti-step flows: sprint planning, bug triage, time logging

Build Integrations

Use the API to connect any chat tool, CI pipeline, or internal system to your project board:

  • Create issues from Slack, Discord, or Microsoft Teams messages
  • Post board updates to a channel
  • Sync status with external dashboards
  • Trigger workflows based on issue events

See Also