This article contains:
How the reporting API works
What is required before getting started
How report generation is handled
Reporting API limits and best practices
For details on how to use the Reporting API to retrieve report data, see The Formulayt Reporting API: Using the Reporting API
For examples of Reporting API requests and the reports they return, see The Formulayt Reporting API: Report Examples
How the Reporting API Works
Reports are generated asynchronously and can be integrated into your own reporting systems, data warehouse, or internal tools.
This means:
You send a request to start a report
We queue a background job to build this in the reporting system
When complete we store the CSV in secure storage
We send a notification to your chosen URL
You can also poll a status endpoint to check progress
You can then retrieve the CSV using a secure, time-limited download link
Important
Reports are never returned immediately in the initial API response that starts the report. Each report request returns a unique job ID, which is an opaque GUID/UUID-style string e.g. d290f1ee-6c54-4b01-90e6-d701748f0851
Getting Started
Before using the Reporting API, you will need:
The Reporting API enabled in your Formulayt account (only available on specific subscription plans)
A Reporting API key
Infrastructure capable of receiving notifications and polling report status
To enable the Reporting API in your account, please raise a ticket via our Support Messenger.
To create your Reporting API key you will need admin access, or equivalent.
Log into the Formulayt
Go to Setup > Settings
Open the Reporting tab
Create a new Reporting API key
Copy and securely store the key
Important: Your Reporting API key should be treated like a password.
Use your Reporting API key in the Authorization header:
Authorization: Bearer {your_reporting_api_key}
In your own environment, you will also need:
A secure HTTPS endpoint capable of receiving JSON POST notifications
The ability to poll our status endpoint periodically
An HTTP client such as:
curl
Postman
Node.js
Python
PHP
Etc.
Reporting API Workflow
A typical Reporting API workflow looks like this:
Submit a report request
Receive a job ID
Wait for completion via:
Webhook notification and/or
Polling
Retrieve the secure download URL
Download the CSV
Rate Limits, Usage Limits, and Best Practices
Rate Limits
Reporting API limits are:
Maximum 1 request every 10 seconds per API key
Maximum 100 requests per hour per API key
Exceeding limits will return an error and trigger an internal alert
Usage Limits
Your account will also have a monthly API usage limit based on total GB consumption.
If this limit is exceeded:
New jobs will be blocked
Access resumes after the limit resets or is increased
Best Practices
We recommend:
Starting with smaller date ranges while you test
Using separate Reporting API keys per integration for easier monitoring
e.g. Data Warehouse, BI tool, etc,
Storing jobIDs (the GUIDs) and download URLs internally in order to trace exactly which job produced which file
Summary
The Reporting API provides a scalable way to generate and download CSV reporting data from Formulayt.
Reports are generated asynchronously
Notifications and polling are both supported
CSV files are downloaded securely using time-limited URLs
Multiple reporting endpoints are available for different reporting needs
For details on how to use the Reporting API to retrieve report data, see The Formulayt Reporting API: Using the Reporting API
For examples of Reporting API requests and the reports they return, see The Formulayt Reporting API: Report Examples
