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/aeso-interchange-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: 3.2.0
info:
title: Intertie Public Reports Interchange API
description: Intertie Public Reports
contact:
name: ITC Support
url: http://itc.aeso.ca/
email: info@aeso.ca
version: v1
servers:
- url: https://apimgw.aeso.ca/public/itc
- url: https://gateway-apim.aeso.ca/public/itc
security:
- {}
- apiKeyHeader: []
- apiKeyQuery: []
tags:
- name: Interchange
paths:
/interchange:
get:
operationId: getReportByRange
summary: Fetch Interchange Capability Report
description: For all the intertie related data, fetches 100 days of data at a time.
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/InterchangeReport'
examples:
default:
value:
BcIntertie:
Allocations:
- flowgate: true
date: string
he: string
import:
transferType: string
reason: string
atc: 0
trmTotal: 0
ttc: 0
trmSystem: 0
trmAllocation: 0
grossOffer: 0
version:
- reason: string
atc: 0
trmTotal: 0
ttc: 0
trmSystem: 0
trmAllocation: 0
grossOffer: 0
versionUpdatedLocaltime: string
updatedLocalTime: string
effectiveLocalTime: string
export:
transferType: string
reason: string
atc: 0
trmTotal: 0
ttc: 0
trmSystem: 0
trmAllocation: 0
grossOffer: 0
version:
- reason: string
atc: 0
trmTotal: 0
ttc: 0
trmSystem: 0
trmAllocation: 0
grossOffer: 0
versionUpdatedLocaltime: string
updatedLocalTime: string
effectiveLocalTime: string
MatlIntertie:
Allocations:
- flowgate: true
date: string
he: string
import:
transferType: string
reason: string
atc: 0
trmTotal: 0
ttc: 0
trmSystem: 0
trmAllocation: 0
grossOffer: 0
version:
- reason: string
atc: 0
trmTotal: 0
ttc: 0
trmSystem: 0
trmAllocation: 0
grossOffer: 0
versionUpdatedLocaltime: string
updatedLocalTime: string
effectiveLocalTime: string
export:
transferType: string
reason: string
atc: 0
trmTotal: 0
ttc: 0
trmSystem: 0
trmAllocation: 0
grossOffer: 0
version:
- reason: string
atc: 0
trmTotal: 0
ttc: 0
trmSystem: 0
trmAllocation: 0
grossOffer: 0
versionUpdatedLocaltime: string
updatedLocalTime: string
effectiveLocalTime: string
SkIntertie:
Allocations:
- flowgate: true
date: string
he: string
import:
transferType: string
reason: string
atc: 0
trmTotal: 0
ttc: 0
trmSystem: 0
trmAllocation: 0
grossOffer: 0
version:
- reason: string
atc: 0
trmTotal: 0
ttc: 0
trmSystem: 0
trmAllocation: 0
grossOffer: 0
versionUpdatedLocaltime: string
updatedLocalTime: string
effectiveLocalTime: string
export:
transferType: string
reason: string
atc: 0
trmTotal: 0
ttc: 0
trmSystem: 0
trmAllocation: 0
grossOffer: 0
version:
- reason: string
atc: 0
trmTotal: 0
ttc: 0
trmSystem: 0
trmAllocation: 0
grossOffer: 0
versionUpdatedLocaltime: string
updatedLocalTime: string
effectiveLocalTime: string
BcMatlFlowgate:
links:
- rel: string
href: string
hreflang: string
media: string
title: string
type: string
deprecation: string
Allocations:
- flowgate: true
date: string
he: string
import:
transferType: string
reason: string
atc: 0
trmTotal: 0
ttc: 0
trmSystem: 0
trmAllocation: 0
grossOffer: 0
version:
- reason: string
atc: 0
trmTotal: 0
ttc: 0
trmSystem: 0
trmAllocation: 0
grossOffer: 0
versionUpdatedLocaltime: string
updatedLocalTime: string
effectiveLocalTime: string
export:
transferType: string
reason: string
atc: 0
trmTotal: 0
ttc: 0
trmSystem: 0
trmAllocation: 0
grossOffer: 0
version:
- reason: string
atc: 0
trmTotal: 0
ttc: 0
trmSystem: 0
trmAllocation: 0
grossOffer: 0
versionUpdatedLocaltime: string
updatedLocalTime: string
effectiveLocalTime: string
SystemlFlowgate:
links:
- rel: string
href: string
hreflang: string
media: string
title: string
type: string
deprecation: string
Allocations:
- flowgate: true
date: string
he: string
import:
transferType: string
reason: string
atc: 0
trmTotal: 0
ttc: 0
trmSystem: 0
trmAllocation: 0
grossOffer: 0
version:
- reason: string
atc: 0
trmTotal: 0
ttc: 0
trmSystem: 0
trmAllocation: 0
grossOffer: 0
versionUpdatedLocaltime: string
updatedLocalTime: string
effectiveLocalTime: string
export:
transferType: string
reason: string
atc: 0
trmTotal: 0
ttc: 0
trmSystem: 0
trmAllocation: 0
grossOffer: 0
version:
- reason: string
atc: 0
trmTotal: 0
ttc: 0
trmSystem: 0
trmAllocation: 0
grossOffer: 0
versionUpdatedLocaltime: string
updatedLocalTime: string
effectiveLocalTime: string
application/xml:
schema:
$ref: '#/components/schemas/InterchangeReport'
examples:
default:
value: "<InterchangeReport>\n <BcIntertie>\n <Allocations>\n <flowgate>true</flowgate>\n <date>string</date>\n <he>string</he>\n <import>\n <transferType>string</transferType>\n <reason>string</reason>\n <atc>0</atc>\n <trmTotal>0</trmTotal>\n <ttc>0</ttc>\n <trmSystem>0</trmSystem>\n <trmAllocation>0</trmAllocation>\n <grossOffer>0</grossOffer>\n <version>\n <reason>string</reason>\n <atc>0</atc>\n <trmTotal>0</trmTotal>\n <ttc>0</ttc>\n <trmSystem>0</trmSystem>\n <trmAllocation>0</trmAllocation>\n <grossOffer>0</grossOffer>\n <versionUpdatedLocaltime>string</versionUpdatedLocaltime>\n </version>\n <updatedLocalTime>string</updatedLocalTime>\n <effectiveLocalTime>string</effectiveLocalTime>\n </import>\n <export>\n <transferType>string</transferType>\n <reason>string</reason>\n <atc>0</atc>\n <trmTotal>0</trmTotal>\n <ttc>0</ttc>\n <trmSystem>0</trmSystem>\n <trmAllocation>0</trmAllocation>\n <grossOffer>0</grossOffer>\n <version>\n <reason>string</reason>\n <atc>0</atc>\n <trmTotal>0</trmTotal>\n <ttc>0</ttc>\n <trmSystem>0</trmSystem>\n <trmAllocation>0</trmAllocation>\n <grossOffer>0</grossOffer>\n <versionUpdatedLocaltime>string</versionUpdatedLocaltime>\n </version>\n <updatedLocalTime>string</updatedLocalTime>\n <effectiveLocalTime>string</effectiveLocalTime>\n </export>\n </Allocations>\n </BcIntertie>\n <MatlIntertie>\n <Allocations>\n <flowgate>true</flowgate>\n <date>string</date>\n <he>string</he>\n <import>\n <transferType>string</transferType>\n <reason>string</reason>\n <atc>0</atc>\n <trmTotal>0</trmTotal>\n <ttc>0</ttc>\n <trmSystem>0</trmSystem>\n <trmAllocation>0</trmAllocation>\n <grossOffer>0</grossOffer>\n <version>\n <reason>string</reason>\n <atc>0</atc>\n <trmTotal>0</trmTotal>\n <ttc>0</ttc>\n <trmSystem>0</trmSystem>\n <trmAllocation>0</trmAllocation>\n <grossOffer>0</grossOffer>\n <versionUpdatedLocaltime>string</versionUpdatedLocaltime>\n </version>\n <updatedLocalTime>string</updatedLocalTime>\n <effectiveLocalTime>string</effectiveLocalTime>\n </import>\n <export>\n <transferType>string</transferType>\n <reason>string</reason>\n <atc>0</atc>\n <trmTotal>0</trmTotal>\n <ttc>0</ttc>\n <trmSystem>0</trmSystem>\n <trmAllocation>0</trmAllocation>\n <grossOffer>0</grossOffer>\n <version>\n <reason>string</reason>\n <atc>0</atc>\n <trmTotal>0</trmTotal>\n <ttc>0</ttc>\n <trmSystem>0</trmSystem>\n <trmAllocation>0</trmAllocation>\n <grossOffer>0</grossOffer>\n <versionUpdatedLocaltime>string</versionUpdatedLocaltime>\n </version>\n <updatedLocalTime>string</updatedLocalTime>\n <effectiveLocalTime>string</effectiveLocalTime>\n </export>\n </Allocations>\n </MatlIntertie>\n <SkIntertie>\n <Allocations>\n <flowgate>true</flowgate>\n <date>string</date>\n <he>string</he>\n <import>\n <transferType>string</transferType>\n <reason>string</reason>\n <atc>0</atc>\n <trmTotal>0</trmTotal>\n <ttc>0</ttc>\n <trmSystem>0</trmSystem>\n <trmAllocation>0</trmAllocation>\n <grossOffer>0</grossOffer>\n <version>\n <reason>string</reason>\n <atc>0</atc>\n <trmTotal>0</trmTotal>\n <ttc>0</ttc>\n <trmSystem>0</trmSystem>\n <trmAllocation>0</trmAllocation>\n <grossOffer>0</grossOffer>\n <versionUpdatedLocaltime>string</versionUpdatedLocaltime>\n </version>\n <updatedLocalTime>string</updatedLocalTime>\n <effectiveLocalTime>string</effectiveLocalTime>\n </import>\n <export>\n <transferType>string</transferType>\n <reason>string</reason>\n <atc>0</atc>\n <trmTotal>0</trmTotal>\n <ttc>0</ttc>\n <trmSystem>0</trmSystem>\n <trmAllocation>0</trmAllocation>\n <grossOffer>0</grossOffer>\n <version>\n <reason>string</reason>\n <atc>0</atc>\n <trmTotal>0</trmTotal>\n <ttc>0</ttc>\n <trmSystem>0</trmSystem>\n <trmAllocation>0</trmAllocation>\n <grossOffer>0</grossOffer>\n <versionUpdatedLocaltime>string</versionUpdatedLocaltime>\n </version>\n <updatedLocalTime>string</updatedLocalTime>\n <effectiveLocalTime>string</effectiveLocalTime>\n </export>\n </Allocations>\n </SkIntertie>\n <BcMatlFlowgate>\n <link rel=\"string\" href=\"string\" hreflang=\"string\" media=\"string\" title=\"string\" type=\"string\" deprecation=\"string\" />\n <Allocations>\n <flowgate>true</flowgate>\n <date>string</date>\n <he>string</he>\n <import>\n <transferType>string</transferType>\n <reason>string</reason>\n <atc>0</atc>\n <trmTotal>0</trmTotal>\n <ttc>0</ttc>\n <trmSystem>0</trmSystem>\n <trmAllocation>0</trmAllocation>\n <grossOffer>0</grossOffer>\n <version>\n <reason>string</reason>\n <atc>0</atc>\n <trmTotal>0</trmTotal>\n <ttc>0</ttc>\n <trmSystem>0</trmSystem>\n <trmAllocation>0</trmAllocation>\n <grossOffer>0</grossOffer>\n <versionUpdatedLocaltime>string</versionUpdatedLocaltime>\n </version>\n <updatedLocalTime>string</updatedLocalTime>\n <effectiveLocalTime>string</effectiveLocalTime>\n </import>\n <export>\n <transferType>string</transferType>\n <reason>string</reason>\n <atc>0</atc>\n <trmTotal>0</trmTotal>\n <ttc>0</ttc>\n <trmSystem>0</trmSystem>\n <trmAllocation>0</trmAllocation>\n <grossOffer>0</grossOffer>\n <version>\n <reason>string</reason>\n <atc>0</atc>\n <trmTotal>0</trmTotal>\n <ttc>0</ttc>\n <trmSystem>0</trmSystem>\n <trmAllocation>0</trmAllocation>\n <grossOffer>0</grossOffer>\n <versionUpdatedLocaltime>string</versionUpdatedLocaltime>\n </version>\n <updatedLocalTime>string</updatedLocalTime>\n <effectiveLocalTime>string</effectiveLocalTime>\n </export>\n </Allocations>\n </BcMatlFlowgate>\n <SystemlFlowgate>\n <link rel=\"string\" href=\"string\" hreflang=\"string\" media=\"string\" title=\"string\" type=\"string\" deprecation=\"string\" />\n <Allocations>\n <flowgate>true</flowgate>\n <date>string</date>\n <he>string</he>\n <import>\n <transferType>string</transferType>\n <reason>string</reason>\n <atc>0</atc>\n <trmTotal>0</trmTotal>\n <ttc>0</ttc>\n <trmSystem>0</trmSystem>\n <trmAllocation>0</trmAllocation>\n <grossOffer>0</grossOffer>\n <version>\n <reason>string</reason>\n <atc>0</atc>\n <trmTotal>0</trmTotal>\n <ttc>0</ttc>\n <trmSystem>0</trmSystem>\n <trmAllocation>0</trmAllocation>\n <grossOffer>0</grossOffer>\n <versionUpdatedLocaltime>string</versionUpdatedLocaltime>\n </version>\n <updatedLocalTime>string</updatedLocalTime>\n <effectiveLocalTime>string</effectiveLocalTime>\n </import>\n <export>\n <transferType>string</transferType>\n <reason>string</reason>\n <atc>0</atc>\n <trmTotal>0</trmTotal>\n <ttc>0</ttc>\n <trmSystem>0</trmSystem>\n <trmAllocation>0</trmAllocation>\n <grossOffer>0</grossOffer>\n <version>\n <reason>string</reason>\n <atc>0</atc>\n <trmTotal>0</trmTotal>\n <ttc>0</ttc>\n <trmSystem>0</trmSystem>\n <trmAllocation>0</trmAllocation>\n <grossOffer>0</grossOffer>\n <versionUpdatedLocaltime>string</versionUpdatedLocaltime>\n </version>\n <updatedLocalTime>string</updatedLocalTime>\n <effectiveLocalTime>string</effectiveLocalTime>\n </export>\n </Allocations>\n </SystemlFlowgate>\n</InterchangeReport>"
'400':
description: Bad Request
'401':
description: Unauthorized
'403':
description: Forbidden
'404':
description: Not Found
'405':
description: Invalid method
'500':
description: Internal server error
'503':
description: Service unavailable
parameters:
- name: startDate
in: query
required: true
description: 'Pass any date in history or future with format: yyyyMMdd e.g. 12Aug2020 will be 20200812. Fetches 100 days of data at a time.'
schema:
$ref: '#/components/schemas/InterchangeGetRequest'
- name: endDate
in: query
required: true
description: 'Pass any date equal to or after startDate with format: yyyyMMdd e.g. 12Aug2020 will be 20200812. Fetches 100 days of data at a time.'
schema:
$ref: '#/components/schemas/InterchangeGetRequest-1'
- name: startHE
in: query
required: true
description: "Pass Hour Ending for start of the data \n\n_Available values_ : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24\n\n_Default value_ : 1"
schema:
$ref: '#/components/schemas/InterchangeGetRequest-2'
- name: endHE
in: query
required: true
description: 'Pass HE equal to or more than Start HE
_Available values_ : 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24
_Default value_ : 24'
schema:
$ref: '#/components/schemas/InterchangeGetRequest-3'
- name: version
in: query
required: true
description: 'Pass true, to fetch all the data version changes made since 60mins before the start of the hour till the end of the hour. E.g. For HE11, when Version = true, it will fetch all versions of data from 9am till 11am.<br/>Pass false, to fetch only the latest version of the data at the end of the hour. Data could be Gross Offer, TTC, ATC, TRM_Total, TRM_System, TRM_Allocation or All, based on the selected dataType.
_Default value_ : false'
schema:
$ref: '#/components/schemas/InterchangeGetRequest-4'
- name: dataType
in: query
required: false
description: 'Pass one value. No selection or ''--'' will select all data types by default.
_Available values_ : ATC, TTC, GROSS_OFFER, TRM_SYSTEM, TRM_ALLOCATION, TRM_TOTAL'
schema:
$ref: '#/components/schemas/InterchangeGetRequest-5'
- name: intertieOrFlowgate
in: query
required: false
description: 'Pass one value. No selection or ''--'' will select all interties and flowgates by default.
_Available values_ : BC, SK, MATL, BC_MATL, SYSTEM'
schema:
$ref: '#/components/schemas/InterchangeGetRequest-6'
- name: transferType
in: query
required: false
description: 'Pass one value. No selection or ''--'' will select both transfer types by default.
_Available values_ : IMPORT, EXPORT'
schema:
$ref: '#/components/schemas/InterchangeGetRequest-7'
tags:
- Interchange
components:
schemas:
InterchangeGetRequest-4:
type: boolean
description: Version
default: 'false'
x-apim-inline: true
ITCImportReport:
type: object
properties:
transferType:
type: string
reason:
type: string
atc:
type: number
trmTotal:
type: number
ttc:
type: number
trmSystem:
type: number
trmAllocation:
type: number
grossOffer:
type: number
version:
type: array
items:
$ref: '#/components/schemas/TransferDataVersion'
updatedLocalTime:
type: string
effectiveLocalTime:
type: string
InterchangeGetRequest-2:
maximum: 24
minimum: 1
maxLength: 2
enum:
- '1'
- '2'
- '3'
- '4'
- '5'
- '6'
- '7'
- '8'
- '9'
- '10'
- '11'
- '12'
- '13'
- '14'
- '15'
- '16'
- '17'
- '18'
- '19'
- '20'
- '21'
- '22'
- '23'
- '24'
type: integer
description: HE
default: '1'
x-apim-inline: true
InterchangeGetRequest-3:
maximum: 24
minimum: 1
maxLength: 2
enum:
- '1'
- '2'
- '3'
- '4'
- '5'
- '6'
- '7'
- '8'
- '9'
- '10'
- '11'
- '12'
- '13'
- '14'
- '15'
- '16'
- '17'
- '18'
- '19'
- '20'
- '21'
- '22'
- '23'
- '24'
type: integer
description: HE
default: '24'
x-apim-inline: true
InterchangeGetRequest:
type: string
description: Start date
x-apim-inline: true
InterchangeReport:
type: object
properties:
BcIntertie:
$ref: '#/components/schemas/IntertieTransferReport'
MatlIntertie:
$ref: '#/components/schemas/IntertieTransferReport'
SkIntertie:
$ref: '#/components/schemas/IntertieTransferReport'
BcMatlFlowgate:
$ref: '#/components/schemas/FlowGateTransferReport'
SystemlFlowgate:
$ref: '#/components/schemas/FlowGateTransferReport'
InterchangeGetRequest-5:
enum:
- ATC
- TTC
- GROSS_OFFER
- TRM_SYSTEM
- TRM_ALLOCATION
- TRM_TOTAL
type: string
description: start
x-apim-inline: true
IntertieTransferReport:
type: object
properties:
Allocations:
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/IntertieData'
InterchangeGetRequest-7:
enum:
- IMPORT
- EXPORT
type: string
description: start
x-apim-inline: true
FlowGateTransferReport:
type: object
properties:
links:
type: array
items:
$ref: '#/components/schemas/Link'
xml:
name: link
namespace: http://www.w3.org/2005/Atom
Allocations:
uniqueItems: true
type: array
items:
$ref: '#/components/schemas/IntertieData'
InterchangeGetRequest-6:
enum:
- BC
- SK
- MATL
- BC_MATL
- SYSTEM
type: string
description: start
x-apim-inline: true
TransferDataVersion:
type: object
properties:
reason:
type: string
atc:
type: number
trmTotal:
type: number
ttc:
type: number
trmSystem:
type: number
trmAllocation:
type: number
grossOffer:
type: number
versionUpdatedLocaltime:
type: string
ITCExportReport:
type: object
properties:
transferType:
type: string
reason:
type: string
atc:
type: number
trmTotal:
type: number
ttc:
type: number
trmSystem:
type: number
trmAllocation:
type: number
grossOffer:
type: number
version:
type: array
items:
$ref: '#/components/schemas/TransferDataVersion'
updatedLocalTime:
type: string
effectiveLocalTime:
type: string
Link:
type: object
properties:
rel:
type: string
xml:
attribute: true
href:
type: string
xml:
attribute: true
hreflang:
type: string
xml:
attribute: true
media:
type: string
xml:
attribute: true
title:
type: string
xml:
attribute: true
type:
type: string
xml:
attribute: true
deprecation:
type: string
xml:
attribute: true
InterchangeGetRequest-1:
type: string
description: end
x-apim-inline: true
IntertieData:
type: object
properties:
flowgate:
type: boolean
date:
type: string
he:
type: string
import:
$ref: '#/components/schemas/ITCImportReport'
export:
$ref: '#/components/schemas/ITCExportReport'
securitySchemes:
apiKeyHeader:
type: apiKey
name: API-KEY
in: header
apiKeyQuery:
type: apiKey
name: subscription-key
in: query
x-provenance:
harvestedBy: API Evangelist
harvestedOn: '2026-07-27'
sourcePortal: https://developer-apim.aeso.ca/
method: Assembled verbatim from the AESO Azure API Management developer-portal data API, which is served anonymously. AESO's own OpenAPI export (?export=true&format=openapi) returns a valid document with an EMPTY paths object, so paths, parameters, responses, examples and component schemas were read from the portal's operations/ and schemas/ endpoints and reassembled without alteration. Nothing was invented.
sources:
- url: https://developer-apim.aeso.ca/developer/apis/itc-api-v1?api-version=2022-04-01-preview
status: 200
note: API metadata
- url: https://developer-apim.aeso.ca/developer/apis/itc-api-v1?export=true&format=openapi%2Bjson&api-version=2022-04-01-preview
status: 200
note: AESO OpenAPI export (empty paths) - basis for info/servers/security
- url: https://developer-apim.aeso.ca/developer/apis/itc-api-v1/operations?api-version=2022-04-01-preview
status: 200
note: operation list
- url: https://developer-apim.aeso.ca/developer/apis/itc-api-v1/schemas?api-version=2022-04-01-preview
status: 200
note: schema list
- url: https://developer-apim.aeso.ca/developer/apis/itc-api-v1/operations/getOutages?api-version=2022-04-01-preview
status: 200
note: operation detail
- url: https://developer-apim.aeso.ca/developer/apis/itc-api-v1/operations/getReportByRange?api-version=2022-04-01-preview
status: 200
note: operation detail
- url: https://developer-apim.aeso.ca/developer/apis/itc-api-v1/schemas/675b1b263d594b1e2075ef55?api-version=2022-04-01-preview
status: 200
note: schema document