Spaces:
Sleeping
Sleeping
| # API Endpoints Reference | |
| Complete reference for all API endpoints in the Enterprise Delivery & Workforce Intelligence API. | |
| **Base URL (Hugging Face):** `https://rudraaaa76-jira-api.hf.space` | |
| **Base URL (Local):** `http://localhost:8000` | |
| **Authentication:** All endpoints (except `/auth/login`) require Bearer token authentication. | |
| --- | |
| ## Table of Contents | |
| 1. [Authentication Endpoints](#authentication-endpoints) | |
| 2. [Jira Data Endpoints](#jira-data-endpoints) | |
| 3. [Intelligence & Analytics Endpoints](#intelligence--analytics-endpoints) | |
| --- | |
| ## Authentication Endpoints | |
| ### POST /auth/login | |
| **Description:** Authenticate with Jira credentials and receive JWT token | |
| **Authentication:** None required | |
| **Request Body:** | |
| ```json | |
| { | |
| "jira_email": "rudraparmar1309@gmail.com", | |
| "jira_api_token": "your_jira_api_token", | |
| "jira_server_url": "https://rudraparmar1309-1770450259652.atlassian.net" | |
| } | |
| ``` | |
| **Response:** | |
| ```json | |
| { | |
| "access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...", | |
| "token_type": "bearer", | |
| "expires_in": 1800 | |
| } | |
| ``` | |
| ### GET /auth/me | |
| **Description:** Get current authenticated user information | |
| **Authentication:** Required | |
| **Response:** | |
| ```json | |
| { | |
| "jira_email": "rudraparmar1309@gmail.com", | |
| "jira_server_url": "https://rudraparmar1309-1770450259652.atlassian.net", | |
| "authenticated": true | |
| } | |
| ``` | |
| --- | |
| ## Jira Data Endpoints | |
| ### Projects | |
| #### GET /jira/projects | |
| **Description:** Get all Jira projects | |
| **Authentication:** Required | |
| **Response:** Array of project objects | |
| ```json | |
| [ | |
| { | |
| "project_key": "PROJ", | |
| "project_name": "Project Name", | |
| "project_id": "10000", | |
| "lead": "User Name", | |
| "description": "Project description" | |
| } | |
| ] | |
| ``` | |
| #### GET /jira/projects/{project_key}/issues | |
| **Description:** Get all issues for a specific project | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `project_key` (string) - Project key (e.g., "PROJ") | |
| **Query Parameters:** | |
| - `max_results` (integer, optional) - Maximum number of results (1-1000, default: 100) | |
| - `start_date` (string, optional) - Filter from date (ISO format: YYYY-MM-DD) | |
| - `end_date` (string, optional) - Filter to date (ISO format: YYYY-MM-DD) | |
| **Example:** `/jira/projects/PROJ/issues?max_results=50&start_date=2026-01-01` | |
| #### GET /jira/projects/{project_key}/team-members | |
| **Description:** Get all team members for a project | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `project_key` (string) - Project key | |
| **Response:** Array of team member objects | |
| #### GET /jira/projects/{project_key}/worklogs | |
| **Description:** Get worklogs for a project | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `project_key` (string) - Project key | |
| **Query Parameters:** | |
| - `start_date` (string, optional) - Start date (ISO format) | |
| - `end_date` (string, optional) - End date (ISO format) | |
| ### Boards | |
| #### GET /jira/boards | |
| **Description:** Get all Jira boards | |
| **Authentication:** Required | |
| **Response:** Array of board objects | |
| ```json | |
| [ | |
| { | |
| "id": 1, | |
| "name": "Board Name", | |
| "type": "scrum", | |
| "self": "https://..." | |
| } | |
| ] | |
| ``` | |
| #### GET /jira/boards/{board_id}/sprints | |
| **Description:** Get all sprints for a board | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `board_id` (integer) - Board ID | |
| **Response:** Array of sprint objects | |
| #### GET /jira/boards/{board_id}/active-sprint | |
| **Description:** Get the currently active sprint for a board | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `board_id` (integer) - Board ID | |
| **Response:** Sprint object or null | |
| #### GET /jira/boards/{board_id}/configuration | |
| **Description:** Get board configuration including columns and settings | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `board_id` (integer) - Board ID | |
| #### GET /jira/boards/{board_id}/backlog | |
| **Description:** Get backlog issues for a board | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `board_id` (integer) - Board ID | |
| **Query Parameters:** | |
| - `max_results` (integer, optional) - Maximum results (1-500, default: 100) | |
| ### Sprints | |
| #### GET /jira/sprints/{sprint_id}/issues | |
| **Description:** Get all issues in a specific sprint | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `sprint_id` (integer) - Sprint ID | |
| **Response:** Array of issue objects | |
| ### Issues | |
| #### GET /jira/issues/{issue_key} | |
| **Description:** Get a specific issue by key | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `issue_key` (string) - Issue key (e.g., "PROJ-123") | |
| **Response:** Issue object | |
| #### GET /jira/issues/{issue_key}/transitions | |
| **Description:** Get available transitions for an issue | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `issue_key` (string) - Issue key | |
| **Response:** Array of transition objects | |
| #### POST /jira/issues/{issue_key}/transition | |
| **Description:** Move an issue to a different status | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `issue_key` (string) - Issue key | |
| **Query Parameters:** | |
| - `transition_name` (string, required) - Name of transition to execute | |
| **Response:** | |
| ```json | |
| { | |
| "success": true, | |
| "message": "Issue PROJ-123 transitioned to Done" | |
| } | |
| ``` | |
| ### Kanban Boards | |
| #### GET /jira/kanban/boards | |
| **Description:** Get all Kanban boards with column configurations | |
| **Authentication:** Required | |
| **Response:** Array of Kanban board objects with columns | |
| #### GET /jira/kanban/boards/{board_id} | |
| **Description:** Get a specific Kanban board by ID | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `board_id` (integer) - Board ID | |
| **Response:** Kanban board object with columns | |
| #### GET /jira/kanban/boards/{board_id}/issues | |
| **Description:** Get issues for a Kanban board grouped by columns | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `board_id` (integer) - Board ID | |
| **Response:** Array of column objects with their issues | |
| --- | |
| ## Intelligence & Analytics Endpoints | |
| ### Delivery Metrics | |
| #### GET /intelligence/delivery-health/{project_key} | |
| **Description:** Get delivery health metrics for a project or sprint | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `project_key` (string) - Project key | |
| **Query Parameters:** | |
| - `board_id` (integer, optional) - Board ID for sprint context | |
| - `sprint_id` (integer, optional) - Specific sprint ID | |
| - `start_date` (string, optional) - Start date (ISO format) | |
| - `end_date` (string, optional) - End date (ISO format) | |
| **Response:** | |
| ```json | |
| { | |
| "velocity": 45.5, | |
| "completion_rate": 87.5, | |
| "avg_cycle_time_days": 3.2, | |
| "sprint_health_score": 8.5, | |
| "total_issues": 120, | |
| "completed_issues": 105, | |
| "in_progress_issues": 10, | |
| "blocked_issues": 5 | |
| } | |
| ``` | |
| ### Productivity Metrics | |
| #### GET /intelligence/productivity/{project_key} | |
| **Description:** Get productivity metrics for all team members | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `project_key` (string) - Project key | |
| **Query Parameters:** | |
| - `start_date` (string, optional) - Start date (default: 14 days ago) | |
| - `end_date` (string, optional) - End date (default: today) | |
| **Response:** Array of productivity metrics per team member | |
| ```json | |
| [ | |
| { | |
| "team_member_id": "user123", | |
| "team_member_name": "John Doe", | |
| "issues_completed": 12, | |
| "story_points_completed": 34, | |
| "avg_completion_time_days": 2.5, | |
| "work_hours_logged": 80, | |
| "productivity_score": 8.7 | |
| } | |
| ] | |
| ``` | |
| ### Cost Efficiency | |
| #### GET /intelligence/cost-efficiency/{project_key} | |
| **Description:** Get cost efficiency metrics for a project | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `project_key` (string) - Project key | |
| **Query Parameters:** | |
| - `start_date` (string, optional) - Start date (default: 14 days ago) | |
| - `end_date` (string, optional) - End date (default: today) | |
| - `avg_hourly_rate` (float, optional) - Average hourly rate (default: 75.0) | |
| **Response:** | |
| ```json | |
| { | |
| "total_hours_logged": 520, | |
| "total_cost": 39000, | |
| "cost_per_issue": 325, | |
| "cost_per_story_point": 162.5, | |
| "efficiency_score": 7.8, | |
| "issues_delivered": 120, | |
| "story_points_delivered": 240 | |
| } | |
| ``` | |
| ### Risk Management | |
| #### GET /intelligence/risk-alerts/{project_key} | |
| **Description:** Get risk alerts for a project | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `project_key` (string) - Project key | |
| **Query Parameters:** | |
| - `board_id` (integer, optional) - Board ID | |
| - `sprint_id` (integer, optional) - Sprint ID | |
| - `start_date` (string, optional) - Start date (default: 14 days ago) | |
| - `end_date` (string, optional) - End date (default: today) | |
| **Response:** Array of risk alert objects | |
| ```json | |
| [ | |
| { | |
| "alert_type": "delivery_risk", | |
| "severity": "high", | |
| "title": "Sprint at Risk", | |
| "description": "Sprint completion rate below 70%", | |
| "affected_items": ["Sprint 42"], | |
| "recommendation": "Review sprint scope and consider moving items to backlog" | |
| } | |
| ] | |
| ``` | |
| ### Insights & Recommendations | |
| #### GET /intelligence/insights/{project_key} | |
| **Description:** Get AI-generated insights and recommendations | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `project_key` (string) - Project key | |
| **Query Parameters:** | |
| - `board_id` (integer, optional) - Board ID | |
| - `sprint_id` (integer, optional) - Sprint ID | |
| - `start_date` (string, optional) - Start date (default: 14 days ago) | |
| - `end_date` (string, optional) - End date (default: today) | |
| **Response:** Array of insight objects | |
| ```json | |
| [ | |
| { | |
| "category": "productivity", | |
| "priority": "high", | |
| "title": "Optimize Team Allocation", | |
| "description": "3 team members are over-allocated", | |
| "impact": "Could improve delivery by 15%", | |
| "action_items": ["Redistribute workload", "Review capacity planning"] | |
| } | |
| ] | |
| ``` | |
| ### Dashboard | |
| #### GET /intelligence/dashboard/{project_key} | |
| **Description:** Get comprehensive dashboard data with all metrics | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `project_key` (string) - Project key | |
| **Query Parameters:** | |
| - `board_id` (integer, optional) - Board ID | |
| - `sprint_id` (integer, optional) - Sprint ID | |
| - `start_date` (string, optional) - Start date | |
| - `end_date` (string, optional) - End date | |
| **Response:** Combined object with all metrics | |
| ```json | |
| { | |
| "delivery_health": {...}, | |
| "productivity_metrics": [...], | |
| "cost_efficiency": {...}, | |
| "risk_alerts": [...], | |
| "insights": [...], | |
| "period": { | |
| "start": "2026-01-24", | |
| "end": "2026-02-07" | |
| } | |
| } | |
| ``` | |
| ### Kanban Intelligence | |
| #### GET /intelligence/kanban/flow-metrics/{board_id} | |
| **Description:** Get Kanban flow efficiency metrics | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `board_id` (integer) - Board ID | |
| **Query Parameters:** | |
| - `start_date` (string, optional) - Start date (default: 30 days ago) | |
| - `end_date` (string, optional) - End date (default: today) | |
| **Response:** | |
| ```json | |
| { | |
| "board_id": 123, | |
| "board_name": "Development Board", | |
| "cycle_time_avg_days": 4.5, | |
| "lead_time_avg_days": 7.2, | |
| "throughput": 25, | |
| "wip_avg": 15, | |
| "flow_efficiency": 62.5, | |
| "blocked_items_count": 3 | |
| } | |
| ``` | |
| #### GET /intelligence/kanban/column-analysis/{board_id} | |
| **Description:** Get detailed analysis of each Kanban column | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `board_id` (integer) - Board ID | |
| **Response:** Array of column analysis objects | |
| ```json | |
| [ | |
| { | |
| "column_name": "In Progress", | |
| "current_wip": 8, | |
| "avg_time_in_column_days": 2.3, | |
| "bottleneck_score": 6.5, | |
| "issue_count": 8, | |
| "recommended_wip_limit": 5 | |
| } | |
| ] | |
| ``` | |
| #### GET /intelligence/kanban/wip-recommendations/{board_id} | |
| **Description:** Get WIP limit recommendations for columns | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `board_id` (integer) - Board ID | |
| **Query Parameters:** | |
| - `start_date` (string, optional) - Start date (default: 30 days ago) | |
| - `end_date` (string, optional) - End date (default: today) | |
| **Response:** Array of WIP recommendation objects | |
| ```json | |
| [ | |
| { | |
| "column_name": "In Progress", | |
| "current_wip": 8, | |
| "current_limit": null, | |
| "recommended_limit": 5, | |
| "reason": "High average cycle time and bottleneck detected", | |
| "expected_improvement": "Reduce cycle time by 25%" | |
| } | |
| ] | |
| ``` | |
| #### GET /intelligence/kanban/insights/{board_id} | |
| **Description:** Get Kanban-specific insights and recommendations | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `board_id` (integer) - Board ID | |
| **Query Parameters:** | |
| - `start_date` (string, optional) - Start date (default: 30 days ago) | |
| - `end_date` (string, optional) - End date (default: today) | |
| **Response:** Array of Kanban insight objects | |
| #### GET /intelligence/kanban/dashboard/{board_id} | |
| **Description:** Get comprehensive Kanban dashboard with all metrics | |
| **Authentication:** Required | |
| **Path Parameters:** | |
| - `board_id` (integer) - Board ID | |
| **Query Parameters:** | |
| - `start_date` (string, optional) - Start date (default: 30 days ago) | |
| - `end_date` (string, optional) - End date (default: today) | |
| **Response:** Combined Kanban metrics object | |
| ```json | |
| { | |
| "flow_metrics": {...}, | |
| "column_analysis": [...], | |
| "wip_recommendations": [...], | |
| "insights": [...], | |
| "period": { | |
| "start": "2026-01-08", | |
| "end": "2026-02-07" | |
| } | |
| } | |
| ``` | |
| --- | |
| ## General Endpoints | |
| ### GET / | |
| **Description:** API root endpoint - returns API information | |
| **Authentication:** None required | |
| **Response:** | |
| ```json | |
| { | |
| "message": "Enterprise Delivery & Workforce Intelligence API", | |
| "version": "1.0.0", | |
| "status": "operational", | |
| "endpoints": { | |
| "jira": "/jira", | |
| "intelligence": "/intelligence", | |
| "docs": "/docs", | |
| "redoc": "/redoc" | |
| } | |
| } | |
| ``` | |
| ### GET /health | |
| **Description:** Health check endpoint | |
| **Authentication:** None required | |
| **Response:** | |
| ```json | |
| { | |
| "status": "healthy", | |
| "timestamp": "2026-02-07T00:00:00Z" | |
| } | |
| ``` | |
| ### GET /docs | |
| **Description:** Interactive Swagger UI documentation | |
| **Authentication:** None required (but needed to test endpoints) | |
| **Browser:** Opens interactive API documentation | |
| ### GET /redoc | |
| **Description:** Alternative ReDoc API documentation | |
| **Authentication:** None required | |
| **Browser:** Opens ReDoc documentation | |
| --- | |
| ## Summary | |
| **Total Endpoints:** 31 | |
| - **Authentication:** 2 endpoints | |
| - **Jira Data:** 17 endpoints | |
| - **Intelligence:** 10 endpoints | |
| - **General:** 4 endpoints | |
| **Authentication Method:** Bearer Token (JWT) | |
| **Token Expiration:** 30 minutes | |
| **Content Type:** application/json | |