{"swagger":"2.0","info":{"version":"1.0.8","title":"Request Copy of Written Statement of Unauthorized Debit (WSUD) API","description":"A Originating Depository Financial Institution (ODFI) wants to send an automated electronic request to the Receiving Depository Financial Institution (RDFI) for a copy of the WSUD which includes details on how to send the copy of the WSUD, and receive back a real time acknowledgement when the request is received. ","contact":{"email":"info@afinis.org","url":"https://www.afinis.org"}},"host":"api.afinis.org","basePath":"/ASIG/Written_Statement_of_Unauthorized_Debit/1.0.0/accounts/v1","securityDefinitions":{"APIKeyQueryParam":{"type":"apiKey","in":"query","name":"apikey"}},"consumes":["application/json"],"produces":["application/json"],"schemes":["https"],"paths":{"/transactions/WSUD":{"post":{"description":"Optional API Version number which will be used to serve the API request.","operationId":"Written Statement of Unauthorized Debit - Request","tags":["Written Statement of Unauthorized Debit (WSUD)"],"summary":"Request a copy of the WSUD","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"apiVersion","in":"header","required":false,"type":"string","format":"string"},{"in":"body","name":"WSUD","required":false,"description":"Allow a FI to input data into the FI contact data base","schema":{"type":"object","required":["initiatingParty","instructingAgent","instructedAgent","originalTransactionReference","WSUDMethod"],"properties":{"messageIdentification":{"type":"string","maxLength":20,"example":"Id_ABC123"},"initiatingParty":{"$ref":"#/definitions/party"},"instructingAgent":{"$ref":"#/definitions/agent"},"instructedAgent":{"$ref":"#/definitions/agent"},"originalTransactionReference":{"$ref":"#/definitions/originalTransactionReference"},"returnTransactionReference":{"$ref":"#/definitions/returnTransactionReference"},"WSUDMethod":{"$ref":"#/definitions/WSUDMethod"}}}}],"responses":{"201":{"description":"Created","schema":{"$ref":"#/definitions/response-201"}},"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":{"party":{"required":["name"],"type":"object","properties":{"name":{"type":"string","maxLength":70,"example":"John Edison"},"identification":{"type":"string","maxLength":35,"example":"PartyId_123456789"},"phoneNumber":{"type":"string","maxLength":30,"example":"+1-302-515-5000"},"emailAddress":{"type":"string","maxLength":2048,"example":"zachary.eastwood@ABCcorp.com"}}},"WSUDMethod":{"type":"object","properties":{"preferredMethod":{"type":"string","enum":["EMAL","FAXI","POST"]},"postalAddress":{"$ref":"#/definitions/postalAddress"},"faxNumber":{"type":"string","maxLength":30,"example":"+1-302-515-7000"},"emailAddress":{"type":"string","maxLength":2048,"example":"zachary.westwood@ABCcorp.com"}}},"agent":{"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","maxLength":35,"example":"061103852"}}},"postalAddress":{"description":"Information that locates and identifies a specific address, as defined by postal services.","type":"object","properties":{"streetName":{"description":"Name of a street or throughfare","type":"string","maxLength":70,"example":"Lexington Street"},"postCode":{"description":"Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail","type":"string","maxLength":11,"example":19801},"townName":{"description":"Name of a built-up area, with defined boundaries, and a local government","type":"string","maxLength":35,"example":"Wilmington"},"countrySubDivision":{"description":"Identifies a subdivision of a country such as state, region, county","type":"string","maxLength":35,"example":"DE"},"country":{"description":"Nation with its own government","type":"string","minLength":2,"maxLength":2,"example":"US"}}},"returnTransactionReference":{"type":"object","properties":{"endToEndIdentification":{"type":"string","maxLength":35,"example":"CBA321"},"entryDate":{"type":"string","maxLength":10,"example":"2019-03-01"}}},"originalTransactionReference":{"type":"object","properties":{"endToEndIdentification":{"type":"string","maxLength":35,"example":"CBA321"},"localInstrument":{"type":"string","minLength":3,"maxLength":3,"example":"WEB"},"amount":{"$ref":"#/definitions/amount"},"creditor":{"$ref":"#/definitions/party"},"debtor":{"$ref":"#/definitions/party"},"debtorAccount":{"type":"string","description":"Identification assigned by an institution","example":"12345678","minLength":1,"maxLength":17}}},"amount":{"description":"Amount of money to be moved between the debtor and creditor, before deduction of charges, expressed in the currency as ordered by the initiating party","type":"object","required":["amount","currency"],"properties":{"amount":{"type":"number","format":"float","example":1.01,"maxLength":11},"currency":{"type":"string","example":"USD","enum":["USD"]}}},"response-201":{"title":"Response","type":"object","description":"201 - Created","properties":{"received":{"$ref":"#/definitions/received"},"sent":{"$ref":"#/definitions/sent"},"unableToComply":{"$ref":"#/definitions/unableToComply"}}},"received":{"title":"Received","type":"object","description":"Information sent for Received statuses","required":["amount","returnTransactionReference"],"properties":{"message":{"example":"Received","type":"string","enum":["Received"]},"originalMessageIdentification":{"type":"string","maxLength":20,"example":"Id_ABC123"},"amount":{"$ref":"#/definitions/amount"},"returnTransactionReference":{"$ref":"#/definitions/returnTransactionReference"},"initiatingParty":{"$ref":"#/definitions/party"},"notificationDate":{"type":"string","description":"Start date of the range","example":"2020-04-29","minLength":10,"maxLength":10},"notificationTime":{"type":"string","description":"Start date of the range","example":"20:30","minLength":5}}},"sent":{"title":"Sent","type":"object","description":"Information sent for Sent statuses","required":["amount","returnTransactionReference"],"properties":{"message":{"example":"Sent","type":"string","enum":["Sent"]},"originalMessageIdentification":{"type":"string","maxLength":20,"example":"Id_ABC123"},"amount":{"$ref":"#/definitions/amount"},"returnTransactionReference":{"$ref":"#/definitions/returnTransactionReference"},"initiatingParty":{"$ref":"#/definitions/party"},"notificationDate":{"type":"string","description":"Start date of the range","example":"2020-04-29","minLength":10,"maxLength":10},"notificationTime":{"type":"string","description":"Start date of the range","example":"20:30","minLength":5},"WSUDMethod":{"$ref":"#/definitions/WSUDMethod"}}},"unableToComply":{"title":"Unable to Comply","description":"Information sent for Unable to Comply statuses","type":"object","required":["amount","returnTransactionReference"],"properties":{"message":{"example":"Unable to Comply","type":"string","enum":["Unable to Comply"]},"originalMessageIdentification":{"type":"string","maxLength":20,"example":"Id_ABC123"},"amount":{"$ref":"#/definitions/amount"},"returnTransactionReference":{"$ref":"#/definitions/returnTransactionReference"},"initiatingParty":{"$ref":"#/definitions/party"},"notificationDate":{"type":"string","description":"Start date of the range","example":"2020-04-29","minLength":10,"maxLength":10},"notificationTime":{"type":"string","description":"Start date of the range","example":"20:30","minLength":5}}},"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"}}}}}