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: "\n \n \n true\n string\n string\n \n string\n string\n 0\n 0\n 0\n 0\n 0\n 0\n \n string\n 0\n 0\n 0\n 0\n 0\n 0\n string\n \n string\n string\n \n \n string\n string\n 0\n 0\n 0\n 0\n 0\n 0\n \n string\n 0\n 0\n 0\n 0\n 0\n 0\n string\n \n string\n string\n \n \n \n \n \n true\n string\n string\n \n string\n string\n 0\n 0\n 0\n 0\n 0\n 0\n \n string\n 0\n 0\n 0\n 0\n 0\n 0\n string\n \n string\n string\n \n \n string\n string\n 0\n 0\n 0\n 0\n 0\n 0\n \n string\n 0\n 0\n 0\n 0\n 0\n 0\n string\n \n string\n string\n \n \n \n \n \n true\n string\n string\n \n string\n string\n 0\n 0\n 0\n 0\n 0\n 0\n \n string\n 0\n 0\n 0\n 0\n 0\n 0\n string\n \n string\n string\n \n \n string\n string\n 0\n 0\n 0\n 0\n 0\n 0\n \n string\n 0\n 0\n 0\n 0\n 0\n 0\n string\n \n string\n string\n \n \n \n \n \n \n true\n string\n string\n \n string\n string\n 0\n 0\n 0\n 0\n 0\n 0\n \n string\n 0\n 0\n 0\n 0\n 0\n 0\n string\n \n string\n string\n \n \n string\n string\n 0\n 0\n 0\n 0\n 0\n 0\n \n string\n 0\n 0\n 0\n 0\n 0\n 0\n string\n \n string\n string\n \n \n \n \n \n \n true\n string\n string\n \n string\n string\n 0\n 0\n 0\n 0\n 0\n 0\n \n string\n 0\n 0\n 0\n 0\n 0\n 0\n string\n \n string\n string\n \n \n string\n string\n 0\n 0\n 0\n 0\n 0\n 0\n \n string\n 0\n 0\n 0\n 0\n 0\n 0\n string\n \n string\n string\n \n \n \n"
'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.
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