Afinis Account Validation Plus Ownership (Name) API

Afinis Account Validation Plus Ownership API validating account status together with account-owner name/ownership for confirmation-of-payee style checks.

OpenAPI Specification

nacha-account-validation-plus-name.json Raw ↑
{"swagger":"2.0","info":{"version":"1.1.0","title":"Account Validation Plus Ownership API","description":"Afinis is a diverse group of organizations working to support advancement and use of API standardization in the financial services industry. Utilization of this API requires a developer to [register](https://www.afinis.org/user/register) their application."},"host":"api.asig.org","basePath":"/afinis/accounts/aavplus/v1","securityDefinitions":{"APIKeyQueryParam":{"type":"apiKey","in":"query","name":"apikey"}},"schemes":["https"],"consumes":["application/json"],"produces":["application/json"],"paths":{"/validate":{"post":{"summary":"Account eligibility for debit ACH transactions","tags":["Accounts"],"operationId":"validateAccount","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"apiVersion","in":"header","required":false,"type":"string","format":"string"},{"name":"Request_Id","in":"header","required":false,"type":"string","format":"uuid","description":"Optional Request ID allows application developer to trace requests through the systems logs"},{"in":"body","name":"Account_Validation_Plus_Ownership","required":false,"description":"Account to be validated","schema":{"type":"object","required":["debtorAccount","debtorAgent","associatedName"],"properties":{"debtorAccount":{"$ref":"#/definitions/debtorAccount"},"debtorAgent":{"$ref":"#/definitions/debtorAgent"},"associatedName":{"$ref":"#/definitions/associatedName"},"cashAccountType":{"type":"string","default":"Current","enum":["Current","Savings"]}}}}],"responses":{"200":{"description":"Valid account request","schema":{"$ref":"#/definitions/response-200"}},"400":{"description":"Bad request","schema":{"$ref":"#/definitions/error-400"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/error-401"}},"403":{"description":"Forbidden","schema":{"$ref":"#/definitions/error-403"}},"404":{"description":"Not Found","schema":{"$ref":"#/definitions/error-404"}},"405":{"description":"Method Not Allowed","schema":{"$ref":"#/definitions/error-405"}},"406":{"description":"Not Acceptable","schema":{"$ref":"#/definitions/error-406"}},"415":{"description":"Unsupported Media Type","schema":{"$ref":"#/definitions/error-415"}},"500":{"description":"Internal Server error","schema":{"$ref":"#/definitions/error-500"}},"503":{"description":"Service Unavailable","schema":{"$ref":"#/definitions/error-503"}}},"security":[{"APIKeyQueryParam":[]}]}}},"definitions":{"debtorAgent":{"description":"Identification of a financial institution.","type":"object","required":["clearingSystemIdentification","memberIdentification"],"properties":{"clearingSystemIdentification":{"type":"string","example":"USABA","enum":["USABA"],"description":"Specification of a pre-agreed offering between clearing agents or the channel through which the payment instruction is processed: \n * `USABA` - Routing Transit number assigned by the ABA for US financial Institutions. \n"},"memberIdentification":{"type":"string","minLength":1,"maxLength":35,"example":"121000358"}}},"debtorAccount":{"title":"Account","type":"object","required":["identification"],"properties":{"identification":{"description":"Account number being verified","example":"3358700016","minLength":1,"maxLength":34}}},"associatedName":{"title":"AssociatedName","type":"object","description":"Party that legally owns the account.","properties":{"surname":{"description":"Surname is a name added to a given name and is part of a personal name. In many cases, a surname is a family name","example":"CANADY","type":"string","minLength":1,"maxLength":32},"givenName":{"description":"Name given at birth","example":"JAYSON","type":"string","minLength":1,"maxLength":32}}},"statusReasonInformation":{"title":"StatusReasonInformation","type":"object","properties":{"reason":{"description":"Specifies the reason","example":"10000","type":"string","minLength":1,"maxLength":35},"additionalInformation":{"description":"Further details on the status reason","example":"No history found","type":"string","minLength":1,"maxLength":105}}},"response-200":{"title":"Response","type":"object","description":"200 - OK","properties":{"accountStatus":{"type":"string","description":"Status of account being validated","example":"Enabled","enum":["Enabled","Unable to Locate","Disabled"]},"associatedNameMatch":{"type":"object","required":["surnameMatch","givenNameMatch"],"properties":{"surnameMatch":{"example":true,"type":"string","enum":[true,false,"NO_DATA_AVAILABLE","NO_MATCH_REQUESTED"]},"givenNameMatch":{"example":true,"type":"string","enum":[true,false,"NO_DATA_AVAILABLE","NO_MATCH_REQUESTED"]}}},"statusReasonInformation":{"$ref":"#/definitions/statusReasonInformation"},"associatedName":{"$ref":"#/definitions/associatedName"},"debtorAccount":{"$ref":"#/definitions/debtorAccount"},"debtorAgent":{"$ref":"#/definitions/debtorAgent"}}},"error-400":{"title":"Error 400 - Bad Request","description":"The request could not be understood or required parameters were missing","type":"object","properties":{"details":{"description":"error details","type":"array","items":{"$ref":"#/definitions/errorDetails-400"}}}},"errorDetails-400":{"title":"Error 400 - Bad Request - Details","type":"object","properties":{"errorCode":{"description":"A programmatic error code:\n  * `2000` - Invalid JSON structure.\n  * `2001` - '[Field name] is missing or invalid.'\n  * `2002` - Invalid date.\n  * `2003` - Invalid combination of fields submitted. Check the API specification for eligible combinations. \n  * `2004` - '[Field name] cannot be more than [max number] characters.'\n","example":2000,"type":"number","enum":[2000,2001,2002,2003,2004]},"message":{"description":"A human readable description of the problem","example":"Invalid JSON structure.","type":"string"}}},"error-401":{"title":"Error 401 - Unauthorized","description":"Authentication failed or user doesn’t have permissions for requested operation","type":"object","properties":{"details":{"description":"error details","type":"array","items":{"$ref":"#/definitions/errorDetails-401"}}}},"errorDetails-401":{"title":"Error 401 - Unauthorized - Details","type":"object","properties":{"errorCode":{"example":1000,"type":"number","enum":[1000,1001],"description":"A programmatic error code:\n  * `1000` - API key is missing, invalid or expired. \n  * `1001` - API token is invalid, expired, or account associated with key does not have access to that API.\n"},"message":{"description":"A human readable description of the problem","example":"API key is missing, invalid or expired.","type":"string"}},"required":["errorcode","message"]},"error-403":{"title":"Error 403 - Forbidden","description":"The client does not have access rights to the content; that is, it is unauthorized, so the server is refusing to give the requested resource. Unlike 401, the client's identity is known to the server.","type":"object","required":["errorCode","message"],"properties":{"errorCode":{"example":403,"type":"number","enum":[403],"description":"A programmatic error code:\n  * `403` - Forbidden\n"},"message":{"description":"A human readable description of the problem","example":"Forbidden","type":"string"}}},"error-404":{"title":"Error 404 - Not Found","description":"Resource was not found.","type":"object","required":["errorCode","message"],"properties":{"errorCode":{"example":404,"type":"number","enum":[404],"description":"A programmatic error code:\n  * `404` - Resource was not found.\n"},"message":{"description":"A human readable description of the problem","example":"Resource was not found.","type":"string"}}},"error-405":{"title":"Error 405 - Method Not Allowed","description":"The request method is known by the server but has been disabled and cannot be used.","type":"object","required":["errorCode","message"],"properties":{"errorCode":{"example":405,"type":"number","enum":[405],"description":"A programmatic error code:\n  * `405` - Method Not Allowed\n"},"message":{"description":"A human readable description of the problem","example":"Method Not Allowed","type":"string"}}},"error-406":{"title":"Error 406 - Not Acceptable","description":"Web server doesn't find any content that conforms to the criteria given by the user agent.","type":"object","required":["errorCode","message"],"properties":{"errorCode":{"example":406,"type":"number","enum":[406],"description":"A programmatic error code:\n  * `406` - Not Acceptable\n"},"message":{"description":"A human readable description of the problem","example":"Not Acceptable","type":"string"}}},"error-415":{"title":"Error 415 - Unsupported Media Type","description":"The media format of the requested data is not supported by the server, so the server is rejecting the request.","type":"object","required":["errorCode","message"],"properties":{"errorCode":{"example":415,"type":"number","enum":[415],"description":"A programmatic error code:\n  * `415` - Unsupported Media Type\n"},"message":{"description":"A human readable description of the problem","example":"Unsupported Media Type","type":"string"}}},"error-500":{"title":"Internal Server Error","description":"500 - Internal Server Error","type":"object","required":["details"],"properties":{"details":{"description":"error details","type":"array","items":{"$ref":"#/definitions/internalServerErrorDetails"}}}},"internalServerErrorDetails":{"title":"Internal Server Error Details","type":"object","required":["errorCode","message"],"properties":{"errorCode":{"example":3001,"type":"number","enum":[3001],"description":"A programmatic error code:\n  * `3001` - Internal Server error.\n"},"message":{"description":"A human readable description of the problem","example":"Internal Server error","type":"string"}}},"error-503":{"title":"Error 503 - Service Unavailable","description":"Service is temporarily unavailable","type":"object","required":["errorCode","message"],"properties":{"errorCode":{"example":503,"type":"number","enum":[503],"description":"A programmatic error code:\n  * `503` - Service Unavailable\n"},"message":{"description":"A human readable description of the problem","example":"Service is temporarily unavailable.","type":"string"}}}}}