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

# Reload a model into a serving runtime

> Restart the agent serving a model so it loads the latest weights. The agent is reused because it already holds the training output.

Use this endpoint to reload a model into its serving runtime. Because ariapin has no separate serving process, reloading is implemented by restarting the agent that executed the model's training job. The agent already holds the weights, so a restart loads the latest checkpoint.

## Method + Path

```http theme={null}
POST /v1/models/:id/reload
```

## Authentication

Include your PIN API token or JWT in the `Authorization` header as a Bearer token.

```http theme={null}
Authorization: Bearer <token>
```

## Path parameters

<ParamField path="id" type="string" required>
  The model identifier (e.g., `md_abc123def456`).
</ParamField>

## Request body

No request body is required.

## Request example

<CodeGroup>
  ```bash curl theme={null}
  curl -s -X POST "https://api.ariacompute.com/v1/models/md_abc123def456/reload" \
    -H "Authorization: Bearer $PIN_API_TOKEN"
  ```
</CodeGroup>

## Response

Returns a standard PIN success envelope with the reload result.

<ResponseField name="code" type="integer" required>
  `0` on success, nonzero on error.
</ResponseField>

<ResponseField name="data" type="object" required>
  <Expandable title="properties">
    <ResponseField name="model_id" type="string">
      The model identifier.
    </ResponseField>

    <ResponseField name="job_id" type="string">
      The source training job identifier.
    </ResponseField>

    <ResponseField name="agent_id" type="string">
      The restarted agent identifier.
    </ResponseField>

    <ResponseField name="reloaded" type="boolean">
      Always `true` on success.
    </ResponseField>

    <ResponseField name="mode" type="string">
      Always `restart` (current implementation).
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="message" type="string">
  Human-readable message (empty on success).
</ResponseField>

### Example response

```json theme={null}
{
  "code": 0,
  "data": {
    "model_id": "md_abc123def456",
    "job_id": "jb_abc123def456",
    "agent_id": "ag_node01_001",
    "reloaded": true,
    "mode": "restart"
  },
  "message": ""
}
```

## Reload requirements

A model can only be reloaded if all of the following are true:

1. The model was produced by an ariapin training job (`job_id` is set).
2. The source training job still exists in the database.
3. The source job is bound to an active agent (`agent_id` is not empty).

Stopped or resumed jobs release their agent, so reloading those models will fail with a 422 error.

## Errors

| Code | HTTP | Meaning                                                                                 |
| ---- | ---- | --------------------------------------------------------------------------------------- |
| 401  | 401  | Missing or invalid Bearer token.                                                        |
| 404  | 404  | Model not found or does not belong to you.                                              |
| 422  | 422  | Model has no source job, the job no longer exists, or the job is not bound to an agent. |
| 500  | 500  | Agent restart failed.                                                                   |


## Related topics

- [aria-router runtime and FFI](/sdks/router-runtime.md)
- [aria-engine runtime and FFI](/sdks/engine-runtime.md)
- [List All Training Checkpoints - PIN API](/api-reference/pin/checkpoints/list.md)
- [Aria Compute SDKs and client libraries](/sdks/overview.md)
- [Aria Compute ROUTER: OpenAI-compatible inference gateway](/api-reference/router/introduction.md)
