{"openapi":"3.0.3","info":{"title":"Interac Direct Deposit Registration API","description":"API to obtain Direct Deposit Registration data from Interac","version":"1.0.0"},"servers":[{"url":"https://staging.paydirectnow.com/service/direct-deposit"}],"paths":{"/verify":{"post":{"summary":"Direct deposit registration check","description":"Checks if an email has a direct deposit registration with Interac","requestBody":{"description":"Merchant credentials and email to check","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DirectDepositRegistrationStatusPayload"}}},"required":true},"responses":{"200":{"description":"Data retrieved successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DirectDepositRegistrationStatusResponse"},"examples":{"registered-email":{"summary":"Registered email","value":{"directDepositEnabled":true,"registrationName":"John Doe","consumer":{"firstName":"John","middleName":"Smith","lastName":"Doe","companyName":"Verify Inc.","tradeName":"Verify"}}},"unregistered-email":{"summary":"Unregistered email","value":{"directDepositEnabled":false,"registrationName":"","consumer":{"firstName":"","middleName":"","lastName":"","companyName":"","tradeName":""}}}}}}},"400":{"description":"Invalid request data, or invalid/missing email","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DirectDepositRegistrationStatusError"},"examples":{"error":{"summary":"Error response","value":{"errorCode":"V001","errorMessage":"Invalid request data, or invalid/missing email"}}}}}},"401":{"description":"Invalid credentials","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DirectDepositRegistrationStatusError"},"examples":{"error":{"summary":"Error response","value":{"errorCode":"V002","errorMessage":"Invalid credentials"}}}}}},"500":{"description":"Something somewhere went wrong, please try again","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DirectDepositRegistrationStatusError"},"examples":{"error":{"summary":"Error response","value":{"errorCode":"V003","errorMessage":"Internal server error"}}}}}},"502":{"description":"Downstream service failed (unavailability, etc..)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DirectDepositRegistrationStatusError"},"examples":{"error":{"summary":"Error response","value":{"errorCode":"V004","errorMessage":"Error from downstream service - API call failed"}}}}}},"504":{"description":"Downstream service timed out (delay exhausted, etc)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/DirectDepositRegistrationStatusError"},"examples":{"error":{"summary":"Error response","value":{"errorCode":"V005","errorMessage":"Error from downstream service - API call timed out"}}}}}}}}}},"components":{"schemas":{"DirectDepositRegistrationStatusPayload":{"type":"object","properties":{"merchant_id":{"type":"string","description":"The 8-character Merchant account ID assigned by Paramount.","example":"V0123456"},"merchant_pass":{"type":"string","description":"The processing password assigned to the Merchant by Paramount.","example":"4<z37w4S?famE3f"},"email":{"type":"string","description":"Email to check with Interac.","example":"john.doe@verify.ca"}},"required":["merchant_id","merchant_pass","email"]},"DirectDepositRegistrationStatusResponse":{"type":"object","properties":{"directDepositEnabled":{"type":"boolean","description":"Has this email a direct deposit registered ?","example":true},"registrationName":{"type":"string","description":"Name registered to this email","example":"John Doe"},"consumer":{"$ref":"#/components/schemas/DirectDepositRegistrationConsumerDetails"}}},"DirectDepositRegistrationConsumerDetails":{"type":"object","properties":{"firstName":{"type":"string","example":"John"},"middleName":{"type":"string","example":"Smith"},"lastName":{"type":"string","example":"Doe"},"companyName":{"type":"string","example":"Verify Inc."},"tradeName":{"type":"string","example":"Verify"}}},"DirectDepositRegistrationStatusError":{"type":"object","properties":{"errorCode":{"type":"string","enum":["V001","V002","V003","V004","V005"]},"errorMessage":{"type":"string"}}}}}}