OpenAPI Specification
openapi: 3.1.0
info:
title: AlterEstate Agents Locations 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: Locations
description: Cities, sectors and provinces
paths:
/cities/:
get:
operationId: listCities
summary: List cities
description: List cities, optionally filtered by country. Provinces are nested in each city.
tags:
- Locations
parameters:
- name: country
in: query
schema:
type: integer
description: Country ID (10 countries supported).
responses:
'200':
description: A list of cities.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/City'
/sectors/:
get:
operationId: listSectors
summary: List sectors
description: List neighborhood-level sectors within a city.
tags:
- Locations
parameters:
- name: city
in: query
schema:
type: integer
description: City ID to filter sectors.
responses:
'200':
description: A list of sectors.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Sector'
components:
schemas:
City:
type: object
properties:
id:
type: integer
name:
type: string
province:
$ref: '#/components/schemas/Province'
Sector:
type: object
properties:
id:
type: integer
name:
type: string
city_name:
type: string
province:
$ref: '#/components/schemas/Province'
Province:
type: object
properties:
id:
type: integer
name:
type: string
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.