# IPNS Deployment Update API

### API List

<table data-header-hidden><thead><tr><th width="82"></th><th></th><th width="204"></th><th></th></tr></thead><tbody><tr><td>No.</td><td>APIs</td><td>Description</td><td>Date</td></tr><tr><td>1</td><td>IPNS resolve</td><td>Update deploy</td><td>2023/03/01</td></tr><tr><td>2</td><td>Get IPNS resolve status</td><td>Get IPNS resolve Name and Status</td><td>2023/03/01</td></tr></tbody></table>

### IPNS resolve API

#### Description

1. Request Method: POST
2. Request Address: <https://api.4everland.org>
3. Path: /api/ipns/resolve

#### Request parameter

**Headers:**

| Name         | Value                             | Required | Note        |
| ------------ | --------------------------------- | -------- | ----------- |
| Content-Type | application/x-www-form-urlencoded | True     | <p><br></p> |
| Token        | <p><br></p>                       | Ture     | Auth Token  |

**Query**

| Name        | Required | Note              |
| ----------- | -------- | ----------------- |
| projectName | True     | IPNS Project Name |

* Request Case: <https://api.4everland.org/api/ipns/resolve?projectName=testProject>
* Limit flow based on user, one second to initiate one successful request

**Return data**

<table data-header-hidden><thead><tr><th></th><th></th><th></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td>Name</td><td>Type</td><td>Required</td><td>Note</td><td>Draft value</td></tr><tr><td>code</td><td>number</td><td>False</td><td>Return Code</td><td><br></td></tr><tr><td>message</td><td>string</td><td>False</td><td><br></td><td><br></td></tr><tr><td>data</td><td>object</td><td>False</td><td><br></td><td><br></td></tr></tbody></table>

**Response**

```
{
  "code": 200,
  "message": "success",
  "data": {}
}
```

**Error**

```
10025: Access is denied!
10009 :  Project is not exist!
100072 : This is not an IPNS project!
100073 :  Request limit: 1 request per second!
```

### Get IPNS resolve status API

#### Description

1. Request Method: GET
2. Request Address: <https://api.4everland.org>
3. Path: /api/ipns/resolve/status

#### Request parameter

**Headers:**

<table data-header-hidden><thead><tr><th></th><th></th><th></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td>Name</td><td>Required</td><td>Case</td><td>Note</td><td>Value</td></tr><tr><td>token</td><td>True</td><td><br></td><td>Auth Token</td><td><br></td></tr></tbody></table>

#### Query

<table data-header-hidden><thead><tr><th></th><th></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td>Name</td><td>Required</td><td>Note</td><td>Case</td></tr><tr><td>projectName</td><td>True</td><td>IPNS Project Name</td><td><br></td></tr></tbody></table>

Request Case: <https://api.4everland.org/api/ipns/resolve/status?projectName=testProject>

**Return data**

<table data-header-hidden><thead><tr><th></th><th></th><th></th><th></th><th data-hidden></th></tr></thead><tbody><tr><td>Name</td><td>Type</td><td>Required</td><td>Note</td><td>Draft value</td></tr><tr><td>code</td><td>number</td><td>False</td><td>Return Code</td><td><br></td></tr><tr><td>message</td><td>string</td><td>False</td><td><br></td><td><br></td></tr><tr><td>data</td><td>object</td><td>False</td><td><br></td><td><br></td></tr><tr><td>ipnsResolve</td><td>string</td><td>False</td><td>Latest cid</td><td><br></td></tr><tr><td>status</td><td>string</td><td>False</td><td>Last deployment status</td><td><br></td></tr><tr><td>updateAt</td><td>string</td><td>False</td><td>Time(UTC+0)</td><td><br></td></tr></tbody></table>

**Response**

```
{
    "code": 200,
    "message": "success",
    "data": {
        "ipnsResolve": "bafybeifjojp4mri2k775lsv3tgf5r2lg5jtxcdfufop52ygkwmqxjakl3m",
        "status": "SUCCESS",
        "updateAt": "2023-03-01 07:12:32"
    }
}
```

**Error**

```
10025: Access is denied!
10009 :  Project is not exist!
100072 : This is not an IPNS project!
```

{% hint style="info" %}
If you have any questions, please join our [Discord server](https://discord.com/invite/Cun2VpsdjF), or send us an email at <contact@4everland.org>.
{% endhint %}
