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