EPCOR Boundaries API

Municipal boundary reference layers.

Operations 3

GET /CityBoundary_prod/FeatureServer Get CityBoundary_prod service metadata #
GET /CityBoundary_prod/FeatureServer/0 Get CityBoundary_prod layer 0 metadata #
GET /CityBoundary_prod/FeatureServer/0/query Query CityBoundary_prod #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/epcor-boundaries-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

epcor-boundaries-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: EPCOR Public Outage and Service Area Feature Services (ArcGIS REST) Boundaries API
  version: '12'
  summary: Anonymous, machine-readable read access to EPCOR's live power outage, water outage, water infrastructure project and service area feature layers.
  description: 'EPCOR publishes no OpenAPI, no developer portal and no API documentation. It does, however, operate a public ArcGIS Online organization (`services6.arcgis.com/Ji2rusuWXDFSqNsP`, owner `epcor_outages`) whose production feature services are shared publicly and are readable anonymously over the ArcGIS REST GeoServices interface. Those services back the EPCOR outage map at https://outages.epcor.com/ and cover Edmonton power outages, Canadian water outages and main breaks, water infrastructure projects, and the outage and service area layers for EPCOR Water''s US districts in Arizona and New Mexico.


    THIS DOCUMENT IS DERIVED, NOT PUBLISHED BY EPCOR. Every path, layer, field name and field type below was read from the live ArcGIS service and layer metadata documents on 2026-07-27; the query parameter set is the standard Esri ArcGIS REST `query` operation contract. No endpoint, field or value has been invented. Editing capabilities advertised by some services (Create/Update/Delete) are NOT modelled here: only anonymous read was probed, and write access requires an ArcGIS token.


    Data is operational, near real time and unversioned. EPCOR publishes no licence, no terms of use for this surface, no rate limit and no support channel for it.'
  contact:
    name: EPCOR
    url: https://www.epcor.com/ca/en/ab/edmonton/contact-edmonton.html
  x-apievangelist:
    method: derived
    generated: '2026-07-27'
    derived_from:
    - https://services6.arcgis.com/Ji2rusuWXDFSqNsP/ArcGIS/rest/services?f=json
    - ArcGIS feature service and layer metadata documents for every *_prod service in the folder
    - https://outages.epcor.com/assets/config.json
    note: Derived by the API Evangelist enrichment pipeline from live, anonymously readable ArcGIS REST metadata. EPCOR does not publish this specification.
servers:
- url: https://services6.arcgis.com/Ji2rusuWXDFSqNsP/ArcGIS/rest/services
  description: EPCOR public ArcGIS Online feature service folder (hosted by Esri ArcGIS Online).
security: []
tags:
- name: boundaries
  description: Municipal boundary reference layers.
paths:
  /CityBoundary_prod/FeatureServer:
    get:
      operationId: getCityBoundaryProdService
      summary: Get CityBoundary_prod service metadata
      description: 'City of Edmonton boundary. Returns the ArcGIS feature service metadata document: layers, capabilities (Query), maxRecordCount (2000) and spatial reference.'
      tags:
      - boundaries
      parameters:
      - $ref: '#/components/parameters/f'
      responses:
        '200':
          description: Feature service metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ServiceMetadata'
  /CityBoundary_prod/FeatureServer/0:
    get:
      operationId: getCityBoundaryProdLayer
      summary: Get CityBoundary_prod layer 0 metadata
      description: Field definitions, geometry type (esriGeometryPolyline), extent and edit timestamps for the `CityBoundary_prod` layer.
      tags:
      - boundaries
      parameters:
      - $ref: '#/components/parameters/f'
      responses:
        '200':
          description: Feature layer metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LayerMetadata'
  /CityBoundary_prod/FeatureServer/0/query:
    get:
      operationId: queryCityBoundaryProd
      summary: Query CityBoundary_prod
      description: 'City of Edmonton boundary. Query the `CityBoundary_prod` layer with a SQL `where` clause and optional spatial filter. Anonymous read, no API key. Observed feature count at harvest time: 1.'
      tags:
      - boundaries
      parameters:
      - $ref: '#/components/parameters/f'
      - $ref: '#/components/parameters/where'
      - $ref: '#/components/parameters/outFields'
      - $ref: '#/components/parameters/returnGeometry'
      - $ref: '#/components/parameters/returnCountOnly'
      - $ref: '#/components/parameters/returnIdsOnly'
      - $ref: '#/components/parameters/orderByFields'
      - $ref: '#/components/parameters/resultOffset'
      - $ref: '#/components/parameters/resultRecordCount'
      - $ref: '#/components/parameters/geometry'
      - $ref: '#/components/parameters/geometryType'
      - $ref: '#/components/parameters/spatialRel'
      - $ref: '#/components/parameters/inSR'
      - $ref: '#/components/parameters/outSR'
      responses:
        '200':
          description: Esri FeatureSet (`f=json`), GeoJSON FeatureCollection (`f=geojson`), or an ArcGIS error envelope — these services answer invalid requests with HTTP 200 and an `error` body.
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/CityBoundaryProdL0FeatureSet'
                - $ref: '#/components/schemas/GeoJSONFeatureCollection'
                - $ref: '#/components/schemas/EsriError'
components:
  schemas:
    SpatialReference:
      type: object
      properties:
        wkid:
          type: integer
        latestWkid:
          type: integer
    LayerMetadata:
      type: object
      description: 'ArcGIS feature layer metadata document: field definitions, geometry type, extent, capabilities and edit timestamps.'
      properties:
        currentVersion:
          type: number
        id:
          type: integer
        name:
          type: string
        type:
          type: string
        geometryType:
          type: string
        fields:
          type: array
          items:
            $ref: '#/components/schemas/FieldDefinition'
        extent:
          type: object
        editingInfo:
          type: object
        maxRecordCount:
          type: integer
    CityBoundaryProdL0Attributes:
      type: object
      description: Attributes of a feature in the `CityBoundary_prod` layer (CityBoundary_prod, layer 0). Geometry type esriGeometryPolyline.
      properties:
        FID:
          type: integer
          description: Object ID; the unique, service maintained identifier.
          x-esri-field-type: esriFieldTypeOID
        MSLINK:
          type: number
          x-esri-field-type: esriFieldTypeDouble
        CITY_NAME_:
          type: string
          maxLength: 60
          x-esri-field-type: esriFieldTypeString
        CREATE_USE:
          type: string
          maxLength: 10
          x-esri-field-type: esriFieldTypeString
        CREATE_DAT:
          type: integer
          maxLength: 8
          description: Epoch milliseconds (Esri date field).
          x-esri-field-type: esriFieldTypeDate
        MODIFY_USE:
          type: string
          maxLength: 10
          x-esri-field-type: esriFieldTypeString
        MODIFY_DAT:
          type: integer
          maxLength: 8
          description: Epoch milliseconds (Esri date field).
          x-esri-field-type: esriFieldTypeDate
    GeoJSONFeatureCollection:
      type: object
      description: RFC 7946 FeatureCollection returned when `f=geojson`.
      properties:
        type:
          type: string
          const: FeatureCollection
        properties:
          type: object
          properties:
            exceededTransferLimit:
              type: boolean
        features:
          type: array
          items:
            type: object
    FieldDefinition:
      type: object
      properties:
        name:
          type: string
        type:
          type: string
          description: Esri field type, for example `esriFieldTypeString`.
        alias:
          type: string
        sqlType:
          type: string
        length:
          type: integer
    CityBoundaryProdL0FeatureSet:
      type: object
      description: Esri FeatureSet returned by a query against the `CityBoundary_prod` layer.
      properties:
        objectIdFieldName:
          type: string
        globalIdFieldName:
          type: string
        geometryType:
          type: string
        spatialReference:
          $ref: '#/components/schemas/SpatialReference'
        fields:
          type: array
          items:
            $ref: '#/components/schemas/FieldDefinition'
        exceededTransferLimit:
          type: boolean
          description: True when more features match than were returned; page with `resultOffset`.
        features:
          type: array
          items:
            type: object
            properties:
              attributes:
                $ref: '#/components/schemas/CityBoundaryProdL0Attributes'
              geometry:
                type: object
                description: Feature geometry, omitted when `returnGeometry=false`.
    EsriError:
      type: object
      description: ArcGIS REST error envelope. Note that these services return HTTP 200 with this body rather than a 4xx status code.
      properties:
        error:
          type: object
          properties:
            code:
              type: integer
              description: Esri error code.
            message:
              type: string
              description: Short error message; may be an empty string.
            details:
              type: array
              items:
                type: string
              description: Human readable detail strings.
          required:
          - code
      required:
      - error
      examples:
      - error:
          code: 400
          message: Cannot perform query. Invalid query parameters.
          details:
          - '''where'' parameter is invalid'
    ServiceMetadata:
      type: object
      description: ArcGIS feature service metadata document.
      properties:
        currentVersion:
          type: number
        serviceItemId:
          type: string
        capabilities:
          type: string
          description: Comma separated capability list advertised by the service. Only `Query` is exercisable anonymously; editing capabilities require an ArcGIS token.
        maxRecordCount:
          type: integer
        spatialReference:
          $ref: '#/components/schemas/SpatialReference'
        layers:
          type: array
          items:
            type: object
  parameters:
    outFields:
      name: outFields
      in: query
      required: false
      description: Comma separated list of attribute fields to return, or `*` for all fields.
      schema:
        type: string
      example: '*'
    returnCountOnly:
      name: returnCountOnly
      in: query
      required: false
      description: Return only the count of matching features instead of the features themselves.
      schema:
        type: boolean
        default: false
    orderByFields:
      name: orderByFields
      in: query
      required: false
      description: Comma separated `field ASC|DESC` list used to order the result set.
      schema:
        type: string
    resultOffset:
      name: resultOffset
      in: query
      required: false
      description: Zero based offset into the ordered result set; the cursor half of ArcGIS paging.
      schema:
        type: integer
        minimum: 0
    inSR:
      name: inSR
      in: query
      required: false
      description: Spatial reference (WKID) of the input `geometry`.
      schema:
        type: string
    returnGeometry:
      name: returnGeometry
      in: query
      required: false
      description: Whether the feature geometry is included in the response.
      schema:
        type: boolean
        default: true
    spatialRel:
      name: spatialRel
      in: query
      required: false
      description: Spatial relationship applied between the `geometry` filter and the layer features.
      schema:
        type: string
        default: esriSpatialRelIntersects
    where:
      name: where
      in: query
      required: false
      description: SQL-92 WHERE clause applied to the layer attributes. Use `1=1` to select all features.
      schema:
        type: string
      example: 1=1
    returnIdsOnly:
      name: returnIdsOnly
      in: query
      required: false
      description: Return only the object IDs of matching features.
      schema:
        type: boolean
        default: false
    geometryType:
      name: geometryType
      in: query
      required: false
      description: Type of the `geometry` filter.
      schema:
        type: string
        enum:
        - esriGeometryPoint
        - esriGeometryMultipoint
        - esriGeometryPolyline
        - esriGeometryPolygon
        - esriGeometryEnvelope
    f:
      name: f
      in: query
      required: false
      description: Response format. `json` returns the Esri FeatureSet envelope, `geojson` returns RFC 7946 GeoJSON, `pbf` returns protocol buffers, `html` returns the human service directory.
      schema:
        type: string
        enum:
        - json
        - geojson
        - pbf
        - html
        default: html
    geometry:
      name: geometry
      in: query
      required: false
      description: Geometry used to spatially filter the query, in the format implied by `geometryType`.
      schema:
        type: string
    outSR:
      name: outSR
      in: query
      required: false
      description: Spatial reference (WKID) requested for the returned geometry, for example `4326`.
      schema:
        type: string
    resultRecordCount:
      name: resultRecordCount
      in: query
      required: false
      description: Maximum number of features to return in this page, capped by the service `maxRecordCount` (2000 on these services).
      schema:
        type: integer
        minimum: 1
        maximum: 2000