> ## Documentation Index
> Fetch the complete documentation index at: https://docs.glidepathcpm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# API Documentation

> REST API reference for programmatic access

# API Documentation

The GlidePath API provides programmatic access to projects, tasks, dependencies, and reporting data.

## Feature Spec Reference

**Out of scope (Module 15 context)**

## Authentication

All API requests require an API token. Obtain a token in:

* **User Menu** → **API Keys** → **Generate New Key**
* Include token in request header: `Authorization: Bearer YOUR_API_TOKEN`

## Base URL

```
https://api.glidepathcpm.com/v1
```

## Rate Limiting

* **100 requests per minute** per API token
* **1,000 requests per day** per API token
* Responses include rate limit headers: `X-RateLimit-Remaining`, `X-RateLimit-Reset`

## Common Response Codes

| Code    | Meaning                                 |
| ------- | --------------------------------------- |
| **200** | Success                                 |
| **400** | Bad request (invalid parameters)        |
| **401** | Unauthorized (invalid or missing token) |
| **404** | Not found (resource doesn't exist)      |
| **429** | Too many requests (rate limited)        |
| **500** | Server error (contact support)          |

## Endpoints (Overview)

### Projects

* `GET /projects` — List all projects
* `GET /projects/\{id\}` — Get project details
* `POST /projects` — Create new project
* `PATCH /projects/\{id\}` — Update project
* `DELETE /projects/\{id\}` — Delete project

### Tasks

* `GET /projects/\{projectId\}/tasks` — List tasks
* `GET /projects/\{projectId\}/tasks/\{taskId\}` — Get task details
* `POST /projects/\{projectId\}/tasks` — Create task
* `PATCH /projects/\{projectId\}/tasks/\{taskId\}` — Update task
* `DELETE /projects/\{projectId\}/tasks/\{taskId\}` — Delete task

### Dependencies

* `GET /projects/\{projectId\}/dependencies` — List dependencies
* `POST /projects/\{projectId\}/dependencies` — Create dependency
* `DELETE /projects/\{projectId\}/dependencies/\{id\}` — Delete dependency

### Reports

* `GET /projects/\{projectId\}/report/dashboard` — Get dashboard metrics
* `GET /projects/\{projectId\}/report/look-ahead` — Get look-ahead data
* `GET /projects/\{projectId\}/report/risk-register` — Get risks

## Example: Get All Tasks

```bash theme={null}
curl -H "Authorization: Bearer YOUR_TOKEN" \
  https://api.glidepathcpm.com/v1/projects/PROJECT_ID/tasks
```

Response:

```json theme={null}
\{
  "tasks": [
    \{
      "id": "task-001",
      "name": "Design Phase",
      "duration": 10,
      "startDate": "2026-01-02",
      "finishDate": "2026-01-13",
      "progress": 0.5,
      "constraint": "ASAP"
    \}
  ]
\}
```

## Documentation

Full API documentation available at:

* [https://api.glidepathcpm.com/docs](https://api.glidepathcpm.com/docs)
* Includes interactive API explorer and example code (cURL, Python, JavaScript)

## Support

For API questions or issues:

* Email: [api-support@glidepathcpm.com](mailto:api-support@glidepathcpm.com)
* Check API status at [status.glidepathcpm.com](https://status.glidepathcpm.com)
