# Introduction to the Retarus GraphQL Reporting API

The Retarus GraphQL Reporting API provides automated, real-time retrieval of usage detail records (UDRs) and event data across a range of Retarus communication services. With granular access to essential metadata and advanced filtering, this API streamlines reporting and integration for all your communication channels.

## Supported services and data types

The API consolidates reporting data from all major Retarus communication services into standardized query formats. Each service provides comprehensive usage details, billing information, and service-specific metadata through consistent GraphQL queries.

| **Service** | **Query** | **Description** |
|  --- | --- | --- |
| Cloud Fax Inbound | `faxInUdrReport` | Reception status, delivery tracking, and archiving information |
| Cloud Fax Outbound | `faxOutUdrReport` | Transmission status, call details, and delivery confirmation |
| SMS Inbound | `smsInUdrReport` | Message reception tracking, sender information, and keyword-based routing |
| SMS Outbound | `smsOutUdrReport` | Message delivery status, recipient tracking, and billing data |
| Transactional Email Delivery | `transactionalEmailUdrReport` | Email delivery status, recipient information, and metadata |
| Transactional Email Events | `transactionalEmailEventReport` | Email engagement tracking for opens, clicks, and interactions |


### Common Data Types Across All Services

All services share standardized data structures for operational consistency and simplified integration:

- **Billing and accounting data:** Service accounts, billing codes, cost centers, and usage tracking
- **Call/transmission details:** Connection information, transmission rates, and durations
- **Document information:** Page counts, file sizes, resolution, and MIME types
- **Timestamp tracking:** Creation, processing, delivery, and event timestamps in UTC format


### Service-specific information

Each Retarus communication service includes a dedicated GraphQL reference section containing detailed query examples, field definitions, and integration patterns. These references offer practical implementation guidance and best practices tailored to each service type.

Fax Inbound
Receive, track, and archive incoming fax transmissions

Fax Outbound
Send and monitor outbound fax delivery results

SMS Inbound
Receive SMS and track sender, keyword, and message content

SMS Outbound
Send SMS and track delivery and recipient status

Email Delivery
Track email delivery, recipient details, and transmission metadata

Email Events
Monitor email opens, clicks, and engagement in real time

## Data retention and query limits

To provide reliable service and meet telecom regulations, the GraphQL API sets specific limits on how much data you can access and how long your data is kept. The following limits apply if you use Cloud Fax, SMS, or Transactional Email:

| **Limit Type** | **Duration** | **Description** |
|  --- | --- | --- |
| Maximum Query Duration | 45 days | Maximum time span for a single API call |
| Maximum History | 90 days | Maximum historical data retention period |


**Maximum query duration** 
You can only request data from up to 45 days at a time in a single API call. For example, if you need records for the past 60 days, you must split your request into smaller date ranges, such as two calls of 30 days each or three calls of 20 days each.

**Maximum history** 
You can only access data from up to 90 days in the past. If you ask for information older than 90 days, the API will return no data.