**Copy** will copy a model from one name to another. This is useful for creating a new model from an existing model. It is often used as the first step to renaming a model.
### Request
The **Copy** endpoint takes a JSON object with the following fields:
```JSON
{
"from": "modelname",
"to": "newmodelname"
}
```
### Response
There is no response other than a 200 status code.
### Example
#### Request
```shell
curl --location--request POST 'http://localhost:11434/api/copy'\
--header'Content-Type: text/plain'\
--data-raw'{
"source": "MyCoolModel",
"destination": "ADifferentModel"
}'
```
#### Response
No response is returned other than a 200 status code.
## Delete a Model
## Delete a Model
**/api/delete**
**DEL /api/delete**
### Description
**Delete** will delete a model from the local machine. This is useful for cleaning up models that are no longer needed.
### Request
The **Delete** endpoint takes a JSON object with a single key/value pair for modelname. For example:
```JSON
{
"model": "modelname"
}
```
### Response
No response is returned other than a 200 status code.
No response is returned other than a 200 status code.
## Pull a Model
## Pull a Model
**/api/pull**
**POST /api/pull**
### Description
**Pull** will pull a model from a remote registry. This is useful for getting a model from the Ollama registry and in the future from alternate registries.
### Request
The **Pull** endpoint takes a JSON object with the following fields:
```JSON
{
"name": "modelname",
"registry": "registryname"
}
```
### Response
## Push a Model
The response is a stream of JSON objects with the following format:
**/api/push**
```JSON
{
"status":"downloading digestname",
"digest":"digestname",
"total":2142590208
}
```
## Heartbeat
### Example
**/**
#### Request
```shell
curl --location--request POST 'http://localhost:11434/api/pull'\