>_lisa docs

API Reference

Lisa's REST API for programmatic access to issues, projects, milestones, and more.

Lisa exposes a versioned REST API at /api/v1/ for programmatic access to all resources.

Authentication

Three authentication methods (checked in order):

MethodHeaderUse case
Internal keyAuthorization: Bearer <LISA_INTERNAL_API_KEY>Tool-to-API communication
API keyAuthorization: Bearer <api-key>External integrations
SessionCookie (automatic)Browser/frontend

All requests require an organization context via the X-Org header (org ID or slug).

Base URL

https://your-lisa-url/api/v1

Resources

Issues

# List issues
GET /api/v1/issues?status=todo&priority=high&limit=20

# Create issue
POST /api/v1/issues
Content-Type: application/json
{
  "title": "Add WebSocket support",
  "description": "Implement real-time notifications...",
  "status": "todo",
  "priority": "high",
  "type": "feature",
  "projectId": "proj_123"
}

# Get issue
GET /api/v1/issues/:id

# Update issue
PATCH /api/v1/issues/:id
{ "status": "in_progress" }

# Delete issue
DELETE /api/v1/issues/:id

Projects

GET    /api/v1/projects          # List projects
POST   /api/v1/projects          # Create project
GET    /api/v1/projects/:id      # Get project
PATCH  /api/v1/projects/:id      # Update project
DELETE /api/v1/projects/:id      # Delete project

Milestones

GET    /api/v1/milestones        # List milestones
POST   /api/v1/milestones        # Create milestone
GET    /api/v1/milestones/:id    # Get milestone
PATCH  /api/v1/milestones/:id    # Update milestone
DELETE /api/v1/milestones/:id    # Delete milestone

Artifacts

GET    /api/v1/artifacts         # List artifacts
POST   /api/v1/artifacts         # Create artifact
GET    /api/v1/artifacts/:id     # Get artifact
PATCH  /api/v1/artifacts/:id     # Update artifact
DELETE /api/v1/artifacts/:id     # Delete artifact

Pagination

List endpoints support pagination:

GET /api/v1/issues?limit=20&offset=0

Response includes metadata:

{
  "data": [...],
  "meta": {
    "total": 142,
    "limit": 20,
    "offset": 0
  }
}

Error responses

{
  "error": {
    "code": "NOT_FOUND",
    "message": "Issue not found"
  }
}
StatusMeaning
200Success
201Created
400Validation error
401Unauthorized
403Forbidden
404Not found
500Server error