openapi: 3.1.0
info:
title: AlterEstate Agents Developments API
version: v1
description: 'Public REST API for AlterEstate, the leading real-estate CRM SaaS for agents across Latin America. Exposes property listings, project developments (buildings and units), agents, geographic locations, and inbound lead submission. Read endpoints authenticate with a public API token (aetoken header); lead creation uses an account API key (Authorization: Token).'
contact:
name: AlterEstate Engineering
email: engineering@alterestate.com
url: https://dev.alterestate.com/
termsOfService: https://alterestate.com/terminos-condiciones
servers:
- url: https://secure.alterestate.com/api/v1
description: Production
tags:
- name: Developments
description: Real-estate projects, their buildings and units
paths:
/projects/buildings/{project_slug}/:
get:
operationId: getBuildings
summary: Get buildings
description: Retrieve the buildings inside a real-estate project.
tags:
- Developments
parameters:
- name: project_slug
in: path
required: true
schema:
type: string
responses:
'200':
description: A list of buildings.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Building'
'404':
description: Resource or endpoint not found.
'500':
description: Server processing failure.
/properties/public/units/{project_slug}/:
get:
operationId: getUnits
summary: Get units
description: Retrieve the units of a project by requesting their slug.
tags:
- Developments
parameters:
- name: project_slug
in: path
required: true
schema:
type: string
responses:
'200':
description: A list of units.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Unit'
'404':
description: Resource or endpoint not found.
'500':
description: Server processing failure.
components:
schemas:
Unit:
type: object
properties:
model:
type: string
floor:
type: integer
area:
type: number
rooms:
type: integer
bathrooms:
type: number
parking:
type: integer
status:
type: string
sale_price:
type: number
building:
type: integer
floor_plan:
type: string
format: uri
Building:
type: object
properties:
id:
type: integer
uid:
type: string
name:
type: string
order:
type: integer
visible:
type: boolean
company:
type: integer
project:
type: integer
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
securitySchemes:
aetoken:
type: apiKey
in: header
name: aetoken
description: Public API token from the AlterEstate dashboard (Settings > Public API Token, admin access). Used for read endpoints.
tokenAuth:
type: apiKey
in: header
name: Authorization
description: 'Account API key sent as: Authorization: Token <api_key>. Used for lead submission.'
oauth2:
type: oauth2
description: OAuth 2.0 authorization used by the AlterEstate (Brik/alterai) hosted MCP server.
flows:
authorizationCode:
authorizationUrl: https://secure.alterestate.com/oauth/authorize/
tokenUrl: https://secure.alterestate.com/oauth/token/
refreshUrl: https://secure.alterestate.com/oauth/token/
scopes:
mcp: Access the AlterEstate hosted MCP server (secure.alterestate.com/api/v1/alterai/mcp/).
x-apievangelist-generated: '2026-07-17'
x-apievangelist-method: generated
x-apievangelist-source: https://dev.alterestate.com/ (AlterEstate Developers Center, per-operation .md docs)
x-apievangelist-note: AlterEstate publishes human documentation at dev.alterestate.com but no machine-readable OpenAPI. This description is generated faithfully from the documented operations, paths, methods, auth headers and status codes. Field-level schemas are approximate summaries of the documented response objects, not an authoritative provider contract.