# Create an In-Memory DB Restore

The request creates a new restore. You must provide a full restore to create the object.

## Endpoint

Use a [<mark style="color:blue;">region-specific endpoint</mark>](https://docs.ionos.com/sections-test/guides/databases/in-memory-db/api-howtos/..#endpoints) from the list to create a new restore: `https://in-memory-db.{region}.ionos.com/snapshots/{snapshotId}/restores`

{% hint style="info" %}
**Note:** Remember to replace the `snapshotId` with a relevant `UUID`.
{% endhint %}

## Request

```bash
curl -X 'POST' \
  'https://in-memory-db.de-txl.ionos.com/snapshots/a8784665-3d99-5464-af32-30a2967f58e7/restores' \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer $Token' \
--data 
'{
"metadata": { },
"properties": {
"replicasetId": "ac71d588-f2bb-481c-8905-52d37b5cb3b4",
"displayName": "In-Memory DB snapshot",
"description": "Snapshot of an In-Memory DB replica set."
}
}'
```

{% tabs %}
{% tab title="Request Header Parameters" %}
To make authenticated requests to the API, the following fields are mandatory in the request header:

| Header Parameters | Required |  Type  | Description                                                  |
| ----------------- | :------: | :----: | ------------------------------------------------------------ |
| `Authorization`   |    yes   | string | Provide a header value as `Bearer` followed by your `token`. |
| `Content-Type`    |    yes   | string | Set this to `application/json`.                              |
| {% endtab %}      |          |        |                                                              |

{% tab title="Path Parameters" %}
The following path parameter is mandatory: | Path Parameter | Required | Type | Description | | --------------------- | :------: | :-----: | --------------------------------------------------------------------------------------------------------------------------------- | | \`snapshotId\` | yes | string | The ID (UUID) of the Snapshot. Example: \`a8784665-3d99-5464-af32-30a2967f58e7\`. |
{% endtab %}

{% tab title="Request Body Parameters" %}
Below is the list of mandatory body parameters:

| Body Parameters | Type   | Description                                           | Example                                 |
| --------------- | ------ | ----------------------------------------------------- | --------------------------------------- |
| `replicasetId`  | string | The ID of the replica set the restore was applied on. | `ac71d588-f2bb-481c-8905-52d37b5cb3b4`. |
| {% endtab %}    |        |                                                       |                                         |
| {% endtabs %}   |        |                                                       |                                         |

## Response

Your values will differ from those in the sample code. It may contain different IDs, timestamps etc.

**202 Successful operation**

```json
{
  "id": "39fe1580-552b-5182-8939-a3ac6c38f94c",
  "type": "restore",
  "href": "/snapshots/{snapshotId}/restores/39fe1580-552b-5182-8939-a3ac6c38f94c",
  "metadata": {
    "createdDate": "2020-12-10T13:37:50+01:00",
    "createdBy": "ionos:identity:::users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
    "createdByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
    "lastModifiedDate": "2020-12-11T13:37:50+01:00",
    "lastModifiedBy": "ionos:identity:::users/87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
    "lastModifiedByUserId": "87f9a82e-b28d-49ed-9d04-fba2c0459cd3",
    "resourceURN": "ionos:<product>:<location>:<contract>:<resource-path>",
    "state": "AVAILABLE",
    "message": "In progress.",
    "restoreTime": "2019-08-24T14:15:22Z",
    "restoredSnapshotId": "9733371c-eda4-48fc-a669-945e2406db45"
  },
  "properties": {
    "replicasetId": "ac71d588-f2bb-481c-8905-52d37b5cb3b4",
    "displayName": "In-Memory DB snapshot",
    "description": "Snapshot of the In-Memory DB replica set."
  }
}
```
