openapi: 3.0.3 info: description: | # Credit App offers a suite of APIs that allow developers to extend the platform’s built-in features. These APIs allow app developers to read and write data, interoperate with other systems and platforms, and add new functionality to Credit App. When you make a request to the REST API, you will specify an HTTP method and a path. Additionally, you might also specify request headers and path, query, or body parameters. The API will return the response status code, response headers, and potentially a response body. The REST API reference documentation describes the HTTP method, path, and parameters for every operation. It also displays example requests and responses for each operation. # Guides We **strongly** recommend you check out the [guides](/guides/intro) section before you start using the Credit App REST API. The guides provide detailed information on how to use the REST API, including examples and best practices. # Requirements for using the Credit App REST API - All APIs require developers to request access and be granted an API key. - All APIs require developers to [authenticate](/guides/Authentication). # Deprecated APIs Deprecated APIs remain available but are unsupported and can stop working at any time. Developers should migrate to supported alternatives as soon as possible. # Authentication All incoming requests to the Credit App API must be authenticated. Bearer authentication is used to authenticate requests. HMAC signatures are added to all outgoing webhook requests. Please see the guide on [authentication](/guides/Authentication) for more information. # Webhooks Webhooks allow apps to stay in sync with Credit App data or perform an action after a specific event occurs. Webhooks are a performant alternative to continuously polling for changes to data. For example, a webhook can notify your app when a decision has been made on an application by a creditor. Your app can then perform an action when the change occurs. This [guide](/guides/Webhooks/Webhook%20Intro) introduces how webhooks work, including how to configure a webhook for your app and manage webhooks. version: 1.0.0 title: Getting started with the Credit App REST API - Retailer Schema contact: name: API Support email: support@creditapp.ca servers: - url: /v1 security: - apiKey: [] paths: /login: post: deprecated: true security: - apiKey: [] summary: Create Login tags: - auth requestBody: content: application/json: schema: type: object properties: retailerId: type: string format: uuid responses: '200': description: Access token content: application/json: schema: type: object properties: token: type: string expiresIn: type: integer description: Token expiration time in seconds '400': description: Bad Request content: application/json: schema: type: object properties: status: type: integer default: 400 message: type: string '401': description: Unauthorized content: application/json: schema: type: object properties: status: type: integer default: 401 /applications: post: summary: Create an application tags: - applications parameters: - in: header name: X-CreditApp-Retailer-ID schema: type: string format: uuid required: false requestBody: required: true content: application/json: schema: type: object properties: applicationType: type: string enum: - APPROVAL - PRE_APPROVAL description: | The type of application. primaryApplicant: type: object properties: firstName: type: string middleName: type: string lastName: type: string dateOfBirth: type: string format: date sin: type: string selfReportedCreditScore: type: number example: 700 description: > The self reported credit score. This is used to run pre-credit lender filter rules. When converting from a range, take the lower bound. For example, if the range is 700-750, use 700. phoneNumber: type: string email: type: string primaryAddress: type: object properties: residenceType: type: string enum: - RENT - OWN_FREE_AND_CLEAR - OWN_WITH_MORTGAGE - OWN_MOBILE_HOME - RESERVE_HOUSING - WITH_PARENTS - OTHER description: | The type of residence. monthlyRentOrMortgage: type: number apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string postalCode: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. yearsAtAddress: type: number default: 2 monthsAtAddress: type: number default: 0 poBoxNumber: type: string addressType: type: string enum: - STREET - PO_BOX description: | The type of address. addressHistory: type: array items: type: object properties: residenceType: type: string enum: - RENT - OWN_FREE_AND_CLEAR - OWN_WITH_MORTGAGE - OWN_MOBILE_HOME - RESERVE_HOUSING - WITH_PARENTS - OTHER description: | The type of residence. monthlyRentOrMortgage: type: number apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string postalCode: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. yearsAtAddress: type: number monthsAtAddress: type: number poBoxNumber: type: string addressType: type: string enum: - STREET - PO_BOX description: | The type of address. noPreviousAddress: type: boolean description: | Indicates if the applicant has no previous address. primaryEmployment: type: object properties: type: type: string enum: - AT_HOME - EXECUTIVE - LABOURER - MANAGEMENT - OFFICE_STAFF - OTHER - PRODUCTION - PROFESSIONAL - RETIRED - SALES - SELF_EMPLOYED - SERVICE - STUDENT - TRADES - UNEMPLOYED description: | The type of employment. status: type: string enum: - FULL_TIME - FULL_TIME_PROBATION - PART_TIME - PART_TIME_CASUAL - RETIRED - SEASONAL_SUMMER - SEASONAL_WINTER - SELF_EMPLOYED - UNEMPLOYED description: | The employment status. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. postalCode: type: string employerName: type: string occupation: type: string employmentPhone: type: string yearsWorked: type: number default: 2 monthsWorked: type: number default: 0 additionalIncomeSources: type: array items: type: object properties: type: type: string enum: - CAR_ALLOWANCE - CHILD_SUPPORT - DISABILITY_PAYMENTS - INVESTMENT_INCOME - PENSIONS - RENTAL_INCOME - WORKERS_COMPENSATION - OTHER description: | The type of additional income. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. required: - type - grossIncome - frequency nullable: true employmentHistory: type: array items: type: object properties: type: type: string enum: - AT_HOME - EXECUTIVE - LABOURER - MANAGEMENT - OFFICE_STAFF - OTHER - PRODUCTION - PROFESSIONAL - RETIRED - SALES - SELF_EMPLOYED - SERVICE - STUDENT - TRADES - UNEMPLOYED description: | The type of employment. status: type: string enum: - FULL_TIME - FULL_TIME_PROBATION - PART_TIME - PART_TIME_CASUAL - RETIRED - SEASONAL_SUMMER - SEASONAL_WINTER - SELF_EMPLOYED - UNEMPLOYED description: | The employment status. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. postalCode: type: string employerName: type: string occupation: type: string employmentPhone: type: string yearsWorked: type: number monthsWorked: type: number additionalIncomeSources: type: array items: type: object properties: type: type: string enum: - CAR_ALLOWANCE - CHILD_SUPPORT - DISABILITY_PAYMENTS - INVESTMENT_INCOME - PENSIONS - RENTAL_INCOME - WORKERS_COMPENSATION - OTHER description: | The type of additional income. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. required: - type - grossIncome - frequency nullable: true nullable: true noPreviousEmployment: type: boolean description: | Indicates if the applicant has no previous employment. coApplicant: type: object properties: firstName: type: string middleName: type: string lastName: type: string relationship: type: string enum: - COMMON_LAW - EMPLOYER - FRIEND - IN_LAW - OTHER - PARENT - SIBLING - SPOUSE description: | The relationship. dateOfBirth: type: string format: date sin: type: string phoneNumber: type: string email: type: string primaryAddress: type: object properties: residenceType: type: string enum: - RENT - OWN_FREE_AND_CLEAR - OWN_WITH_MORTGAGE - OWN_MOBILE_HOME - RESERVE_HOUSING - WITH_PARENTS - OTHER description: | The type of residence. monthlyRentOrMortgage: type: number apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string postalCode: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. yearsAtAddress: type: number default: 2 monthsAtAddress: type: number default: 0 poBoxNumber: type: string addressType: type: string enum: - STREET - PO_BOX description: | The type of address. addressHistory: type: array items: type: object properties: residenceType: type: string enum: - RENT - OWN_FREE_AND_CLEAR - OWN_WITH_MORTGAGE - OWN_MOBILE_HOME - RESERVE_HOUSING - WITH_PARENTS - OTHER description: | The type of residence. monthlyRentOrMortgage: type: number apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string postalCode: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. yearsAtAddress: type: number monthsAtAddress: type: number poBoxNumber: type: string addressType: type: string enum: - STREET - PO_BOX description: | The type of address. noPreviousAddress: type: boolean description: | Indicates if the applicant has no previous address. primaryEmployment: type: object properties: type: type: string enum: - AT_HOME - EXECUTIVE - LABOURER - MANAGEMENT - OFFICE_STAFF - OTHER - PRODUCTION - PROFESSIONAL - RETIRED - SALES - SELF_EMPLOYED - SERVICE - STUDENT - TRADES - UNEMPLOYED description: | The type of employment. status: type: string enum: - FULL_TIME - FULL_TIME_PROBATION - PART_TIME - PART_TIME_CASUAL - RETIRED - SEASONAL_SUMMER - SEASONAL_WINTER - SELF_EMPLOYED - UNEMPLOYED description: | The employment status. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. postalCode: type: string employerName: type: string occupation: type: string employmentPhone: type: string yearsWorked: type: number default: 2 monthsWorked: type: number default: 0 additionalIncomeSources: type: array items: type: object properties: type: type: string enum: - CAR_ALLOWANCE - CHILD_SUPPORT - DISABILITY_PAYMENTS - INVESTMENT_INCOME - PENSIONS - RENTAL_INCOME - WORKERS_COMPENSATION - OTHER description: | The type of additional income. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. required: - type - grossIncome - frequency nullable: true employmentHistory: type: array items: type: object properties: type: type: string enum: - AT_HOME - EXECUTIVE - LABOURER - MANAGEMENT - OFFICE_STAFF - OTHER - PRODUCTION - PROFESSIONAL - RETIRED - SALES - SELF_EMPLOYED - SERVICE - STUDENT - TRADES - UNEMPLOYED description: | The type of employment. status: type: string enum: - FULL_TIME - FULL_TIME_PROBATION - PART_TIME - PART_TIME_CASUAL - RETIRED - SEASONAL_SUMMER - SEASONAL_WINTER - SELF_EMPLOYED - UNEMPLOYED description: | The employment status. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. postalCode: type: string employerName: type: string occupation: type: string employmentPhone: type: string yearsWorked: type: number monthsWorked: type: number additionalIncomeSources: type: array items: type: object properties: type: type: string enum: - CAR_ALLOWANCE - CHILD_SUPPORT - DISABILITY_PAYMENTS - INVESTMENT_INCOME - PENSIONS - RENTAL_INCOME - WORKERS_COMPENSATION - OTHER description: | The type of additional income. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. nullable: true noPreviousEmployment: type: boolean description: | Indicates if the applicant has no previous employment. worksheet: $ref: '#/components/schemas/worksheet' required: - applicationType - primaryApplicant responses: '200': description: The response of the application content: application/json: schema: $ref: '#/components/schemas/ApplicationResponse1' '400': description: Bad Request content: application/json: schema: type: object properties: status: type: integer default: 400 message: type: string '401': description: Unauthorized content: application/json: schema: type: object properties: status: type: integer default: 401 '/applications/{applicationId}/credit-file': post: summary: Create a credit file tags: - applications parameters: - in: header name: X-CreditApp-Retailer-ID schema: type: string format: uuid required: false - name: applicationId in: path required: true schema: type: string requestBody: content: application/json: schema: type: object properties: applicantId: type: string description: | The applicant ID. example: 7cfeb443-8429-419c-a247-61235240dadb equifaxXML: description: | The applicant Equifax credit file xml type: string example: >- integrationId: description: | The integration id, required for integrations type: string example: 7cfeb443-8429-419c-a247-61235240dadb requestId: description: | The request id, required for integrations type: string example: 7cfeb443-8429-419c-a247-61235240dadb required: - applicantId - equifaxXML responses: '200': description: Uploads a credit file content: application/json: schema: type: object properties: documentId: type: string '400': description: Bad Request content: application/json: schema: type: object properties: status: type: integer default: 400 message: type: string '401': description: Unauthorized content: application/json: schema: type: object properties: status: type: integer default: 401 '/applications/{applicationId}/credit-file/{applicantId}/request': post: summary: Request a credit file tags: - applications parameters: - in: header name: X-CreditApp-Retailer-ID schema: type: string format: uuid required: false - name: applicationId in: path required: true schema: type: string - name: applicantId in: path required: true schema: type: string requestBody: content: application/json: schema: type: object properties: source: type: string enum: - EQUIFAX description: | The source of the credit file. example: EQUIFAX requestId: type: string description: | The request ID. example: 7cfeb443-8429-419c-a247-61235240dadb required: - source responses: '202': description: 'Pulling credit file, poll for result' '400': description: Bad Request content: application/json: schema: type: object properties: status: type: integer default: 400 message: type: string '401': description: Unauthorized content: application/json: schema: type: object properties: status: type: integer default: 401 '/applications/{applicationId}/credit-file/{applicantId}': get: summary: Get a credit file tags: - applications parameters: - in: header name: X-CreditApp-Retailer-ID schema: type: string format: uuid required: false - name: applicationId in: path required: true schema: type: string - name: applicantId in: path required: true schema: type: string responses: '200': description: 'Pulling credit file, poll for result' content: application/json: schema: $ref: '#/components/schemas/creditFile' '400': description: Bad Request content: application/json: schema: type: object properties: status: type: integer default: 400 message: type: string '401': description: Unauthorized content: application/json: schema: type: object properties: status: type: integer default: 401 '404': description: Not Found content: application/json: schema: type: object properties: status: type: integer default: 404 message: type: string '/applications/{applicationId}/credit-file-pull-failed': post: summary: Report failure in fetching credit file tags: - applications parameters: - in: header name: X-CreditApp-Retailer-ID schema: type: string format: uuid required: false - name: applicationId in: path required: true schema: type: string requestBody: content: application/json: schema: type: object properties: applicantId: type: string description: | The applicant ID. example: 7cfeb443-8429-419c-a247-61235240dadb integrationId: description: | The integration id, required for integrations type: string example: 7cfeb443-8429-419c-a247-61235240dadb requestId: description: | The request id, required for integrations type: string example: 7cfeb443-8429-419c-a247-61235240dadb failureReason: description: | The reason for failure (if available) type: string example: Credentials are not valid required: - applicantId responses: '200': description: Uploads a credit file content: application/json: schema: type: object properties: documentId: type: string '400': description: Bad Request content: application/json: schema: type: object properties: status: type: integer default: 400 message: type: string '401': description: Unauthorized content: application/json: schema: type: object properties: status: type: integer default: 401 '/applications/{applicationId}/filter-results': get: summary: Get the results of the application filters tags: - applications parameters: - in: header name: X-CreditApp-Retailer-ID schema: type: string format: uuid required: false - name: applicationId in: path required: true schema: type: string responses: '200': description: Gets the result of the application filters content: application/json: schema: type: array items: type: object properties: creditorId: description: The id of the creditor that the rules are processing for example: c8e4cd75-7f66-49dc-b44a-076eb409ea0b type: string applicationId: description: >- The id of the application that the rules are processing for example: 74b5a233-06a2-49aa-9dfe-8311c02d06eb type: string preCreditFilterStatus: description: >- The status of the pre credit filter rule for a creditor on the specified application example: SUCCEEDED type: string enum: - FAILED - SUCCEEDED - PENDING - NOT_RUN postCreditFilterStatus: description: >- The status of the post credit filter rule for a creditor on the specified application example: SUCCEEDED type: string enum: - FAILED - SUCCEEDED - PENDING - NOT_RUN preCreditFilterFailureReasons: description: The reason for the pre credit filter rule failing example: [] type: array items: type: string postCreditFilterFailureReasons: description: The reason for the post credit filter rule failing example: [] type: array items: type: string isCreditorMapped: description: >- Indicates if the creditor is mapped to retailer. If false, the application will not be submitted to the creditor. example: true type: boolean required: - creditorId - applicationId - status - advancedStatus - failureReasons - advancedFailureReasons '/applications/{applicationId}/submit': post: summary: Submit an application to one or more creditors tags: - applications parameters: - in: header name: X-CreditApp-Retailer-ID schema: type: string format: uuid required: false - name: applicationId in: path required: true schema: type: string requestBody: content: application/json: schema: type: object properties: creditorIds: type: array items: type: string description: > The creditor IDs. NOTE: creditor ids from the filter-results endpoint that have the isCreditorMapped set to false cannot be included in this list. example: - 7cfeb443-8429-419c-a247-61235240dadb submittedBy: type: string description: > The retailer user ID of the user who submitted the application. example: 7cfeb443-8429-419c-a247-61235240dadb primaryApplicantId: type: string description: | The primary applicant ID. example: 7cfeb443-8429-419c-a247-61235240dadb acceptAntiSpamConsent: type: boolean description: | Indicates if the applicant accepts the anti-spam consent. example: true creditConsent: type: boolean description: | Indicates if the applicant accepts the credit consent. example: true required: - creditorIds - primaryApplicantId - submittedBy - acceptAntiSpamConsent - creditConsent responses: '204': description: Submits a credit application to one or more creditors '400': description: Bad Request content: application/json: schema: type: object properties: status: type: integer default: 400 message: type: string '401': description: Unauthorized '/applications/{applicationId}': get: summary: Get a specific application tags: - applications parameters: - in: header name: X-CreditApp-Retailer-ID schema: type: string format: uuid required: false - name: applicationId in: path required: true schema: type: string responses: '200': description: The response of the application content: application/json: schema: $ref: '#/components/schemas/ApplicationResponse1' '401': description: Unauthorized content: application/json: schema: type: object properties: status: type: integer default: 401 put: summary: Update an application tags: - applications parameters: - in: header name: X-CreditApp-Retailer-ID schema: type: string format: uuid required: false - name: applicationId in: path required: true schema: type: string requestBody: required: true content: application/json: schema: type: object properties: applicationType: type: string enum: - APPROVAL - PRE_APPROVAL description: | The type of application. primaryApplicant: type: object properties: applicantId: type: string description: > The applicant ID. NOTE: This will become required in the future firstName: type: string middleName: type: string lastName: type: string dateOfBirth: type: string format: date sin: type: string selfReportedCreditScore: type: number example: 700 description: | The self reported credit score. phoneNumber: type: string email: type: string primaryAddress: type: object properties: residenceType: type: string enum: - RENT - OWN_FREE_AND_CLEAR - OWN_WITH_MORTGAGE - OWN_MOBILE_HOME - RESERVE_HOUSING - WITH_PARENTS - OTHER description: | The type of residence. monthlyRentOrMortgage: type: number apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string postalCode: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. yearsAtAddress: type: number monthsAtAddress: type: number poBoxNumber: type: string addressType: type: string enum: - STREET - PO_BOX description: | The type of address. addressHistory: type: array items: type: object properties: residenceType: type: string enum: - RENT - OWN_FREE_AND_CLEAR - OWN_WITH_MORTGAGE - OWN_MOBILE_HOME - RESERVE_HOUSING - WITH_PARENTS - OTHER description: | The type of residence. monthlyRentOrMortgage: type: number apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string postalCode: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. yearsAtAddress: type: number monthsAtAddress: type: number poBoxNumber: type: string addressType: type: string enum: - STREET - PO_BOX description: | The type of address. noPreviousAddress: type: boolean description: | Indicates if the applicant has no previous address. primaryEmployment: type: object properties: type: type: string enum: - AT_HOME - EXECUTIVE - LABOURER - MANAGEMENT - OFFICE_STAFF - OTHER - PRODUCTION - PROFESSIONAL - RETIRED - SALES - SELF_EMPLOYED - SERVICE - STUDENT - TRADES - UNEMPLOYED description: | The type of employment. status: type: string enum: - FULL_TIME - FULL_TIME_PROBATION - PART_TIME - PART_TIME_CASUAL - RETIRED - SEASONAL_SUMMER - SEASONAL_WINTER - SELF_EMPLOYED - UNEMPLOYED description: | The employment status. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. postalCode: type: string employerName: type: string occupation: type: string employmentPhone: type: string yearsWorked: type: number monthsWorked: type: number additionalIncomeSources: type: array items: type: object properties: type: type: string enum: - CAR_ALLOWANCE - CHILD_SUPPORT - DISABILITY_PAYMENTS - INVESTMENT_INCOME - PENSIONS - RENTAL_INCOME - WORKERS_COMPENSATION - OTHER description: | The type of additional income. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. required: - type - grossIncome - frequency nullable: true employmentHistory: type: array items: type: object properties: type: type: string enum: - AT_HOME - EXECUTIVE - LABOURER - MANAGEMENT - OFFICE_STAFF - OTHER - PRODUCTION - PROFESSIONAL - RETIRED - SALES - SELF_EMPLOYED - SERVICE - STUDENT - TRADES - UNEMPLOYED description: | The type of employment. status: type: string enum: - FULL_TIME - FULL_TIME_PROBATION - PART_TIME - PART_TIME_CASUAL - RETIRED - SEASONAL_SUMMER - SEASONAL_WINTER - SELF_EMPLOYED - UNEMPLOYED description: | The employment status. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. postalCode: type: string employerName: type: string occupation: type: string employmentPhone: type: string yearsWorked: type: number monthsWorked: type: number additionalIncomeSources: type: array items: type: object properties: type: type: string enum: - CAR_ALLOWANCE - CHILD_SUPPORT - DISABILITY_PAYMENTS - INVESTMENT_INCOME - PENSIONS - RENTAL_INCOME - WORKERS_COMPENSATION - OTHER description: | The type of additional income. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. required: - type - grossIncome - frequency nullable: true nullable: true noPreviousEmployment: type: boolean description: | Indicates if the applicant has no previous employment. coApplicant: type: object properties: applicantId: type: string description: > The co-applicant ID. NOTE: This will become required in the future firstName: type: string middleName: type: string lastName: type: string relationship: type: string enum: - COMMON_LAW - EMPLOYER - FRIEND - IN_LAW - OTHER - PARENT - SIBLING - SPOUSE description: | The relationship. dateOfBirth: type: string format: date sin: type: string phoneNumber: type: string email: type: string primaryAddress: type: object properties: residenceType: type: string enum: - RENT - OWN_FREE_AND_CLEAR - OWN_WITH_MORTGAGE - OWN_MOBILE_HOME - RESERVE_HOUSING - WITH_PARENTS - OTHER description: | The type of residence. monthlyRentOrMortgage: type: number apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string postalCode: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. yearsAtAddress: type: number monthsAtAddress: type: number poBoxNumber: type: string addressType: type: string enum: - STREET - PO_BOX description: | The type of address. addressHistory: type: array items: type: object properties: residenceType: type: string enum: - RENT - OWN_FREE_AND_CLEAR - OWN_WITH_MORTGAGE - OWN_MOBILE_HOME - RESERVE_HOUSING - WITH_PARENTS - OTHER description: | The type of residence. monthlyRentOrMortgage: type: number apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string postalCode: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. yearsAtAddress: type: number monthsAtAddress: type: number poBoxNumber: type: string addressType: type: string enum: - STREET - PO_BOX description: | The type of address. noPreviousAddress: type: boolean description: | Indicates if the applicant has no previous address. primaryEmployment: type: object properties: type: type: string enum: - AT_HOME - EXECUTIVE - LABOURER - MANAGEMENT - OFFICE_STAFF - OTHER - PRODUCTION - PROFESSIONAL - RETIRED - SALES - SELF_EMPLOYED - SERVICE - STUDENT - TRADES - UNEMPLOYED description: | The type of employment. status: type: string enum: - FULL_TIME - FULL_TIME_PROBATION - PART_TIME - PART_TIME_CASUAL - RETIRED - SEASONAL_SUMMER - SEASONAL_WINTER - SELF_EMPLOYED - UNEMPLOYED description: | The employment status. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. postalCode: type: string employerName: type: string occupation: type: string employmentPhone: type: string yearsWorked: type: number monthsWorked: type: number additionalIncomeSources: type: array items: type: object properties: type: type: string enum: - CAR_ALLOWANCE - CHILD_SUPPORT - DISABILITY_PAYMENTS - INVESTMENT_INCOME - PENSIONS - RENTAL_INCOME - WORKERS_COMPENSATION - OTHER description: | The type of additional income. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. required: - type - grossIncome - frequency nullable: true employmentHistory: type: array items: type: object properties: type: type: string enum: - AT_HOME - EXECUTIVE - LABOURER - MANAGEMENT - OFFICE_STAFF - OTHER - PRODUCTION - PROFESSIONAL - RETIRED - SALES - SELF_EMPLOYED - SERVICE - STUDENT - TRADES - UNEMPLOYED description: | The type of employment. status: type: string enum: - FULL_TIME - FULL_TIME_PROBATION - PART_TIME - PART_TIME_CASUAL - RETIRED - SEASONAL_SUMMER - SEASONAL_WINTER - SELF_EMPLOYED - UNEMPLOYED description: | The employment status. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. postalCode: type: string employerName: type: string occupation: type: string employmentPhone: type: string yearsWorked: type: number monthsWorked: type: number additionalIncomeSources: type: array items: type: object properties: type: type: string enum: - CAR_ALLOWANCE - CHILD_SUPPORT - DISABILITY_PAYMENTS - INVESTMENT_INCOME - PENSIONS - RENTAL_INCOME - WORKERS_COMPENSATION - OTHER description: | The type of additional income. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. nullable: true noPreviousEmployment: type: boolean description: | Indicates if the applicant has no previous employment. worksheet: $ref: '#/components/schemas/worksheet' required: - applicationType - primaryApplicant responses: '200': description: The response of the application content: application/json: schema: $ref: '#/components/schemas/ApplicationResponse1' '400': description: Bad Request content: application/json: schema: type: object properties: status: type: integer default: 400 message: type: string '401': description: Unauthorized content: application/json: schema: type: object properties: status: type: integer default: 401 '/applications/{applicationId}/print': get: summary: >- Request a signed url for a pdf of the application details in the current state tags: - applications parameters: - in: header name: X-CreditApp-Retailer-ID schema: type: string format: uuid required: false - in: path name: applicationId required: true schema: type: string format: uuid responses: '200': description: >- Return a signed url for a pdf of the application details in the current state content: application/json: schema: type: object properties: signPdfUrl: type: string '400': description: Bad Request content: application/json: schema: type: object properties: status: type: integer default: 400 message: type: string '401': description: Unauthorized content: application/json: schema: type: object properties: status: type: integer default: 401 /vehicle-search: get: summary: Get a vehicle by vin tags: - vehicles parameters: - in: header name: X-CreditApp-Retailer-ID schema: type: string format: uuid required: false - name: vin in: query required: true schema: type: string - name: kilometers in: query required: true schema: type: string - name: province in: query schema: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT default: AB - name: frequency in: query schema: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - DEFAULT default: DEFAULT responses: '200': description: The response of the vehicle search content: application/json: schema: type: array items: type: object properties: vehicles: type: array items: type: object properties: uvc: type: string year: type: number make: type: string model: type: string series: type: string style: type: string addOnOptions: type: array items: type: object properties: auto: type: boolean name: type: string uoc: type: string deductOptions: type: array items: type: object properties: auto: type: boolean name: type: string uoc: type: string required: - uvc - year - make - model - series - style - addOnOptions - deductOptions '401': description: Unauthorized content: application/json: schema: type: object properties: status: type: integer default: 401 /vehicle-autocomplete: get: summary: Autocomplete search for vehicles tags: - vehicles parameters: - in: header name: X-CreditApp-Retailer-ID schema: type: string format: uuid required: false - name: search in: query required: true schema: type: string - name: limit in: query default: '10' schema: type: string responses: '200': description: The response of the vehicle search content: application/json: schema: type: array items: type: object properties: vehicles: type: array items: type: object properties: uvc: type: string year: type: number make: type: string model: type: string series: type: string style: type: string description: type: string required: - uvc - year - make - model - series - style '401': description: Unauthorized content: application/json: schema: type: object properties: status: type: integer default: 401 '/applications/{applicationId}/creditors/{creditorId}/worksheet': get: summary: Get a specific application worksheet for a creditor tags: - applications parameters: - in: header name: X-CreditApp-Retailer-ID schema: type: string format: uuid required: false - name: applicationId in: path required: true schema: type: string - name: creditorId in: path required: true schema: type: string responses: '200': description: The creditor application worksheet content: application/json: schema: $ref: '#/components/schemas/WorksheetResponse' put: summary: Set a specific application worksheet for a creditor tags: - applications description: | Set the worksheet values for an application parameters: - in: header name: X-CreditApp-Retailer-ID schema: type: string format: uuid required: false - name: applicationId in: path required: true schema: type: string - name: creditorId in: path required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/WorksheetWithRequiredFields' responses: '200': description: The response of the application content: application/json: schema: $ref: '#/components/schemas/WorksheetResponse' '400': description: Bad Request content: application/json: schema: type: object properties: status: type: integer default: 400 message: type: string '401': description: Unauthorized content: application/json: schema: type: object properties: status: type: integer default: 401 '/creditors/{creditorId}/programs': get: summary: Get the programs for a creditor tags: - creditors parameters: - in: header name: X-CreditApp-Retailer-ID schema: type: string format: uuid required: false - name: creditorId in: path required: true schema: type: string responses: '200': description: Gets the programs for a creditor content: application/json: schema: type: array items: type: object properties: id: description: The id of the program example: c8e4cd75-7f66-49dc-b44a-076eb409ea0b type: string title: description: The title of the program example: Program 1 type: string tiers: description: The tiers for the program type: array items: type: object properties: id: description: The id of the tier example: c8e4cd75-7f66-49dc-b44a-076eb409ea0b type: string name: description: The name of the tier example: Tier 1 type: string interestRateRange: description: The interest rate range for the tier type: object properties: from: description: The minimum interest rate for the tier example: 12.99 type: number to: description: The maximum interest rate for the tier example: 15.99 type: number maxAdvanceLTV: description: The maximum advance LTV for the tier example: 100 type: integer maxAftermarketLTV: description: The maximum aftermarket LTV for the tier example: 100 type: integer maxAllInLTV: description: The maximum all in LTV for the tier example: 100 type: integer maxPayment: description: The maximum payment for the tier example: 1000 type: number dealerReserve: description: The dealer reserve for the tier example: 300 type: number creditorFee: description: The creditor fee for the tier example: 900 type: number vehicleTermMatrix: description: The vehicle term matrix for the program type: array items: type: object properties: year: description: The year of the vehicle example: 2019 type: integer data: type: array items: type: object properties: term: description: The term of the loan example: 60 type: number milage: type: object properties: from: description: The minimum milage for the term example: 0 type: integer to: description: The maximum milage for the term example: 100000 type: integer vehicleConditionMatrix: description: The vehicle condition matrix for the program type: array items: type: object properties: year: description: The year of the vehicle example: 2019 type: number extraClean: milage: type: object properties: from: description: The minimum milage for the term example: 0 type: integer to: description: The maximum milage for the term example: 100000 type: integer clean: milage: type: object properties: from: description: The minimum milage for the term example: 0 type: integer to: description: The maximum milage for the term example: 100000 type: integer average: milage: type: object properties: from: description: The minimum milage for the term example: 0 type: integer to: description: The maximum milage for the term example: 100000 type: integer rough: milage: type: object properties: from: description: The minimum milage for the term example: 0 type: integer to: description: The maximum milage for the term example: 100000 type: integer /creditors: get: summary: Get the creditors tags: - creditors parameters: - in: header name: X-CreditApp-Retailer-ID schema: type: string format: uuid required: false responses: '200': description: Get the creditors content: application/json: schema: type: array items: type: object properties: creditorId: description: The id of the creditor mapped to the retailer example: c8e4cd75-7f66-49dc-b44a-076eb409ea0b type: string creditorName: description: The name of the creditor example: QUANTIFI type: string shortName: description: The abbreviated name of the creditor example: QLI type: string displayName: description: The display name of the creditor example: Quantifi type: string bio: description: The bio of the creditor example: >- Rewards Program: Earn an extra $100 with every funded deal! type: string required: - creditorId - creditorName /retailers: get: summary: Get the retailer details tags: - retailers parameters: - in: header name: X-CreditApp-Retailer-ID schema: type: string format: uuid required: false responses: '200': description: Gets the details of a retailer content: application/json: schema: type: array items: type: object properties: retailerId: description: The id of the retailer example: c8e4cd75-7f66-49dc-b44a-076eb409ea0b type: string name: description: The name of the retailer example: Bobs motors type: string address: description: The address of the retailer example: 1234 5th Ave SW type: string city: description: The city of the retailer example: Calgary type: string province: description: The province of the retailer example: AB type: string postalCode: description: The postal code of the retailer example: T2P 3N9 type: string country: description: The country of the retailer example: Canada type: string required: - retailerId - name /users: get: summary: Get the users under a retailer tags: - users parameters: - in: header name: X-CreditApp-Retailer-ID schema: type: string format: uuid required: false - in: query name: skip schema: type: string default: 0 - in: query name: limit schema: type: string default: 10 responses: '200': description: Gets a list of users for a retailer content: application/json: schema: type: array items: type: object properties: userId: description: The id of the user example: c8e4cd75-7f66-49dc-b44a-076eb409ea0b type: string firstName: description: The first name of the user example: John type: string lastName: description: The last name of the user example: Doe type: string email: description: The email of the user example: john.doe@bobsauto.com type: string phoneNumber: description: The phone number of the user example: '4039991234' type: string required: - creditorId - creditorName /retailers/enable-integration: post: security: - apiKey: [] summary: Enable integration for a retailer description: >- Enable integration for a retailer, this endpoint is used for interactive login flow. The API key needs to be passed in the Authorization header. tags: - retailers requestBody: content: application/json: schema: type: object properties: retailerId: type: string format: uuid required: - retailerId responses: '200': description: The integration was enabled successfully '400': description: Bad Request content: application/json: schema: type: object properties: status: type: integer default: 400 message: type: string '401': description: Unauthorized '409': description: Conflict - the integration is not in requested status to be enabled content: application/json: schema: type: object properties: status: type: integer default: 400 message: type: string /retailers/disable-integration: post: security: - apiKey: [] summary: Disable integration for a retailer description: Disable integration for a retailer. tags: - retailers requestBody: content: application/json: schema: type: object properties: retailerId: type: string format: uuid reason: type: string description: The reason integration is being disabled example: >- Third party is rejecting authentication, re-authentication is required required: - retailerId responses: '200': description: The integration was disabled successfully '400': description: Bad Request content: application/json: schema: type: object properties: status: type: integer default: 400 message: type: string '401': description: Unauthorized /retailers/integration-status: post: security: - apiKey: [] summary: Set the status of an integration for a retailer description: >- Set the status of an integration. Integrations can use this endpoint to set the integration enablement status. The API key needs to be passed in the Authorization header. tags: - retailers requestBody: content: application/json: schema: type: object properties: retailerId: type: string format: uuid status: type: string enum: - REQUESTED - WAITING_FOR_SECOND_ACTIVATION_STEP - FAILED_TO_ENABLE required: - retailerId - status responses: '200': description: The status for the integration was set successfully '400': description: Bad Request content: application/json: schema: type: object properties: status: type: integer default: 400 message: type: string '401': description: Unauthorized '422': description: Unprocessable Entity content: application/json: schema: type: object properties: status: type: integer default: 400 message: type: string components: schemas: ApplicationResponse: properties: applicationId: type: string description: | The application ID. dealerCode: type: string description: | The dealer code. status: type: string enum: - STARTED - DRAFT - SAVED - SUBMITTED - ARCHIVED description: | The application status. hasCoApplicant: type: boolean description: | Indicates if the application has a co-applicant. applicationType: type: string enum: - APPROVAL - PRE_APPROVAL description: | The type of application. primaryApplicant: type: object properties: applicantId: type: string description: | The applicant ID. firstName: type: string middleName: type: string lastName: type: string dateOfBirth: type: string format: date sin: type: string phoneNumber: type: string email: type: string addressHistory: type: array items: type: object properties: id: type: string description: | The address ID. residenceType: type: string enum: - RENT - OWN_FREE_AND_CLEAR - OWN_WITH_MORTGAGE - OWN_MOBILE_HOME - RESERVE_HOUSING - WITH_PARENTS - OTHER description: | The type of residence. monthlyRentOrMortgage: type: number apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string postalCode: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. yearsAtAddress: type: number monthsAtAddress: type: number poBoxNumber: type: string addressType: type: string enum: - STREET - PO_BOX description: | The type of address. employmentHistory: type: array items: type: object properties: id: type: string description: | The employment ID. type: type: string enum: - AT_HOME - EXECUTIVE - LABOURER - MANAGEMENT - OFFICE_STAFF - OTHER - PRODUCTION - PROFESSIONAL - RETIRED - SALES - SELF_EMPLOYED - SERVICE - STUDENT - TRADES - UNEMPLOYED description: | The type of employment. status: type: string enum: - FULL_TIME - FULL_TIME_PROBATION - PART_TIME - PART_TIME_CASUAL - RETIRED - SEASONAL_SUMMER - SEASONAL_WINTER - SELF_EMPLOYED - UNEMPLOYED description: | The employment status. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. postalCode: type: string employerName: type: string occupation: type: string employmentPhone: type: string yearsWorked: type: number monthsWorked: type: number additionalIncomeSources: type: array items: type: object properties: type: type: string enum: - CAR_ALLOWANCE - CHILD_SUPPORT - DISABILITY_PAYMENTS - INVESTMENT_INCOME - PENSIONS - RENTAL_INCOME - WORKERS_COMPENSATION - OTHER description: | The type of additional income. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. nullable: true nullable: true required: - firstName - lastName - dateOfBirth - phoneNumber - email coApplicant: type: object properties: applicantId: type: string description: | The applicant ID. firstName: type: string middleName: type: string lastName: type: string relationship: type: string enum: - COMMON_LAW - EMPLOYER - FRIEND - IN_LAW - OTHER - PARENT - SIBLING - SPOUSE description: | The relationship. dateOfBirth: type: string format: date sin: type: string phoneNumber: type: string email: type: string addressHistory: type: array items: type: object properties: id: type: string description: | The address ID. residenceType: type: string enum: - RENT - OWN_FREE_AND_CLEAR - OWN_WITH_MORTGAGE - OWN_MOBILE_HOME - RESERVE_HOUSING - WITH_PARENTS - OTHER description: | The type of residence. monthlyRentOrMortgage: type: number apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string postalCode: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. yearsAtAddress: type: number monthsAtAddress: type: number poBoxNumber: type: string addressType: type: string enum: - STREET - PO_BOX description: | The type of address. employmentHistory: type: array items: type: object properties: id: type: string description: | The employment ID. type: type: string enum: - AT_HOME - EXECUTIVE - LABOURER - MANAGEMENT - OFFICE_STAFF - OTHER - PRODUCTION - PROFESSIONAL - RETIRED - SALES - SELF_EMPLOYED - SERVICE - STUDENT - TRADES - UNEMPLOYED description: | The type of employment. status: type: string enum: - FULL_TIME - FULL_TIME_PROBATION - PART_TIME - PART_TIME_CASUAL - RETIRED - SEASONAL_SUMMER - SEASONAL_WINTER - SELF_EMPLOYED - UNEMPLOYED description: | The employment status. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. postalCode: type: string employerName: type: string occupation: type: string employmentPhone: type: string yearsWorked: type: number monthsWorked: type: number additionalIncomeSources: type: array items: type: object properties: type: type: string enum: - CAR_ALLOWANCE - CHILD_SUPPORT - DISABILITY_PAYMENTS - INVESTMENT_INCOME - PENSIONS - RENTAL_INCOME - WORKERS_COMPENSATION - OTHER description: | The type of additional income. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. nullable: true required: - firstName - lastName - relationship - dateOfBirth - email worksheet: type: object properties: salePrice: type: number description: | The sales price. cashDown: type: number description: | The cash down amount. rebate: type: number description: | The rebate amount. gst: type: number description: | The GST amount. pstHst: type: number description: | The PST amount. gstPercent: type: number description: | The GST percentage. pstHstPercent: type: number description: | The PST percentage. taxExempt: type: boolean description: | Whether the applicant is tax exempt. vehicle: type: object description: | The worksheet vehicle. properties: vin: type: string description: | The vehicle VIN. odometer: type: number description: | The vehicle odometer. uvc: type: string description: | The vehicle UVC. year: type: number description: | The vehicle year. make: type: string description: | The vehicle make. model: type: string description: | The vehicle model. trim: type: string description: | The vehicle trim. series: type: string description: | The vehicle series. color: type: string description: | The vehicle color. carfaxClaims: type: number description: | The number of carfax claims. required: - odometer - uvc - year - make - model dealerAdminFee: type: number description: | The dealer admin fee. registrationFee: type: number description: | The registration fee. gapInsurance: type: number description: | The gap insurance. extServiceContract: type: number description: | The extended service contract (warranty). pstNotApplicableOnExServiceContract: type: boolean description: > Indicates if the PST is not applicable on the extended service contract. firstPaymentDate: type: string format: date description: | The first payment date. deliveryDate: type: string format: date description: | The delivery date. tradeIn: type: object description: | The worksheet trade-in. properties: vin: type: string description: | The trade-in VIN. odometer: type: number description: | The trade-in odometer. year: type: number description: | The trade-in year. make: type: string description: | The trade-in make. model: type: string description: | The trade-in model. allowance: type: number description: | The trade-in allowance. lienAmount: type: number description: | The trade-in lien amount. lienHolder: type: string description: | The trade-in lien holder. required: - year - make - model interestRate: type: number description: | The interest rate. term: type: number description: | The term. paymentFrequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY required: - salePrice - vehicle - taxExempt - gstPercent - gst - pstHstPercent - pstHst - firstPaymentDate - deliveryDate - interestRate - term - paymentFrequency ApplicationResponse1: properties: applicationId: type: string description: | The application ID. createdAt: type: string format: date-time description: | The date and time the application was created. updatedAt: type: string format: date-time description: | The date and time the application was last updated. status: type: string enum: - STARTED - DRAFT - SAVED - SUBMITTED - ARCHIVED description: | The application status. hasCoApplicant: type: boolean description: | Indicates if the application has a co-applicant. applicationType: type: string enum: - APPROVAL - PRE_APPROVAL description: | The type of application. primaryApplicant: type: object properties: applicantId: type: string description: | The applicant ID. firstName: type: string middleName: type: string lastName: type: string dateOfBirth: type: string format: date sin: type: string selfReportedCreditScore: type: number phoneNumber: type: string email: type: string addressHistory: type: array items: type: object properties: id: type: string description: | The address ID. residenceType: type: string enum: - RENT - OWN_FREE_AND_CLEAR - OWN_WITH_MORTGAGE - OWN_MOBILE_HOME - RESERVE_HOUSING - WITH_PARENTS - OTHER description: | The type of residence. monthlyRentOrMortgage: type: number apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string postalCode: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. yearsAtAddress: type: number monthsAtAddress: type: number poBoxNumber: type: string addressType: type: string enum: - STREET - PO_BOX description: | The type of address. noPreviousAddress: type: boolean description: | Indicates if the applicant has no previous address. employmentHistory: type: array items: type: object properties: id: type: string description: | The employment ID. type: type: string enum: - AT_HOME - EXECUTIVE - LABOURER - MANAGEMENT - OFFICE_STAFF - OTHER - PRODUCTION - PROFESSIONAL - RETIRED - SALES - SELF_EMPLOYED - SERVICE - STUDENT - TRADES - UNEMPLOYED description: | The type of employment. status: type: string enum: - FULL_TIME - FULL_TIME_PROBATION - PART_TIME - PART_TIME_CASUAL - RETIRED - SEASONAL_SUMMER - SEASONAL_WINTER - SELF_EMPLOYED - UNEMPLOYED description: | The employment status. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. postalCode: type: string employerName: type: string occupation: type: string employmentPhone: type: string yearsWorked: type: number monthsWorked: type: number additionalIncomeSources: type: array items: type: object properties: type: type: string enum: - CAR_ALLOWANCE - CHILD_SUPPORT - DISABILITY_PAYMENTS - INVESTMENT_INCOME - PENSIONS - RENTAL_INCOME - WORKERS_COMPENSATION - OTHER description: | The type of additional income. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. nullable: true nullable: true noPreviousEmployment: type: boolean description: | Indicates if the applicant has no previous employment. coApplicant: type: object properties: applicantId: type: string description: | The applicant ID. firstName: type: string middleName: type: string lastName: type: string relationship: type: string enum: - COMMON_LAW - EMPLOYER - FRIEND - IN_LAW - OTHER - PARENT - SIBLING - SPOUSE description: | The relationship. dateOfBirth: type: string format: date sin: type: string phoneNumber: type: string email: type: string addressHistory: type: array items: type: object properties: id: type: string description: | The address ID. residenceType: type: string enum: - RENT - OWN_FREE_AND_CLEAR - OWN_WITH_MORTGAGE - OWN_MOBILE_HOME - RESERVE_HOUSING - WITH_PARENTS - OTHER description: | The type of residence. monthlyRentOrMortgage: type: number apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string postalCode: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. yearsAtAddress: type: number monthsAtAddress: type: number poBoxNumber: type: string addressType: type: string enum: - STREET - PO_BOX description: | The type of address. noPreviousAddress: type: boolean description: | Indicates if the applicant has no previous address. employmentHistory: type: array items: type: object properties: id: type: string description: | The employment ID. type: type: string enum: - AT_HOME - EXECUTIVE - LABOURER - MANAGEMENT - OFFICE_STAFF - OTHER - PRODUCTION - PROFESSIONAL - RETIRED - SALES - SELF_EMPLOYED - SERVICE - STUDENT - TRADES - UNEMPLOYED description: | The type of employment. status: type: string enum: - FULL_TIME - FULL_TIME_PROBATION - PART_TIME - PART_TIME_CASUAL - RETIRED - SEASONAL_SUMMER - SEASONAL_WINTER - SELF_EMPLOYED - UNEMPLOYED description: | The employment status. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. postalCode: type: string employerName: type: string occupation: type: string employmentPhone: type: string yearsWorked: type: number monthsWorked: type: number additionalIncomeSources: type: array items: type: object properties: type: type: string enum: - CAR_ALLOWANCE - CHILD_SUPPORT - DISABILITY_PAYMENTS - INVESTMENT_INCOME - PENSIONS - RENTAL_INCOME - WORKERS_COMPENSATION - OTHER description: | The type of additional income. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. nullable: true noPreviousEmployment: type: boolean description: | Indicates if the applicant has no previous employment. worksheet: type: object properties: salePrice: type: number description: | The sales price. cashDown: type: number description: | The cash down amount. rebate: type: number description: | The rebate amount. gst: type: number description: | The GST amount. pstHst: type: number description: | The PST amount. gstPercent: type: number description: | The GST percentage. pstHstPercent: type: number description: | The PST percentage. taxExempt: type: boolean description: | Whether the applicant is tax exempt. vehicle: type: object description: | The worksheet vehicle. properties: vin: type: string description: | The vehicle VIN. odometer: type: number description: | The vehicle odometer. uvc: type: string description: | The vehicle UVC. year: type: number description: | The vehicle year. make: type: string description: | The vehicle make. model: type: string description: | The vehicle model. trim: type: string description: | The vehicle trim. series: type: string description: | The vehicle series. color: type: string description: | The vehicle color. carfaxClaims: type: number description: | The number of carfax claims. dealerAdminFee: type: number description: | The dealer admin fee. registrationFee: type: number description: | The registration fee. gapInsurance: type: number description: | The gap insurance. extServiceContract: type: number description: | The extended service contract (warranty). pstNotApplicableOnExServiceContract: type: boolean description: > Indicates if the PST is not applicable on the extended service contract. firstPaymentDate: type: string format: date description: | The first payment date. deliveryDate: type: string format: date description: | The delivery date. tradeIn: type: object description: | The worksheet trade-in. properties: vin: type: string description: | The trade-in VIN. odometer: type: number description: | The trade-in odometer. year: type: number description: | The trade-in year. make: type: string description: | The trade-in make. model: type: string description: | The trade-in model. allowance: type: number description: | The trade-in allowance. lienAmount: type: number description: | The trade-in lien amount. lienHolder: type: string description: | The trade-in lien holder. required: - year - make - model interestRate: type: number description: | The interest rate. term: type: number description: | The term. paymentFrequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY required: - vehicle worksheet: properties: salePrice: type: number description: | The sales price. cashDown: type: number description: | The cash down amount. rebate: type: number description: | The rebate amount. gst: type: number description: | The GST amount. pstHst: type: number description: | The PST amount. gstPercent: type: number description: | The GST percentage. pstHstPercent: type: number description: | The PST percentage. taxExempt: type: boolean description: | Whether the applicant is tax exempt. vehicle: type: object description: | The worksheet vehicle. properties: vin: type: string description: | The vehicle VIN. odometer: type: number description: | The vehicle odometer. uvc: type: string description: | The vehicle UVC. year: type: number description: | The vehicle year. make: type: string description: | The vehicle make. model: type: string description: | The vehicle model. trim: type: string description: | The vehicle trim. series: type: string description: | The vehicle series. color: type: string description: | The vehicle color. carfaxClaims: type: number description: | The number of carfax claims. addOns: type: array items: type: string deducts: type: array items: type: string dealerAdminFee: type: number description: | The dealer admin fee. registrationFee: type: number description: | The registration fee. gapInsurance: type: number description: | The gap insurance. extServiceContract: type: number description: | The extended service contract (warranty). pstNotApplicableOnExServiceContract: type: boolean description: > Indicates if the PST is not applicable on the extended service contract. firstPaymentDate: type: string format: date description: | The first payment date. deliveryDate: type: string format: date description: | The delivery date. tradeIn: type: object description: | The worksheet trade-in. properties: vin: type: string description: | The trade-in VIN. odometer: type: number description: | The trade-in odometer. year: type: number description: | The trade-in year. make: type: string description: | The trade-in make. model: type: string description: | The trade-in model. allowance: type: number description: | The trade-in allowance. lienAmount: type: number description: | The trade-in lien amount. lienHolder: type: string description: | The trade-in lien holder. required: - vin - year - make - model interestRate: type: number description: | The interest rate. term: type: number description: | The term. paymentFrequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY otherNonTaxable: type: number description: | Other Non-Taxable amount otherTaxable: type: number description: | Other Taxable amount taxProvince: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT required: - vehicle creditFile: properties: id: type: string signedPdfUrl: type: string customerNumber: type: string language: type: string enum: - EN - FR fileSinceDate: type: string format: date lastActivityDate: type: string format: date requestedDate: type: string format: date bureau: type: object properties: id: type: string name: type: string hitType: type: string enum: - NO_CREDIT_FILE_REQUESTED - HIT - NO_HIT - MANUAL_FILE - CONSUMER_DECLARATION - REFERRED_FILE - CONTACT_BUREAU_COLLECTION_DEPARTMENT - CREDIT_LOCK subject: type: object properties: firstName: type: string middleName: type: string lastName: type: string suffix: type: string sin: type: string dateOfBirth: type: string format: date dateOfDeath: type: string format: date otherNames: type: array items: type: object properties: type: type: string enum: - ALSO_KNOWN_AS - FORMER_NAME - LEGAL_NAME_CHANGE firstName: type: string middleName: type: string lastName: type: string suffix: type: string addressHistory: type: array items: type: object properties: dateReported: type: string format: date streetNo: type: string streetName: type: string city: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT postalCode: type: string employmentHistory: type: array items: type: object properties: dateEmployed: type: string format: date dateLeft: type: string format: date employerName: type: string occupation: type: string city: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT monthlyIncome: type: number bankruptcies: type: array items: type: object properties: dateFiled: type: string format: date court: type: object properties: id: type: string name: type: string caseNumber: type: string type: type: string enum: - INDIVIDUAL - BUSINESS filer: type: string enum: - SUBJECT - JOINT disposition: type: object properties: type: type: string enum: - DISCHARGED - UNDISCHARGED - VOLUNTARY_DEPOSIT - VOLUNTARY_DEPOSIT_CLOSED - BANKRUPTCY_RECEIVING_ORDER - BANKRUPTCY_ASSIGNMENT - PROPOSAL_TO_CREDITORS - DEBTOR_ASSISTANCE_POOL_ACT - INVOLUNTARY - PROPOSAL_UNDER_BANKRUPTCY_ACT_PAID - DEBTOR_ASSISTANCE_POOL_ACT_PAID - COURT_CONSOLIDATIONS_PAID - COURT_CONSOLIDATIONS - ORDERLY_PAYMENT_OF_DEBT - ORDERLY_PAYMENT_OF_DEBT_DEFAULT - ORDERLY_PAYMENT_OF_DEBT_PAID - ORDERLY_PAYMENT_OF_DEBT_SETTLED - VOLUNTARY - CONSUMER_DEBT_COUNSELING - CONSUMER_DEBT_COUNSELING_CLOSED date: type: string format: date liabilityAmount: type: number assetAmount: type: number narratives: type: array items: type: string enum: - ABSOLUTE_DISCHARGE - ASSIGNMENT - SUMMARY_ASSIGNMENT - PROPOSAL - DISPOSITION_UNKNOWN - DEFAULTED_PAYMENT_DEEMED_ANNULMENT - NOTICE_OF_INTENTION collections: type: array items: type: object properties: type: type: string enum: - PAID - UNPAID assignedDate: type: string format: date agency: type: object properties: id: type: string name: type: string agencyAccountNumber: type: string creditor: type: object properties: accountNumberAndOrName: type: string industry: type: string reason: type: string enum: - CHECKED - OTHER - PAID - SETTLED - UNKNOWN originalAmount: type: number balanceAmount: type: number dateOfLastPayment: type: string format: date datePaid: type: string format: date narratives: type: array items: type: string enum: - INCLUDED_IN_BANKRUPTCY - INCLUDED_IN_OPD - SUBJECT_DISPUTES_THIS_ACCOUNT - SETTLEMENT_MADE - INCLUDED_IN_VOLUNTARY_DEPOSIT - CREDIT_COUNSELING - INCLUDED_IN_CONSUMER_PROPOSAL - INCLUDED_IN_CO_APPLICANTS_BANKRUPTCY - CHILD_OR_FAMILY_SUPPORT_OBLIGATION legalItems: type: array items: type: object properties: type: type: string enum: - UNSETTLED_JUDGMENT - SATISFIED_JUDGMENT dateFiled: type: string format: date court: type: object properties: id: type: string name: type: string caseNumber: type: string status: type: string enum: - DISMISSED - SATISFIED - SETTLED dateSatisfied: type: string format: date amount: type: number defendant: type: string plaintiff: type: string lawyerNameAddress: type: string narratives: type: array items: type: string enum: - INCLUDED_IN_BANKRUPTCY - INCLUDED_IN_OPD - SETTLEMENT_MADE - DISPOSITION_UNKNOWN - CREDIT_COUNSELING - INCLUDED_IN_CONSUMER_PROPOSAL - INCLUDED_IN_CO_APPLICANTS_BANKRUPTCY securedLoans: type: array items: type: object properties: dateFiled: type: string format: date court: type: object properties: id: type: string name: type: string creditor: type: object properties: nameAddressAndAmount: type: string industry: type: string maturityDate: type: string format: date narratives: type: array items: type: string enum: - INCLUDED_IN_BANKRUPTCY - MORTGAGE - SECURITY_DISPOSITION_UNKNOWN - SECURITY_DISCHARGED trades: type: array items: type: object properties: dateReported: type: string format: date creditor: type: object properties: id: type: string name: type: string phoneNumber: type: string accountNumber: type: string association: type: string enum: - INDIVIDUAL - JOINT - UNDESIGNATED - HAS_CO_SIGNER - IS_CO_SIGNER - TERMINATED highCreditAmount: type: number paymentTermAmount: type: number balanceAmount: type: number pastDueAmount: type: number monthsReviewed: type: number dateOpened: type: string format: date dateLastActivityOrPayment: type: string format: date portfolioType: type: string enum: - REVOLVING_OR_OPTION - INSTALMENT - OPEN_ACCOUNT - LEASE_ACCOUNT - LINE_OF_CREDIT - MORTGAGE paymentRate: type: string enum: - TOO_NEW_TO_RATE - PAID_AS_AGREED_AND_UP_TO_DATE - NOT_MORE_THAN_ONE_PAYMENT_PAST_DUE - NOT_MORE_THAN_TWO_PAYMENTS_PAST_DUE - THREE_OR_MORE_PAYMENTS_PAST_DUE - AT_LEAST_120_DAYS_OVERDUE_BUT_NOT_RATED_9 - MAKING_REGULAR_PAYMENTS_UNDER_CONSOLIDATION_ORDER - REPOSSESSION - BAD_DEBT_PLACED_FOR_COLLECTION status: type: string enum: - ACCOUNT_IS_INACTIVE - LOST_OR_STOLEN_CARD - CONTACT_MEMBER_FOR_RATE - ADJUSTMENT_PENDING - DISPUTE_RESOLUTION_PENDING count30DaysPastDue: type: number count60DaysPastDue: type: number count90DaysPastDue: type: number previousHighPaymentRates: type: array items: type: object properties: date: type: string format: date rate: type: string enum: - TOO_NEW_TO_RATE - PAID_AS_AGREED_AND_UP_TO_DATE - NOT_MORE_THAN_ONE_PAYMENT_PAST_DUE - NOT_MORE_THAN_TWO_PAYMENTS_PAST_DUE - THREE_OR_MORE_PAYMENTS_PAST_DUE - AT_LEAST_120_DAYS_OVERDUE_BUT_NOT_RATED_9 - MAKING_REGULAR_PAYMENTS_UNDER_CONSOLIDATION_ORDER - REPOSSESSION - BAD_DEBT_PLACED_FOR_COLLECTION narratives: type: array items: type: string enum: - BUSINESS_VENTURE_SUBJECT_LIABLE - AMOUNT_IN_PAYMENT_COLUMN_IS_ON_A_WEEKLY_BASIS - INCLUDED_IN_BANKRUPTCY - INCLUDED_IN_OPD - VOLUNTARY_REPOSSESSION - INVOLUNTARY_REPOSSESSION - AUTO_LOAN - COMMERCIAL_LOAN_ACCOUNT - ACCOUNT_ASSIGNED_TO_THIRD_PARTY_FOR_COLLECTION - HOME_IMPROVEMENT_LOAN - CLOSED_AT_CONSUMERS_REQUEST - PERSONAL_LOAN - CLOSED_BY_CREDIT_GRANTOR - SECURED_LOAN - PERSONAL_LINE_OF_CREDIT - AMOUNT_IN_HC_COLUMN_IS_CREDIT_LIMIT - NO_ACTIVITY_UPDATE_SINCE_DATE_REPORTED - SUBJECT_DISPUTES_THIS_ACCOUNT - TRANSFERRED_OR_SOLD - PAID_CREDIT_LINE_CLOSED - CREDIT_LINE_CLOSED - NOTE_LOAN - INACTIVE_ACCOUNT - SETTLEMENT_MADE - ACCOUNT_BEING_PAID_ON_REDUCED_PAYMENT - LEASE_ACCOUNT - SUBJECT_HAS_AN_ENDORSER_GUARANTOR - STUDENT_LOAN - CONDITIONAL_SALES - LOAN_WAS_PAID_OUT_BY_A_THIRD_PARTY - HAS_CO_SIGNER - IS_A_CO_SIGNER - WRITTEN_OFF - SUBJECT_IS_AN_ENDORSER_GUARANTOR - REGULAR_PAYMENTS_PRESENTLY_BEING_MADE - DEMAND_LOAN - FARM_AGRI_LOAN - INCLUDED_IN_VOLUNTARY_DEPOSIT - PAID_OUT_IN_FULL_BY_CO_SIGNER - PAYMENTS_ASSUMED_BY_THIRD_PARTY - INTERNAL_COLLECTION - CREDIT_COUNSELING - CUSTOMER_UNABLE_TO_LOCATE_CONSUMER - PROMISSORY_NOTE - DUE_TO_NSF_CHEQUES - PREPAID - ACCOUNT_PAID - MORTGAGE - BALANCE_PAID_BY_INSURANCE_COMPANY - PAYMENT_BEING_MADE_BY_INSURANCE - PAID_BY_GOVERNMENT - REFINANCED - SEMI_ANNUAL_PAYMENTS - MONTHLY_PAYMENTS - BI_WEEKLY_PAYMENTS - WEEKLY_PAYMENTS - QUARTERLY_PAYMENTS - ANNUAL_PAYMENTS - REDEEMED_REPOSSESSION - DISPUTE_RESOLUTION_PENDING - LEASE_EARLY_TERMINATION_BY_DEFAULT - RSP_LOAN - FORECLOSURE - POWER_OF_SALE - QUIT_CLAIM - FORFEIT_OF_DEED_IN_LIEU_OF_FORECLOSURE - US_DOLLAR_ACCOUNT - SUBJECT_NO_LONGER_ASSOCIATED_WITH_ACCOUNT - UPDATE_FREEZE_REQUESTED_BY_CREDIT_GRANTOR - NOT_INCLUDED_IN_BANKRUPTCY - INTEREST_PAYMENT_ONLY - SEMI_MONTHLY_PAYMENTS - BI_MONTHLY_PAYMENTS - SINGLE_PAYMENT_LOAN - DEFERRED_PAYMENT - STUDENT_LINE_OF_CREDIT - SECOND_MORTGAGE - ACCOUNT_CLOSED - MONTHS_REVIEWED_IS_GREATER_THAN_24 - FORECLOSURE_PROCEEDING_STARTED - INCLUDED_IN_CONSUMER_PROPOSAL - INCLUDED_IN_CO_APPLICANTS_BANKRUPTCY - AFFECTED_BY_NATURAL_OR_DECLARED_DISASTER - CORPORATE_CREDIT_CARD - CHILD_FAMILY_SUPPORT_OBLIGATION - CONSOLIDATION_LOAN - ACTIVE_MILITARY_DUTY - A_PORTION_OF_THE_BALANCE_MAY_REVOLVE - FIXED_PAYMENT_AMOUNT - HYBRID_ACCOUNT - HOME_EQUITY - CREDIT_LINE_SUSPENDED - ACCOUNT_ASSUMED_BY_ANOTHER_PARTY - OVER_LIMIT_PAYMENT_RECEIVED - GUARANTEED_STUDENT_LOAN - INTEREST_RELIEF - INTEREST_RELIEF_PAID_BY_GOVERNMENT - UNSECURED - INSURED - UNINSURED - COLLATERAL_MORTGAGE - REAL_ESTATE_SECURED - REVERSE_MORTGAGE - RENTAL_AGREEMENT localInquiries: type: array items: type: object properties: date: type: string format: date customer: type: object properties: id: type: string name: type: string phoneNumber: type: string foreignInquiries: type: array items: type: object properties: date: type: string format: date memberNameAndNumber: type: string industry: type: string specialServices: type: array items: type: object properties: type: type: string enum: - LOCATE - INQUIRY_ALERT - CONSUMER_INTERVIEW - ALERT_SERVICE - FILE_INCOMPLETE - LOCAL_LOCATE - CONTACT_BUREAU - LOST_OR_STOLEN_WALLET dateReported: type: string format: date customer: type: object properties: id: type: string name: type: string phoneNumber: type: string consumerStatements: type: array items: type: object properties: dateReported: type: string format: date dateToBePurged: type: string format: date statement: type: string scores: type: array items: type: object properties: number: type: number sign: type: string value: type: string narratives: type: array items: type: string reasons: type: array items: type: string rejectCodes: type: array items: type: string ApplicationResponse2: properties: applicationId: type: string description: | The application ID. createdAt: type: string format: date-time description: | The date and time the application was created. updatedAt: type: string format: date-time description: | The date and time the application was last updated. status: type: string enum: - STARTED - DRAFT - SAVED - SUBMITTED - ARCHIVED description: | The application status. hasCoApplicant: type: boolean description: | Indicates if the application has a co-applicant. applicationType: type: string enum: - APPROVAL - PRE_APPROVAL description: | The type of application. primaryApplicant: type: object properties: applicantId: type: string description: | The applicant ID. firstName: type: string middleName: type: string lastName: type: string dateOfBirth: type: string format: date sin: type: string phoneNumber: type: string email: type: string addressHistory: type: array items: type: object properties: id: type: string description: | The address ID. residenceType: type: string enum: - RENT - OWN_FREE_AND_CLEAR - OWN_WITH_MORTGAGE - OWN_MOBILE_HOME - RESERVE_HOUSING - WITH_PARENTS - OTHER description: | The type of residence. monthlyRentOrMortgage: type: number apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string postalCode: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. yearsAtAddress: type: number monthsAtAddress: type: number poBoxNumber: type: string addressType: type: string enum: - STREET - PO_BOX description: | The type of address. employmentHistory: type: array items: type: object properties: id: type: string description: | The employment ID. type: type: string enum: - AT_HOME - EXECUTIVE - LABOURER - MANAGEMENT - OFFICE_STAFF - OTHER - PRODUCTION - PROFESSIONAL - RETIRED - SALES - SELF_EMPLOYED - SERVICE - STUDENT - TRADES - UNEMPLOYED description: | The type of employment. status: type: string enum: - FULL_TIME - FULL_TIME_PROBATION - PART_TIME - PART_TIME_CASUAL - RETIRED - SEASONAL_SUMMER - SEASONAL_WINTER - SELF_EMPLOYED - UNEMPLOYED description: | The employment status. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. postalCode: type: string employerName: type: string occupation: type: string employmentPhone: type: string yearsWorked: type: number monthsWorked: type: number additionalIncomeSources: type: array items: type: object properties: type: type: string enum: - CAR_ALLOWANCE - CHILD_SUPPORT - DISABILITY_PAYMENTS - INVESTMENT_INCOME - PENSIONS - RENTAL_INCOME - WORKERS_COMPENSATION - OTHER description: | The type of additional income. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. nullable: true nullable: true required: - firstName - lastName - dateOfBirth - phoneNumber - email coApplicant: type: object properties: applicantId: type: string description: | The applicant ID. firstName: type: string middleName: type: string lastName: type: string relationship: type: string enum: - COMMON_LAW - EMPLOYER - FRIEND - IN_LAW - OTHER - PARENT - SIBLING - SPOUSE description: | The relationship. dateOfBirth: type: string format: date sin: type: string phoneNumber: type: string email: type: string addressHistory: type: array items: type: object properties: id: type: string description: | The address ID. residenceType: type: string enum: - RENT - OWN_FREE_AND_CLEAR - OWN_WITH_MORTGAGE - OWN_MOBILE_HOME - RESERVE_HOUSING - WITH_PARENTS - OTHER description: | The type of residence. monthlyRentOrMortgage: type: number apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string postalCode: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. yearsAtAddress: type: number monthsAtAddress: type: number poBoxNumber: type: string addressType: type: string enum: - STREET - PO_BOX description: | The type of address. employmentHistory: type: array items: type: object properties: id: type: string description: | The employment ID. type: type: string enum: - AT_HOME - EXECUTIVE - LABOURER - MANAGEMENT - OFFICE_STAFF - OTHER - PRODUCTION - PROFESSIONAL - RETIRED - SALES - SELF_EMPLOYED - SERVICE - STUDENT - TRADES - UNEMPLOYED description: | The type of employment. status: type: string enum: - FULL_TIME - FULL_TIME_PROBATION - PART_TIME - PART_TIME_CASUAL - RETIRED - SEASONAL_SUMMER - SEASONAL_WINTER - SELF_EMPLOYED - UNEMPLOYED description: | The employment status. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. apartmentSuite: type: string streetNo: type: string streetName: type: string streetType: type: string direction: type: string enum: - 'N' - NE - E - SE - S - SW - W - NW description: | The direction. city: type: string province: type: string enum: - AB - BC - MB - NB - NL - NS - NT - NU - 'ON' - PE - QC - SK - YT description: | The province. postalCode: type: string employerName: type: string occupation: type: string employmentPhone: type: string yearsWorked: type: number monthsWorked: type: number additionalIncomeSources: type: array items: type: object properties: type: type: string enum: - CAR_ALLOWANCE - CHILD_SUPPORT - DISABILITY_PAYMENTS - INVESTMENT_INCOME - PENSIONS - RENTAL_INCOME - WORKERS_COMPENSATION - OTHER description: | The type of additional income. grossIncome: type: number frequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY - YEARLY description: | The income frequency. nullable: true required: - firstName - lastName - relationship - dateOfBirth - email worksheet: type: object properties: salePrice: type: number description: | The sales price. cashDown: type: number description: | The cash down amount. rebate: type: number description: | The Rebate amount. gst: type: number description: | The GST amount. pstHst: type: number description: | The PST amount. gstPercent: type: number description: | The GST percentage. pstHstPercent: type: number description: | The PST percentage. taxExempt: type: boolean description: | Whether the applicant is tax exempt. vehicle: type: object description: | The worksheet vehicle. properties: vin: type: string description: | The vehicle VIN. odometer: type: number description: | The vehicle odometer. uvc: type: string description: | The vehicle UVC. year: type: number description: | The vehicle year. make: type: string description: | The vehicle make. model: type: string description: | The vehicle model. trim: type: string description: | The vehicle trim. series: type: string description: | The vehicle series. color: type: string description: | The vehicle color. carfaxClaims: type: number description: | The number of carfax claims. required: - odometer - uvc dealerAdminFee: type: number description: | The dealer admin fee. registrationFee: type: number description: | The registration fee. gapInsurance: type: number description: | The gap insurance. extServiceContract: type: number description: | The extended service contract (warranty). pstNotApplicableOnExServiceContract: type: boolean description: > Indicates if the PST is not applicable on the extended service contract. firstPaymentDate: type: string format: date description: | The first payment date. deliveryDate: type: string format: date description: | The delivery date. tradeIn: type: object description: | The worksheet trade-in. properties: vin: type: string description: | The trade-in VIN. odometer: type: number description: | The trade-in odometer. year: type: number description: | The trade-in year. make: type: string description: | The trade-in make. model: type: string description: | The trade-in model. allowance: type: number description: | The trade-in allowance. lienAmount: type: number description: | The trade-in lien amount. lienHolder: type: string description: | The trade-in lien holder. required: - year - make - model interestRate: type: number description: | The interest rate. term: type: number description: | The term. paymentFrequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY required: - salePrice - vehicle - taxExempt - gstPercent - gst - pstHstPercent - pstHst - firstPaymentDate - deliveryDate - interestRate - term - paymentFrequency worksheet1: properties: salePrice: type: number description: | The sales price. example: 23900 programId: type: string description: | The program ID. example: 535fef8e-00c5-483e-9093-2f12425108b9 tierId: type: string description: | The tier ID. example: f9d4ad68-1c3e-5e7e-ba07-ad73590250fb cashDown: type: number description: | The cash down amount. example: 9100 rebate: type: number description: | The rebate amount. example: 150 gst: type: number description: | The GST amount. example: 300 pstHst: type: number description: | The PST amount. example: 2080 gstPercent: type: number description: | The GST percentage. example: 5 pstHstPercent: type: number description: | The PST percentage. example: 8 taxExempt: type: boolean description: | Whether the applicant is tax exempt. example: false uvc: type: string description: > The vehicle UVC this can be found by using the vehicle-search endpoint. example: '2023485125' vehicle: type: object description: | The worksheet vehicle. properties: vin: type: string description: | The vehicle VIN. odometer: type: number description: | The vehicle odometer. uvc: type: string description: | The vehicle UVC. year: type: number description: | The vehicle year. make: type: string description: | The vehicle make. model: type: string description: | The vehicle model. trim: type: string description: | The vehicle trim. series: type: string description: | The vehicle series. color: type: string description: | The vehicle color. carfaxClaims: type: number description: | The number of carfax claims. addOns: type: array items: type: string deducts: type: array items: type: string odometer: type: number description: | The vehicle odometer in kilometers. example: 119845 dealerAdminFee: type: number description: | The dealer admin fee. example: 1499 registrationFee: type: number description: | The registration fee. example: 100 creditorFee: type: number description: | The creditor fee. example: 500 gapInsurance: type: number description: | The gap insurance. example: 2100 extServiceContract: type: number description: | The extended service contract (warranty). example: 1300 pstNotApplicableOnExServiceContract: type: boolean description: > Indicates if the PST is not applicable on the extended service contract. example: false pstNotApplicableOnAhInsurance: type: boolean description: > Indicates if the PST is not applicable on the accident and health insurance. example: false pstNotApplicableOnLifeInsurance: type: boolean description: | Indicates if the PST is not applicable on the credit life insurance. example: false pstNotApplicableOnGapInsurance: type: boolean description: | Indicates if the PST is not applicable on the gap insurance. example: false firstPaymentDate: type: string format: date description: | The first payment date. example: '2020-08-28' deliveryDate: type: string format: date description: | The delivery date. example: '2020-08-21' tradeIn: type: object description: | The worksheet trade-in. properties: vin: type: string description: | The trade-in VIN. example: 1FMCU0GD7JUB88886 odometer: type: number description: | The trade-in odometer. example: 119845 year: type: number description: | The trade-in year. example: 2018 make: type: string description: | The trade-in make. example: Ford model: type: string description: | The trade-in model. example: Escape allowance: type: number description: | The trade-in allowance. example: 10000 lienAmount: type: number description: | The trade-in lien amount. example: 5000 lienHolder: type: string description: | The trade-in lien holder. example: Ford Credit required: - uvc - odometer interestRate: type: number description: | The interest rate. example: 17.99 term: type: number description: | The term. example: 78 gpsFee: type: number description: | The GPS fee. example: 300 licenseFee: type: number description: | The license fee. example: 100 installationAndDeliveryFee: type: number description: | The installation and delivery fee. example: 300 ahInsuranceFee: type: number description: | The accident and health insurance. example: 250 lifeInsuranceFee: type: number description: | The credit life insurance. example: 70 paymentFrequency: type: string enum: - BI_WEEKLY - MONTHLY - SEMI_MONTHLY - WEEKLY WorksheetWithRequiredFields: allOf: - $ref: '#/components/schemas/worksheet1' - type: object required: - vehicle WorksheetResponse: allOf: - $ref: '#/components/schemas/worksheet1' - type: object properties: applicationId: type: string description: | The application ID. creditorId: type: string description: | The creditor ID. worksheetPayment: type: number description: | The worksheet payment. example: 500 totalFinancedAmount: type: number description: | The total amount financed. example: 20000 securitySchemes: apiKey: type: apiKey in: header name: Authorization