POST

/Report

When to Use

  • Generate ASIC regulatory reports (Form 604 substantial holder notices, RG97 financial tables) for statutory lodgement within compliance timeframes
  • Produce ATO tax reporting documents (Annual Investment Income Report, Distribution Statements) for investor tax return preparation
  • Create end-of-period financial statements (balance sheets, cash flow statements) for board presentations and trustee reporting
  • Generate transaction audit trails for SMSF compliance audits, fund administrator reconciliation, and operational reviews
  • Produce distribution calculation reports for board approval documentation and payment execution validation
  • Create investor statements (annual member statements, quarterly performance summaries) for regulatory disclosure obligations

Prerequisites

  • Valid Bearer token with report generation permissions for the requested report type and data access scope
  • Knowledge of available report names and their parameter requirements via system documentation
  • Understanding of required parameter formats - dates in YYYY-MM-DD ISO 8601 format, all values as strings including numeric IDs
  • Verification that prerequisite data exists and is in correct state (settled transactions for TransactionSummary, completed distributions for DistributionReconciliation)
  • Understanding of asynchronous workflow - POST returns GUID immediately, poll GET /Report/Status until complete, retrieve via GET /Report within 24-hour retention window

Important Considerations

⚠️ Report Processing and Lifecycle Management

  • Asynchronous Workflow Required: Reports process in background - use returned GUID with GET /Report/Status to monitor completion before retrieval via GET /Report
  • Processing Time Variability: Simple reports complete in seconds, complex multi-entity reports may require several minutes
  • String-Only Parameter Values: All parameters must be strings, including numeric IDs ("123") and booleans ("true"/"false")
  • 24-Hour Storage Window: Generated reports are automatically purged after 24 hours - retrieve promptly to avoid data loss
  • Concurrent Request Limits: Maximum 10 concurrent reports per user - additional requests fail until existing reports complete or are deleted
  • Data State Snapshot: Reports reflect data at generation time - not real-time for actively changing datasets

Description

Creates a report request in the 7G system, initiating background generation of business intelligence reports, regulatory compliance documents, and operational analysis outputs. Returns a unique GUID reference for tracking the report through processing lifecycle: queuing, generation, completion, and retrieval. The asynchronous architecture supports complex reports requiring significant processing time without blocking API operations.

Report Generation Workflow - 3-Stage Lifecycle

Report processing follows an asynchronous three-stage workflow:

  1. Request (POST /Report): Submit report type and parameters - receives tracking GUID immediately with "pending" status
  2. Monitor (GET /Report/Status): Poll processing status with 5-30 second intervals until status changes to "complete" or "error"
  3. Retrieve (GET /Report): Download results using reference GUID - available for 24 hours before automatic purging

Common Report Types:

  • EntityBalanceReport: Balance positions aggregated by entity - used for investor statements and portfolio analysis
  • TransactionSummary: Transaction history with type/status filtering - used for SMSF audits and operational reconciliation
  • DistributionReconciliation: Distribution calculations with tax components - used for board approval and payment execution
  • PerformanceAnalysis: Investment performance with benchmark comparisons - used for client reporting and trustee reviews
  • TaxReporting: Annual tax statements and CGT calculations - used for individual tax returns and SMSF compliance

⚠️ Important: Asynchronous Processing and Retrieval

Reports process asynchronously in background workers. Use the returned GUID to check status via GET /Report/Status with appropriate polling intervals (5-30 seconds) before retrieving results via GET /Report. Premature retrieval attempts will fail with 400 errors.

Required Headers - See Authentication

HeaderValueDescription
Content-Typeapplication/jsonRequest content type
Authorization{accessToken}Bearer token for API access
Version2.0API version identifier

Request Body

Parameter Type Required Description
reportName >
string
The name of the report to generate. Examples include EntityBalanceReport, TransactionSummary, DistributionReconciliation, and other business intelligence reports.
parameters
object
Optional
Dynamic collection of report-specific parameters as key-value string pairs. All values must be strings regardless of logical type. Available parameters vary by report type and determine filtering, grouping, and output formatting options.
reportName
string
The name of the report to generate. Examples include EntityBalanceReport, TransactionSummary, DistributionReconciliation, and other business intelligence reports.
parameters
object
Optional
Dynamic collection of report-specific parameters as key-value string pairs. All values must be strings regardless of logical type. Available parameters vary by report type and determine filtering, grouping, and output formatting options.

Example Requests

json
{
  "reportName": "EntityBalanceReport",
  "parameters": {
    "ProductID": "123",
    "FromDate": "2024-01-01",
    "ToDate": "2024-12-31",
    "IncludeClosingBalances": "true"
  }
}

Response Examples

json
{
  "result": true,
  "message": "Your report request has been queued for background processing. Use the Status endpoint with the provided reference value to track its progress.",
  "data": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
}