# Models

## The Action object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"Action":{"type":"object","required":["action_id","checkpoint_id","status","type","details","gpu","platform"],"properties":{"action_id":{"type":"string","format":"uuid"},"action_timestamp":{"type":["string","null"],"format":"date-time"},"checkpoint_completed_timestamp":{"type":["string","null"],"format":"date-time"},"checkpoint_id":{"type":"string","format":"uuid"},"details":{},"gpu":{"type":"string"},"node_name":{"type":["string","null"]},"platform":{"type":"string"},"reason":{"type":["string","null"]},"status":{"type":"string"},"total_duration":{"type":["integer","null"],"format":"int64"},"total_io":{"type":["integer","null"],"format":"int64"},"type":{"type":"string"}}}}}}
```

## The Alert object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"Alert":{"type":"object","properties":{"date_threshold":{"type":["string","null"]},"spend_threshold":{"type":["string","null"]}}}}}}
```

## The ApiError object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"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"}}}}}}
```

## The AutoDelete object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"AutoDelete":{"type":"object","properties":{"date_threshold":{"type":["string","null"]},"spend_threshold":{"type":["string","null"]}}}}}}
```

## The AvailableFilters object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"AvailableFilters":{"type":"object","required":["statuses","namespaces"],"properties":{"namespaces":{"type":"array","items":{"type":"string"}},"statuses":{"type":"array","items":{"type":"string"}}}}}}}
```

## The BurstingConfigStatus object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"BurstingConfigStatus":{"type":"string","enum":["not_configured","configured","invalid"]}}}}
```

## The BurstingStatus object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"BurstingStatus":{"type":"object","required":["status","message","can_use_bursting"],"properties":{"can_use_bursting":{"type":"boolean"},"message":{"type":"string"},"status":{"$ref":"#/components/schemas/BurstingConfigStatus"}}},"BurstingConfigStatus":{"type":"string","enum":["not_configured","configured","invalid"]}}}}
```

## The Checkpoint object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"Checkpoint":{"type":"object","description":"Checkpoint is basic unit for cedana service operation\nit stores all the information regarding the snapshot we can use to save and then restore state","required":["id","status","gpu","platform"],"properties":{"checksum":{"type":["string","null"]},"gpu":{"type":"string"},"id":{"type":"string","format":"uuid"},"info":{},"name":{"type":["string","null"]},"platform":{"type":"string"},"status":{"$ref":"#/components/schemas/CheckpointStatus"}}},"CheckpointStatus":{"type":"string","enum":["initializing","updated_info","possibly_uploaded","ready","deprecated"]}}}}
```

## The CheckpointInfo object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"CheckpointInfo":{"type":"object","required":["gpu","platform"],"properties":{"gpu":{"type":"string"},"info":{},"platform":{"type":"string"}}}}}}
```

## The CheckpointKind object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"CheckpointKind":{"type":"string","enum":["simple","rootfs","rootfsonly"]}}}}
```

## The CheckpointOperationStatus object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"CheckpointOperationStatus":{"type":"string","enum":["initialized","processing","checkpoint_created","ready","error","not_found"]}}}}
```

## The CheckpointOverrides object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"CheckpointOverrides":{"type":"object","properties":{"asynchronous":{"type":"boolean"},"compression":{"type":["string","null"]},"criu_opts":{"type":["string","null"]},"directory":{"type":["string","null"]},"streams":{"type":"integer","format":"int32"}}}}}}
```

## The CheckpointPod object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"CheckpointPod":{"type":"object","properties":{"action_id":{"type":["string","null"],"readOnly":true},"cluster_id":{"type":["string","null"]},"kind":{"$ref":"#/components/schemas/CheckpointKind"},"namespace":{"type":["string","null"]},"overrides":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/CheckpointOverrides"}]},"pod_id":{"type":["string","null"]},"pod_name":{"type":["string","null"]},"reason":{"$ref":"#/components/schemas/CheckpointReason"}}},"CheckpointKind":{"type":"string","enum":["simple","rootfs","rootfsonly"]},"CheckpointOverrides":{"type":"object","properties":{"asynchronous":{"type":"boolean"},"compression":{"type":["string","null"]},"criu_opts":{"type":["string","null"]},"directory":{"type":["string","null"]},"streams":{"type":"integer","format":"int32"}}},"CheckpointReason":{"type":"string","enum":["heartbeat","manual"]}}}}
```

## The CheckpointReason object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"CheckpointReason":{"type":"string","enum":["heartbeat","manual"]}}}}
```

## The CheckpointSlurmJob object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"CheckpointSlurmJob":{"type":"object","properties":{"action_id":{"type":["string","null"],"readOnly":true},"job_id":{"type":["string","null"]},"job_name":{"type":["string","null"]},"kind":{"$ref":"#/components/schemas/CheckpointKind"},"reason":{"$ref":"#/components/schemas/CheckpointReason"}}},"CheckpointKind":{"type":"string","enum":["simple","rootfs","rootfsonly"]},"CheckpointReason":{"type":"string","enum":["heartbeat","manual"]}}}}
```

## The CheckpointStatus object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"CheckpointStatus":{"type":"string","enum":["initializing","updated_info","possibly_uploaded","ready","deprecated"]}}}}
```

## The CheckpointStatusWithPodSpec object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"CheckpointStatusWithPodSpec":{"type":"object","required":["status","action_id"],"properties":{"action_id":{"type":"string"},"persistent_volume_claim":{},"pod_id":{"type":["string","null"]},"pod_metadata_spec":{},"pod_spec":{},"status":{"type":"string"}}}}}}
```

## The CheckpointSuccessInfo object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"CheckpointSuccessInfo":{"type":"object","properties":{"restore_path":{"type":["string","null"]}}}}}}
```

## The Cluster object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"Cluster":{"type":"object","required":["id","name","status"],"properties":{"id":{"type":"string","format":"uuid"},"last_sync":{"type":["string","null"],"format":"date-time"},"metadata":{},"name":{"type":"string"},"status":{"type":"string"}}}}}}
```

## The ClusterSyncRequest object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"ClusterSyncRequest":{"type":"object","properties":{"cluster_id":{"type":["string","null"],"format":"uuid"},"metadata":{},"resource":{"$ref":"#/components/schemas/K8sResource"}}},"K8sResource":{"oneOf":[{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["None"]}}},{"allOf":[{"$ref":"#/components/schemas/Pod"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["Pod"]}}}]},{"allOf":[{"$ref":"#/components/schemas/Node"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["Node"]}}}]},{"allOf":[{"$ref":"#/components/schemas/Job"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["Job"]}}}]}]},"Pod":{"type":"object","title":"Pod","description":"Entire json for the Kubernetes "},"Node":{"type":"object","title":"Node","description":"Entire json for the Kubernetes Node"},"Job":{"type":"object","title":"Job","description":"Entire json for the Kubernetes Job"}}}}
```

## The CreateClusterRequest object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"CreateClusterRequest":{"type":"object","description":"CreateClusterRequest is the request body for creating a cluster","required":["cluster_name"],"properties":{"cluster_name":{"type":"string"}}}}}}
```

## The CreateInstanceRequest object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"CreateInstanceRequest":{"type":"object","required":["cloud","region","shade_instance_type","shade_cloud","name"],"properties":{"alert":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/Alert"}]},"auto_delete":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AutoDelete"}]},"cloud":{"type":"string"},"envs":{"type":["array","null"],"items":{"$ref":"#/components/schemas/EnvironmentVariable"}},"launch_configuration":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/LaunchConfiguration"}]},"name":{"type":"string"},"os":{"type":["string","null"]},"region":{"type":"string"},"shade_cloud":{"type":"boolean"},"shade_instance_type":{"type":"string"},"ssh_key_id":{"type":["string","null"]},"tags":{"type":["array","null"],"items":{"type":"string"}},"template_id":{"type":["string","null"]},"volume_ids":{"type":["array","null"],"items":{"type":"string"}},"volume_mount":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/VolumeMount"}]}}},"Alert":{"type":"object","properties":{"date_threshold":{"type":["string","null"]},"spend_threshold":{"type":["string","null"]}}},"AutoDelete":{"type":"object","properties":{"date_threshold":{"type":["string","null"]},"spend_threshold":{"type":["string","null"]}}},"EnvironmentVariable":{"type":"object","required":["name","value"],"properties":{"name":{"type":"string"},"value":{"type":"string"}}},"LaunchConfiguration":{"type":"object","required":["type"],"properties":{"docker_configuration":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DockerConfiguration"}]},"script_configuration":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ScriptConfiguration"}]},"type":{"type":"string"}}},"DockerConfiguration":{"type":"object","required":["image"],"properties":{"args":{"type":["string","null"]},"envs":{"type":["array","null"],"items":{"$ref":"#/components/schemas/EnvironmentVariable"}},"image":{"type":"string"},"port_mappings":{"type":["array","null"],"items":{"$ref":"#/components/schemas/PortMapping"}},"registry_credentials":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/RegistryCredentials"}]},"shared_memory_in_gb":{"type":["integer","null"],"format":"int32"},"volume_mounts":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VolumeMapping"}}}},"PortMapping":{"type":"object","required":["host_port","container_port"],"properties":{"container_port":{"type":"integer","format":"int32"},"host_port":{"type":"integer","format":"int32"}}},"RegistryCredentials":{"type":"object","required":["username","password"],"properties":{"password":{"type":"string"},"username":{"type":"string"}}},"VolumeMapping":{"type":"object","required":["host_path","container_path"],"properties":{"container_path":{"type":"string"},"host_path":{"type":"string"}}},"ScriptConfiguration":{"type":"object","required":["base64_script"],"properties":{"base64_script":{"type":"string"}}},"VolumeMount":{"type":"object","properties":{"auto":{"type":["boolean","null"]}}}}}}
```

## The CreateInstanceResponse object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"CreateInstanceResponse":{"type":"object","required":["instance_id","status","cloud_provider","region","instance_type"],"properties":{"cloud_provider":{"type":"string"},"instance_id":{"type":"string"},"instance_type":{"type":"string"},"region":{"type":"string"},"status":{"type":"string"}}}}}}
```

## The CreateMaintenanceWindow object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"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"]}}}}}}
```

## The DockerConfiguration object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"DockerConfiguration":{"type":"object","required":["image"],"properties":{"args":{"type":["string","null"]},"envs":{"type":["array","null"],"items":{"$ref":"#/components/schemas/EnvironmentVariable"}},"image":{"type":"string"},"port_mappings":{"type":["array","null"],"items":{"$ref":"#/components/schemas/PortMapping"}},"registry_credentials":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/RegistryCredentials"}]},"shared_memory_in_gb":{"type":["integer","null"],"format":"int32"},"volume_mounts":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VolumeMapping"}}}},"EnvironmentVariable":{"type":"object","required":["name","value"],"properties":{"name":{"type":"string"},"value":{"type":"string"}}},"PortMapping":{"type":"object","required":["host_port","container_port"],"properties":{"container_port":{"type":"integer","format":"int32"},"host_port":{"type":"integer","format":"int32"}}},"RegistryCredentials":{"type":"object","required":["username","password"],"properties":{"password":{"type":"string"},"username":{"type":"string"}}},"VolumeMapping":{"type":"object","required":["host_path","container_path"],"properties":{"container_path":{"type":"string"},"host_path":{"type":"string"}}}}}}
```

## The EnvironmentVariable object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"EnvironmentVariable":{"type":"object","required":["name","value"],"properties":{"name":{"type":"string"},"value":{"type":"string"}}}}}}
```

## The Event object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"Event":{"type":"object","description":"A single Event record with structured metadata","required":["id","status","operation","resource_type","message","metadata","source","timestamp"],"properties":{"id":{"type":"integer","format":"int64"},"message":{"type":"string"},"metadata":{},"operation":{"type":"string"},"resource_type":{"type":"string"},"source":{"type":"string"},"status":{"type":"string"},"timestamp":{"type":"integer","minimum":0}}}}}}
```

## The FilteredJobResponse object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"FilteredJobResponse":{"type":"object","required":["jobs","total_count","available_priorities"],"properties":{"available_priorities":{"type":"array","items":{"type":"integer","format":"int32"}},"jobs":{"type":"array","items":{"$ref":"#/components/schemas/JobFilterResponse"}},"total_count":{"type":"integer","format":"int64"}}},"JobFilterResponse":{"type":"object","required":["id","name","namespace","status","pod_count"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"namespace":{"type":"string"},"pod_count":{"type":"integer","format":"int64"},"priority":{"type":["integer","null"],"format":"int32"},"start_time":{"type":["string","null"]},"status":{"type":"string"}}}}}}
```

## The InstanceInfo object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"InstanceInfo":{"type":"object","required":["id","name","status","cloud_provider","region","instance_type"],"properties":{"cloud_provider":{"type":"string"},"created_at":{"type":["string","null"]},"id":{"type":"string"},"instance_type":{"type":"string"},"name":{"type":"string"},"region":{"type":"string"},"status":{"type":"string"}}}}}}
```

## The InstanceStatus object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"InstanceStatus":{"type":"object","required":["instance_id","status","metadata"],"properties":{"created_at":{"type":["string","null"]},"instance_id":{"type":"string"},"ip_address":{"type":["string","null"]},"metadata":{},"ssh_port":{"type":["integer","null"],"format":"int32"},"ssh_user":{"type":["string","null"]},"status":{"type":"string"}}}}}}
```

## The InstanceType object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"InstanceType":{"type":"object","required":["cloud","shade_instance_type","cloud_instance_type","configuration","hourly_price","deployment_type","availability","boot_time"],"properties":{"availability":{"type":"array","items":{"$ref":"#/components/schemas/InstanceTypeAvailability"}},"boot_time":{"$ref":"#/components/schemas/InstanceTypeBootTime"},"cloud":{"type":"string"},"cloud_instance_type":{"type":"string"},"configuration":{"$ref":"#/components/schemas/InstanceTypeConfiguration"},"deployment_type":{"type":"string"},"hourly_price":{"type":"integer","format":"int32"},"shade_instance_type":{"type":"string"}}},"InstanceTypeAvailability":{"type":"object","required":["region","available","display_name"],"properties":{"available":{"type":"boolean"},"display_name":{"type":"string"},"region":{"type":"string"}}},"InstanceTypeBootTime":{"type":"object","required":["min_boot_in_sec","max_boot_in_sec"],"properties":{"max_boot_in_sec":{"type":"integer","format":"int32"},"min_boot_in_sec":{"type":"integer","format":"int32"}}},"InstanceTypeConfiguration":{"type":"object","required":["memory_in_gb","storage_in_gb","vcpus","num_gpus","gpu_type","interconnect","nvlink","vram_per_gpu_in_gb","os_options"],"properties":{"gpu_type":{"type":"string"},"interconnect":{"type":"string"},"memory_in_gb":{"type":"integer","format":"int32"},"num_gpus":{"type":"integer","format":"int32"},"nvlink":{"type":"boolean"},"os_options":{"type":"array","items":{"type":"string"}},"storage_in_gb":{"type":"integer","format":"int32"},"vcpus":{"type":"integer","format":"int32"},"vram_per_gpu_in_gb":{"type":"integer","format":"int32"}}}}}}
```

## The InstanceTypeAvailability object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"InstanceTypeAvailability":{"type":"object","required":["region","available","display_name"],"properties":{"available":{"type":"boolean"},"display_name":{"type":"string"},"region":{"type":"string"}}}}}}
```

## The InstanceTypeBootTime object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"InstanceTypeBootTime":{"type":"object","required":["min_boot_in_sec","max_boot_in_sec"],"properties":{"max_boot_in_sec":{"type":"integer","format":"int32"},"min_boot_in_sec":{"type":"integer","format":"int32"}}}}}}
```

## The InstanceTypeConfiguration object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"InstanceTypeConfiguration":{"type":"object","required":["memory_in_gb","storage_in_gb","vcpus","num_gpus","gpu_type","interconnect","nvlink","vram_per_gpu_in_gb","os_options"],"properties":{"gpu_type":{"type":"string"},"interconnect":{"type":"string"},"memory_in_gb":{"type":"integer","format":"int32"},"num_gpus":{"type":"integer","format":"int32"},"nvlink":{"type":"boolean"},"os_options":{"type":"array","items":{"type":"string"}},"storage_in_gb":{"type":"integer","format":"int32"},"vcpus":{"type":"integer","format":"int32"},"vram_per_gpu_in_gb":{"type":"integer","format":"int32"}}}}}}
```

## The Job object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"Job":{"type":"object","title":"Job","description":"Entire json for the Kubernetes Job"}}}}
```

## The JobFilter object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"JobFilter":{"type":"object","properties":{"namespace":{"type":["string","null"]},"priority":{"type":["integer","null"],"format":"int32"}}}}}}
```

## The JobFilterResponse object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"JobFilterResponse":{"type":"object","required":["id","name","namespace","status","pod_count"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"namespace":{"type":"string"},"pod_count":{"type":"integer","format":"int64"},"priority":{"type":["integer","null"],"format":"int32"},"start_time":{"type":["string","null"]},"status":{"type":"string"}}}}}}
```

## The JobPodResponse object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"JobPodResponse":{"type":"object","required":["id","name","namespace","status"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"namespace":{"type":"string"},"owner_reference":{"type":["string","null"]},"status":{"type":"string"}}}}}}
```

## The JobPodsResponse object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"JobPodsResponse":{"type":"object","required":["job_id","job_name","pods","total_count"],"properties":{"job_id":{"type":"string","format":"uuid"},"job_name":{"type":"string"},"pods":{"type":"array","items":{"$ref":"#/components/schemas/JobPodResponse"}},"total_count":{"type":"integer","format":"int64"}}},"JobPodResponse":{"type":"object","required":["id","name","namespace","status"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"namespace":{"type":"string"},"owner_reference":{"type":["string","null"]},"status":{"type":"string"}}}}}}
```

## The JobPolicyStatus object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"JobPolicyStatus":{"type":"object","required":["policy_id","job_ids","tracked_pods","pod_count"],"properties":{"job_ids":{"type":"array","items":{"type":"string"}},"job_status":{"type":["string","null"]},"last_updated":{"type":["string","null"]},"pod_count":{"type":"integer","format":"int64"},"policy_id":{"type":"string"},"tracked_pods":{"type":"array","items":{"type":"string"}}}}}}}
```

## The JobPrioritiesResponse object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"JobPrioritiesResponse":{"type":"object","required":["priorities","priority_counts"],"properties":{"priorities":{"type":"array","items":{"type":"integer","format":"int32"}},"priority_counts":{"type":"object","additionalProperties":{"type":"integer","format":"int64"},"propertyNames":{"type":"string"}}}}}}}
```

## The JobResponse object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"JobResponse":{"type":"object","required":["id","name","namespace","status","age","monitored_by_policies","policy_count","pod_ids"],"properties":{"age":{"type":"string"},"completions":{"type":["integer","null"],"format":"int32"},"duration":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"monitored_by_policies":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"namespace":{"type":"string"},"pod_ids":{"type":"array","items":{"type":"string"}},"policy_count":{"type":"integer","format":"int64"},"priority":{"type":["integer","null"],"format":"int32"},"start_time":{"type":["string","null"]},"status":{"type":"string"}}}}}}
```

## The K8sResource object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"K8sResource":{"oneOf":[{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["None"]}}},{"allOf":[{"$ref":"#/components/schemas/Pod"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["Pod"]}}}]},{"allOf":[{"$ref":"#/components/schemas/Node"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["Node"]}}}]},{"allOf":[{"$ref":"#/components/schemas/Job"},{"type":"object","required":["type"],"properties":{"type":{"type":"string","enum":["Job"]}}}]}]},"Pod":{"type":"object","title":"Pod","description":"Entire json for the Kubernetes "},"Node":{"type":"object","title":"Node","description":"Entire json for the Kubernetes Node"},"Job":{"type":"object","title":"Job","description":"Entire json for the Kubernetes Job"}}}}
```

## The LaunchConfiguration object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"LaunchConfiguration":{"type":"object","required":["type"],"properties":{"docker_configuration":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/DockerConfiguration"}]},"script_configuration":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/ScriptConfiguration"}]},"type":{"type":"string"}}},"DockerConfiguration":{"type":"object","required":["image"],"properties":{"args":{"type":["string","null"]},"envs":{"type":["array","null"],"items":{"$ref":"#/components/schemas/EnvironmentVariable"}},"image":{"type":"string"},"port_mappings":{"type":["array","null"],"items":{"$ref":"#/components/schemas/PortMapping"}},"registry_credentials":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/RegistryCredentials"}]},"shared_memory_in_gb":{"type":["integer","null"],"format":"int32"},"volume_mounts":{"type":["array","null"],"items":{"$ref":"#/components/schemas/VolumeMapping"}}}},"EnvironmentVariable":{"type":"object","required":["name","value"],"properties":{"name":{"type":"string"},"value":{"type":"string"}}},"PortMapping":{"type":"object","required":["host_port","container_port"],"properties":{"container_port":{"type":"integer","format":"int32"},"host_port":{"type":"integer","format":"int32"}}},"RegistryCredentials":{"type":"object","required":["username","password"],"properties":{"password":{"type":"string"},"username":{"type":"string"}}},"VolumeMapping":{"type":"object","required":["host_path","container_path"],"properties":{"container_path":{"type":"string"},"host_path":{"type":"string"}}},"ScriptConfiguration":{"type":"object","required":["base64_script"],"properties":{"base64_script":{"type":"string"}}}}}}
```

## The MemoryTimeSeries object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"MemoryTimeSeries":{"type":"object","required":["free_memory","allocated_memory"],"properties":{"allocated_memory":{"type":"array","items":{"$ref":"#/components/schemas/TimeSeriesDataPoint"}},"free_memory":{"type":"array","items":{"$ref":"#/components/schemas/TimeSeriesDataPoint"}}}},"TimeSeriesDataPoint":{"type":"object","required":["timestamp","value"],"properties":{"timestamp":{"type":"integer","minimum":0},"value":{"type":"number","format":"double"}}}}}}
```

## The NamespacesResponse object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"NamespacesResponse":{"type":"object","required":["namespaces"],"properties":{"namespaces":{"type":"array","items":{"type":"string"}}}}}}}
```

## The Node object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"Node":{"type":"object","title":"Node","description":"Entire json for the Kubernetes Node"}}}}
```

## The NodeMetricItem object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"NodeMetricItem":{"type":"object","required":["metric_name","collector","value","timestamp"],"properties":{"collector":{"type":"string"},"cpu_core":{"type":"string"},"cpu_mode":{"type":"string"},"filesystem":{"type":"string"},"metric_name":{"type":"string"},"mountpoint":{"type":"string"},"resource":{"type":["string","null"]},"timestamp":{"type":"integer","minimum":0},"value":{"type":"string"}}}}}}
```

## The NodeResourceMetricList object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"NodeResourceMetricList":{"type":"object","required":["name"],"properties":{"details":{"type":"array","items":{"$ref":"#/components/schemas/NodeMetricItem"}},"name":{"type":"string"}}},"NodeMetricItem":{"type":"object","required":["metric_name","collector","value","timestamp"],"properties":{"collector":{"type":"string"},"cpu_core":{"type":"string"},"cpu_mode":{"type":"string"},"filesystem":{"type":"string"},"metric_name":{"type":"string"},"mountpoint":{"type":"string"},"resource":{"type":["string","null"]},"timestamp":{"type":"integer","minimum":0},"value":{"type":"string"}}}}}}
```

## The NodeResponse object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"NodeResponse":{"type":"object","required":["id","name","status","cluster_name","compute_type","instance_type","region"],"properties":{"cluster_name":{"type":"string"},"compute_type":{"type":"string"},"id":{"type":"string","format":"uuid"},"instance_type":{"type":"string"},"name":{"type":"string"},"region":{"type":"string"},"status":{"type":"string"}}}}}}
```

## The PaginatedJobResponse object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"PaginatedJobResponse":{"type":"object","required":["jobs","total_count"],"properties":{"available_filters":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AvailableFilters"}]},"jobs":{"type":"array","items":{"$ref":"#/components/schemas/JobResponse"}},"total_count":{"type":"integer","format":"int64"}}},"AvailableFilters":{"type":"object","required":["statuses","namespaces"],"properties":{"namespaces":{"type":"array","items":{"type":"string"}},"statuses":{"type":"array","items":{"type":"string"}}}},"JobResponse":{"type":"object","required":["id","name","namespace","status","age","monitored_by_policies","policy_count","pod_ids"],"properties":{"age":{"type":"string"},"completions":{"type":["integer","null"],"format":"int32"},"duration":{"type":["string","null"]},"id":{"type":"string","format":"uuid"},"monitored_by_policies":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"namespace":{"type":"string"},"pod_ids":{"type":"array","items":{"type":"string"}},"policy_count":{"type":"integer","format":"int64"},"priority":{"type":["integer","null"],"format":"int32"},"start_time":{"type":["string","null"]},"status":{"type":"string"}}}}}}
```

## The PaginatedPodResponse object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"PaginatedPodResponse":{"type":"object","required":["pods","total_count"],"properties":{"available_filters":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/AvailableFilters"}]},"pods":{"type":"array","items":{"$ref":"#/components/schemas/PodResponse"}},"total_count":{"type":"integer","format":"int64"}}},"AvailableFilters":{"type":"object","required":["statuses","namespaces"],"properties":{"namespaces":{"type":"array","items":{"type":"string"}},"statuses":{"type":"array","items":{"type":"string"}}}},"PodResponse":{"type":"object","required":["id","name","namespace","status","age","ready","node","restarts","monitored_by_policies"],"properties":{"age":{"type":"string"},"id":{"type":"string","format":"uuid"},"monitored_by_policies":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"namespace":{"type":"string"},"node":{"type":"string"},"ready":{"type":"string"},"restarts":{"type":"integer","format":"int32"},"start_time":{"type":["string","null"]},"status":{"type":"string"}}}}}}
```

## The PartitionStats object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"PartitionStats":{"type":"object","required":["partition_name","timestamp"],"properties":{"cpu_load":{"type":["number","null"],"format":"double"},"free_memory":{"type":["number","null"],"format":"double"},"idle_cpus":{"type":["number","null"],"format":"double"},"idle_nodes":{"type":["number","null"],"format":"double"},"partition_name":{"type":"string"},"real_memory":{"type":["number","null"],"format":"double"},"timestamp":{"type":"integer","minimum":0},"total_cpus":{"type":["number","null"],"format":"double"}}}}}}
```

## The PartitionTimeSeries object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"PartitionTimeSeries":{"type":"object","required":["partition_name","cpu_load","free_memory"],"properties":{"cpu_load":{"type":"array","items":{"$ref":"#/components/schemas/TimeSeriesDataPoint"}},"free_memory":{"type":"array","items":{"$ref":"#/components/schemas/TimeSeriesDataPoint"}},"partition_name":{"type":"string"}}},"TimeSeriesDataPoint":{"type":"object","required":["timestamp","value"],"properties":{"timestamp":{"type":"integer","minimum":0},"value":{"type":"number","format":"double"}}}}}}
```

## The Pod object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"Pod":{"type":"object","title":"Pod","description":"Entire json for the Kubernetes "}}}}
```

## The PodLogEntry object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"PodLogEntry":{"type":"object","required":["container_name","message","timestamp"],"properties":{"container_name":{"type":"string"},"message":{"type":"string"},"stream":{"type":["string","null"]},"timestamp":{"type":"integer","minimum":0}}}}}}
```

## The PodLogList object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"PodLogList":{"type":"object","required":["pod_name","namespace"],"properties":{"logs":{"type":"array","items":{"$ref":"#/components/schemas/PodLogEntry"}},"namespace":{"type":"string"},"pod_name":{"type":"string"}}},"PodLogEntry":{"type":"object","required":["container_name","message","timestamp"],"properties":{"container_name":{"type":"string"},"message":{"type":"string"},"stream":{"type":["string","null"]},"timestamp":{"type":"integer","minimum":0}}}}}}
```

## The PodResponse object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"PodResponse":{"type":"object","required":["id","name","namespace","status","age","ready","node","restarts","monitored_by_policies"],"properties":{"age":{"type":"string"},"id":{"type":"string","format":"uuid"},"monitored_by_policies":{"type":"array","items":{"type":"string"}},"name":{"type":"string"},"namespace":{"type":"string"},"node":{"type":"string"},"ready":{"type":"string"},"restarts":{"type":"integer","format":"int32"},"start_time":{"type":["string","null"]},"status":{"type":"string"}}}}}}
```

## The PolicyDeleteRequest object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"PolicyDeleteRequest":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid"}}}}}}
```

## The PolicyJobInfo object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"PolicyJobInfo":{"type":"object","required":["id","name","namespace","status","pod_count"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"namespace":{"type":"string"},"pod_count":{"type":"integer","format":"int64"},"priority":{"type":["integer","null"],"format":"int32"},"status":{"type":"string"}}}}}}
```

## The PolicyJobsResponse object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"PolicyJobsResponse":{"type":"object","required":["policy_id","affected_jobs","count"],"properties":{"affected_jobs":{"type":"array","items":{"$ref":"#/components/schemas/PolicyJobInfo"}},"count":{"type":"integer","format":"int64"},"policy_id":{"type":"string"}}},"PolicyJobInfo":{"type":"object","required":["id","name","namespace","status","pod_count"],"properties":{"id":{"type":"string"},"name":{"type":"string"},"namespace":{"type":"string"},"pod_count":{"type":"integer","format":"int64"},"priority":{"type":["integer","null"],"format":"int32"},"status":{"type":"string"}}}}}}
```

## The PolicyPodResponse object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"PolicyPodResponse":{"type":"object","required":["id","name","namespace","status"],"properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"namespace":{"type":"string"},"status":{"type":"string"}}}}}}
```

## The PolicyRequest object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"PolicyRequest":{"type":"object","required":["heartbeat_time","resource_ids","cluster_id"],"properties":{"cluster_id":{"type":"string"},"heartbeat_time":{"type":"integer","format":"int64","minimum":0},"id":{"type":["string","null"]},"job_filter":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/JobFilter"}]},"policy_type":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/PolicyType"}]},"resource":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/PolicyResource"}]},"resource_ids":{"type":"array","items":{"type":"string","format":"uuid"}},"resource_name":{"type":"string"},"runc_root":{"type":["string","null"]}}},"JobFilter":{"type":"object","properties":{"namespace":{"type":["string","null"]},"priority":{"type":["integer","null"],"format":"int32"}}},"PolicyType":{"type":"string","enum":["heartbeat"]},"PolicyResource":{"type":"string","enum":["pods","namespace","jobs"]}}}}
```

## The PolicyResource object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"PolicyResource":{"type":"string","enum":["pods","namespace","jobs"]}}}}
```

## The PolicyResponse object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"PolicyResponse":{"type":"object","required":["id","status","policy_type","input","resource","resource_list","pod_count"],"properties":{"id":{"type":"string"},"input":{"type":"integer","format":"int64"},"job_count":{"type":["integer","null"],"format":"int64"},"pod_count":{"type":"integer","format":"int64"},"policy_type":{"type":"string"},"resource":{"type":"string"},"resource_list":{"type":"array","items":{"type":"string"}},"status":{"type":"string"},"timestamp":{"type":["string","null"],"format":"date-time"}}}}}}
```

## The PolicyType object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"PolicyType":{"type":"string","enum":["heartbeat"]}}}}
```

## The PortMapping object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"PortMapping":{"type":"object","required":["host_port","container_port"],"properties":{"container_port":{"type":"integer","format":"int32"},"host_port":{"type":"integer","format":"int32"}}}}}}
```

## The RegistryCredentials object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"RegistryCredentials":{"type":"object","required":["username","password"],"properties":{"password":{"type":"string"},"username":{"type":"string"}}}}}}
```

## The RestoreInfo object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"RestoreInfo":{"type":"object","properties":{"error":{"type":["string","null"]},"profiling":{},"total_duration":{"type":["integer","null"],"format":"int64"},"total_io":{"type":["integer","null"],"format":"int64"}}}}}}
```

## The RestoreOverrides object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"RestoreOverrides":{"type":"object","properties":{"criu_opts":{"type":["string","null"]},"pod_name":{"type":["string","null"]}}}}}}
```

## The RestorePod object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"RestorePod":{"type":"object","required":["action_id","reason"],"properties":{"action_id":{"type":"string"},"cluster_id":{"type":"string"},"overrides":{"oneOf":[{"type":"null"},{"$ref":"#/components/schemas/RestoreOverrides"}]},"reason":{"$ref":"#/components/schemas/RestoreReason"}}},"RestoreOverrides":{"type":"object","properties":{"criu_opts":{"type":["string","null"]},"pod_name":{"type":["string","null"]}}},"RestoreReason":{"type":"string","enum":["nodeTermination","nodeUnschedulable","manual"]}}}}
```

## The RestoreReason object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"RestoreReason":{"type":"string","enum":["nodeTermination","nodeUnschedulable","manual"]}}}}
```

## The RestoreSlurmJob object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"RestoreSlurmJob":{"type":"object","required":["action_id","cluster_id","reason"],"properties":{"action_id":{"type":"string"},"cluster_id":{"type":"string"},"reason":{"$ref":"#/components/schemas/RestoreReason"}}},"RestoreReason":{"type":"string","enum":["nodeTermination","nodeUnschedulable","manual"]}}}}
```

## The ScriptConfiguration object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"ScriptConfiguration":{"type":"object","required":["base64_script"],"properties":{"base64_script":{"type":"string"}}}}}}
```

## The SlurmCluster object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"SlurmCluster":{"type":"object","required":["id","name","status"],"properties":{"id":{"type":"string","format":"uuid"},"metadata":{},"name":{"type":"string"},"status":{"type":"string"}}}}}}
```

## The SlurmClusterOverview object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"SlurmClusterOverview":{"type":"object","required":["timestamp"],"properties":{"cpu_load":{"type":["number","null"],"format":"double"},"cpus_idle":{"type":["number","null"],"format":"double"},"cpus_total":{"type":["number","null"],"format":"double"},"mem_alloc":{"type":["number","null"],"format":"double"},"mem_free":{"type":["number","null"],"format":"double"},"mem_real":{"type":["number","null"],"format":"double"},"timestamp":{"type":"integer","minimum":0}}}}}}
```

## The SlurmJob object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"SlurmJob":{"type":"object","required":["priority"],"properties":{"job_id":{"type":["string","null"]},"job_name":{"type":["string","null"]},"priority":{"type":"integer","format":"int32"},"state":{"type":["string","null"]}}}}}}
```

## The SlurmMaintenanceWindow object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"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"]}}}}}}
```

## The SlurmMetric object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"SlurmMetric":{"type":"object","required":["id","name","timestamp"],"properties":{"counter_value":{"type":["number","null"],"format":"double"},"gauge_value":{"type":["number","null"],"format":"double"},"id":{"type":"integer","format":"int64"},"kind":{"type":["string","null"]},"name":{"type":"string"},"tags":{},"timestamp":{"type":"integer","minimum":0}}}}}}
```

## The SlurmNode object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"SlurmNode":{"type":"object","required":["id"],"properties":{"cpus":{"type":["integer","null"],"format":"int32"},"id":{"type":"string","format":"uuid"},"memory":{"type":["integer","null"],"format":"int64"},"name":{"type":["string","null"]},"status":{"type":["string","null"]}}}}}}
```

## The SlurmStateBreakdown object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"SlurmStateBreakdown":{"type":"object","required":["timestamp","cpus_by_state","nodes_by_state"],"properties":{"cpus_by_state":{"type":"array","items":{"$ref":"#/components/schemas/StateItem"}},"nodes_by_state":{"type":"array","items":{"$ref":"#/components/schemas/StateItem"}},"timestamp":{"type":"integer","minimum":0}}},"StateItem":{"type":"object","required":["state","value"],"properties":{"state":{"type":"string"},"value":{"type":"number","format":"double"}}}}}}
```

## The StateItem object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"StateItem":{"type":"object","required":["state","value"],"properties":{"state":{"type":"string"},"value":{"type":"number","format":"double"}}}}}}
```

## The StatusResponse object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"StatusResponse":{"type":"object","required":["status"],"properties":{"details":{"type":["string","null"]},"status":{"$ref":"#/components/schemas/CheckpointOperationStatus"}}},"CheckpointOperationStatus":{"type":"string","enum":["initialized","processing","checkpoint_created","ready","error","not_found"]}}}}
```

## The StatusesResponse object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"StatusesResponse":{"type":"object","required":["statuses"],"properties":{"statuses":{"type":"array","items":{"type":"string"}}}}}}}
```

## The TimeSeriesDataPoint object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"TimeSeriesDataPoint":{"type":"object","required":["timestamp","value"],"properties":{"timestamp":{"type":"integer","minimum":0},"value":{"type":"number","format":"double"}}}}}}
```

## The TotalCountResponse object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"TotalCountResponse":{"type":"object","required":["total_count"],"properties":{"total_count":{"type":"integer","format":"int64"}}}}}}
```

## The UpdateMaintenanceWindow object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"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"]}}}}}}
```

## The VolumeMapping object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"VolumeMapping":{"type":"object","required":["host_path","container_path"],"properties":{"container_path":{"type":"string"},"host_path":{"type":"string"}}}}}}
```

## The VolumeMount object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"VolumeMount":{"type":"object","properties":{"auto":{"type":["boolean","null"]}}}}}}
```

## The WorkloadReq object

```json
{"openapi":"3.1.0","info":{"title":"Cedana API","version":"0.0.0-staging"},"components":{"schemas":{"WorkloadReq":{"type":"object","required":["cluster_id"],"properties":{"cluster_id":{"type":"string"},"cluster_name":{"type":["string","null"],"deprecated":true},"deployment":{},"job":{},"pod":{}}}}}}
```


---

# 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/models.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.
