openapi: 3.2.0 info: title: FISĀ® Accounting Data as a Serviceā„¢ Financial Forecast API description: What's changed in our API version: v2 contact: {} servers: - url: https://api.railz.ai description: Main (production) API server tags: - name: FinancialForecast paths: /financialForecasts: get: description: Gets 36 months of business financial forcasts. operationId: financialForecasts parameters: - name: businessName required: true in: query schema: example: Railz type: string - name: serviceName required: true in: query schema: type: string enum: - freshbooks - quickbooks - quickbooksDesktop - xero - oracleNetsuite - sageBusinessCloud - sageIntacct - dynamicsBusinessCentral - zohoBooks - byod - name: financialStatementType required: true in: query schema: type: string enum: - balanceSheets - incomeStatements - cashflowStatements - name: reportFrequency required: true in: query schema: type: string enum: - month - quarter - year - name: percentile required: false in: query schema: format: float example: 0.05 type: number - name: startDate required: false in: query schema: type: string - name: endDate required: false in: query schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/FinancialForecastResponseV1Dto' '202': description: Data in pending state content: application/json: schema: $ref: '#/components/schemas/FinancialForecastResponseV1Dto' '204': description: No data available '400': description: Bad Request Error - Thrown if fields sent via query does not follow specifications content: application/json: schema: $ref: '#/components/schemas/Error400ResponseDto' '401': description: Unauthorized - Not logged in or log in expired content: application/json: schema: $ref: '#/components/schemas/Error401ResponseDto' '403': description: Forbidden - Not enough permission content: application/json: schema: $ref: '#/components/schemas/Error403ResponseDto' '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/Error500ResponseDto' security: - bearer: [] summary: Financial forecasts tags: - FinancialForecast x-summary-source: derived components: schemas: FinancialForecastMetaData: type: object properties: reportId: type: string readOnly: true example: 5fad8a342a88364234392fb5 serviceName: type: string readOnly: true example: xero enum: - quickbooks - xero - freshbooks - quickbooksDesktop - sageIntacct - sageBusinessCloud - oracleNetsuite - dynamicsBusinessCentral - dynamics365Finance - wave - zohoBooks - myob businessName: type: string readOnly: true example: Railz financialStatementType: type: string readOnly: true example: balanceSheets enum: - balanceSheets - incomeStatements - cashflowStatements reportFrequency: type: string readOnly: true example: month startDate: type: string readOnly: true example: '2020-11-01T00:00:00Z' endDate: type: string readOnly: true example: '2022-03-31T00:00:00Z' createdAt: type: string readOnly: true example: '2020-11-25T01:02:03Z' format: date-time updatedAt: type: string readOnly: true example: '2020-11-30T01:02:03Z' format: date-time required: - reportId - serviceName - businessName - financialStatementType - reportFrequency - startDate - endDate - createdAt - updatedAt Error403ResponseDto: type: object properties: error: readOnly: true allOf: - $ref: '#/components/schemas/Error403Dto' payload: type: object readOnly: true example: {} required: - error - payload Error401Dto: type: object properties: statusCode: type: number readOnly: true example: 401 message: readOnly: true example: - Unauthorized type: array items: type: string error: type: string readOnly: true example: Unauthorized required: - statusCode - message - error FinancialForecastResponseV1Dto: type: object properties: count: type: number readOnly: true example: 1 format: integer reports: readOnly: true type: array items: $ref: '#/components/schemas/FinancialForecastReport' required: - count - reports Error500Dto: type: object properties: error: type: string readOnly: true example: Internal Server Error message: readOnly: true example: - INTERNAL_ERROR type: array items: type: string statusCode: type: number readOnly: true example: 500 required: - error - message - statusCode Error400Dto: type: object properties: statusCode: type: number readOnly: true example: 400 message: readOnly: true example: - businessName cannot be null type: array items: type: string error: type: string readOnly: true example: Bad Request required: - statusCode - message - error Error403Dto: type: object properties: statusCode: type: number readOnly: true example: 403 message: readOnly: true example: - Forbidden resource type: array items: type: string error: type: string readOnly: true example: Forbidden required: - statusCode - message - error Error400ResponseDto: type: object properties: error: readOnly: true allOf: - $ref: '#/components/schemas/Error400Dto' payload: type: object readOnly: true required: - error - payload Error401ResponseDto: type: object properties: error: readOnly: true allOf: - $ref: '#/components/schemas/Error401Dto' payload: type: object readOnly: true example: {} required: - error - payload FinancialForecastDataV1: type: object properties: section: type: string example: Assets subSection: type: string example: Current Assets group: type: string example: Cash And Cash Equivalents subGroup: type: string example: Checking account: type: string example: Bank of America subAccount: type: string endDate: type: string example: '2022-03-31' format: date amount: type: number example: 1500000.5 format: double required: - section - subSection - group - subGroup - account - endDate - amount FinancialForecastReport: type: object properties: meta: $ref: '#/components/schemas/FinancialForecastMetaData' data: type: array items: $ref: '#/components/schemas/FinancialForecastDataV1' required: - meta - data Error500ResponseDto: type: object properties: error: readOnly: true allOf: - $ref: '#/components/schemas/Error500Dto' payload: type: object readOnly: true required: - error - payload securitySchemes: bearer: scheme: bearer bearerFormat: JWT type: http