# 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"}}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.cedana.ai/references/api/policy-slurm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
