AlterEstate Locations API

Cities, sectors and provinces

OpenAPI Specification

alterestate-locations-api-openapi.yml Raw ↑
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.