In this article we will cover example requests and responses for common reports.
For an overview of the Reporting API and how it works, see The Formulayt Reporting API: A Brief Guide.
For details on how to use the Reporting API to retrieve report data, see The Formulayt Reporting API: Using the Reporting API
Starting a Report
All report requests follow the same pattern:
Method: POST
Base URL: https://api.gatedcontent.com/api/v1
Path: /reports/{reportName}
Body: JSON object including:
startDate / endDate (where relevant)
notificationEndpoint
Any additional parameters for the report
Example 1 - Gate Activity (Main Report)
This report starts the main gate activity report for your date range, this includes all gates even if they have had no activity in the window.
Request
POST https://api.gatedcontent.com/api/v1/reports/gateActivity
Authorization: Bearer YOUR_REPORTING_API_KEY
Content-Type: application/json
{
"startDate": "2025-01-01",
"endDate": "2025-01-31",
"notificationEndpoint": "https://client.example.com/report-callback"
}
Response
{
"id": "d290f1ee-6c54-4b01-90e6-d701748f0851",
"status": "queued",
"statusUrl": "https://api.gatedcontent.com/api/v1/reports/d290f1ee-6c54-4b01-90e6-d701748f0851"
}You should:
Save the id (d290f1ee-6c54-4b01-90e6-d701748f0851) somewhere (e.g. in your DB).
Optionally start polling statusUrl.
Example 2 - Gate Activity by Day
This report shows gate activity broken down by day across your selected date range, with a separate row for each gate on each day.
Request
POST https://api.gatedcontent.com/api/v1/reports/gateActivityByDay
Authorization: Bearer YOUR_REPORTING_API_KEY
Content-Type: application/json
{
"startDate": "2025-01-01",
"endDate": "2025-01-31",
"notificationEndpoint": "https://client.example.com/report-callback"
}
Response
{
"id": "5b1d8aa7-1c0c-4c9b-a379-1a5f78aef321",
"status": "queued",
"statusUrl": "https://api.gatedcontent.com/api/v1/reports/5b1d8aa7-1c0c-4c9b-a379-1a5f78aef321"
}Example 3 - Gate Activity by URL
This report shows gate activity broken down by URL across your selected date range, with a separate row for each gate on each URL where it has been loaded.
Request
POST https://api.gatedcontent.com/api/v1/reports/gateActivityByURL
Authorization: Bearer YOUR_REPORTING_API_KEY
Content-Type: application/json
{
"startDate": "2025-01-01",
"endDate": "2025-01-31",
"notificationEndpoint": "https://client.example.com/report-callback"
}
Response
{
"id": "3c879f78-b4d0-4c1e-8e2b-88c7d12b9a45",
"status": "queued",
"statusUrl": "https://api.gatedcontent.com/api/v1/reports/3c879f78-b4d0-4c1e-8e2b-88c7d12b9a45"
}Example 4 - Gate Activity by Day & URL
This report shows gate activity broken down by day & URL across your selected date range, with separate rows for each gate on each URL, by date, where it has been loaded.
Request
POST https://api.gatedcontent.com/api/v1/reports/gateActivityByDayURL
Authorization: Bearer YOUR_REPORTING_API_KEY
Content-Type: application/json
{
"startDate": "2025-01-01",
"endDate": "2025-01-31",
"notificationEndpoint": "https://client.example.com/report-callback"
}
Response
{
"id": "a8e2c0f1-9d4b-4d73-ae0f-702be1e8f9b0",
"status": "queued",
"statusUrl": "https://api.gatedcontent.com/api/v1/reports/a8e2c0f1-9d4b-4d73-ae0f-702be1e8f9b0"
}Example 5 - Gate Activity by Channel
This report shows gate activity by attribution channel
Request
POST https://api.gatedcontent.com/api/v1/reports/gateActivityByChannel
Authorization: Bearer YOUR_REPORTING_API_KEY
Content-Type: application/json
{
"startDate": "2025-01-01",
"endDate": "2025-01-31",
"notificationEndpoint": "https://client.example.com/report-callback"
}
Response
{
"id": "f5a7e3c2-0d64-4df8-b5b2-54d16b3d227a",
"status": "queued",
"statusUrl": "https://api.gatedcontent.com/api/v1/reports/f5a7e3c2-0d64-4df8-b5b2-54d16b3d227a"
}Example 6 - Custom Grouping Report
This report allows you to choose custom groupings e.g. by gate and UTM source
Request
POST https://api.gatedcontent.com/api/v1/reports/gateActivityCustomGrouping
Authorization: Bearer YOUR_REPORTING_API_KEY
Content-Type: application/json
{
"startDate": "2025-01-01",
"endDate": "2025-01-31",
"groupings": ["gate_id", "session_utm_source"],
"notificationEndpoint": "https://client.example.com/report-callback"
}
Response
{
"id": "e12c5a4f-8184-4b43-8b3b-3b9c2e2c5f90",
"status": "queued",
"statusUrl": "https://api.gatedcontent.com/api/v1/reports/e12c5a4f-8184-4b43-8b3b-3b9c2e2c5f90"
}Example 7 - Gate Listing
This report provides a list of all gates including last loaded dates, last submitted dates, and metadata. Inactive gates are included in this report.
Request
POST https://api.gatedcontent.com/api/v1/reports/gates
Authorization: Bearer YOUR_REPORTING_API_KEY
Content-Type: application/json
{
"notificationEndpoint": "https://client.example.com/report-callback"
}
Response
{
"id": "7b0fd6d2-fb3f-4bb2-8d9b-5c1df37ea701",
"status": "queued",
"statusUrl": "https://api.gatedcontent.com/api/v1/reports/7b0fd6d2-fb3f-4bb2-8d9b-5c1df37ea701"
}For an overview of the Reporting API and how it works, see The Formulayt Reporting API: A Brief Guide.
For details on how to use the Reporting API to retrieve report data, see The Formulayt Reporting API: Using the Reporting API
