---
title: "Refresh Deployed Model"
method: POST
path: "/api/v3/models/{model_id}/deployment/refresh"
tags: ["Models"]
---

# Refresh Deployed Model

`POST /api/v3/models/{model_id}/deployment/refresh`

## Request

- Base URL: `https://api.nugen.in`
- URL: `https://api.nugen.in/api/v3/models/{model_id}/deployment/refresh`
- Auth: HTTP bearer

Hot-swap the latest adapter checkpoint into an already-deployed model.

Calls the train GPU server to find the current adapter checkpoint step, then
performs an undeploy + redeploy so the inference server loads the latest weights.
The deployed model ID and inference URL remain unchanged.

**Raises 400 if:**
- Model is not in DEPLOYED state
- No adapter checkpoint is available yet (`adapter_available == false`)
- Train-time alignment failed with a zeroth checkpoint (`status == "failed"` AND `adapter_available == true`)

## Path parameters

- `model_id` string, required

## Response `200`

Returns the adapter checkpoint step now live on the inference server.

- ModelDeploymentRefreshResponse: Acknowledgement of a deployment refresh.
  - `model_id` string, required: Aligned model id whose deployment was refreshed
  - `adapter_checkpoint_step` integer, nullable: Adapter checkpoint step now live on the inference server
  - `adapter_updated_at` string, nullable: Timestamp when the train GPU server last wrote this checkpoint

## Other responses

- `400`: Model not deployed, no checkpoint available, or zeroth-checkpoint guard triggered
- `401`: Invalid API key
- `403`: Authorization header missing or not a Bearer token
- `404`: Model not found
- `422`: Validation Error
- `502`: Train GPU server or inference GPU server error

---

[API](https://skmtc.dev/nugen/apis/nugen-intelligence-api.md) - [All operations](https://skmtc.dev/nugen/apis/nugen-intelligence-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nugen/apis/nugen-intelligence-api/revisions/62baa7960a4a?raw)
