# Authentication, input and response

## Post object data to receive an accurate automated model valuation

<mark style="color:green;">`POST`</mark> `https://api.altum.ai/listingprice`

This endpoint allows you to receive response from the Altum AI Listing Price model.

#### Headers

| Name                                        | Type   | Description                                                                 |
| ------------------------------------------- | ------ | --------------------------------------------------------------------------- |
| Content-Type                                | string | application/json                                                            |
| x-api-key<mark style="color:red;">\*</mark> | string | Unique API key from Altum. Create one via Mopsus(<https://mopsus.altum.ai>) |

#### Request Body

| Name                                          | Type   | Description                               |
| --------------------------------------------- | ------ | ----------------------------------------- |
| postcode<mark style="color:red;">\*</mark>    | string | Postcode of the object                    |
| valuation\_date                               | string | Valuation date (default is date of entry) |
| houseaddition                                 | string | House number letters and/or addition      |
| housenumber<mark style="color:red;">\*</mark> | number | House number                              |
| innersurfacearea                              | number | Square meter (m2) inner surface area      |
| outersurfacearea                              | number | Square meter (m2) outer surface area      |

{% tabs %}
{% tab title="401: Unauthorized No access" %}

```
{
    'Output': 'Please use https://api.altum.ai or visit https://mopsus.altum.ai to make your request.'
}
```

{% endtab %}

{% tab title="403: Forbidden Forbidden" %}

```
{
	"message": "Missing Authentication Token"
}
```

{% endtab %}

{% tab title="429: Too Many Requests API key limit exceeded" %}

<pre><code><strong>{
</strong>	"message": "API key limit exceeded"
}
</code></pre>

{% endtab %}

{% tab title="500: Internal Server Error Service is not available and/or down" %}

```
{
	"message": "Internal server error"
}
```

{% endtab %}

{% tab title="422: Unprocessable Entity Wrong input format" %}

```
{
  "detail": [
    {
      "loc": [
        "body",
        "postcode"
      ],
      "msg": "string does not match regex \"^(?!1000|1001|1002|1003|1004|1005|1006|1007|1008|1009|1010)[1-9][0-9]{3}[A-Z]{2}$\"",
      "type": "value_error.str.regex",
      "ctx": {
        "pattern": "^(?!1000|1001|1002|1003|1004|1005|1006|1007|1008|1009|1010)[1-9][0-9]{3}[A-Z]{2}$"
      }
    }
  ]
}
```

{% endtab %}

{% tab title="200: OK Successful response" %}

```
{
	"bagid": "0363010000735772",
	"postcode": "1024CT",
	"housenumber": "25",
	"houseaddition": "",
	"city": "Amsterdam",
	"street": "Markengouw",
	"housetype": "Portiekwoning",
	"buildyear": "1967",
	"innersurfacearea": "76",
	"outersurfacearea": "3299",
	"volume": "2211",
	"energylabel": "D",
	"longitude": "4.96144831561363",
	"latitude": "52.39109040866619",
	"valuationdate": "20231120",
	"priceestimation": "278082",
	"confidence": "90% Confidence Interval is 250273-305890."
}
```

{% endtab %}

{% tab title="400: Bad Request Unsuccessful response" %}

```
{
  "Output": "The given house address not found in database, the combination of Post Code, House Number and House Addition does not exist."
}

{
  'Unsupported evaluation date format, it should be YYYYMMDD.'
}

{
  'The evaluation date range should be from {} and until {}.'
}

{
  'Output': 'We are not able to provide prediction at the moment.'
}

{
  'Output': 'The prediction is too low.'
}
```

{% endtab %}
{% endtabs %}

## Request body

#### Example request

```
{
  "postcode": "1024CT",
  "housenumber": 25,
  "houseaddition": "",
  "valuation_date": "20230112"
}
```
