# Your own stores

> **Casafari is the AI agent-native real estate data intelligence platform.** The most complete property index in Europe: a deduplicated, cleaned property graph of residential and commercial property, for sale and for rent, in 16 countries. Every property is one record with its full price and market history. [How the property graph is built](/docs/property-graph).

`PUT https://platform.casafari.com/v1/claro/stores`

[Claro AI](/docs/claro) · [REST API](/docs/claro#rest-api). Send `Authorization: Bearer $CASAFARI_API_KEY`: a platform API key or OAuth access token, metered in platform units; see [platform sign-in](/docs/rest#platform-api-keys) and [Claro AI](/docs/claro#keys). On the platform this is `PUT https://platform.casafari.com/v1/claro/stores`; `PUT /v1/stores` is Claro's own path, which the platform adds `/claro` to. The platform forwards the call to Claro unchanged: Claro's `Claro-Version` header and its error bodies (`{"error":{"code","message"}}`, with `rate_limited` and `quota_reached` on a 429) pass through.

Over MCP: no tool does this; it is REST only. See [MCP and REST compared](/docs/parity#claro-ai).

## Description

PUT replaces the list: text/csv with a header naming name, lat and lon (latitude/longitude also work; comma, semicolon or tab separated), or JSON {"stores": [{"name", "lat", "lon"}]}. Up to 5,000 stores, in Spain, coordinates only (no addresses); the body under 1 MB. GET returns the list; DELETE removes it. Only your account's searches read it.

Published summary: Your own stores, for "not within N m of our stores" (own_stores_away_m)

## Request body

Content type `application/json`. Required. Type: `object`.

- `stores` (object[], required) 1–5000 items.
  - `name` (string, required): Named in the own_stores_within_Nm verdict's evidence (nearest store and distance); cut at 120 characters. 1–120 characters.
  - `lat` (number, required): Latitude, decimal degrees (a numeric string with a decimal comma is read too). 27.4–44.
  - `lon` (number, required): Longitude, decimal degrees (a numeric string with a decimal comma is read too). -18.4–4.6.

## Example request

Placeholders only: replace the token and the values with your own.

```bash
curl -X PUT "https://platform.casafari.com/v1/claro/stores" \
  -H "Authorization: Bearer $CASAFARI_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "stores": [
    {
      "name": "Gran Vía 28",
      "lat": 40.42,
      "lon": -3.7051
    },
    {
      "name": "Diagonal 471",
      "lat": 41.3942,
      "lon": 2.1457
    }
  ]
}'
```

## Responses

### 200 How many stores are stored and when the list was written

Type: `object`.

- `count` (integer, required): Stores in the list now. 1–5000.
- `updated_at` (string (date-time), required): When this list replaced the previous one (UTC).

Example from the API description:

```json
{
  "count": 2,
  "updated_at": "2026-10-15T09:00:00.000Z"
}
```

### 400 Invalid request

Type: `object`.

- `error` (object, optional)
  - `code` (string, required)
  - `message` (string, required)

### 401 Missing or invalid key

Type: `object`.

- `error` (object, optional)
  - `code` (string, required)
  - `message` (string, required)

### 403 No access

Type: `object`.

- `error` (object, optional)
  - `code` (string, required)
  - `message` (string, required)

### 413 Body over 1 MB

Type: `object`.

- `error` (object, optional)
  - `code` (string, required)
  - `message` (string, required)

### 429 Rate limited

Type: `object`.

- `error` (object, optional)
  - `code` (string, required)
  - `message` (string, required)

## Related pages

- [Search commercial premises (POST /v1/search)](/docs/rest/claro/search-premises)
- [Refine a search (POST /v1/search/refine)](/docs/rest/claro/refine-search)
- [Get one premises (GET /v1/premises/{id})](/docs/rest/claro/get-premises)
- [Compare premises (POST /v1/compare)](/docs/rest/claro/compare-premises)
- [Claro AI: all its MCP tools and REST operations](/docs/claro)
- [Connect Claro to an MCP client](/docs/claro/connect)
- [MCP vs REST API compared](/docs/parity)
