openapi: 3.2.0 info: title: FISĀ® Accounting Data as a Serviceā„¢ Bill API description: What's changed in our API version: v2 contact: {} servers: - url: https://api.railz.ai description: Main (production) API server tags: - name: Bill paths: /bills: get: description: Gets the latest bills for a business. operationId: getBills parameters: - name: businessName required: true in: query schema: type: string - name: serviceName required: true in: query schema: type: string enum: - freshbooks - quickbooks - quickbooksDesktop - xero - oracleNetsuite - sageBusinessCloud - sageIntacct - dynamicsBusinessCentral - dynamics365Finance - myob - zohoBooks - name: startDate required: false in: query description: 'Transaction date greater than or equal to parameter in the format: YYYY-MM-DD.' schema: type: string - name: endDate required: false in: query description: 'Transaction date less than or equal to parameter in the format: YYYY-MM-DD.' schema: type: string - name: offset required: false in: query description: The offset is the position in the dataset of a particular record. schema: format: integer type: number - name: limit required: false in: query description: 'This is the size of the results set you would like (default: 100).' schema: format: integer example: 100 type: number - name: orderBy required: false in: query schema: type: string - name: status required: false in: query schema: type: string enum: - open - draft - partiallyPaid - paid - unknown - void responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetBillResponseDto' '202': description: Data in pending state content: application/json: schema: $ref: '#/components/schemas/GetBillResponseDto' '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: Get bills tags: - Bill x-summary-source: derived post: description: Creates an individual bill for a business. operationId: push-bills parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PushBillDto' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PushBillResponseDto' '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: Push bills tags: - Bill x-summary-source: derived /bills/{id}: put: description: Update an individual bill or a business. operationId: put-bills parameters: - name: id required: true in: path schema: type: string requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/UpdateBillsV1Dto' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/UpdateBillsResponseV1Dto' '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: Put bills tags: - Bill x-summary-source: derived /bills/payments: get: description: Gets the latest bill payments for a business. operationId: billsPayments parameters: - name: businessName required: true in: query schema: type: string - name: serviceName required: true in: query schema: type: string enum: - freshbooks - quickbooks - quickbooksDesktop - xero - oracleNetsuite - sageBusinessCloud - sageIntacct - dynamicsBusinessCentral - dynamics365Finance - myob - zohoBooks - name: startDate required: false in: query description: 'Transaction date greater than or equal to parameter in the format: YYYY-MM-DD.' schema: type: string - name: endDate required: false in: query description: 'Transaction date less than or equal to parameter in the format: YYYY-MM-DD.' schema: type: string - name: offset required: false in: query description: The offset is the position in the dataset of a particular record. schema: format: integer type: number - name: limit required: false in: query description: 'This is the size of the results set you would like (default: 100).' schema: format: integer example: 100 type: number - name: orderBy required: false in: query schema: type: string responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetBillPaymentResponseDto' '202': description: Data in pending state content: application/json: schema: $ref: '#/components/schemas/GetBillPaymentResponseDto' '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: Bills payments tags: - Bill x-summary-source: derived post: description: Creates an individual bill payment for a business. operationId: push-bills-payments parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PushBillPaymentDto' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PushBillPaymentResponseDto' '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: Push bills payments tags: - Bill x-summary-source: derived /bills/creditNotes: get: description: Gets the latest bill (vendor) credit notes for a business. operationId: bill-creditNotes parameters: - name: businessName required: true in: query schema: type: string - name: serviceName required: true in: query schema: type: string enum: - quickbooks - quickbooksDesktop - xero - oracleNetsuite - sageBusinessCloud - sageIntacct - zohoBooks - name: startDate required: false in: query description: 'Transaction date greater than or equal to parameter in the format: YYYY-MM-DD.' schema: type: string - name: endDate required: false in: query description: 'Transaction date less than or equal to parameter in the format: YYYY-MM-DD.' schema: type: string - name: offset required: false in: query description: The offset is the position in the dataset of a particular record. schema: format: integer type: number - name: limit required: false in: query description: 'This is the size of the results set you would like (default: 100).' schema: format: integer example: 100 type: number - name: orderBy required: false in: query schema: type: string - name: totalAmount required: false in: query description: Total amount of a credit note. schema: format: float type: number - name: remainingCredit required: false in: query description: Remaining credit on a credit note. schema: format: float type: number - name: status required: false in: query schema: type: string enum: - open - paid - partiallyPaid - void - unknown - draft responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/GetBillCreditNoteResponseDto' '202': description: Data in pending state content: application/json: schema: $ref: '#/components/schemas/GetBillCreditNoteResponseDto' '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: Bill credit notes tags: - Bill x-summary-source: derived post: description: Posts an individual bill (vendor) credit note for a business. operationId: push-bill-creditNotes parameters: [] requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/PushBillCreditNoteDto' responses: '200': description: '' content: application/json: schema: $ref: '#/components/schemas/PushBillCreditNoteResponseDto' '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: Push bill credit notes tags: - Bill x-summary-source: derived components: schemas: PurchaseOrderRefDto: type: object properties: id: type: string example: '21' required: - id 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 TransactionalReportMetaData: type: object properties: reportId: readOnly: true example: - 5fad8a342a88364234392fb5 - 5fad8a342a88364234392fb6 type: array items: type: string serviceName: type: string readOnly: true example: xero enum: - freshbooks - quickbooks - quickbooksDesktop - xero - oracleNetsuite - sageBusinessCloud - sageIntacct - dynamicsBusinessCentral - dynamics365Finance - wave - myob - zohoBooks - byod businessName: type: string readOnly: true example: Railz startDate: type: string readOnly: true example: '2020-11-25T01:02:03Z' format: date-time endDate: type: string readOnly: true example: '2020-11-30T01:02:03Z' format: date-time createdAt: type: string readOnly: true example: '2020-11-25T01:02:03Z' format: date-time updatedAt: type: string example: '2020-11-30T01:02:03Z' format: date-time readOnly: false required: - reportId - serviceName - businessName - startDate - endDate - createdAt - updatedAt PushBillResponseDto: type: object properties: pushCommunicationId: type: string readOnly: true example: 60473b57f0cdd1683ca71f60 requestedOn: type: string readOnly: true example: '2021-03-09T08:15:22.035Z' format: date-time status: type: string readOnly: true example: pending enum: - success - failed - pending businessName: type: string readOnly: true example: Railz serviceName: type: string readOnly: true example: quickbooks enum: - freshbooks - quickbooks - quickbooksDesktop - xero - oracleNetsuite - sageBusinessCloud - sageIntacct - dynamicsBusinessCentral - dynamics365Finance - wave - myob - zohoBooks - byod data: readOnly: true allOf: - $ref: '#/components/schemas/PushBill' required: - pushCommunicationId - requestedOn - status - businessName - serviceName - data PushBillPaymentResponseDto: type: object properties: pushCommunicationId: type: string readOnly: true example: 60473b57f0cdd1683ca71f60 requestedOn: type: string readOnly: true example: '2021-03-09T08:15:22.035Z' format: date-time status: type: string readOnly: true example: pending enum: - success - failed - pending businessName: type: string readOnly: true example: Railz serviceName: type: string readOnly: true example: quickbooks enum: - freshbooks - quickbooks - quickbooksDesktop - xero - oracleNetsuite - sageBusinessCloud - sageIntacct - dynamicsBusinessCentral - dynamics365Finance - wave - myob - zohoBooks - byod data: readOnly: true allOf: - $ref: '#/components/schemas/PushBillPayment' required: - pushCommunicationId - requestedOn - status - businessName - serviceName - data BillLineItems: type: object properties: description: type: string example: Services rendered. unitAmount: type: number example: 100.5 format: float quantity: type: number example: 3 format: float discountAmount: type: number example: 0 format: float taxAmount: type: number example: 20.5 format: float taxRateRef: $ref: '#/components/schemas/TaxRateRef' inventoryRef: $ref: '#/components/schemas/InventoryRef' discountPercentage: type: number example: 10.5 format: float id: type: string example: 8a3fdcc9-83eb-4fdd-83e0-52ec1b40b072 accountRef: $ref: '#/components/schemas/AccountRef' trackingCategoryRef: deprecated: true allOf: - $ref: '#/components/schemas/TrackingCategoryRef' totalAmount: type: number example: 10.5 format: float deprecated: true customerRef: $ref: '#/components/schemas/CustomerObjectRefResponse' billableStatus: type: string example: notBillable enum: - billable - notBillable - hasBeenBilled subTotal: type: number example: 301.5 format: float deprecated: true required: - id InventoryRef: type: object properties: id: type: string example: '1' name: type: string example: Digital Services required: - id BasicStartEndDateReportMetaData: type: object properties: reportId: readOnly: true example: - 5fad8a342a88364234392fb5 type: array items: type: string serviceName: type: string readOnly: true example: xero enum: - freshbooks - quickbooks - quickbooksDesktop - xero - oracleNetsuite - sageBusinessCloud - sageIntacct - dynamicsBusinessCentral - dynamics365Finance - wave - myob - zohoBooks - byod businessName: type: string readOnly: true example: Railz createdAt: type: string readOnly: true example: '2020-11-25T01:02:03Z' format: date-time updatedAt: type: string example: '2020-11-30T01:02:03Z' format: date-time readOnly: false startDate: type: string readOnly: true example: '2020-11-25T01:02:03Z' format: date-time endDate: type: string readOnly: true example: '2020-11-30T01:02:03Z' format: date-time required: - reportId - serviceName - businessName - createdAt - updatedAt - startDate - endDate PushBillLineItemV1: type: object properties: description: type: string maxLength: 4000 example: Services rendered. unitAmount: type: number format: float example: 100.5 quantity: type: number format: float example: 3 taxAmount: type: number format: float example: 20.5 customerRef: $ref: '#/components/schemas/CustomerObjectRefDto' billableStatus: type: string example: notBillable enum: - billable - notBillable - hasBeenBilled accountRef: type: string example: '145' trackingCategoryRef: type: string example: '231' deprecated: true taxRef: type: string example: '24' subTotal: type: number format: float example: 301.5 deprecated: true totalAmount: type: number format: float example: 322 deprecated: true required: - unitAmount - quantity CustomerObjectRefDto: type: object properties: id: type: string example: '124' required: - id SubsidiaryRef: type: object properties: id: type: string example: '1' name: type: string example: Railz Financial BillPLinks: type: object properties: type: type: string enum: - bill - billPayment - paymentOnAccount - creditNote - refund - other id: type: string example: '123' required: - type - id PushBillCreditNoteResponseDto: type: object properties: pushCommunicationId: type: string readOnly: true example: 60473b57f0cdd1683ca71f60 requestedOn: type: string readOnly: true example: '2021-03-09T08:15:22.035Z' format: date-time status: type: string readOnly: true example: pending enum: - success - failed - pending businessName: type: string readOnly: true example: Railz serviceName: type: string readOnly: true example: quickbooks enum: - freshbooks - quickbooks - quickbooksDesktop - xero - oracleNetsuite - sageBusinessCloud - sageIntacct - dynamicsBusinessCentral - dynamics365Finance - wave - myob - zohoBooks - byod data: readOnly: true allOf: - $ref: '#/components/schemas/PushBillCreditNote' required: - pushCommunicationId - requestedOn - status - businessName - serviceName - data TrackingCategoryRef: type: object properties: id: type: string example: '4040' readOnly: false name: type: string readOnly: false example: Region option: type: string readOnly: false example: East optionId: type: string readOnly: false example: '40401' required: - id InvoiceBillLineItemsV1: type: object properties: description: type: string example: Services rendered. unitAmount: type: number example: 100.5 format: float quantity: type: number example: 3 format: float discountAmount: type: number example: 0 format: float taxAmount: type: number example: 20.5 format: float taxRateRef: $ref: '#/components/schemas/TaxRateRef' inventoryRef: $ref: '#/components/schemas/InventoryRef' discountPercentage: type: number example: 10.5 format: float id: type: string accountRef: $ref: '#/components/schemas/AccountRef' totalAmount: type: number example: 10.5 format: float deprecated: true subTotal: type: number example: 301.5 format: float deprecated: true trackingCategoryRef: deprecated: true allOf: - $ref: '#/components/schemas/TrackingCategoryRef' BillPaymentLineItem: type: object properties: amount: type: number example: 200.5 format: float link: deprecated: true allOf: - $ref: '#/components/schemas/BillPaymentLink' links: type: array items: $ref: '#/components/schemas/BillPLinks' allocatedOnDate: format: date-time type: string example: '2021-03-09T10:57:54.294Z' required: - amount LocationRef: type: object properties: id: type: string example: '52' name: type: string example: United States CustomerObjectRefResponse: type: object properties: id: type: string example: '124' name: type: string example: Railz required: - id 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 BillPaymentLink: type: object properties: type: type: string enum: - bill - billPayment - paymentOnAccount - creditNote - refund - other id: type: string example: '50' amount: type: number example: 0 format: float required: - type PushBillDto: type: object properties: connection: $ref: '#/components/schemas/PushConnection' data: $ref: '#/components/schemas/PushBill' required: - connection - data Payments: type: object properties: amount: type: number example: 50.5 format: float paymentId: type: string example: '50' date: format: date-time type: string example: '2021-03-09T10:18:29.985Z' PushBill: type: object properties: vendorInvoiceNumber: type: string maxLength: 21 example: '254' postedDate: type: string format: date example: '2021-03-29' dueDate: type: string format: date example: '2021-03-29' currencyRate: type: number format: float example: 1.13 memo: type: string maxLength: 4000 example: Example bill memo. vendorRef: type: string example: '132' currency: type: string example: CAD locationRef: type: string example: '3' deprecated: true subsidiaryRefs: example: - '4' type: array items: type: string trackingCategoryRef: type: string example: '23118' deprecated: true lines: type: array items: $ref: '#/components/schemas/PushBillLineItemV1' required: - vendorRef - lines TaxRateRef: type: object properties: id: type: string example: '1' name: type: string example: HST effectiveTaxRate: type: number example: 13 format: float required: - id UpdateBillLineItemV1: type: object properties: description: type: string maxLength: 4000 example: Services rendered. unitAmount: type: number format: float example: 50.5 quantity: type: number format: float example: 202 billableStatus: type: string example: notBillable enum: - billable - notBillable - hasBeenBilled customerRef: $ref: '#/components/schemas/CustomerObjectRefDto' id: type: string example: 8a3fdcc9-83eb-4fdd-83e0-52ec1b40b072 taxAmount: type: number format: float example: 20.5 taxRef: type: string example: '24' accountRef: type: string example: '145' trackingCategoryRef: type: string example: '231' deprecated: true subTotal: type: number format: float example: 301.5 deprecated: true totalAmount: type: number format: float example: 322 deprecated: true required: - unitAmount - quantity BillCreditNoteLineItem: type: object properties: description: type: string maxLength: 4000 example: Services rendered. unitAmount: type: number format: float example: 100.5 quantity: type: number format: float example: 3 billableStatus: type: string example: notBillable enum: - billable - notBillable - hasBeenBilled taxAmount: type: number format: float example: 20.5 taxRef: type: string example: '24' accountRef: type: string example: '200' subTotal: type: number format: float example: 301.5 deprecated: true totalAmount: type: number format: float example: 322 deprecated: true customerRef: $ref: '#/components/schemas/CustomerObjectRefDto' required: - unitAmount - quantity 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 PushBillPayment: type: object properties: currencyRate: type: number format: float example: 1.13 memo: type: string maxLength: 4000 example: Bill payment memo. date: type: string format: date example: '2021-03-29' locationRef: type: string example: '3' totalAmount: type: number format: float example: 200.5 trackingCategoryRef: type: string example: '23118' accountRef: type: string example: '132' vendorRef: type: string example: '250' billRef: type: string example: '250' deprecated: true currency: type: string example: CAD lines: type: array items: $ref: '#/components/schemas/BillPaymentLine' subsidiaryRefs: example: - '4' type: array items: type: string GetBillData: type: object properties: id: type: string example: '1' vendorRef: $ref: '#/components/schemas/VendorRef' purchaseOrderRef: deprecated: true allOf: - $ref: '#/components/schemas/PurchaseOrderRefDto' purchaseOrderRefs: type: array items: $ref: '#/components/schemas/PurchaseOrderRefDto' postedDate: format: date-time type: string example: '2021-03-09T10:18:29.985Z' dueDate: format: date-time type: string example: '2021-03-09T10:18:29.985Z' currencyRef: $ref: '#/components/schemas/CurrencyRef' currencyRate: type: number example: 1.13 format: float vendorInvoiceNumber: type: string example: INV-0028 lines: type: array items: $ref: '#/components/schemas/BillLineItems' status: type: string enum: - open - draft - partiallyPaid - paid - unknown - void subTotal: type: number example: 301.5 format: float taxAmount: type: number example: 20.5 format: float totalAmount: type: number example: 322 format: float amountDue: type: number example: 322 format: float memo: type: string example: Example bill memo. payments: type: array items: $ref: '#/components/schemas/Payments' subsidiaryRefs: type: array items: $ref: '#/components/schemas/SubsidiaryRef' locationRef: deprecated: true allOf: - $ref: '#/components/schemas/LocationRef' sourceModifiedDate: format: date-time type: string example: '2021-03-09T10:18:29.985Z' required: - id - postedDate - status - totalAmount PaginationMetaData: type: object properties: offset: type: number readOnly: true limit: type: number readOnly: true count: type: number readOnly: true required: - offset - limit - count PushConnection: type: object properties: businessName: type: string example: Railz description: Unique business name identifier. serviceName: type: string example: quickbooks description: Name of accounting platform service. enum: - freshbooks - quickbooks - quickbooksDesktop - xero - oracleNetsuite - sageBusinessCloud - sageIntacct - dynamicsBusinessCentral - dynamics365Finance - wave - shopify - square - plaid - myob - zohoBooks - byod required: - businessName - serviceName GetBillCreditNoteDataV1: type: object properties: id: type: string example: '1' postedDate: format: date-time type: string example: '2021-03-09T10:18:29.985Z' allocatedOnDate: format: date-time type: string example: '2021-03-09T10:18:29.985Z' currencyRef: $ref: '#/components/schemas/CurrencyRef' currencyRate: type: number example: 1.13 format: float totalDiscount: type: number example: 322 format: float discountPercentage: type: number example: 322 format: float subTotal: type: number example: 301.5 format: float taxAmount: type: number example: 20.5 format: float totalAmount: type: number example: 322 format: float remainingCredit: type: number example: 322 format: float status: type: string enum: - open - paid - partiallyPaid - void - unknown - draft memo: type: string example: Example bill memo. payments: type: array items: $ref: '#/components/schemas/Payments' sourceModifiedDate: format: date-time type: string example: '2021-03-09T10:18:29.985Z' locationRef: $ref: '#/components/schemas/LocationRef' vendorRef: $ref: '#/components/schemas/VendorRef' lines: type: array items: $ref: '#/components/schemas/InvoiceBillLineItemsV1' required: - id - postedDate - totalAmount - status UpdateBillsV1Dto: type: object properties: connection: $ref: '#/components/schemas/PushUpdateBillsConnection' data: $ref: '#/components/schemas/UpdateBillsV1' required: - connection - data UpdateBillsV1: type: object properties: vendorInvoiceNumber: type: string maxLength: 21 example: '254' postedDate: type: string format: date example: '2021-03-29' dueDate: type: string format: date example: '2021-03-29' currencyRate: type: number format: float example: 1.13 memo: type: string maxLength: 4000 example: Example bill memo. vendorRef: type: string example: '132' currency: type: string example: CAD locationRef: type: string example: '3' deprecated: true subsidiaryRefs: example: - '4' type: array items: type: string trackingCategoryRef: type: string example: '23118' deprecated: true lines: type: array items: $ref: '#/components/schemas/UpdateBillLineItemV1' required: - vendorRef PushBillPaymentDto: type: object properties: connection: $ref: '#/components/schemas/PushConnection' data: $ref: '#/components/schemas/PushBillPayment' required: - connection - data GetBillResponseDto: type: object properties: pagination: $ref: '#/components/schemas/PaginationMetaData' count: type: number readOnly: true example: 1 format: integer meta: $ref: '#/components/schemas/TransactionalReportMetaData' data: type: array items: $ref: '#/components/schemas/GetBillData' required: - pagination - count - meta - data Error403ResponseDto: type: object properties: error: readOnly: true allOf: - $ref: '#/components/schemas/Error403Dto' payload: type: object readOnly: true example: {} required: - error - payload PushBillCreditNote: type: object properties: currencyRate: type: number format: float example: 1.13 postedDate: type: string format: date example: '2021-03-29' allocatedOnDate: type: string format: date example: '2021-03-29' memo: type: string maxLength: 4000 example: Example memo. vendorRef: type: string example: '124' currency: type: string example: CAD lines: minItems: 1 type: array items: $ref: '#/components/schemas/BillCreditNoteLineItem' required: - vendorRef - lines BillPaymentLine: type: object properties: amount: type: number format: float example: '342.99' memo: type: string maxLength: 4000 example: Sample memo for transaction billRef: type: string example: 3n2 required: - billRef PushUpdateBillsConnection: type: object properties: businessName: type: string example: Railz description: Unique business name identifier. serviceName: type: string example: quickbooks description: Name of accounting platform service. enum: - quickbooks - xero - sageIntacct - sageBusinessCloud required: - businessName - serviceName PushBillCreditNoteDto: type: object properties: connection: $ref: '#/components/schemas/PushConnection' data: $ref: '#/components/schemas/PushBillCreditNote' required: - connection - data 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 GetBillCreditNoteResponseDto: type: object properties: pagination: $ref: '#/components/schemas/PaginationMetaData' meta: readOnly: false allOf: - $ref: '#/components/schemas/BasicStartEndDateReportMetaData' count: type: number example: 1 format: integer readOnly: true data: type: array items: $ref: '#/components/schemas/GetBillCreditNoteDataV1' required: - pagination - meta - count - data 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 VendorRef: type: object properties: id: type: string example: '1' name: type: string example: Home Depot required: - id GetBillPaymentData: type: object properties: id: type: string example: '1' vendorRef: $ref: '#/components/schemas/VendorRef' accountRef: $ref: '#/components/schemas/AccountRef' totalAmount: type: number example: 200.5 format: float currencyRef: $ref: '#/components/schemas/CurrencyRef' currencyRate: type: number example: 1.13 format: float date: format: date-time type: string example: '2021-03-09T10:57:54.294Z' memo: type: string example: Bill payment memo. lines: type: array items: $ref: '#/components/schemas/BillPaymentLineItem' subsidiaryRefs: type: array items: $ref: '#/components/schemas/SubsidiaryRef' sourceModifiedDate: format: date-time type: string example: '2021-03-09T10:18:29.985Z' required: - id - totalAmount - date AccountRef: type: object properties: id: type: string example: '145' name: type: string example: Example account required: - id CurrencyRef: type: object properties: id: type: string example: CAD name: type: string example: Canadian Dollar symbol: type: string example: USD,CAD required: - id Error500ResponseDto: type: object properties: error: readOnly: true allOf: - $ref: '#/components/schemas/Error500Dto' payload: type: object readOnly: true required: - error - payload UpdateBillsResponseV1Dto: type: object properties: pushCommunicationId: type: string readOnly: true example: 60473b57f0cdd1683ca71f60 requestedOn: type: string readOnly: true example: '2021-03-09T08:15:22.035Z' format: date-time status: type: string readOnly: true example: pending enum: - success - failed - pending businessName: type: string readOnly: true example: Railz serviceName: type: string readOnly: true example: quickbooks enum: - freshbooks - quickbooks - quickbooksDesktop - xero - oracleNetsuite - sageBusinessCloud - sageIntacct - dynamicsBusinessCentral - dynamics365Finance - wave - myob - zohoBooks - byod data: readOnly: true allOf: - $ref: '#/components/schemas/UpdateBillsV1' required: - pushCommunicationId - requestedOn - status - businessName - serviceName - data GetBillPaymentResponseDto: type: object properties: pagination: $ref: '#/components/schemas/PaginationMetaData' meta: $ref: '#/components/schemas/TransactionalReportMetaData' count: type: number readOnly: true example: 1 format: integer data: type: array items: $ref: '#/components/schemas/GetBillPaymentData' required: - pagination - meta - count - data securitySchemes: bearer: scheme: bearer bearerFormat: JWT type: http