openapi: 3.0.0 info: title: Portfolio+ Open Banking Platform description: >- [Application Programming Interface (API) to Strategic Information Technology's, Portfolio+ suite of functionality](https://www.portfolioplus.com/banking_software/open_banking_platform.htm)

When utilizing endpoints that contain string Path Parameters, please ensure that any special characters that are used are correctly escaped as defined in this [standard](https://secure.n-able.com/webhelp/NC_9-1-0_SO_en/Content/SA_docs/API_Level_Integration/API_Integration_URLEncoding.html). version: 2.0.0 servers: - url: '{scheme}://{host}:{port}/{app}/web' variables: scheme: enum: - http - https default: http host: default: localhost port: default: '9000' app: default: obp security: - basicAuth: [] - oauthDebug: [] - oauth: - PSCUser tags: - name: System Admin Lookups description: API endpoints available for getting system admin lookup tables - name: System Checklist Types description: API endpoints available for checklist types and their default text - name: System AML Categories description: API endpoints available for maintaining AML categories - name: System Date Validation description: API endpoints available for date relative functions - name: System Passwords description: API endpoints available for managing passwords - name: Document Search description: API Endpoints for searching and previewing documents - name: Generated Keys description: API Endpoints for System Generated Keys paths: /System/Documents: options: tags: - Document Search responses: 204: $ref: '#/components/responses/204OptionsResponse' post: parameters: - name: Company description: This is the target company's code. If not provided, the default OBP company will be used. The /System/Companies endpoint from the System Admin specification can be used to find an available value for this path parameter. in: query schema: type: string summary: Search for Documents on provided criteria description: When provided a set of search criteria, will return a list of documents that match. Search properties that are not recognized will be ignored. Depending on the particular file management system in use, some properties may be required. tags: - Document Search operationId: DocumentSearch requestBody: content: application/json: schema: description: Document metadata properties to search for within a document management system type: object additionalProperties: description: Allowed data types for document meta data anyOf: - type: string - type: integer - type: boolean example: SubSystem: ci InstrumentNumber: 100 responses: 200: description: Some documents were found, based on the given search criteria content: application/json: schema: type: array items: type: object properties: FileName: type: string FileType: type: string description: MIME-type of the file UniqueID: type: string PreviewID: type: string description: May or may not differ from UniqueID, depending on if ID conventions are URL-safe or not example: - FileName: document.pdf FileType: application/pdf UniqueID: CL189ADD8 PreviewID: CL189ADD8 400: $ref: '#/components/responses/400InvalidSyntax' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Notauthorized' 404: $ref: '#/components/responses/404ResourceNotFound' 500: $ref: '#/components/responses/500BackendError' /System/Documents/{FileID}: parameters: - name: FileID in: path description: The Unique ID of the desired document to be retrieved for viewing. It should correspond to a `PreviewID` from the `POST /System/Documents` endpoint required: true schema: type: string options: tags: - Document Search responses: 204: $ref: '#/components/responses/204OptionsResponse' get: parameters: - name: Company description: This is the target company's code. If not provided, the default OBP company will be used. The /System/Companies endpoint from the System Admin specification can be used to find an available value for this path parameter. in: query schema: type: string summary: Retrieve a searched-for document for viewing. description: This endpoint uses the `PreviewID` from a previous `POST /System/Documents` call to retrieve a particular file for viewing. tags: - Document Search operationId: DocumentPreview responses: 200: description: Search Successful content: application/json: schema: $ref: "OBPCommon.yaml#/components/schemas/DocumentType" 400: $ref: '#/components/responses/400InvalidSyntax' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Notauthorized' 404: $ref: '#/components/responses/404ResourceNotFound' 500: $ref: '#/components/responses/500BackendError' /System/Passwords: options: tags: - System Passwords responses: 204: $ref: '#/components/responses/204OptionsResponse' get: summary: Retrieve password rules description: Retrieves the criteria that must be satisfied in order to successfully set a password. Includes a human-readable summary that may be displayed in an application tags: - System Passwords operationId: GetPasswordRules responses: 200: description: Password Rules Retrieved content: application/json: schema: $ref: '#/components/schemas/PasswordRuleSet' 400: $ref: '#/components/responses/400InvalidSyntax' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Notauthorized' 404: $ref: '#/components/responses/404ResourceNotFound' 500: $ref: '#/components/responses/500BackendError' put: summary: Update password rules description: Updates the criteria that must be satisfied in order for a password to be successfully set. Unchanged values must be provided, as the entire rule set is replaced. tags: - System Passwords operationId: UpdatePasswordRules requestBody: content: application/json: schema: allOf: - $ref: '#/components/schemas/PasswordRuleSet' - required: - LowerCaseRequired - UpperCaseRequired - NumberRequired - MinimumLength - MaximumLength - Summary responses: 204: $ref: '#/components/responses/204NoContent' 400: $ref: '#/components/responses/400InvalidSyntax' 401: $ref: '#/components/responses/401Unauthorized' 403: $ref: '#/components/responses/403Notauthorized' 404: $ref: '#/components/responses/404ResourceNotFound' 500: $ref: '#/components/responses/500BackendError' '/System/Relationships': options: tags: - System Admin Lookups responses: '204': $ref: '#/components/responses/204OptionsResponse' get: summary: Query Connected Relationships description: Retrieve a list of connected relationships. tags: - System Admin Lookups parameters: - name: RelationshipCode description: When a relationship code is entered, the connected relationship is returned in: query schema: type: string operationId: GetRelationshipList responses: '200': description: Relationships were retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/Relationship' example: - Code: S Description: Spouse - Code: F Description: Friend '400': $ref: '#/components/responses/400InvalidSyntax' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Notauthorized' '500': $ref: '#/components/responses/500BackendError' '/System/Countries': options: tags: - System Admin Lookups responses: '204': $ref: '#/components/responses/204OptionsResponse' get: summary: Query all countries description: Retrieve a list of countries from Portfolio+. tags: - System Admin Lookups parameters: - name: CountryCode description: When a country code is entered, the country name is returned. in: query schema: type: string operationId: GetCountryList responses: '200': description: Countries were retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/Country' '400': $ref: '#/components/responses/400InvalidSyntax' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Notauthorized' '404': $ref: '#/components/responses/404ResourceNotFound' '500': $ref: '#/components/responses/500BackendError' '/System/Counties': options: tags: - System Admin Lookups responses: '204': $ref: '#/components/responses/204OptionsResponse' get: summary: Query Counties description: Retrieve a complete list of Counties that have been setup in Portfolio+. tags: - System Admin Lookups parameters: - name: CountyCode description: When a county code is entered, county name is returned. in: query schema: type: string operationId: GetCountyList responses: '200': description: Counties were retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/County' '400': $ref: '#/components/responses/400InvalidSyntax' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Notauthorized' '404': $ref: '#/components/responses/404ResourceNotFound' '500': $ref: '#/components/responses/500BackendError' '/System/AddressUnitTypes': options: tags: - System Admin Lookups responses: '204': $ref: '#/components/responses/204OptionsResponse' get: summary: Query Address Unit Types description: Retrieves a complete list of Address Unit Types that are setup in Portfolio+. tags: - System Admin Lookups parameters: - name: UnitTypeCode description: When an address unit type code is entered, the description is returned. in: query schema: type: string operationId: GetAddressUnitTypeList responses: '200': description: Unit Types of Address were retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/AddressUnitType' '400': $ref: '#/components/responses/400InvalidSyntax' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Notauthorized' '500': $ref: '#/components/responses/500BackendError' '/System/DocumentCategories': options: tags: - System Admin Lookups responses: '204': $ref: '#/components/responses/204OptionsResponse' get: summary: Query Document Category Codes description: Retrieve a complete list of Document Category Codes and their Descriptions that have been setup in Portfolio+ tags: - System Admin Lookups parameters: - name: CategoryCode description: When a category is entered, the document description is returned. in: query schema: type: string operationId: GetCategoryList responses: '200': description: Document Category Code(s) were retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/DocumentCategory' '400': $ref: '#/components/responses/400InvalidSyntax' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Notauthorized' '404': $ref: '#/components/responses/404ResourceNotFound' '500': $ref: '#/components/responses/500BackendError' '/System/DocumentCategories/{CategoryCode}': parameters: - $ref: '#/components/parameters/CategoryCodePathParameter' options: tags: - System Admin Lookups responses: '204': $ref: '#/components/responses/204OptionsResponse' get: summary: Query File Type Details description: Retrieve the File Types associated to a specific Document Category Code that is setup in Portfolio+. tags: - System Admin Lookups operationId: GetAllowedDocumentTypes responses: '200': description: Document Category Detail(s) were retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/DocumentCategoryDetails' '400': $ref: '#/components/responses/400InvalidSyntax' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Notauthorized' '404': $ref: '#/components/responses/404ResourceNotFound' '500': $ref: '#/components/responses/500BackendError' '/System/ValidateBusinessDate': options: tags: - System Date Validation responses: '204': $ref: '#/components/responses/204OptionsResponse' get: summary: Check if Requested Date is a Business Date description: >- Checks the date against the system calendar to validate that it is a business date. If it is not a business date then return the next business date and what the requested date's type is. tags: - System Date Validation parameters: - $ref: '#/components/parameters/CompanyQueryParameter' - name: Date in: query required: true schema: type: string format: date-time description: Format is yyyy-mm-dd - name: Type in: query required: true schema: type: string enum: - F - B description: > Method of determining how to advance the business date: * 'F' - Advance the business date forward if the requested date falls on a non-working day * 'B' - Advance the business date backward if the requested date falls on a non-working day operationId: GetValidBusinessDate responses: '200': description: Business Date retrieved content: application/json: schema: $ref: '#/components/schemas/BusinessDate' '400': $ref: '#/components/responses/400InvalidSyntax' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Notauthorized' '500': $ref: '#/components/responses/500BackendError' '/System/Companies': options: tags: - System Admin Lookups responses: '204': $ref: '#/components/responses/204OptionsResponse' get: parameters: - name: Default in: query description: > When this parameter is sent, regardless of its value, will return a detailed response for the default company. The response object's schema matches that of the `/System/Companies/{Company}` endpoint. schema: type: string summary: Query Companies description: Retrieves a list of all companies set up in Portfolio+. tags: - System Admin Lookups operationId: GetCompanies responses: '200': description: Companies were retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/GeneralCompany' '400': $ref: '#/components/responses/400InvalidSyntax' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Notauthorized' '404': $ref: '#/components/responses/404ResourceNotFound' '500': $ref: '#/components/responses/500BackendError' '/System/Companies/{Company}': parameters: - $ref: '#/components/parameters/CompanyPathParameter' options: tags: - System Admin Lookups responses: '204': $ref: '#/components/responses/204OptionsResponse' get: summary: Query Detailed Company Information description: Retrieves detailed information for a specific company. tags: - System Admin Lookups operationId: GetCompany responses: '200': description: Company was retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/DetailedCompany' '400': $ref: '#/components/responses/400InvalidSyntax' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Notauthorized' '404': $ref: '#/components/responses/404ResourceNotFound' '500': $ref: '#/components/responses/500BackendError' '/System/SecurityQuestions': options: tags: - System Admin Lookups responses: '204': $ref: '#/components/responses/204OptionsResponse' get: summary: Query System Available Security Questions description: Retrieve an array of Security Questions. The endpoint returns two properties for each question returned, the numeric identifier of the question, and the question itself. Optionally, the question number can be passed in the query string to only retrieve that particular question. parameters: - name: QuestionNumber in: query description: Filter response to retrieve a particular Security Question schema: type: integer tags: - System Admin Lookups operationId: GetSecurityQuestions responses: '200': description: Security Questions were retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/SecurityQuestion' '400': $ref: '#/components/responses/400InvalidSyntax' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Notauthorized' '404': $ref: '#/components/responses/404ResourceNotFound' '500': $ref: '#/components/responses/500BackendError' '/System/Alerts/{Company}': parameters: - $ref: '#/components/parameters/CompanyPathParameter' options: tags: - System Admin Lookups responses: '204': $ref: '#/components/responses/204OptionsResponse' get: summary: Query Available System Alerts description: Retrieve a list of system alerts. These alerts are automatically triggered when certain criteria are met. tags: - System Admin Lookups operationId: GetSystemAlerts parameters: - name: AlertCategory in: query description: When sent, only alerts related to web banking are returned schema: type: string enum: - Web required: false responses: '200': description: System Alerts were retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/SystemAlert' '400': $ref: '#/components/responses/400InvalidSyntax' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Notauthorized' '404': $ref: '#/components/responses/404ResourceNotFound' '500': $ref: '#/components/responses/500BackendError' '/System/ChecklistTypes/Client': options: tags: - System Checklist Types responses: '204': $ref: '#/components/responses/204OptionsResponse' get: summary: Query Client Subsystem Checklists Types description: Retrieve checklist types from the Client subsystem that have been setup in Portfolio+. tags: - System Checklist Types parameters: - name: AlertFlag description: > Optional parameter to filter Alerts based on the Alert Flag. If left blank, all checklists are returned. * True - only checklists that have Alerts are returned * False - only checklists without Alerts are returned in: query schema: type: boolean operationId: FetchClientChecklistTypes responses: '200': description: Client Checklist types were retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/ChecklistType' '400': $ref: '#/components/responses/400InvalidSyntax' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Notauthorized' '500': $ref: '#/components/responses/500BackendError' '/System/ChecklistTypes/Client/{ChecklistType}/DefaultText': parameters: - $ref: '#/components/parameters/ChecklistTypePathParameter' options: tags: - System Checklist Types responses: '204': $ref: '#/components/responses/204OptionsResponse' get: summary: Query Checklist Default Texts description: Retrieve checklist default texts from the Client subsystem Checklist Type that was requested. tags: - System Checklist Types operationId: FetchClientChecklistDefaultTexts responses: '200': description: Client Checklist Default Texts were retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/ChecklistDefaultText' '400': $ref: '#/components/responses/400InvalidSyntax' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Notauthorized' '404': $ref: '#/components/responses/404ResourceNotFound' '500': $ref: '#/components/responses/500BackendError' '/System/ChecklistTypes/{SubSystem}/{Company}': parameters: - $ref: '#/components/parameters/SubSystemPathParameter' - $ref: '#/components/parameters/CompanyPathParameter' options: tags: - System Checklist Types responses: '204': $ref: '#/components/responses/204OptionsResponse' get: summary: Query Checklists Types description: Retrieve checklists types for the specified subsystem. tags: - System Checklist Types parameters: - name: AlertFlag description: Optional parameter to filter based on the setting for the Alert Flag in: query schema: type: boolean operationId: FetchChecklistTypes responses: '200': description: Checklist types were retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/ChecklistType' '400': $ref: '#/components/responses/400InvalidSyntax' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Notauthorized' '404': $ref: '#/components/responses/404ResourceNotFound' '500': $ref: '#/components/responses/500BackendError' '/System/ChecklistTypes/{SubSystem}/{Company}/{ChecklistType}/DefaultText': parameters: - $ref: '#/components/parameters/SubSystemPathParameter' - $ref: '#/components/parameters/CompanyPathParameter' - $ref: '#/components/parameters/ChecklistTypePathParameter' options: tags: - System Checklist Types responses: '204': $ref: '#/components/responses/204OptionsResponse' get: summary: Query Checklist Default Texts description: Retrieve checklist default texts for any specified subsystem and company. This endpoint is only used for Loan and Retail subsystems. tags: - System Checklist Types operationId: FetchChecklistDefaultTexts responses: '200': description: Checklist Default Texts were retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/ChecklistDefaultText' '400': $ref: '#/components/responses/400InvalidSyntax' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Notauthorized' '404': $ref: '#/components/responses/404ResourceNotFound' '500': $ref: '#/components/responses/500BackendError' '/System/AMLCategories/{Company}': parameters: - $ref: '#/components/parameters/CompanyPathParameter' options: tags: - System AML Categories responses: '204': $ref: '#/components/responses/204OptionsResponse' get: summary: Query Available AML Categories description: Retrieve available AML Categories for a given company that has been setup in Portfolio+. tags: - System AML Categories operationId: GetAMLCategories parameters: - name: AMLCategoryCode description: Optional parameter to filter responses based on a specific AML category. in: query schema: type: string required: false - name: Active description: > Optional parameter to filter responses. * True - returns only AML categories * False - returns all AML categories in: query schema: type: boolean required: false responses: '200': description: AML Categories were retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/AMLCategory' '400': $ref: '#/components/responses/400InvalidSyntax' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Notauthorized' '500': $ref: '#/components/responses/500BackendError' '/System/AMLQuestions/{Company}/{AMLCategoryCode}': parameters: - $ref: '#/components/parameters/CompanyPathParameter' - $ref: '#/components/parameters/AMLCategoryCodePathParameter' options: tags: - System AML Categories responses: '204': $ref: '#/components/responses/204OptionsResponse' get: summary: Query Available AML Questions and Answers description: Retrieve available AML questions and answers that have been setup in the system. The Help field in the response explains the reason for the question. tags: - System AML Categories operationId: GetAMLQuestions parameters: - name: Answers in: query schema: type: boolean required: false description: > Optional parameter to display or hide the possible answers for each AML Question retrieved. * True - displays the answer * False - hides the answer (default) responses: '200': description: AML Question and Answers were retrieved content: application/json: schema: type: array items: $ref: '#/components/schemas/AMLQuestion' '400': $ref: '#/components/responses/400InvalidSyntax' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Notauthorized' '500': $ref: '#/components/responses/500BackendError' '/System/AMLQuestions/{Company}/{AMLCategoryCode}/{SequenceNumber}': parameters: - $ref: '#/components/parameters/CompanyPathParameter' - $ref: '#/components/parameters/AMLCategoryCodePathParameter' - $ref: '#/components/parameters/SequenceNumberPathParameter' options: tags: - System AML Categories responses: '204': $ref: '#/components/responses/204OptionsResponse' get: summary: Query System Help Text and Answers description: Retrieve System Help text and Answers for a specific AML question that has been setup in Portfolio+ tags: - System AML Categories operationId: GetAMLQuestion responses: '200': description: Help text and Answers were retrieved for a specific question content: application/json: schema: $ref: '#/components/schemas/AMLQuestion' '400': $ref: '#/components/responses/400InvalidSyntax' '401': $ref: '#/components/responses/401Unauthorized' '403': $ref: '#/components/responses/403Notauthorized' '404': $ref: '#/components/responses/404ResourceNotFound' '500': $ref: '#/components/responses/500BackendError' '/{Company}/GeneratedKey/{FilePrefix}': parameters: - $ref: '#/components/parameters/CompanyPathParameter' - $ref: '#/components/parameters/FilePrefixPathParameter' options: tags: - Generated Keys responses: '204': $ref: '#/components/responses/204OptionsResponse' post: summary: Generated Key description: Creates a new Generated Key for the specified File Prefix that is under the requested company. tags: - Generated Keys operationId: QueryGeneratedKey requestBody: content: application/json: schema: type: object properties: Company: type: string example: PPF FilePrefix: type: string example: SDTR responses: 200: description: Success content: application/json: schema: $ref: '#/components/schemas/GeneratedKeys' 400: $ref: "#/components/responses/400InvalidSyntax" 401: $ref: "#/components/responses/401Unauthorized" 403: $ref: "#/components/responses/403Notauthorized" 404: $ref: "#/components/responses/404ResourceNotFound" default: $ref: "#/components/responses/500BackendError" components: securitySchemes: basicAuth: type: http scheme: basic oauthDebug: type: http scheme: bearer description: Use for experimentation with OAuth Tokens oauth: type: oauth2 description: > OAuth2 Authentication/Authorization for OBP. The Client Credentials 123456789/password may be used for testing. flows: password: tokenUrl: http://ec2-18-223-77-91.us-east-2.compute.amazonaws.com:10000/auth/web/token refreshUrl: http://ec2-18-223-77-91.us-east-2.compute.amazonaws.com:10000/auth/web/token scopes: PSCUser: PAS Default User Role authorizationCode: authorizationUrl: http://ec2-18-223-77-91.us-east-2.compute.amazonaws.com:10000/auth/static/auth/login.html tokenUrl: http://ec2-18-223-77-91.us-east-2.compute.amazonaws.com:10000/auth/web/token refreshUrl: http://ec2-18-223-77-91.us-east-2.compute.amazonaws.com:10000/auth/web/token scopes: PSCUser: PAS Default User Role implicit: authorizationUrl: http://ec2-18-223-77-91.us-east-2.compute.amazonaws.com:10000/auth/static/auth/login.html scopes: PSCUser: PAS Default User Role clientCredentials: tokenUrl: http://ec2-18-223-77-91.us-east-2.compute.amazonaws.com:10000/auth/web/token scopes: PSCUser: PAS Default User Role schemas: Relationship: type: object properties: Code: type: string description: Short code, uniquely identifying a relationship example: MO Description: type: string description: Business description for this relationship example: Mother Country: type: object properties: Code: type: string example: CAN Name: type: string example: Canada County: type: object properties: Code: type: string example: DUB Name: type: string example: Co. Dublin AddressUnitType: type: object properties: Code: type: string example: S Description: type: string example: Suite DocumentCategory: type: object properties: Category: type: string example: CIF Documents Description: type: string example: DOC-CIF Documents DocumentCategoryDetails: type: object properties: Category: type: string description: The category that has been requested. example: Proof of Identification DocumentType: type: string description: This field is the type of the document that falls under the category specified. example: Passport FileType: type: string example: JPEG MaxFileSize: type: integer description: Stipulates the maximum file size in MB example: 2 BusinessDate: type: object properties: NextBusinessDate: type: string format: date-time description: Contains the Business Date relative to the requested date. RequestedDate: type: string format: date-time description: Requested date is echoed back with its date type. RequestedDateType: type: string enum: - Business - NonWorking - Holiday description: > Type of Day * 'Business' - A working day (Ex. Mon - Fri). * 'NonWorking' - A non-working day determined by the company in the calendar table. * 'Holiday' - A non-working day that takes place on a holiday (Ex. Christmas). InterestRatesInfo: oneOf: - $ref: '#/components/schemas/LoanRateInfo' - $ref: '#/components/schemas/RetailRateInfo' LoanRateInfo: type: object properties: RateType: type: string description: The rate type for the rates retrieved. Either Fixed or Variable. enum: - Fixed - Variable LoanRateTiers: type: array items: $ref: '#/components/schemas/LoanRateTierInfo' LoanRateTierInfo: type: object properties: MonthFrom: type: number description: Starting month for range in which rates are applicable example: 1 MonthTo: type: number description: Ending month for range in which rates are applicable example: 60 OpenRate: type: number description: Rate offered for open payment privilege loans example: 3 ClosedRate: type: number description: Rate offered for closed payment privilege loans example: 2.5 SecondMortgageRate: type: number description: Rate offered for second mortgage loans, if applicable example: 3.5 RetailRateInfo: type: object properties: OverdraftRate: type: number description: Interest rate applied on unauthorized overdraft example: 10 EffectiveDate: type: string format: date-time RetailRateTiers: type: array items: $ref: '#/components/schemas/RetailRateTierInfo' RetailRateTierInfo: type: object properties: BalanceFrom: type: number description: Starting balance for which rate is applicable, inclusive example: 0 BalanceTo: type: number description: Ending balance for which rate is applicable, inclusive example: 99999999989.99 TierRate: type: number description: Interest rate applicable at this balance tier example: 0 GeneralCompany: type: object properties: Company: type: string example: PPF Name: type: string example: Portfolio Plus Financial LegalName: type: string example: Portfolio Plus Financial InstitutionNumber: type: integer example: 9999 DetailedCompany: allOf: - $ref: '#/components/schemas/GeneralCompany' - properties: HoldFunds: type: integer AssignClientNumberByBranch: type: boolean example: false Currency: type: string example: EUR Country: type: string example: IRL Province: type: string example: ON Address1: type: string example: 37 Sandiford Drive Address2: type: string example: Suite 300 Address3: type: string City: type: string example: Stouffville County: type: string example: Co. Dublin PostCode: type: string example: D02 AF30 Phone: type: string example: 011122344555 WebPage: type: string example: www.portfolioplus.com E-Mail: type: string example: info@portfolioplus.com AdministrationCompany: type: string example: PPF SourceOfFundsLimit: type: number example: 5000 PasswordRuleSet: type: object properties: LowerCaseRequired: type: boolean UpperCaseRequired: type: boolean NumberRequired: type: boolean MinimumLength: type: integer format: int32 minimum: 4 maximum: 32 example: 8 MaximumLength: type: integer format: int32 minimum: 4 maximum: 32 example: 32 Summary: type: string example: Password must be between 8 and 32 characters, and include at least one upper case letter, lower case letter, and number. LinkArray: type: array items: $ref: "#/components/schemas/Link" Link: type: object properties: RelationType: type: string href: type: string format: url SecurityQuestion: type: object properties: QuestionNumber: type: integer description: The unique numeric ID of a SecurityQuestion example: 1 QuestionDescription: type: string description: The question text to be displayed example: What colour was your first car? SystemAlert: type: object properties: Company: type: string description: ID code of the company linked to this alert example: PPF SubSystem: type: string description: Subsystem for this alert example: Loans CommunicationCode: type: string description: Code describing which method of communication is associated with this alert example: EMAILRQ AlertCode: type: string description: Code to identify a particular alert example: AppApply AlertDescription: type: string description: Human-readable description that describes the triggering condition of the alert example: Credit Application Initiated ChecklistType: type: object properties: Type: type: string example: DOC SubSystem: type: string example: ci Description: type: string example: CIF Documents AlertFlag: description: When true, this checklist type will send an alert out.
When false, this checklist type will not send an alert out. type: boolean example: true ChecklistDefaultText: type: object properties: Company: type: string example: PPF SubSystem: type: string example: CI ChecklistType: type: string example: ID SequenceNumber: type: integer example: 1 IsRequired: type: boolean example: true HasClause: type: boolean example: false ChecklistText: type: string example: Driver's License AMLCategory: type: object properties: Company: type: string example: PPF AMLCategoryCode: type: string example: B Description: type: string example: RISK - PRODUCT IsActive: type: boolean example: true AMLQuestion: type: object properties: Company: type: string example: PPF AMLCategoryCode: type: string example: B SequenceNumber: type: integer example: 1 Question: type: string example: Open Mortgage Help: description: This is additional information to assist in making the question clearer type: string example: Higher risk for Money Laundering as additional payments may be made at any time. QuestionAnswerTiers: description: Contains a list of answers for the given AML question type: array items: $ref: '#/components/schemas/QuestionAnswerTierInfo' QuestionAnswerTierInfo: type: object properties: Answer: type: string example: "True" GeneratedKeys: type: object properties: NumericKey: description: If the Generated Key has no Key Prefix or Suffix, a numerical key is sent in this field. type: number example: 2740 CharacterKey: description: If the Generated Key has a Key Prefix or Suffix, this field is returned as it will contain characters on either end of the numerical key. type: string example: P10000S parameters: CompanyPathParameter: name: Company description: The /System/Companies endpoint from the System Admin specification can be used to find an available value for this path parameter. in: path required: true schema: type: string CompanyQueryParameter: name: Company description: The /System/Companies endpoint from the System Admin specification can be used to find an available value for this path parameter. in: query required: true schema: type: string SubSystemPathParameter: name: SubSystem in: path required: true schema: type: string enum: - Loan - Retail # Needed to find linked retail accounts for card use InstrumentTypePathParameter: name: InstrumentType description: The /Gateway/InstrumentTypes/{Subsystem} or /{Company}/Retail/AccountTypes endpoint from the Gateway Applications specifications can be used to find a Company for this endpoint. in: path required: true schema: type: string CategoryCodePathParameter: name: CategoryCode description: Specify the Document Category Code that will retrieve its associated File Types.
The /System/DocumentCategories endpoint can be used to find a CategoryCode for this endpoint. in: path required: true schema: type: string AMLCategoryCodePathParameter: name: AMLCategoryCode description: The /System/AMLCategories/{Company} endpoint can be used to find a AMLCategoryCode for this endpoint. in: path required: true schema: type: string ChecklistTypePathParameter: name: ChecklistType description: > Determining which endpoint to use in order to find Checklist Types of a certain subsystem that can be used for this parameter. * Client - The /System/ChecklistTypes/Client endpoint from the System Admin specifications. * Retail - The /System/ChecklistTypes/{SubSystem}/{Company}, where the SubSystem is Retail, endpoint from the System Admin specifications. * Loan - The /System/ChecklistTypes/Client, where the SubSystem is Loan, endpoint from the System Admin specifications. in: path required: true schema: type: string SequenceNumberPathParameter: name: SequenceNumber description: The /System/AMLQuestions/{Company}/{AMLCategoryCode} endpoint from the System Admin specifications can be used to find a SequenceNumber for this endpoint. in: path required: true schema: type: integer FilePrefixPathParameter: name: FilePrefix description: This is the identifier for the Generated Key that is to be requested. in: path required: true schema: type: string responses: 201ResourceCreated: description: The requested resource has been successfully created 204NoContent: description: 'The request was successful and the client has an up to date version of the resource' 204ResourceDeleted: description: The requested resource has been successfully deleted 204OptionsResponse: description: Allow header includes supported HTTP methods 400InvalidSyntax: description: 'Unable to understand the request, due to invalid syntax' 401Unauthorized: description: User is not authorized for this operation 403Notauthorized: description: User does not have the authority to perform the requested action 404ResourceNotFound: description: The requested resource could not be found 409Conflict: description: The requested resource cound not be created due to a conflict 500BackendError: description: An error occurred on the backend server