Skip to content
Open Prescient AI
API queries

Reference for the modeledMetrics query of the Prescient GraphQL API, with its arguments, its return type, and an example request.

QuerymodeledMetrics(…): ModeledMetricQuery!

Get modeled metrics for a given date range. We recommend pulling data updates once per day. Results will be paginated, so implementations should handle making multiple calls using the after argument.

Each argument is optional unless the list marks it as required.

  • afterBigIntoptional

    The cursor to indicate where the pagination should begin. Value comes from the pageInfo>endCursor field in the previous response.

  • Filter by campaign ids. These correspond to the ids of your campaigns in their respective source channels.

  • End date for the reporting records. Defaults to today.

  • Filters out any records that have not been created or updated since this date. We recommend using this field in all implementations to avoid pulling large, unchanged data sets.

  • Sales channels to filter modeled output by. When omitted, returns both ECOMMERCE and RETAIL.

  • Start date for the reporting records. Defaults to 30 days ago.

The query returns ModeledMetricQuery, written as ModeledMetricQuery! in the schema. The type has these fields.

Send the query in the query field of the request body, and the variables in the variables field.

Query
query modeledMetrics(
$after: BigInt
$campaignIds: [String!]
$endDate: ISO8601Date
$processDate: ISO8601Date
$salesChannel: [SalesChannelEnum!]
$startDate: ISO8601Date
) {
modeledMetrics(
after: $after
campaignIds: $campaignIds
endDate: $endDate
processDate: $processDate
salesChannel: $salesChannel
startDate: $startDate
) {
data {
metricName
metricValue
processDate
reportedDate
sourceCampaignId
sourceCampaignName
sourceCampaignTactic
sourceChannelName
target
targetChannelName
}
pageInfo {
endCursor
hasNextPage
}
}
}
Variables
{
"after": null,
"campaignIds": [
"1234567890"
],
"endDate": "2026-01-31",
"processDate": "2026-01-15",
"salesChannel": [
"ECOMMERCE"
],
"startDate": "2026-01-01"
}

The values in this response are examples. They are not real data.

Response
{
"data": {
"modeledMetrics": {
"data": [
{
"metricName": "FIRST_ORDER_REVENUE",
"metricValue": 1250.5,
"processDate": "2026-01-15T06:00:00Z",
"reportedDate": "2026-01-14",
"sourceCampaignId": "1234567890",
"sourceCampaignName": "Example campaign",
"sourceCampaignTactic": "Example tactic",
"sourceChannelName": "EXAMPLE_CHANNEL",
"target": "example_revenue",
"targetChannelName": null
}
],
"pageInfo": {
"endCursor": "5000",
"hasNextPage": true
}
}
}
}