Skip to content
AlterEstate

Property documents

Uploads private documents to a property and lists the documents it already has.

Documents are the files in the Private documents (Documentos privados) card of a property in the dashboard: title deeds, contracts, plans, appraisals. Only users of your agency can see them. They never appear on the website or on portals. Photos are a different thing: see Upload property photos.

Upload a document

POSThttps://secure.alterestate.com/api/v1/files/new/

Authentication

Send Authorization: Token your_api_key_here. Account token. Server-side only: never send it from browser or mobile app code.


Body parameters

filefilerequired
The document. Any type, up to 100 MB.Example: title-deed.pdf
propertystringrequired
uid of the property that receives the document, from Create a property or List properties. Not the numeric cid.Example: JSORJ9S5AY
namestringrequired
Name shown in the dashboard. The dashboard sends the original filename.Example: title-deed.pdf
descriptionstring
Optional note about the document.Example: Certified copy, 2026

Example request

POST
curl --request POST \
  --url 'https://secure.alterestate.com/api/v1/files/new/' \
  --header 'Authorization: Token your_api_key_here' \
  --header 'Accept: application/json' \
  --form 'file=@title-deed.pdf;type=image/jpeg' \
  --form 'property=JSORJ9S5AY' \
  --form 'name=title-deed.pdf' \
  --form 'description=Certified copy, 2026'

Example response

201 Created
{
  "id": "884213",
  "uid": "K7QW2M9XPL",
  "name": "title-deed.pdf",
  "description": "Certified copy, 2026",
  "file": "https://d2p0bx8wfdkjkb.cloudfront.net/static/files/example/title-deed.pdf",
  "property": "JSORJ9S5AY",
  "contact": null,
  "deal": null,
  "project": null,
  "category": null,
  "is_public": false,
  "is_external": false,
  "deleted": false,
  "timestamp": "2026-11-09T14:32:10.512345-04:00"
}
400 Bad Request
{
  "file": [
    "El tamaño máximo del archivo no debe superar los 100 MB."
  ]
}
400 Unknown property
{
  "property": [
    "Object with uid=XXXXXXXXXX does not exist."
  ]
}

List the documents of a property

GEThttps://secure.alterestate.com/api/v1/files/

Authentication

Send Authorization: Token your_api_key_here. Account token. Server-side only: never send it from browser or mobile app code.


Query parameters

property_uidstringrequired
uid of the property. Without it the response lists every document of your agency, including those of contacts and deals.Example: JSORJ9S5AY

Example request

GET
curl --request GET \
  --url 'https://secure.alterestate.com/api/v1/files/?property_uid=JSORJ9S5AY' \
  --header 'Authorization: Token your_api_key_here' \
  --header 'Accept: application/json'

Example response

200 OK
[
  {
    "id": 884213,
    "uid": "K7QW2M9XPL",
    "name": "title-deed.pdf",
    "description": "Certified copy, 2026",
    "file": "https://d2p0bx8wfdkjkb.cloudfront.net/static/files/example/title-deed.pdf",
    "property": {
      "cid": 292960,
      "uid": "JSORJ9S5AY",
      "name": "Modern apartment in Naco"
    },
    "timestamp": "2026-11-09T14:32:10.512345-04:00"
  }
]

What to know

  • company and created_by come from the token. Do not send them.
  • The list is not paginated and is sorted newest first. Deleted documents are left out.
  • file in the response is the download URL. Treat it as private and do not publish it or show it outside your agency.
  • Deleting a document is done from the dashboard. It requires a role with permission to delete data.
  • An upload that does not come from the AlterEstate dashboard is recorded for support, with the property, the file name, its size and its type. The contents of the file are not recorded.
  • Like every endpoint that uses the account token, call these from your backend, never from browser or mobile app code.
Upload one PDF to a property
curl -X POST 'https://secure.alterestate.com/api/v1/files/new/' \
  -H 'Authorization: Token YOUR_ACCOUNT_TOKEN' \
  -F 'property=JSORJ9S5AY' \
  -F 'name=title-deed.pdf' \
  -F 'file=@title-deed.pdf'

Status codes

StatusMeaning
200The list of documents.
201The document was saved. The body is the new document.
400The file is missing or larger than 100 MB, name is missing, or your agency has no property with that uid. The response names the field.
401The account token is missing or invalid.
500Server error while processing the request.

Frequently asked questions

How do I attach a PDF to a property?

POST https://secure.alterestate.com/api/v1/files/new/ as multipart/form-data with file, name and property set to the property uid. Send Authorization: Token from your backend.

Are property documents public?

No. They appear only in the dashboard, for users of your agency. They are not shown on the website or sent to portals.

Can I upload several documents at once?

No. Send one request per file. The dashboard does the same when you drop several files.

Last updated . Questions? Emaildev@alterestate.com.