Reporting API v1 - overview
Introduction
This article provides a comprehensive guide to the Reporting API v1, a collection of API endpoints designed for self-service reporting and billing integrations. The API enables access to key platform data across invoices, orders, contracts, subscriptions, organizations, and currencies. It covers endpoint categories, access requirements, authentication parameters, and available versions to help developers integrate reporting functionality into their applications.
In this article:
- Reporting API Data Availability
- Understanding the Reporting API
- API Coverage Areas
- Access Requirements
- Authentication Parameters
- Historical Data Retrieval
- API Endpoints
Reporting API Data Availability
This update applies to all endpoints across Reporting API v1 and v2 and aligns with the invoice data retention period in the UI.
Historical data beyond the 15-month window will remain available on a per-request basis; however, partners should plan to store this data in their own enterprise systems on a regular basis to ensure continued access to historical information.
Understanding the Reporting API
The Reporting API is a collection of REST API endpoints that provide comprehensive data access for self-service reporting and billing integrations. This API serves as the primary interface for extracting platform data programmatically, enabling organizations to build custom reporting solutions, integrate with external systems, and automate billing processes.
The API is designed to handle large-scale data requests efficiently while maintaining security through proper authentication and authorization mechanisms. All endpoints follow RESTful principles and return data in JSON format for easy integration with modern applications.
API Coverage Areas
The Reporting API v1 covers several key areas of the platform:
Invoices: Access invoice headers and detailed invoice rows for comprehensive billing information and financial reporting.
Orders: Retrieve order data including main order records and individual order items for sales analysis and fulfillment tracking.
Contracts: Access contract information for relationship management and compliance reporting.
Subscriptions: Comprehensive subscription data including subscription records, events, offers, and offer properties for recurring revenue management.
Organizations: Complete organizational data including organization records, contacts, addresses, details, and tenant information for customer relationship management.
Currencies: Access currency exchange rates for multi-currency reporting and financial calculations.
Access Requirements
To access the Reporting API v1, you must first request proper credentials through the official process:
- Navigate to the API access request documentation: How to request API Access
- Submit your access request following the provided instructions
- Wait for approval and credential provisioning from AppXite
- Configure your application with the provided authentication parameters
Authentication Parameters
After your access request is approved, you will receive the following authentication parameters required to work with the Reporting APIs:
requesterId: This is the unique identifier of your organization that sets the context for data access. The requesterId determines which data records you can access based on your organizational permissions and hierarchy.
sasKey: This is the secure access key provided by AppXite specifically for API authentication. Keep this key confidential and rotate it regularly according to your security policies.
environment: This parameter specifies the API environment for your requests:
- api: Used for production APIs and live data access
- dev-api: Used for demo portals and development/testing environments
Available API Versions
Version 1 (V1)
The Reporting API v1 provides core reporting functionality with established endpoints for comprehensive data access requirements across all platform areas including invoices, orders, contracts, subscriptions, organizations, and currencies.
Version 2 (V2)
The Reporting API v2 is the enhanced collection of API endpoints designed for advanced self-service reporting and billing integrations. The API v2 offers improved performance, additional endpoints, and expanded data access capabilities compared to v1. It enables access to key platform data across currency exchange rates, invoice consolidations, and enhanced invoice management with partner-specific reporting capabilities, offering enhanced filtering options and better metadata support. To learn more refer to: Reporting API v2 - overview.
Historical Data Retrieval
The Reporting API v1 supports both current and historical invoice data through an optimized dual-table architecture for improved performance.
Performance Optimization
Invoice data is automatically split between operational tables (data after 2024-12-01) and historical tables (data before 2024-12-01). For optimal performance, use the createdDateFrom and createdDateTill parameters in your API requests.
Benefits of using date parameters:
- Significantly faster response times by targeting specific data sources
- Reduced server load through intelligent query routing
- Automatic selection of operational or historical tables based on date range
Example Usage:
-
Recent data:
createdDateFrom=2024-12-01- Queries operational tables only -
Historical data:
createdDateTill=2024-11-30- Queries historical tables only -
Combined data:
createdDateFrom=2024-10-01&createdDateTill=2024-12-31- Combines both sources
API Endpoints
The V1 API provides the following endpoint categories with their respective parameters:
Contract Management
-
GET /api/v1/reporting/contracts/{requesterId}Access contract records and terms
Parameters: sasKey (required), providerId (optional), consumerId (optional), includeDisabled (optional)
Invoice Management
-
GET /api/v1/reporting/invoices/invoice-headers/{requesterId}Access main invoice records with summary information
Parameters: sasKey (required), invoiceId (optional), includeOtherSources (optional), createdDateFrom (optional), createdDateTill (optional)
-
GET /api/v1/reporting/invoices/invoice-headers/{requesterId}/previewPreview invoice headers in "New" status
Parameters: sasKey (required), invoiceId (optional), includeOtherSources (optional), createdDateFrom (optional), createdDateTill (optional)
-
GET /api/v1/reporting/invoices/invoice-rows/{requesterId}Retrieve detailed line items for each invoice
Parameters: sasKey (required), invoiceId (optional), subscriptionId (optional), includeOtherSources (optional), expand (optional), createdDateFrom (optional), createdDateTill (optional)
-
GET /api/v1/reporting/invoices/invoice-rows/{requesterId}/previewPreview invoice rows in "New" status
Parameters: sasKey (required), invoiceId (optional), subscriptionId (optional), expand (optional), includeOtherSources (optional), createdDateFrom (optional), createdDateTill (optional)
Order Processing
-
GET /api/v1/reporting/orders/{requesterId}Access main order records and status information
Parameters: sasKey (required), customerId (optional), createdDateFrom (optional), createdDateTill (optional), updatedDateFrom (optional), updatedDateTill (optional)
-
GET /api/v1/reporting/order-items/{requesterId}Retrieve individual items within orders
Parameters: sasKey (required), orderItemId (optional), customerId (optional), createdDateFrom (optional), createdDateTill (optional), updatedDateFrom (optional), updatedDateTill (optional)
Organization Data
-
GET /api/v1/reporting/organizations/{requesterId}Access organization records
Parameters: sasKey (required), organizationId (optional), includeNonActive (optional), createdDateFrom (optional), createdDateTill (optional), updatedDateFrom (optional), updatedDateTill (optional)
-
GET /api/v1/reporting/organizations/addresses/{requesterId}Access address records
Parameters: sasKey (required), organizationId (optional), createdDateFrom (optional), createdDateTill (optional), updatedDateFrom (optional), updatedDateTill (optional)
-
GET /api/v1/reporting/organizations/contacts/{requesterId}Retrieve contact information
Parameters: sasKey (required), organizationId (optional), createdDateFrom (optional), createdDateTill (optional), updatedDateFrom (optional), updatedDateTill (optional)
-
GET /api/v1/reporting/organizations/details/{requesterId}Retrieve detailed organization information
Parameters: sasKey (required), organizationId (optional), includeNonActive (optional), createdDateFrom (optional), createdDateTill (optional), updatedDateFrom (optional), updatedDateTill (optional)
-
GET /api/v1/reporting/organizations/payment-terms/{requesterId}Access payment terms configuration
Parameters: sasKey (required), tenantId (optional), includeHistorical (optional), organizationId (optional), includeNonActive (optional), createdDateFrom (optional), createdDateTill (optional), updatedDateFrom (optional), updatedDateTill (optional)
Subscription Services
-
GET /api/v1/reporting/subscriptions/{requesterId}Retrieve subscription records and details
Parameters: sasKey (required), subscriptionId (optional), customerId (optional), vendorId (optional), createdDateFrom (optional), createdDateTill (optional), updatedDateFrom (optional), updatedDateTill (optional)
-
GET /api/v1/reporting/subscription-events/{requesterId}Access subscription lifecycle events
Parameters: sasKey (required), subscriptionId (optional), createdDateFrom (optional), createdDateTill (optional), eventDateFrom (optional), eventDateTill (optional)
-
GET /api/v1/reporting/offers/{requesterId}Retrieve available offers and pricing
Parameters: sasKey (required), createdDateFrom (optional), createdDateTill (optional), updatedDateFrom (optional), updatedDateTill (optional), includeNonActive (optional)
-
GET /api/v1/reporting/offer-properties/{requesterId}Access detailed offer configurations
Parameters: sasKey (required), offerId (optional), createdDateFrom (optional), createdDateTill (optional), updatedDateFrom (optional), updatedDateTill (optional)
Tenant Information
-
GET /api/v1/reporting/tenant-details/{requesterId}Access tenant-specific data
Parameters: sasKey (required), organizationId (optional), includeNonActive (optional)
Currency Information
-
GET /api/v1/reporting/currency-rates/{requesterId}Retrieve exchange rate information
Parameters: sasKey (required), fromCurrency (optional), toCurrency (optional), includeHistorical (optional)
Vendor Raw Invoice Data
-
GET /api/v1/reporting/invoices/vendor-raw/{requesterId}/summary
Access vendor raw invoice summaries
sasKey (required)
-
GET /api/v1/reporting/invoices/vendor-raw/{requesterId}Retrieve detailed vendor raw invoice data
Parameters: vendorInvoiceNumber (required), sasKey (required)
Limitations
- Some advanced endpoints require specific organizational permissions beyond basic API access
- Cross-organization data access is restricted based on your organizational hierarchy and permissions
- Historical data may have different availability windows depending on the endpoint
- Rate limiting may apply to prevent system overload
Summary
The Reporting API v1 provides comprehensive access to platform data through REST endpoints covering invoices, orders, contracts, subscriptions, organizations, and currencies. The API enables self-service reporting and billing integrations while maintaining security through proper authentication and authorization mechanisms.
For optimal performance in production environments, we recommend using the createdDateFrom and createdDateTill parameters when querying invoice data to take advantage of the optimized dual-table architecture.
Was this article helpful?
Articles in this section
- Reporting API v1 - overview
- Reporting API v2 - overview
- Reporting API v1/v2 - requesting access
- Reporting API v1 - data model
- Reporting API v1 - how to map your invoice data
- Reporting API v1 - detailed invoice line items
- Reporting API v2 - Invoice Taxes
- Reporting API v1 - how to identify organizations in your sales channel
- Reporting API v1 - currencies within the invoices
- Reporting API v1 - preview invoices in status 'New'
Add comment
Please sign in to leave a comment.