/Report
When to Use
- Download ASIC regulatory report data (Form 604 holdings, RG97 financial tables) after GET /Report/Status confirms completion for lodgement preparation
- Retrieve ATO tax reporting datasets (Annual Investment Income Report, Distribution Statements) for bulk tax return processing and investor distribution
- Extract completed financial statements (balance sheets, cash flow analysis) for board presentation materials and trustee documentation
- Download transaction audit trails for SMSF compliance audit evidence and fund administrator reconciliation verification
- Retrieve distribution calculation results for payment file generation and investor communication workflows
- Extract EntityBalanceReport data for investor statement generation and quarterly portfolio performance summaries
Common Scenarios
- Post-Processing Retrieval: After GET /Report/Status returns "complete", retrieve GUID-referenced report for immediate use or archival storage
- Regulatory Lodgement Workflow: Download ASIC/ATO reports, validate data integrity, convert to required format, submit within compliance deadlines
- Investor Statement Generation: Retrieve EntityBalanceReport results, merge with templates, generate PDFs, distribute via email/portal
- Multi-Report Batch Processing: Track multiple concurrent report GUIDs, poll status endpoints, retrieve completed reports sequentially for bulk analysis
- External System Integration: Extract TransactionSummary data via API, transform JSON structure, load into accounting systems for reconciliation
- Archive and Audit Trail: Download completed DistributionReconciliation reports, store in document management system with 7-year retention for audit compliance
Prerequisites
- Valid Bearer token with report retrieval permissions matching the data scope of the requested report
- Reference GUID obtained from POST /Report endpoint response - stored and tracked through status monitoring phase
- Report processing completed - verified via GET /Report/Status returning "complete" status (incomplete reports return 400 errors)
- Adequate HTTP client timeout settings for large reports - EntityBalanceReport with 10,000+ records may require 60+ second timeouts
- Understanding of dynamic JSON structure - response schema varies by report type (EntityBalanceReport vs TransactionSummary vs DistributionReconciliation)
Important Considerations
⚠️ Report Retrieval and Data Handling
- Status Verification Required: Only retrieve after GET /Report/Status confirms "complete" status - incomplete reports return 400 errors
- 24-Hour Retention Period: Reports are purged automatically after 24 hours - download promptly to avoid data loss
- Large Dataset Handling: Reports with 10,000+ records may exceed 50MB - ensure adequate timeout settings and processing capacity
- Dynamic JSON Structure: Response structure varies by report type - implement flexible parsing with schema validation
- Reference GUID Lifecycle: GUID invalidates after deletion or 24-hour expiration
Description
Retrieves completed report data using the reference GUID from POST /Report, returning structured JSON results ready for consumption, analysis, or external system integration. This is the final stage of the 3-stage asynchronous report workflow (Request → Monitor → Retrieve), delivering the actual report payload after GET /Report/Status confirms completion. Response structure is dynamically determined by report type - EntityBalanceReport returns hierarchical entity/account data, TransactionSummary returns flat transaction arrays, DistributionReconciliation returns calculation breakdowns with tax components.
Report Retrieval Workflow Context
This endpoint completes the asynchronous report generation lifecycle:
- Stage 1 - Request (POST /Report): Submit report parameters, receive tracking GUID
- Stage 2 - Monitor (GET /Report/Status): Poll until status="complete" (5-30 second intervals)
- Stage 3 - Retrieve (GET /Report): Download results using GUID - available for 24 hours before automatic purging
Response Structure Components (all report types):
- Metadata: reportName, generatedDate, parameters used in generation request
- Results Array: Core report data - structure varies by report type (hierarchical objects for EntityBalanceReport, flat arrays for TransactionSummary)
- Summary Object: Aggregate totals, record counts, generation time for quick analysis and validation
Required Headers - See Authentication
Header | Value | Description |
---|---|---|
Authorization | {accessToken} | Bearer token for API access |
Version | 2.0 | API version identifier |
Query Parameters
Parameter | Type | Required | Description |
---|---|---|---|
reference |
string | The GUID reference returned from the POST /Report endpoint to identify the specific report request. |
Example Requests
# Get completed report results
curl -X GET "https://api.7g.com.au/Report?reference=a1b2c3d4-e5f6-7890-abcd-ef1234567890" \
-H "Authorization: {accessToken}" \
-H "Version: 2.0"
# Alternative with explicit reference parameter
curl -X GET "https://api.7g.com.au/Report" \
-H "Authorization: {accessToken}" \
-H "Version: 2.0" \
-G -d "reference=a1b2c3d4-e5f6-7890-abcd-ef1234567890"
Response Examples
{
"result": true,
"message": "",
"data": {
"reportName": "EntityBalanceReport",
"generatedDate": "2024-01-15T09:30:00Z",
"parameters": {
"ProductID": "123",
"FromDate": "2024-01-01",
"ToDate": "2024-12-31",
"IncludeClosingBalances": "true"
},
"results": [
{
"entityID": 12345,
"externalBizEntityId": "ENT-001",
"entityName": "Sample Investment Fund",
"totalBalance": 1250000.00,
"currency": "AUD",
"lastTransactionDate": "2024-01-12",
"accounts": [
{
"accountID": 789,
"externalAccountId": "ACC-001",
"accountNumber": "ACC-2024-001",
"balance": 750000.00,
"units": 306122.45,
"lastTransactionDate": "2024-01-10"
},
{
"accountID": 790,
"externalAccountId": "ACC-002",
"accountNumber": "ACC-2024-002",
"balance": 500000.00,
"units": 204081.63,
"lastTransactionDate": "2024-01-12"
}
]
}
],
"summary": {
"totalEntities": 1,
"totalAccounts": 2,
"grandTotalBalance": 1250000.00,
"grandTotalUnits": 510204.08,
"averageBalance": 625000.00,
"reportGenerationTime": "00:00:45"
}
}
}