> For the complete documentation index, see [llms.txt](https://docs.cedana.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.cedana.ai/references/api/policy-slurm.md).

# Policy (Slurm)

Cedana API for policies (Slurm)

## List maintenance windows

> Returns all maintenance windows

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"tags":[{"name":"Policy (Slurm)","description":"Cedana API for policies (Slurm)"}],"security":[{"Auth Token":[]}],"components":{"securitySchemes":{},"schemas":{"SlurmMaintenanceWindow":{"type":"object","properties":{"created_at":{"type":["string","null"],"format":"date-time"},"end_time":{"type":["string","null"],"format":"date-time"},"id":{"type":["string","null"]},"nodes":{"type":["array","null"],"items":{"type":"string"}},"partitions":{"type":["array","null"],"items":{"type":"string"}},"reason":{"type":["string","null"]},"start_time":{"type":["string","null"],"format":"date-time"},"status":{"type":["string","null"]}}},"ApiError":{"type":"object","description":"Standard error response for API endpoints","required":["message"],"properties":{"code":{"type":["string","null"],"description":"HTTP status code"},"details":{"description":"Optional additional error details"},"message":{"type":"string","description":"Error message describing what went wrong"}}}}},"paths":{"/v2/slurm/maintenance_window":{"get":{"tags":["Policy (Slurm)"],"summary":"List maintenance windows","description":"Returns all maintenance windows","operationId":"list_maintenance_windows","responses":{"200":{"description":"Returns all SLURM maintenance windows","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/SlurmMaintenanceWindow"}}}}},"500":{"description":"Failed to connect/fetch from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}}}}
```

## Create maintenance window

> Creates a new maintenance window for SLURM clusters

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"tags":[{"name":"Policy (Slurm)","description":"Cedana API for policies (Slurm)"}],"security":[{"Auth Token":[]}],"components":{"securitySchemes":{},"schemas":{"CreateMaintenanceWindow":{"type":"object","required":["start_time","end_time","reason"],"properties":{"end_time":{"type":"string","format":"date-time"},"nodes":{"type":["array","null"],"items":{"type":"string"}},"partitions":{"type":["array","null"],"items":{"type":"string"}},"reason":{"type":"string"},"start_time":{"type":"string","format":"date-time"},"status":{"type":["string","null"]}}},"ApiError":{"type":"object","description":"Standard error response for API endpoints","required":["message"],"properties":{"code":{"type":["string","null"],"description":"HTTP status code"},"details":{"description":"Optional additional error details"},"message":{"type":"string","description":"Error message describing what went wrong"}}}}},"paths":{"/v2/slurm/maintenance_window":{"post":{"tags":["Policy (Slurm)"],"summary":"Create maintenance window","description":"Creates a new maintenance window for SLURM clusters","operationId":"create_maintenance_window","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateMaintenanceWindow"}}},"required":true},"responses":{"201":{"description":"Returns the maintenance window id for the new maintenance window","content":{"text/plain":{"schema":{"type":"string"}}}},"400":{"description":"Invalid request parameters","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Failed to connect/execute request against database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}}}}
```

## Get maintenance window

> Returns a specific maintenance window by ID

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"tags":[{"name":"Policy (Slurm)","description":"Cedana API for policies (Slurm)"}],"security":[{"Auth Token":[]}],"components":{"securitySchemes":{},"schemas":{"SlurmMaintenanceWindow":{"type":"object","properties":{"created_at":{"type":["string","null"],"format":"date-time"},"end_time":{"type":["string","null"],"format":"date-time"},"id":{"type":["string","null"]},"nodes":{"type":["array","null"],"items":{"type":"string"}},"partitions":{"type":["array","null"],"items":{"type":"string"}},"reason":{"type":["string","null"]},"start_time":{"type":["string","null"],"format":"date-time"},"status":{"type":["string","null"]}}},"ApiError":{"type":"object","description":"Standard error response for API endpoints","required":["message"],"properties":{"code":{"type":["string","null"],"description":"HTTP status code"},"details":{"description":"Optional additional error details"},"message":{"type":"string","description":"Error message describing what went wrong"}}}}},"paths":{"/v2/slurm/maintenance_window/{id}":{"get":{"tags":["Policy (Slurm)"],"summary":"Get maintenance window","description":"Returns a specific maintenance window by ID","operationId":"get_maintenance_window","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Returns the maintenance window","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SlurmMaintenanceWindow"}}}},"400":{"description":"Invalid UUID provided","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Maintenance window not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Failed to connect/fetch from database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}}}}
```

## Update maintenance window

> Updates an existing maintenance window

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"tags":[{"name":"Policy (Slurm)","description":"Cedana API for policies (Slurm)"}],"security":[{"Auth Token":[]}],"components":{"securitySchemes":{},"schemas":{"UpdateMaintenanceWindow":{"type":"object","properties":{"end_time":{"type":["string","null"],"format":"date-time"},"nodes":{"type":["array","null"],"items":{"type":"string"}},"partitions":{"type":["array","null"],"items":{"type":"string"}},"reason":{"type":["string","null"]},"start_time":{"type":["string","null"],"format":"date-time"},"status":{"type":["string","null"]}}},"ApiError":{"type":"object","description":"Standard error response for API endpoints","required":["message"],"properties":{"code":{"type":["string","null"],"description":"HTTP status code"},"details":{"description":"Optional additional error details"},"message":{"type":"string","description":"Error message describing what went wrong"}}}}},"paths":{"/v2/slurm/maintenance_window/{id}":{"put":{"tags":["Policy (Slurm)"],"summary":"Update maintenance window","description":"Updates an existing maintenance window","operationId":"update_maintenance_window","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateMaintenanceWindow"}}},"required":true},"responses":{"200":{"description":"Successfully updated maintenance window and returns id","content":{"text/plain":{"schema":{"type":"string"}}}},"400":{"description":"Invalid UUID provided","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Maintenance window not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Failed to connect/execute request against database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}}}}
```

## Delete maintenance window

> Deletes a maintenance window by ID

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"tags":[{"name":"Policy (Slurm)","description":"Cedana API for policies (Slurm)"}],"security":[{"Auth Token":[]}],"components":{"securitySchemes":{},"schemas":{"ApiError":{"type":"object","description":"Standard error response for API endpoints","required":["message"],"properties":{"code":{"type":["string","null"],"description":"HTTP status code"},"details":{"description":"Optional additional error details"},"message":{"type":"string","description":"Error message describing what went wrong"}}}}},"paths":{"/v2/slurm/maintenance_window/{id}":{"delete":{"tags":["Policy (Slurm)"],"summary":"Delete maintenance window","description":"Deletes a maintenance window by ID","operationId":"delete_maintenance_window","parameters":[{"name":"id","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Successfully deleted maintenance window and returns id","content":{"text/plain":{"schema":{"type":"string"}}}},"400":{"description":"Invalid UUID provided","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"404":{"description":"Maintenance window not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}},"500":{"description":"Failed to connect/execute request against database","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiError"}}}}}}}}}
```
