Reporting API v1 - overview

Appxite

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.

NOTE! Access to the Reporting API requires proper authentication credentials and organizational permissions. Contact AppXite support if you encounter access issues.

In this article:

Reporting API Data Availability

WARNING! Starting August 1, 2026, Reporting API data availability will be limited to the most recent 15 months to improve data loading performance and support the separation of transactional data from historical data.
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:

  1. Navigate to the API access request documentation: How to request API Access
  2. Submit your access request following the provided instructions
  3. Wait for approval and credential provisioning from AppXite
  4. Configure your application with the provided authentication parameters
NOTE! Access requests are reviewed and approved based on organizational permissions and intended use cases. Processing time may vary depending on the complexity of your requirements.

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
WARNING! Never share your sasKey credentials or include them in client-side code. Store authentication parameters securely and use environment variables in your applications.

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}/preview

    Preview 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}/preview

    Preview 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?

0 out of 0 found this helpful

Add comment

Please sign in to leave a comment.