DEVELOPING

Deactivate a client

DELETE /property-v1/customers

When you stop working with a client, this takes them out of circulation. It is reversible: the POST reactivates them with the same customerId.

curl -X DELETE https://property-api.mapaprop.com/property-v1/customers \
  -H "Authorization: Bearer $TOKEN" \
  -H "x-client-ref: cliente-42"

It takes no body. 200 response:

{
  "deleted": true,
  "alreadyDeleted": false,
  "customer": {
    "customerId": "MAPAPROP-PA-000002",
    "clientRef": "cliente-42",
    "deletedAt": "2026-10-01T18:22:04.117Z",
    "name": "Inmobiliaria Modelo"
  }
}

The customerId comes in the response because it is the code that client is published with on the portals: it is useful for your own records.

It requires the property-api-delete scope, which is different from the other three: you can be enabled to create, read and update clients and not to deactivate them.

What stops working

From the deactivation onwards, that client does not operate:

OperationAfter the deactivation
POST /properties400 with rule: account_required
PUT .../publication/{portal}409 with customer_not_active
POST /connect-links409
GET and PUT of their record404 with customer_deleted

What it does NOT touch

Any listings your client has published on the portals stay published. The deactivation does not take them down: they are in THEIR portal account, published with their credentials, and it is not our decision to make. If they have to come down, they come down from the portal's own panel.

Their properties are not deleted either, nor their photos, nor their portal connections. The deactivation is a mark, not a cleanup — and that is why it can be undone.

Deactivating twice is not an error

The second call returns 200 with alreadyDeleted: true and the date of the first one. If a call failed and you do not know whether it arrived, call again.

Undoing it

The same POST reactivates it, with revived: true and the customerId it always had:

curl -X POST https://property-api.mapaprop.com/property-v1/customers \
  -H "Authorization: Bearer $TOKEN" \
  -H "x-client-ref: cliente-42" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Inmobiliaria Modelo", "phone1": "2234567890" }'

The details you send in that POST are the ones that remain.

Response codes

CodeWhat happenedWhat to do
200Deactivated, or it already was (alreadyDeleted: true)—
400The x-client-ref header is missing—
401Token missing or invalid—
403Your token does not have the property-api-delete scopeWrite to us to enable it
404That clientRef never declared a recordNothing to deactivate