FIS Global Data API
The Data API from FIS Global — 3 operation(s) for data.
The Data API from FIS Global — 3 operation(s) for data.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/fis-data-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: FIS® Accounting as a Service™ Data API
description: What's changed in our API
version: v2
contact: {}
servers:
- url: https://api.railz.ai
description: Main (production) API server
tags:
- name: Data
paths:
/data/pushStatus:
get:
description: Gets the status of push communication records.
operationId: pushStatus
parameters:
- name: businessName
required: true
in: query
schema:
example: Railz
type: string
- name: serviceName
required: false
in: query
schema:
type: string
enum:
- freshbooks
- quickbooks
- quickbooksDesktop
- xero
- oracleNetsuite
- sageBusinessCloud
- sageIntacct
- dynamicsBusinessCentral
- dynamics365Finance
- wave
- shopify
- square
- plaid
- myob
- zohoBooks
- byod
- name: pushCommunicationId
required: false
in: query
schema:
type: string
- name: batchId
required: false
in: query
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/PushStatusResponseDto'
'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 status
tags:
- Data
x-summary-source: derived
/data/syncStatus:
get:
description: Gets the synchronization status of all data types for each business connection.
operationId: syncStatus
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
- dynamics365Finance
- wave
- shopify
- square
- plaid
- myob
- zohoBooks
- byod
- name: offset
required: false
in: query
schema:
format: integer
type: number
- name: limit
required: false
in: query
schema:
format: integer
example: 100
type: number
- name: startDate
required: false
in: query
schema:
type: string
- name: endDate
required: false
in: query
schema:
type: string
- name: dataType
required: false
in: query
schema:
type: string
enum:
- attachments
- accountingTransactions
- agedReceivable
- agedPayable
- billPaymentRequests
- bankTransactions
- bankAccounts
- bankTransfers
- bankingReconciliation
- balanceSheets
- bills
- budgets
- billCreditNotes
- billPayments
- businessInfo
- businessValuations
- cashflowStatements
- accounts
- creditScore
- customers
- deposits
- estimates
- fraudRiskMetrics
- financialBenchmarking
- portfolioMetrics
- financialRatios
- financialForecasts
- incomeStatements
- inventory
- invoices
- invoiceCreditNotes
- invoicePayments
- journalEntries
- journals
- purchaseOrders
- probabilityOfDefault
- refunds
- taxBenchmarking
- taxRates
- taxAuthority
- trackingCategories
- trialBalances
- vendors
- paymentMethods
- expenses
- contacts
- vendorBankAccounts
- customerBankAccounts
- payrollTransactions
- name: reportFrequency
required: false
in: query
schema:
type: string
- name: currentStatus
required: false
in: query
schema:
type: string
- name: accountingMethod
required: false
in: query
schema:
type: string
enum:
- cash
- accrual
- name: orderBy
required: false
in: query
schema:
type: string
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DataStatusResponseDto'
'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: Sync status
tags:
- Data
x-summary-source: derived
/data/sync:
post:
description: Initiates the synchronisation for a specific data type.
operationId: dataSync
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DataSyncDto'
responses:
'200':
description: ''
content:
application/json:
schema:
$ref: '#/components/schemas/DataSyncResponseDto'
'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: Data sync
tags:
- Data
x-summary-source: derived
components:
schemas:
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
ObjectId:
type: object
properties: {}
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
Error403ResponseDto:
type: object
properties:
error:
readOnly: true
allOf:
- $ref: '#/components/schemas/Error403Dto'
payload:
type: object
readOnly: true
example: {}
required:
- error
- payload
Error401ResponseDto:
type: object
properties:
error:
readOnly: true
allOf:
- $ref: '#/components/schemas/Error401Dto'
payload:
type: object
readOnly: true
example: {}
required:
- error
- payload
DataSyncResponseDto:
type: object
properties:
connectionId:
type: string
readOnly: true
example: CON-94652dff-06ab-4b97-bd1b-f91adf7048c3
businessName:
type: string
readOnly: true
example: Railz
serviceName:
type: string
readOnly: true
example: quickbooks
enum:
- quickbooks
- xero
- freshbooks
- quickbooksDesktop
- sageIntacct
- sageBusinessCloud
- oracleNetsuite
- dynamicsBusinessCentral
- dynamics365Finance
- wave
- zohoBooks
- myob
dataType:
type: string
readOnly: true
example: balanceSheet
requestedOn:
format: date-time
type: string
readOnly: true
example: '2021-03-18T08:16:51.233Z'
required:
- connectionId
- businessName
- serviceName
- dataType
- requestedOn
PaginationMetaData:
type: object
properties:
offset:
type: number
readOnly: true
limit:
type: number
readOnly: true
count:
type: number
readOnly: true
required:
- offset
- limit
- count
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
PushStatusDataV1:
type: object
properties:
serviceName:
type: string
readOnly: true
example: quickbooks
enum:
- quickbooks
- xero
- freshbooks
- quickbooksDesktop
- sageIntacct
- sageBusinessCloud
- oracleNetsuite
- dynamicsBusinessCentral
- dynamics365Finance
- wave
- zohoBooks
- myob
dataType:
type: string
readOnly: true
example: balanceSheet
requestedOn:
format: date-time
type: string
readOnly: true
example: '2021-03-17T07:58:39.781Z'
completedOn:
format: date-time
type: string
readOnly: true
example: '2021-03-17T07:58:39.781Z'
status:
type: string
readOnly: true
example: success
enum:
- success
- failed
- pending
responseCode:
type: number
readOnly: true
example: 200
format: integer
validation:
$ref: '#/components/schemas/Validation'
pushCommunicationId:
type: string
readOnly: true
example: 60473b57f0cdd1683ca71f60
batchId:
example: 63bf973a0f08e292519d4f5d
allOf:
- $ref: '#/components/schemas/ObjectId'
sourceObjectId:
type: string
example: '144'
sourceObjectIds:
example:
- '144'
- '154'
type: array
items:
type: string
required:
- serviceName
- dataType
- requestedOn
- completedOn
- status
- responseCode
- pushCommunicationId
DataStatusResponseDto:
type: object
properties:
meta:
readOnly: true
allOf:
- $ref: '#/components/schemas/DataSyncMeta'
data:
type: array
items:
$ref: '#/components/schemas/DataSyncData'
required:
- meta
PushStatusResponseDto:
type: object
properties:
meta:
$ref: '#/components/schemas/PushStatusMetaData'
pagination:
$ref: '#/components/schemas/PaginationMetaData'
data:
readOnly: true
type: array
items:
$ref: '#/components/schemas/PushStatusDataV1'
required:
- meta
- pagination
- data
DataType:
type: object
properties:
dataType:
type: string
readOnly: true
example: BalanceSheet
lastSyncDate:
type: string
example: '2021-04-01T00:31:00Z'
lastUpdatedDate:
type: string
example: '2021-04-01T00:31:00Z'
reports:
readOnly: true
type: array
items:
$ref: '#/components/schemas/Report'
required:
- dataType
- reports
DataSyncDto:
type: object
properties:
businessName:
type: string
example: Railz
serviceName:
type: string
enum:
- freshbooks
- quickbooks
- quickbooksDesktop
- xero
- oracleNetsuite
- sageBusinessCloud
- sageIntacct
- dynamicsBusinessCentral
- dynamics365Finance
- wave
- shopify
- square
- plaid
- myob
- zohoBooks
- byod
dataType:
type: string
enum:
- accountingTransactions
- accounts
- agedPayable
- agedReceivable
- attachments
- balanceSheets
- bankingReconciliation
- bankTransactions
- bankAccounts
- bankTransfers
- billCreditNotes
- billPayments
- bills
- budgets
- businessInfo
- businessValuations
- cashflowStatements
- creditScore
- customers
- deposits
- estimates
- financialBenchmarking
- financialForecasts
- financialRatios
- fraudRiskMetrics
- incomeStatements
- inventory
- invoiceCreditNotes
- invoicePayments
- invoices
- journalEntries
- journals
- probabilityOfDefault
- purchaseOrders
- refunds
- taxBenchmarking
- taxRates
- taxAuthority
- trackingCategories
- trialBalances
- vendors
- paymentMethods
- portfolioMetrics
- expenses
- contacts
- vendorBankAccounts
- customerBankAccounts
- billPaymentRequests
- payrollTransactions
- transactions
- products
- orders
- disputes
- bankAccounts
- bankTransactions
- bankAssets
fullSync:
type: boolean
default: false
required:
- businessName
- serviceName
- dataType
DataSyncData:
type: object
properties:
connectionId:
type: string
readOnly: true
example: CON-94652dff-06ab-4b97-bd1b-f91adf7048c3
dataTypes:
readOnly: true
type: array
items:
$ref: '#/components/schemas/DataType'
syncTime:
type: number
example: '1.234'
percentageCompleted:
type: number
example: '75.89'
required:
- connectionId
- dataTypes
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
Validation:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/Error'
Report:
type: object
properties:
startDate:
type: string
example: '2021-03-01T00:00:00Z'
endDate:
type: string
example: '2021-03-31T00:00:00Z'
lastSuccessfulSync:
type: string
example: '2021-04-01T00:31:00Z'
reportFrequency:
type: string
example: month
currentStatus:
type: string
example: success
enum:
- success
- failed
- pending
- empty
latestReportId:
type: string
example: 6070149d1d685e6cf0583e36
latestSuccessfulReportId:
type: string
example: 601077f5914dac670966f660
accountingMethod:
type: string
example: accrual
reconstructed:
type: boolean
example: true
DataSyncMeta:
type: object
properties:
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: Demo Business
required:
- serviceName
- businessName
Error:
type: object
properties:
field:
type: string
example: customerName
message:
type: string
example: Must have a length between 1 and 500 characters.
Error500ResponseDto:
type: object
properties:
error:
readOnly: true
allOf:
- $ref: '#/components/schemas/Error500Dto'
payload:
type: object
readOnly: true
required:
- error
- payload
PushStatusMetaData:
type: object
properties:
count:
type: number
readOnly: true
example: 1
format: integer
businessName:
type: string
readOnly: true
example: Railz
required:
- count
- businessName
securitySchemes:
bearer:
scheme: bearer
bearerFormat: JWT
type: http