# Reactivation

Reactivation related endpoints

## Get reactivation predictions

> Returns reactivation predictions for the given \`date\`.\
> \
> You can specify a single user to get predictions for by setting the \`user\`\
> field or get predictions for all users. Notice that in the latter case the\
> results will be paginated so you will need to query the endpoint multiple\
> times in order to get the predictions for all users.\
> \
> {% hint style="info" %}\
> \
> \## Specify product\
> \
> \
> Notice that you must specify the \`product\` query parameter in order to get\
> retention predictions for a specific product. For example if both \`sports\` and\
> \`casino\` retention predictions are generated you must set to the \`product\`,\
> field one of \`sports\`, \`casino\` or \`combined\`.\
> \
> If not set it defaults to \`sports\`.\
> \
> {% endhint %}\
> \
> \
> This delegates to \`/api/crm/predictions/reactivation\`.\
> \
> \## Returned values\
> \
> The acquisition models predict the Reactivation Score of a user\
> for the first 30 and 60 after the first active day.\
> \
> The predictive fields are the following:\
> \
> \`\`\`json\
> {\
> &#x20; "reactivation\_score\_030": 0.8,\
> &#x20; "reactivation\_score\_060": 1.24\
> }\
> \`\`\`<br>

````json
{"openapi":"3.0.1","info":{"title":"","version":"0.1.0"},"tags":[{"description":"Reactivation related endpoints","name":"Reactivation"}],"servers":[{"description":"Production API","url":"https://api.vaix.ai"},{"description":"Staging (integration) API","url":"https://staging-api.vaix.ai"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"scheme":"bearer","type":"http"}},"schemas":{"ReactivationPredictions":{"additionalProperties":false,"description":"CRM reactivation predictions","properties":{"acquisition_source":{"description":"The acquisition source for this specific user","nullable":true,"type":"string"},"apds":{"description":"Total number of days the user was active","type":"integer"},"apds_last_30":{"description":"Total active days over the last 30 days","type":"integer"},"avg_stake_last_active_30":{"description":"The avg stake for the last 30 days","nullable":true,"type":"number"},"ccf_group":{"description":"The ccf group of the user","nullable":true,"type":"string"},"ccf_score":{"description":"The ccf score of the user","nullable":true,"type":"number"},"country":{"description":"The country of the user","nullable":true,"type":"string"},"currency":{"description":"The user currency","nullable":true,"type":"string"},"gender":{"description":"The gender of the user (if available)","nullable":true,"type":"string"},"ggr_last_365":{"description":"The total GGR for the last 365 days","nullable":true,"type":"number"},"group":{"description":"The group of the user (in case of AB tests)","type":"string"},"inactive_days":{"description":"How many days have passed since the last active day","type":"integer"},"last_active_date":{"description":"The last date the user was active","format":"date","type":"string"},"last_deposit_date":{"description":"The last known date the user deposited","format":"date","nullable":true,"type":"string"},"player_value_segment":{"description":"The predicted player segment value","nullable":true,"type":"string"},"prediction_date":{"description":"The date the prediction models were executed","format":"date","type":"string"},"product":{"description":"The product the predictions refer to (e.g. sports, casino)","type":"string"},"reactivation_score_030":{"description":"The predicted reactivation score 30 days after first user activity","nullable":true,"type":"number"},"reactivation_score_060":{"description":"The predicted reactivation score 60 days since first user activity","nullable":true,"type":"number"},"reactivation_segment_030":{"description":"The predicted reactivation segment the last 30 days.","nullable":true,"type":"string"},"reactivation_segment_060":{"description":"The predicted reactivation segment the last 60 days.","nullable":true,"type":"string"},"signup_date":{"description":"The registration date of the user","format":"date-time","type":"string"},"stake_last_active_30":{"description":"The total stake for the last 30 days","nullable":true,"type":"number"},"state":{"description":"The state of the user","nullable":true,"type":"string"},"total_ev":{"description":"The total Expected Value (EV) of the user till now","nullable":true,"type":"number"},"total_ggr":{"description":"The total Gross Gaming Revenue (GGR) of the user till now","type":"number"},"user_id":{"description":"The user id","type":"string"}},"type":"object"},"Error":{"additionalProperties":false,"description":"The generic API's error response","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"type":"object"},"Errors":{"additionalProperties":false,"description":"The generic API's errors response","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"type":"object"},"UnprocessableEntityError":{"oneOf":[{"additionalProperties":false,"description":"The generic API's error response","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"type":"object"},{"additionalProperties":false,"description":"The generic API's errors response","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"type":"object"}]}}},"paths":{"/api/crm/predictions/reactivation":{"get":{"description":"Returns reactivation predictions for the given `date`.\n\nYou can specify a single user to get predictions for by setting the `user`\nfield or get predictions for all users. Notice that in the latter case the\nresults will be paginated so you will need to query the endpoint multiple\ntimes in order to get the predictions for all users.\n\n{% hint style=\"info\" %}\n\n## Specify product\n\n\nNotice that you must specify the `product` query parameter in order to get\nretention predictions for a specific product. For example if both `sports` and\n`casino` retention predictions are generated you must set to the `product`,\nfield one of `sports`, `casino` or `combined`.\n\nIf not set it defaults to `sports`.\n\n{% endhint %}\n\n\nThis delegates to `/api/crm/predictions/reactivation`.\n\n## Returned values\n\nThe acquisition models predict the Reactivation Score of a user\nfor the first 30 and 60 after the first active day.\n\nThe predictive fields are the following:\n\n```json\n{\n  \"reactivation_score_030\": 0.8,\n  \"reactivation_score_060\": 1.24\n}\n```\n","operationId":"get_crm_reactivation_predictions","parameters":[{"description":"Custom client header, the value should be the name of the group the user belongs to","in":"header","name":"x-vaix-client-id","required":true,"schema":{"type":"string"}},{"description":"Authentication method to be used, supported values [`vaix`, `iam`]. Defaults to `vaix`","in":"header","name":"x-vaix-authentication-method","required":false,"schema":{"type":"string"}},{"description":"The user to get information for.","in":"query","name":"user","required":false,"schema":{"type":"string"}},{"description":"The date to get predictions for. Can be `latest` for latest available data.\nIf not set, defaults to the current date.\n","in":"query","name":"date","required":false,"schema":{"default":"now","format":"date","type":"string"}},{"description":"The operator to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored.\n","in":"query","name":"operator","required":false,"schema":{"type":"string"}},{"description":"The bookmaker id to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored. Note that this parameter is used together with the\n`sub_bookmaker_id` parameter.\n","in":"query","name":"bookmaker_id","required":false,"schema":{"type":"integer"}},{"description":"The sub-bookmaker id to use for querying data. Notice that this is applied only\nif your account has access to multiple operators. In a different case\nthe assigned operator to your account is used and the value of this\nfield is ignored. Note that this parameter is used together with the\n`bookmaker_id` parameter.\n","in":"query","name":"sub_bookmaker_id","required":false,"schema":{"type":"integer"}},{"description":"The type of product to get predictions for. If an operator has the CRM\npackage for more than one products, then this must be set. Can be one\nof sports, casino, horses, combined. If not set it defaults to `sports`.\n","in":"query","name":"product","required":false,"schema":{"default":"sports","enum":["sports","casino","horses","combined"],"type":"string"}},{"description":"The columns to sort the results by. It expects a string adhering to\nthe ordering format, as described in the ordering section, e.g.\n`+reactivation_score_030,-reactivation_score_060`.\n","in":"query","name":"order_by","required":false,"schema":{"default":"+user_id","enum":["reactivation_score_030","reactivation_score_060","reactivation_score_090","current_value_segment","current_frequency_segment","country","state","gender","group","signup_date","apds","apds_last_30","total_ggr","total_ev","inactive_days","last_active_date","last_deposit_date","acquisition_source","user_id","currency","ccf_score","user_id"],"type":"string"}},{"description":"Optional filtering of the results. It expects a string adhering to the\nfiltering format, as described in the filtering section, e.g.\n`churn_score_007:gt:0.7;predicted_ggr_030:lt:5000`.\n","in":"query","name":"filters","required":false,"schema":{"default":"","enum":["reactivation_score_030","reactivation_score_060","reactivation_score_090","reactivation_segment_030","reactivation_segment_060","reactivation_segment_090","player_value_segment","campaign_segment","current_value_segment","current_frequency_segment","country","state","gender","group","signup_date","apds","apds_last_30","total_ggr","total_ev","inactive_days","last_active_date","last_deposit_date","acquisition_source","user_id","currency","ccf_score","ccf_group"],"type":"string"}},{"description":"The page to retrieve. Notice that if set the random access pagination\nmechanism will be used. If not set the pagination mechanism default to\nthe keyset mode.\n","in":"query","name":"page","required":false,"schema":{"minimum":1,"type":"integer"}},{"description":"The number of items ot include in each page.\n","in":"query","name":"page_size","required":false,"schema":{"default":100,"maximum":1000,"minimum":1,"type":"integer"}},{"description":"The cursor to get data from. It should be retrieved from the `pagination`\nsection of a previous response in case of `keyset` pagination.\n\nThis value will be ignored if the `page` parameter has been provided\nand random access pagination will be used instead.\n\nNotice that the the cursor is cryptographically signed and verified,\nmake sure to set the exact value it was returned.\n","in":"query","name":"page_cursor","required":false,"schema":{"type":"string"}},{"description":"The underlying schema version. Some endpoints can operate on multiple\ninternal database schemas. Must be one of the allowed values. If not\nset it defaults to `v2`.\n","in":"query","name":"schema_version","required":false,"schema":{"default":"v2","enum":["v2","v2.5"],"type":"string"}},{"description":"Optional selection of the object fields to retrieve. It expects a comma\nseparated list of strings, as described in the field selection section,\ne.g. `acquisition_source,apds`.\n","in":"query","name":"fields","required":false,"schema":{"enum":["acquisition_source","apds","apds_last_30","avg_stake_last_active_30","ccf_group","ccf_score","country","currency","gender","ggr_last_365","group","inactive_days","last_active_date","last_deposit_date","player_value_segment","prediction_date","product","reactivation_score_030","reactivation_score_060","reactivation_segment_030","reactivation_segment_060","signup_date","stake_last_active_30","state","total_ev","total_ggr","user_id","bookmaker_id","sub_bookmaker_id"],"type":"string"}},{"description":"If set to `true`, the response will be formatted for export.\nThis will include all users.\n","in":"query","name":"export","required":false,"schema":{"default":false,"type":"boolean"}},{"description":"A comma-separated list of email addresses to which the export file will\nbe sent. If the resulting file is smaller than 25MB it will be\nsent as an attachment, otherwise a download link will be provided. If not\nset, the file will not be emailed.\n","in":"query","name":"mail_to","required":false,"schema":{"default":[],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"description":"API response","properties":{"data":{"oneOf":[{"$ref":"#/components/schemas/ReactivationPredictions"},{"description":"Array of objects","items":{"$ref":"#/components/schemas/ReactivationPredictions"},"type":"array"}]},"pagination":{"description":"Pagination info","properties":{"next":{"description":"Cursor to the next page for the current query. Applicable only for keyset pagination.","nullable":true,"type":"string"},"page":{"description":"The current page. Applicable only for random access pagination.","minimum":0,"type":"integer"},"page_count":{"description":"The total number of pages. Applicable only for random access pagination.","minimum":0,"type":"integer"},"page_size":{"description":"The number of items per page.","minimum":0,"type":"integer"},"total_count":{"description":"The total number of items across all pages. Applicable only for random access pagination.","minimum":0,"type":"integer"}},"type":"object"},"status":{"description":"The status of the request","enum":["success","error"],"type":"string"}},"type":"object"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Forbidden"},"406":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Acceptable"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Request Entity Too Large"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableEntityError"}}},"description":"Unprocessable Entity"},"425":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Early"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal Server Error"}},"summary":"Get reactivation predictions","tags":["Reactivation"]}}}}
````

## Get CRM Reactivation statistics

> This is a generic endpoint for retrieving CRM reactivation related statistics.\
> \
> You can apply any filtering you want on the CRM data, group them in many\
> ways and apply multiple aggregations on the prediction fields.\
> \
> \### Aggregations\
> \
> By setting the \`aggregations\` parameter you can select the set of aggregations\
> to be applied on the given \`fields\`. The following aggregation operations\
> are supported:\
> \
> \- \`avg\`: return the average value\
> \- \`sum\`: return the sum\
> \
> {% hint style="info" %}\
> \
> \## Multiple aggregations\
> \
> \
> You can apply multiple aggregations at once by providing a comma separated\
> list of aggregation operations. For example if you wanted to get the \`avg\`,\
> and \`sum\` value of \`reactivation\_score\_030\` you could simply call the endpoint with the\
> following parameters:\
> \
> \`\`\`\
> aggregations=avg,sum\
> fields=reactivation\_score\_030\
> \`\`\`\
> \
> \`\`\`json\
> {\
> &#x20;   "data": \[\
> &#x20;       {\
> &#x20;           "avg\_reactivation\_score\_030": 0.2025000024586916,\
> &#x20;           "count": 4,\
> &#x20;           "sum\_reactivation\_score\_030": 0.8100000619888306\
> &#x20;       }\
> &#x20;   ],\
> &#x20;   "status": "success"\
> }\
> \`\`\`\
> \
> {% endhint %}\
> \
> \
> {% hint style="info" %}\
> \
> \## Implied count\
> \
> \
> As you will notice a count is always returned no matter what aggregations or\
> fields you select. If you run the endpoint without any parameters you simply\
> run a \`count(\*)\` on the underlying database table.\
> \
> {% endhint %}\
> \
> \
> \### Grouping results\
> \
> You can group the results by any supported field or any combination of\
> fields, by using the \`group\_by\` parameter. A comma separated list of\
> fields to group by is expected.\
> \
> {% hint style="info" %}\
> \
> \## Counts by segment\
> \
> \
> Imagine that you want to get the counts of users, by country and current\
> segment for a specific prediction date. You can simply do it by using the\
> following query parameters:\
> \
> \`\`\`\
> filters=prediction\_date:eq:2021-07-21\
> group\_by=reactivation\_segment\_030,player\_value\_segment\
> \`\`\`\
> \
> which would give the following results\
> \
> \`\`\`json\
> {\
> &#x20; "data": \[\
> &#x20;   {\
> &#x20;     "count": 3,\
> &#x20;     "player\_value\_segment": "Low",\
> &#x20;     "reactivation\_segment\_030": "Most Unlikely"\
> &#x20;   },\
> &#x20;   {\
> &#x20;     "count": 1,\
> &#x20;     "player\_value\_segment": "Low",\
> &#x20;     "reactivation\_segment\_030": "Unlikely"\
> &#x20;   },\
> &#x20;   ...\
> &#x20; ],\
> }\
> \`\`\`\
> \
> {% endhint %}\
> \
> \
> \### Filtering the result set\
> \
> Similarly to many other endpoints the \`stats/crm/reactivation\` endpoint supports\
> filtering of the result set. By setting the \`filters\` parameter you can\
> apply any combination of filters you may wish.\
> \
> {% hint style="info" %}\
> \
> \## Average predictions for churn score cohorts\
> \
> \
> Assume you want to get the average, minimum and maximum APDs predictions for\
> users with predicted churn score for the next 7 days between 0.25 and 0.5\
> grouped by the current player segment for a specific prediction date.\
> \
> You can use the following parameters:\
> \
> \`\`\`\
> aggregations=avg,sum,\
> fields=reactivation\_score\_030,reactivation\_score\_060,reactivation\_score\_090,\
> filters=prediction\_date:eq:2021-01-20,\
> group\_by=player\_value\_segment\
> \`\`\`\
> \
> and you will get results of the form:\
> \
> \`\`\`json\
> {\
> &#x20;   "data": \[\
> &#x20;     {\
> &#x20;       "avg\_reactivation\_score\_030": 0.2025000024586916,\
> &#x20;       "avg\_reactivation\_score\_060": 0.4050000011920929,\
> &#x20;       "avg\_reactivation\_score\_090": 0.6250000149011612,\
> &#x20;       "count": 4,\
> &#x20;       "player\_value\_segment": "Low",\
> &#x20;       "sum\_reactivation\_score\_030": 0.8100000619888306,\
> &#x20;       "sum\_reactivation\_score\_060": 1.6200001239776611,\
> &#x20;       "sum\_reactivation\_score\_090": 2.5\
> &#x20;     }\
> &#x20;     ...\
> &#x20;   ]\
> }\
> \`\`\`\
> \
> {% endhint %}\
> \
> \
> {% hint style="danger" %}\
> \
> \## Avoid empty filters\
> \
> \
> In most use cases you will need to provide a set of filters in order to limit\
> the result set on which the aggregations will be applied. Notice that if you\
> do not provide any filter the operation will be applied to the complete database\
> table and may cause system performance hiccups, especially if the table is\
> big.\
> \
> Check your parameters carefully before calling this endpoint. In most cases\
> you will need to add a \`prediction\_date\` filter to limit the result set on\
> predictions for a specific date.\
> \
> {% endhint %}\ <br>

````json
{"openapi":"3.0.1","info":{"title":"","version":"0.1.0"},"tags":[{"description":"Reactivation related endpoints","name":"Reactivation"}],"servers":[{"description":"Production API","url":"https://api.vaix.ai"},{"description":"Staging (integration) API","url":"https://staging-api.vaix.ai"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"scheme":"bearer","type":"http"}},"schemas":{"StatEntry":{"description":"A statistics result. Notice that the result depends on the query and the\nparameters provided to it.\n","type":"object"},"Error":{"additionalProperties":false,"description":"The generic API's error response","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"type":"object"},"Errors":{"additionalProperties":false,"description":"The generic API's errors response","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"type":"object"},"UnprocessableEntityError":{"oneOf":[{"additionalProperties":false,"description":"The generic API's error response","properties":{"error":{"description":"Description of the error","type":"string"},"status":{"description":"response status","type":"string"}},"type":"object"},{"additionalProperties":false,"description":"The generic API's errors response","properties":{"errors":{"description":"An object with the request errors","type":"object"}},"type":"object"}]}}},"paths":{"/api/stats/crm/reactivation":{"get":{"description":"This is a generic endpoint for retrieving CRM reactivation related statistics.\n\nYou can apply any filtering you want on the CRM data, group them in many\nways and apply multiple aggregations on the prediction fields.\n\n### Aggregations\n\nBy setting the `aggregations` parameter you can select the set of aggregations\nto be applied on the given `fields`. The following aggregation operations\nare supported:\n\n- `avg`: return the average value\n- `sum`: return the sum\n\n{% hint style=\"info\" %}\n\n## Multiple aggregations\n\n\nYou can apply multiple aggregations at once by providing a comma separated\nlist of aggregation operations. For example if you wanted to get the `avg`,\nand `sum` value of `reactivation_score_030` you could simply call the endpoint with the\nfollowing parameters:\n\n```\naggregations=avg,sum\nfields=reactivation_score_030\n```\n\n```json\n{\n    \"data\": [\n        {\n            \"avg_reactivation_score_030\": 0.2025000024586916,\n            \"count\": 4,\n            \"sum_reactivation_score_030\": 0.8100000619888306\n        }\n    ],\n    \"status\": \"success\"\n}\n```\n\n{% endhint %}\n\n\n{% hint style=\"info\" %}\n\n## Implied count\n\n\nAs you will notice a count is always returned no matter what aggregations or\nfields you select. If you run the endpoint without any parameters you simply\nrun a `count(*)` on the underlying database table.\n\n{% endhint %}\n\n\n### Grouping results\n\nYou can group the results by any supported field or any combination of\nfields, by using the `group_by` parameter. A comma separated list of\nfields to group by is expected.\n\n{% hint style=\"info\" %}\n\n## Counts by segment\n\n\nImagine that you want to get the counts of users, by country and current\nsegment for a specific prediction date. You can simply do it by using the\nfollowing query parameters:\n\n```\nfilters=prediction_date:eq:2021-07-21\ngroup_by=reactivation_segment_030,player_value_segment\n```\n\nwhich would give the following results\n\n```json\n{\n  \"data\": [\n    {\n      \"count\": 3,\n      \"player_value_segment\": \"Low\",\n      \"reactivation_segment_030\": \"Most Unlikely\"\n    },\n    {\n      \"count\": 1,\n      \"player_value_segment\": \"Low\",\n      \"reactivation_segment_030\": \"Unlikely\"\n    },\n    ...\n  ],\n}\n```\n\n{% endhint %}\n\n\n### Filtering the result set\n\nSimilarly to many other endpoints the `stats/crm/reactivation` endpoint supports\nfiltering of the result set. By setting the `filters` parameter you can\napply any combination of filters you may wish.\n\n{% hint style=\"info\" %}\n\n## Average predictions for churn score cohorts\n\n\nAssume you want to get the average, minimum and maximum APDs predictions for\nusers with predicted churn score for the next 7 days between 0.25 and 0.5\ngrouped by the current player segment for a specific prediction date.\n\nYou can use the following parameters:\n\n```\naggregations=avg,sum,\nfields=reactivation_score_030,reactivation_score_060,reactivation_score_090,\nfilters=prediction_date:eq:2021-01-20,\ngroup_by=player_value_segment\n```\n\nand you will get results of the form:\n\n```json\n{\n    \"data\": [\n      {\n        \"avg_reactivation_score_030\": 0.2025000024586916,\n        \"avg_reactivation_score_060\": 0.4050000011920929,\n        \"avg_reactivation_score_090\": 0.6250000149011612,\n        \"count\": 4,\n        \"player_value_segment\": \"Low\",\n        \"sum_reactivation_score_030\": 0.8100000619888306,\n        \"sum_reactivation_score_060\": 1.6200001239776611,\n        \"sum_reactivation_score_090\": 2.5\n      }\n      ...\n    ]\n}\n```\n\n{% endhint %}\n\n\n{% hint style=\"danger\" %}\n\n## Avoid empty filters\n\n\nIn most use cases you will need to provide a set of filters in order to limit\nthe result set on which the aggregations will be applied. Notice that if you\ndo not provide any filter the operation will be applied to the complete database\ntable and may cause system performance hiccups, especially if the table is\nbig.\n\nCheck your parameters carefully before calling this endpoint. In most cases\nyou will need to add a `prediction_date` filter to limit the result set on\npredictions for a specific date.\n\n{% endhint %}\n\n","operationId":"get_reactivation_statistics","parameters":[{"description":"Custom client header, the value should be the name of the group the user belongs to","in":"header","name":"x-vaix-client-id","required":true,"schema":{"type":"string"}},{"description":"Authentication method to be used, supported values [`vaix`, `iam`]. Defaults to `vaix`","in":"header","name":"x-vaix-authentication-method","required":false,"schema":{"type":"string"}},{"description":"The columns to group the results by. It should be a comma separated list\nwith the columns to use for grouping in the format `col1,col2`.\n","in":"query","name":"group_by","required":false,"schema":{"enum":["reactivation_score_030","reactivation_score_060","reactivation_score_090","reactivation_segment_030","reactivation_segment_060","reactivation_segment_090","player_value_segment","campaign_segment","user_id"],"type":"string"}},{"description":"The columns to use in aggregations. It should be a comma separated list,\ne.g. `predicted_apds_030,predicted_ggr_030`.\n","in":"query","name":"fields","required":false,"schema":{"enum":["reactivation_score_030","reactivation_score_060","reactivation_score_090","reactivation_segment_030","reactivation_segment_060","reactivation_segment_090","player_value_segment","campaign_segment","user_id"],"type":"string"}},{"description":"The aggregations to be applied on all selected fields. You can pass\nmore than one aggregations through a comma separated list, e.g.\n`min,max,avg`.\n","in":"query","name":"aggregations","required":false,"schema":{"enum":["avg","sum"],"type":"string"}},{"description":"The type of product to get predictions for. If an operator has the CRM\npackage for more than one products, then this must be set. Can be one\nof sports, casino, horses, combined. If not set it defaults to `sports`.\n","in":"query","name":"product","required":false,"schema":{"default":"sports","enum":["sports","casino","horses","combined"],"type":"string"}},{"description":"Optional filtering of the results. It expects a string adhering to the\nfiltering format, as described in the filtering section, e.g.\n`churn_score_007:gt:0.7;predicted_ggr_030:lt:5000`.\n","in":"query","name":"filters","required":false,"schema":{"default":"","enum":["reactivation_score_030","reactivation_score_060","reactivation_score_090","reactivation_segment_030","reactivation_segment_060","reactivation_segment_090","player_value_segment","campaign_segment","current_value_segment","current_frequency_segment","country","state","gender","group","signup_date","apds","apds_last_30","total_ggr","total_ev","inactive_days","last_active_date","last_deposit_date","acquisition_source","user_id","currency","ccf_score","prediction_date"],"type":"string"}},{"description":"The underlying schema version. Some endpoints can operate on multiple\ninternal database schemas. Must be one of the allowed values. If not\nset it defaults to `v2`.\n","in":"query","name":"schema_version","required":false,"schema":{"default":"v2","enum":["v2","v2.5"],"type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"additionalProperties":false,"description":"API response","properties":{"data":{"description":"Array of objects","items":{"$ref":"#/components/schemas/StatEntry"},"type":"array"},"status":{"description":"The status of the request","enum":["success","error"],"type":"string"}},"type":"object"}}},"description":"OK"},"400":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Bad Request"},"401":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Unauthorized"},"403":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Forbidden"},"406":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Not Acceptable"},"413":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Request Entity Too Large"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UnprocessableEntityError"}}},"description":"Unprocessable Entity"},"425":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Errors"}}},"description":"Too Early"},"500":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Internal Server Error"}},"summary":"Get CRM Reactivation statistics","tags":["Reactivation"]}}}}
````


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.sportradar.com/retention/api-reference/reactivation.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
