TD Bank Consent API

TD Open Banking Consent API implements the FDX consent model — fetching consent details for a consumer, revoking consents, and retrieving consent revocation records. Explicit consumer consent is the gating mechanism for every Data API call.

TD Bank Consent API is one of 14 APIs that TD Bank publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include Consent, FDX, and Open Banking. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

td-bank-consent-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: TD Bank Consent API
  description: >-
    TD Open Banking Consent API. Implements the FDX consent model — fetch
    consent details for a consumer, revoke consent, and retrieve consent
    revocation records. Every Data API call is gated by an active consent.
  version: '1.0.0'
  contact:
    name: TD Open Banking Developer Support
    url: https://developer.td.com
externalDocs:
  description: Consent Flow Guide
  url: https://docs.pat.openbanking.amcb.developer.td.com/guides/consent-flow
servers:
  - url: https://api.openbanking.amcb.developer.td.com/consent/v1
    description: Production
  - url: https://api.openbanking.amcb.developer.td.com/sandbox/consent/v1
    description: Sandbox
tags:
  - name: Consents
security:
  - oauth2: []
paths:
  /consents/{consentId}:
    get:
      operationId: getConsent
      summary: Get Consent Details
      tags: [Consents]
      parameters:
        - name: consentId
          in: path
          required: true
          schema: { type: string }
      responses:
        '200':
          description: Consent detail
          content:
            application/json:
              schema: { $ref: '#/components/schemas/Consent' }
    delete:
      operationId: revokeConsent
      summary: Revoke Consent
      tags: [Consents]
      parameters:
        - name: consentId
          in: path
          required: true
          schema: { type: string }
      responses:
        '204':
          description: Revoked
  /consent-revocations:
    get:
      operationId: listConsentRevocations
      summary: List Consent Revocations
      tags: [Consents]
      responses:
        '200':
          description: Revocations
          content:
            application/json:
              schema:
                type: object
                properties:
                  revocations:
                    type: array
                    items: { $ref: '#/components/schemas/ConsentRevocation' }
components:
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://api.openbanking.amcb.developer.td.com/oauth/v1/authorize
          tokenUrl: https://api.openbanking.amcb.developer.td.com/oauth/v1/token
          scopes:
            consents_manage: Manage consents
  schemas:
    Consent:
      type: object
      required: [consentId, status]
      properties:
        consentId: { type: string }
        status: { type: string, enum: [ACTIVE, REVOKED, EXPIRED] }
        durationType: { type: string }
        durationPeriod: { type: integer }
        grantedAt: { type: string, format: date-time }
        expiresAt: { type: string, format: date-time }
        resources:
          type: array
          items:
            type: object
            properties:
              resourceType: { type: string }
              accountId: { type: string }
              dataClusters:
                type: array
                items: { type: string }
    ConsentRevocation:
      type: object
      properties:
        consentId: { type: string }
        revokedAt: { type: string, format: date-time }
        initiator: { type: string, enum: [CONSUMER, DATA_PROVIDER, DATA_RECIPIENT] }
        reason: { type: string }