FIF Extracts API

Financial Institutions File (FIF) extracts API returning master and weekly updated extract data for Canadian financial institutions. Registered-user access via the developer portal.

OpenAPI Specification

fif-extracts-api-openapi.yml Raw ↑
swagger: '2.0'
info:
  description: Api to retrieve branch extract data.  This is the same data previously provided by the weekly extract files from FIF.
  version: '1.0'
  title: FIF Output API
host: api.payments.ca
basePath: /fif-extracts
tags:
  - name: fif-extracts-resource
    description: Fif Extracts Resource
schemes:
  - https
securityDefinitions:
  Bearer:
    type: apiKey
    name: Authorization
    in: header
paths:
  /extracts/master:
    get:
      security:
        - Bearer: []    
      tags:
        - fif-extracts-resource
      summary: Get the master extract. Defaults to last completed cycle unless specific date in 'asAtDate' parameter
      operationId: getMaster
      produces:
        - application/vnd.fif.api.v1+json
        - application/vnd.fif.api.v1+text
      parameters:
        - name: asAtDate
          in: query
          description: 'Retrieve the extract record(s) in effective as at this date (yyyy-MM-dd). If not provided, then the effective date from latest completed cycle is used.'
          required: false
          type: string
          format: date-time
          allowEmptyValue: false
        - name: limit
          in: query
          description: limit
          required: false
          type: integer
          format: int32
      responses:
        '200':
          description: OK
          schema:
            type: array
            items:
              $ref: '#/definitions/MasterRecord'
        '400':
          description: Date parameter is not formatted correctly or is invalid.
        '401':
          description: Unauthorized User (Please check the access token).  
        '404':
          description: provided date is not found
        '406':
          description: Not Acceptable. Possible explanation Accept header is not correct.
        '500':
          description: Internal Server Error (E.g. Quota Violation)
      deprecated: false
  /extracts/updated:
    get:
      security:
        - Bearer: []    
      tags:
        - fif-extracts-resource
      summary: Get the updated branches from the extracts for a given asAtDate range between the 'startDate' and 'endDate'
      description: 'The ''startDate'' and ''endDate'' are optional. When not provided, default values will be used, resulting in updated branches from the latest completed cycle being returned. The range is inclusive, meaning an effective date equal to the ''startDate'' or ''endDate'' will be included.'
      operationId: getUpdate
      produces:
        - application/vnd.fif.api.v1+json
        - application/vnd.fif.api.v1+text
      parameters:
        - name: endDate
          in: query
          description: 'End of effective date range (yyyy-MM-dd). If not provided, then the effective date from the latest completed cycle is used'
          required: false
          type: string
          format: date-time
          allowEmptyValue: false
        - name: startDate
          in: query
          description: 'Start of effective date range (yyyy-MM-dd). If not provided, then the effective date from the latest completed cycle is used'
          required: false
          type: string
          format: date-time
          allowEmptyValue: false
      responses:
        '200':
          description: OK
          schema:
            type: array
            items:
              $ref: '#/definitions/UpdatesRecord'
        '400':
          description: Date parameter is not formatted correctly or is invalid.
        '401':
          description: Unauthorized User (Please check the access token).  
        '404':
          description: updated extract file is not found
        '406':
          description: Not Acceptable. Possible explanation Accept header is not correct.
        '500':
          description: Internal Server Error (E.g. Quota Violation)
      deprecated: false
definitions:
  MasterRecord:
    type: object
    properties:
      branchClassification:
        type: string
        description: This field identifies the type of branch.
      branchDomicile:
        type: string
        description: 'To identify the commonly known name of the branch within a particular Town/City, e.g. Main and First Branch, or, as it would appear on a cheque.'
      civicAddress:
        type: string
        description: To identify the street address of the branch.
      crossReferenceNumber:
        type: string
        description: 'When a branch is being closed, a Cross-Reference should be input in order that credit and debit items destined for that branch may be re-routed to an open branch. Also, for all sub-branches (02, 03, 05, 12, 13, 15, 22 or 25), it is mandatory that the parent branch be identified in the Cross- Reference field.'
      effectiveDate:
        type: string
        description: This field identifies the date when the input is in effect.
      englishInstitutionName:
        type: string
        description: To identify the English version of the name of the financial institution.
      exchangePoint:
        type: string
        description: To indicate where payment instructions (tape and/or bulk paper) are to be exchanged.
      frenchInstitutionName:
        type: string
        description: To identify the French version of the name of the institution.
      identificationNumber:
        type: string
        description: 'Direct Payment Routing Numbers - To identify the branch of the institution,'
      indirectCreditsAcctNumber:
        type: string
        description: This field identifies the Branch Number and Account Number of a Direct Clearer where an Indirect Clearer maintains an account for effecting credit payments.
      indirectCreditsBranchIDNumber:
        type: string
        description: This field identifies the Branch Number and Account Number of a Direct Clearer where an Indirect Clearer maintains an account for effecting credit payments.
      indirectMICRAcctNumber:
        type: string
        description: 'This field identifies the Institution Account Number of a Direct Clearer for the purpose of Magnetic Ink Character Recognition (MICR) encoding debit vouchers that are being drawn on Indirect Clearers.  '
      indirectMICRBranchIDNumber:
        type: string
        description: This field identifies the Institution Branch of a Direct Clearer for the purpose of Magnetic Ink Character Recognition (MICR) encoding debit vouchers that are being drawn on Indirect Clearers.
      languageCode:
        type: string
        description: To identify the working language of the branch.
      postalAddress:
        type: string
        description: To identify the postal address of the branch.
      postalCode:
        type: string
        description: |-
          To identify the postal code of the branch office.
          The postal code to be entered in this field is the code identified with the postal address. Postal Codes may be obtained from the Directory of Postal Codes Published by Canada Post.
      provinceCode:
        type: string
        description: To identify the province in which the branch is located.
      servicabilityCode:
        type: string
        description: To indicate the lead time required to deliver credit items on paper from the exchange point designated in the Exchange Point No. to the branch.
      status:
        type: string
        description: 'Indicates status of a branch, whether opened, closed, or requiring a Cross-Reference.'
      townCity:
        type: string
        description: To identify the town or city in which the branch is located.
    title: MasterRecord
  UpdatesRecord:
    type: object
    properties:
      branchClassification:
        $ref: '#/definitions/ValueFlag'
      branchDomicile:
        $ref: '#/definitions/ValueFlag'
      civicAddress:
        $ref: '#/definitions/ValueFlag'
      crossReferenceNumber:
        $ref: '#/definitions/ValueFlag'
      effectiveDate:
        $ref: '#/definitions/ValueFlag'
      englishInstitutionName:
        $ref: '#/definitions/ValueFlag'
      exchangePoint:
        $ref: '#/definitions/ValueFlag'
      frenchInstitutionName:
        $ref: '#/definitions/ValueFlag'
      identificationNumber:
        $ref: '#/definitions/ValueFlag'
      indirectCreditsAcctNumber:
        $ref: '#/definitions/ValueFlag'
      indirectCreditsBranchIDNumber:
        $ref: '#/definitions/ValueFlag'
      indirectMICRAcctNumber:
        $ref: '#/definitions/ValueFlag'
      indirectMICRBranchIDNumber:
        $ref: '#/definitions/ValueFlag'
      languageCode:
        $ref: '#/definitions/ValueFlag'
      postalAddress:
        $ref: '#/definitions/ValueFlag'
      postalCode:
        $ref: '#/definitions/ValueFlag'
      provinceCode:
        $ref: '#/definitions/ValueFlag'
      servicabilityCode:
        $ref: '#/definitions/ValueFlag'
      status:
        $ref: '#/definitions/ValueFlag'
      townCity:
        $ref: '#/definitions/ValueFlag'
      transactionCode:
        type: string
    title: UpdatesRecord
  ValueFlag:
    type: object
    properties:
      changed:
        type: boolean
      value:
        type: string
    title: ValueFlag