Skip to main content

The Formulayt Reporting API - Report Examples

The Formulayt Reporting API supports multiple report types for analyzing Gate performance and activity.

In this article we will cover example requests and responses for common reports.

Starting a Report

All report requests follow the same pattern:

  • Method: POST

  • 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"
}
Did this answer your question?