This changelog documents Graniitti API versions released as part of Frosmo Platform main and maintenance releases.
Graniitti API versions that only include Frosmo-internal improvements are not documented, so if you spot a jump in the documented version numbers, that's what happened.
Graniitti API 0.168.1 (2022-12-12)
Frosmo Platform main release: Moose Creek
Improvements
- Added the
page_type
field to placements (/sites/<site_id>/positions
) for defining the page type of a placment.
Graniitti API 0.167.0 (2022-12-08)
Frosmo Platform main release: Moose Creek
Improvements
- Added support for the
arrayIncludesAny
andarrayNotIncludesAny
filter rule operators for recommendation strategies (/sites/<site_id>/recommendation-strategies
) and recommendation configurations (/sites/<site_id>/recommendations
). In the recommendation strategy UI of the Frosmo Control Panel, the operators correspond to the includes any one of and does not include any one of operator options.
Graniitti API 0.165.0 (2022-11-29)
Frosmo Platform main release: Moose Creek
Improvements
- In recommendation strategies (
/sites/<site_id>/recommendation-strategies
), increased the maximum number ofanchor_items
for thebought_with_cart_products
recommendation algorithm from1
to20
. This means that the algorithm can now generate recommendations against a maximum of 20 shopping cart items. In the recommendation strategy UI of the Frosmo Control Panel, the algorithm corresponds to the Bought together with items in the cart algorithm option.
Graniitti API 0.157.0 (2022-11-07)
Frosmo Platform main release: Moose Creek
Improvements
- Added support for the
viewed_recent_days
algorithm in recommendation strategies (/sites/<site_id>/recommendation-strategies
). In the recommendation strategy UI of the Frosmo Control Panel, the algorithm corresponds to the Most viewed on the site in recent days algorithm option.
Graniitti API 0.156.0 (2022-11-02)
Frosmo Platform main release: Moose Creek
Improvements
- Added the
/sites/<site_id>/products-with-statistics
endpoint for retrieving the product data and product statistics for a site. The statistics include the total number of views and conversions (both transactions and non-purchase conversions) by time range (1, 2, 7, 14, and 30 days) for each product.
Graniitti API 0.145.0 (2022-10-06)
Frosmo Platform main release: Lost River
Improvements
- Added the
affinity_groups
field to sites (/sites/<site_id>
) for showing whether the affinity group feature is enabled for a site.
Graniitti API 0.140.0 (2022-09-05)
Frosmo Platform main release: Lost River
Improvements
- Added support for the
user_last_bought
algorithm in recommendation strategies (/sites/<site_id>/recommendation-strategies
). In the recommendation strategy UI of the Frosmo Control Panel, the algorithm corresponds to the Recently bought by the visitor algorithm option.
Graniitti API 0.134.1 (2022-06-14)
Frosmo Platform main release: Lost River
Improvements
- Removed the target group resource (
/companies/<company_id>/target-groups
), and removed target groups from activities (/sites/<site_id>/activities
). The target group feature was deprecated on 2022-04-19.
Graniitti API 0.120.0 (2022-04-19)
Frosmo Platform main release: Lost River
Improvements
- Added the
description
field to triggers (/sites/<site_id>/triggers
) for defining a description for a trigger. - Added the
state
andstatus
properties to the modification objects returned by the/sites/<site_id>/templates/<template_id>/messages
endpoint. The properties describe the state (active
orinactive
) and status (active
,upcoming
,past
,inactive
, orinvalid
) of the modification.
Graniitti API 0.116.0 (2022-03-24)
Frosmo Platform main release: Lost River
Improvements
- Added support for the
exists
andnotExists
filter rule operators for recommendation strategies (/sites/<site_id>/recommendation-strategies
) and recommendation configurations (/sites/<site_id>/recommendations
). In the recommendation strategy UI of the Frosmo Control Panel, the operators correspond to the exists and does not exist operator options.
Graniitti API 0.114.0 (2022-03-16)
Frosmo Platform main release: Lost River
Improvements
- You can now create a recommendation strategy (
/sites/<site_id>/recommendation-strategies
) without any algorithms as long as you include at least one fixed item in the strategy. A strategy must at minimum have either one algorithm or one fixed item.
Graniitti API 0.108.0 (2022-03-01)
Frosmo Platform main release: Lost River
Feature updates
- When you create a new multi-armed bandit modification (
/sites/<site_id>/messages
), the platform now starts adjusting the variation distribution only after each variation has received at least 100 views. This applies to all multi-armed bandit algorithms except Softmax.
Graniitti API 0.83.1 (2021-11-08)
Frosmo Platform main release: Lost River
Bug fixes
- Fixed a bug in filter rule validation for recommendation strategies (
/sites/<site_id>/recommendation-strategies
) where the API required the target value to be explicitly defined in cases where the value could only be defined dynamically at runtime. The missing target value in such cases resulted in the recommendation failing to generate.
Graniitti API 0.83.0 (2021-11-08)
Frosmo Platform main release: Lost River
Improvements
- Improved filter rule validation for recommendation strategies (
/sites/<site_id>/recommendation-strategies
) and recommendation configurations (/sites/<site_id>/recommendations
).
Graniitti API 0.75.0 (2021-09-06)
Frosmo Platform main release: Kodiak
Improvements
- For activities (
/sites/<site_id>/activities
), added support for using theafter
field, which is an object, in FIQL filtering. For example,GET /activities?fiql=after==*replace*
returns all activities whoseafter
field contains the stringreplace
(either as the name or value of an object property).
Graniitti API 0.69.3 (2021-05-31)
Frosmo Platform main release: Kodiak
Improvements
- Added support for the
longterm_bought
algorithm in recommendation strategies (/sites/<site_id>/recommendation-strategies
). In the Frosmo Control Panel, this algorithm is displayed as Most bought on the site in recent months.
Graniitti API 0.67.0 (2021-05-03)
Frosmo Platform main release: Kodiak
Improvements
- Added support for the
includes=customScript
query parameter toGET /sites/<site_id>
requests. Using the parameter embeds theupdated_at
timestamp of the site's custom script in the response.
Graniitti API 0.66.0 (2021-04-12)
Frosmo Platform main release: Kodiak
Improvements
- Removed the
browser_support_ie10
site setting (/companies/<company_id>/settings
). You can no longer configure a site as supporting Internet Explorer 10. - The product resource (
/sites/<site_id>/products
,/sites/<site_id>/messages/<message_id>/products
,/sites/<site_id>/messages/<message_id>/non-relevant-products
) now returns the exact same data for a product as the Product API. Previously, the resource used its own data schema that only included a subset of available product attributes.
Graniitti API 0.64.0 (2021-03-08)
Frosmo Platform main release: Kodiak
Feature updates
- Recommendation strategies (
/sites/<site_id>/recommendation-strategies
) are now available to sites that have the necessary setup in place.
Improvements
- Removed support for the following company settings (
/companies/<company_id>/settings
):message_content_domain_links
message_content_javascript
Graniitti API 0.63.0 (2021-03-01)
Frosmo Platform main release: Juneau
Improvements
- When returning product statistics (
/sites/<site_id>/statistics
), the API now excludes products whose data has not been updated in the past 6 months.
Graniitti API 0.61.0 (2021-02-10)
Frosmo Platform main release: Juneau
Improvements
- If the requested recommendation model (
/sites/<site_id>/recommendations/<recommendation_id>/model
) does not exist, the API now returns an error with the response status code404
. Previously, the API returned an empty object with the response status code200
. - Updated the API reference to a fresh new look and feel.
Graniitti API 0.59.0 (2021-01-11)
Frosmo Platform main release: Juneau
Improvements
- Added the
/sites/<site_id>/product-attributes-summary
endpoint for retrieving site-specific product attributes used for filtering in recommendation strategies. - In company settings (
/companies/<company_id>/settings/currency
), added support for a new currency, the Romanian leu (RON).
Graniitti API 0.57.0 (2020-12-07)
Frosmo Platform main release: Juneau
Feature updates
Added support for recommendation strategies, which are a new way of creating recommendations in the Frosmo Platform. The support is implemented as follows:
- Added the
/sites/<site_id>/recommendation-strategies
endpoint for managing recommendation strategies per site. You can get and create strategies. - Added the
/sites/<site_id>/recommendation-strategies/<strategy_id>
endpoint for managing individual recommendation strategies per site. You can get, update, and delete strategies.
Recommendation strategies are a work-in-progress feature update to the Frosmo Recommendations system. You cannot yet create or use recommendation strategies on a production site.
Recommendation strategies will be available in a future platform release.
- Added the
- Removed the
/sites/<site_id>/easy-errors/count_top_by_hour
endpoint for getting the hourly error counts for the modifications with the most errors.
Graniitti API 0.55.0 (2020-09-21)
Frosmo Platform main release: Juneau
Improvements
- Added the
filters
field to recommendation configurations (/sites/<site_id>/recommendations
) for defining advanced recommendation results filtering.
Graniitti API 0.54.0 (2020-09-09)
Frosmo Platform main release: Juneau
Improvements
- Added the
description
field to modifications (/sites/<site_id>/messages
) for defining a description for a modification. - Added the
pre_renderer
field to templates (/sites/<site_id>/templates
) for defining a prerenderer for the template content. For more information about the prerenderer, see the Juneau release notes.
Graniitti API 0.53.0 (2020-07-06)
Frosmo Platform main release: Iron Creek
Improvements
- Updated the validation for recommendation configurations (
/sites/<site_id>/recommendations
) whosetype
isbundle_converted
,bundle_viewed
, orbundle_viewed_converted
: The API now expects abundle
configuration to contain anoptions
field with aproduct_attrs
child field, which is used for filtering the generated recommendation data by a product attribute.
Graniitti API 0.52.4 (2020-06-22)
Frosmo Platform main release: Iron Creek
Improvements
- In company settings (
/companies/{company_id}/settings/timezone
), added a missing timezone (America/Sao_Paulo
, UTC -03:00) and changed the names of other timezones fromPoland
toEurope/Warsaw
(UTC +01:00) and fromTurkey
toEurope/Istanbul
(UTC +03:00) to comply with the Coordinated Universal Time (UTC) standard.
Graniitti API 0.52.1 (2020-06-15)
Frosmo Platform main release: Iron Creek
Feature updates
- In recommendations (
/sites/<site_id>/recommendations
), updated the requirements for recommendation configurations based on the built-in recommendation types:- For the
most_viewed
andmost_converted
recommendation types:- If there are segment IDs defined in the
options
object, you can only filter recommendation data based on those segment IDs (not by any segment ID, as before). - You no longer need to define parameter values in the
params
field. You can pass an empty string as a value. However, you must define at least one parameter (even if it's value is an empty string). - The number of parameters defined in the
params
field must match the number of attributes defined in theproduct_attrs
field of theoptions
object. If there are segment IDs defined in theoptions
object, there must be an additional parameter for the segment ID included in theparams
field. - If the
category_delimiter
field is defined in theoptions
object, thetype
product attribute must also be defined in theproduct_attrs
field.
- If there are segment IDs defined in the
- The
bundle_converted
,bundle_viewed
, andbundle_viewed_converted
recommendation types only take a single parameter in theparams
field. - The
value
field of thedata point
object has been deprecated.
- For the
Improvements
- Added the
/sites/<site_id>/recommendations/<recommendation_id>/model
endpoint for retrieving and updating the raw recommendation data ("model") generated for a recommendation configuration.
Graniitti API 0.49.0 (2020-05-11)
Frosmo Platform main release: Iron Creek
Feature updates
- Added full support for email recommendations (
/sites/<site_id>/email-campaigns
). - Added full support for shared code (
/sites/<site_id>/shared-code
and/sites/<site_id>/workspaces/<workspace_id>/shared-code
).
Graniitti API 0.48.0 (2020-04-27)
Frosmo Platform main release: Happy Valley
Improvements
- Recommendations (
/sites/<site_id>/recommendations
) must now have unique names within a site. When you create or update a recommendation with a name that is already used by an existing recommendation on the site, the API throws a validation error.
Graniitti API 0.46.3 (2020-04-14)
Frosmo Platform main release: Happy Valley
Bug fixes
Fixed a bug in activities (
/sites/<site_id>/activities
) where the API needlessly created activity entries for the following modification updates (PUT /sites/<site_id>/messages/<message_id>
):- When a modification was updated with the same variation data that was already stored for the modification.
- When a modification was updated with the same
ga_tracking
andtrack_conversions
field values that were already stored for the modification.
The API no longer creates activity entries for modification updates that do not change the modification configuration.
Graniitti API 0.46.0 (2020-03-16)
Frosmo Platform main release: Happy Valley
Improvements
- Added the
status
field to the objects returned by the/sites/<site_id>/positions/<position_id>/messages
endpoint. Thestatus
field indicates the status of the corresponding modification:active
,inactive
,invalid
,past
, orupcoming
. The Frosmo Control Panel uses thestatus
field in the Edit placement view to list the modifications that use the placement by modification status.
Graniitti API 0.45.2 (2020-03-02)
Frosmo Platform main release: Happy Valley
Improvements
- When you create or update a recommendation (
sites/<site_id>/recommendations
) whosetype
isbundle_converted
,bundle_viewed
,bundle_viewed_converted
,most_converted
, ormost_viewed
, the API now checks that the value of thehours
field is greater than or equal to1
and less than or equal to1440
. If the value is outside this range, the API returns an error.
Graniitti API 0.45.0 (2020-02-17)
Frosmo Platform main release: Happy Valley
Breaking changes
- Updated the
/sites/<site_id>/positions/<position_id>/messages
endpoint to return an array of objects, where each object contains theid
,name
,type
, andstate
of a modification that uses the specified placement. Previously, the endpoint returned an array of numbers, where each number was the ID of a modification that used the specified placement.
Improvements
Added the
/sites/<site_id>/workspaces/<workspace_id>/positions/<position_id>/messages
endpoint for retrieving the workspace modifications that use the specified workspace placement. The endpoint returns an array of objects, where each object contains theid
,name
,type
, andstate
of a workspace modification.To retrieve the production modifications that use a given production placement, use the
/sites/<site_id>/positions/<position_id>/messages
endpoint.
Graniitti API 0.44.10 (2020-02-07)
Frosmo Platform main release: Happy Valley
Bug fixes
- Fixed a bug in modifications (
/sites/<site_id>/messages
) where the maximum length of thetitle
field of modification variations was not defined. The maximum length is now set to 256 characters.
Graniitti API 0.44.8 (2020-01-27)
Frosmo Platform main release: Happy Valley
Improvements
- For templates whose
export_strategy
isautomatic
, the Graniitti API now adds the template content to the custom script only if a template is used in an active variation of an active modification and only if that modification has content preloading enabled. The Graniitti API no longer exports template content for modifications that have content preloading disabled, since the Message API now delivers the template content for these modifications, omitting the need to add the content to the custom script.
Graniitti API 0.44.4 (2019-12-04)
Frosmo Platform main release: Happy Valley
Bug fixes
- Fixed a bug in workspaces where a production template (
/sites/<site_id>/templates/<template_id>
) used in a workspace modification (/sites/<site_id>/workspaces/<workspace_id>/messages/<message_id>
) was exported even when the value of the templateexport
field wasfalse
, which should have prevented the export.
Graniitti API 0.44.3 (2019-11-26)
Frosmo Platform main release: Happy Valley
Improvements
- If you edit and save a template whose
export_strategy
isautomatic
, the API now always checks whether to export the template. If the template is used in at least one active variation of at least one active modification, the API updates the template content to the custom script of the site. Previously, the API only checked whether to export when theexport_strategy
was changed. For more information about template export, see Creating and editing a template.
Graniitti API 0.44.1 (2019-11-20)
Frosmo Platform main release: Happy Valley
Improvements
- In the API reference, updated selected method descriptions for improved clarity and consistency.
Graniitti API 0.43.21 (2019-11-11)
Frosmo Platform main release: Goodnews Bay
Bug fixes
- Fixed a bug in templates where, if you used a production template (
/sites/<site_id>/templates/<template_id>
) in a workspace modification, the template content was not added to the workspace custom script if theexport_strategy
of the template wasautomatic
. - Fixed a bug in statistics where calling
GET /sites/<site_id>/statistics/report/api_call_counts_summary?start_time=<date_and_time>
threw an error if the specified time of day resulted in 00:00:00 after time zone conversion at the server side.
Graniitti API 0.43.20 (2019-11-04)
Frosmo Platform main release: Goodnews Bay
Improvements
- Added the
/sites/<site_id>/js/urls
endpoint for getting the absolute URLs for the Frosmo Core script and custom script used by a site. The endpoint returns a JSON object with two string fields:core
for the Frosmo Core script URL andcustom
for the custom script URL. - Increased the maximum length of the
element_id
field of placements (/sites/<site_id>/positions
) from 256 to 512 characters. Theelement_id
field stores the target element selector for a placement.
Graniitti API 0.43.19 (2019-10-28)
Frosmo Platform main release: Goodnews Bay
Improvements
- Added support for
0m
as a possible value for thefrequency
field of a recommendation (sites/<site_id>/recommendations
). Setting the frequency to 0 minutes means that the recommendation data is never automatically regenerated. To refresh the data, you must manually queue the recommendation for processing. - Added the
/sites/<site_id>/statistics/report/api_call_counts_summary
endpoint for getting the summary counts of site events from a specific start time onwards.
Graniitti API 0.43.18 (2019-10-14)
Frosmo Platform main release: Goodnews Bay
Improvements
- Removing a workspace (
/sites/<site_id>/workspaces/<workspace_id>
) now also removes the content of that workspace (modifications, placements, templates, triggers).
Bug fixes
- Fixed a bug where custom script update failed due to concurrent requests updating the same script at the exact same time. This happened only very rarely.
- Fixed a bug where, if you used a production trigger (
/sites/<site_id>/triggers/<trigger_id>
) in a workspace placement (/sites/<site_id>/workspaces/<workspace_id>/positions/<position_id>
), and then removed the workspace without first explicitly removing the placement from it, the trigger could no longer be removed.
Graniitti API 0.43.17 (2019-10-07)
Frosmo Platform main release: Goodnews Bay
Improvements
- Added the
export_strategy
field to templates (/sites/<site_id>/templates
) for defining the export strategy of a template. You can set the value toautomatic
ormanual
. - If the
export_strategy
of a template isautomatic
, and if the template is used in an active variation of an active modification, the API automatically sets theexport
field of the template totrue
. - Increased the maximum length of the
name
field of workspaces (/sites/<site_id>/workspaces
) from 32 to 128 characters.
Graniitti API 0.43.16 (2019-09-23)
Frosmo Platform main release: Goodnews Bay
Improvements
- Added the following endpoints for getting all modifications that use a given template:
/sites/<site_id>/templates/<template_id>/messages
for getting all production and workspace modifications that use the given production template/sites/<site_id>/workspaces/<workspace_id>/templates/<template_id>/messages
for getting all workspace modifications that use the given template in the same workspace
- If you update the
name
field of a template, the API now automatically updates the new name to every modification variation that uses the template.
Bug fixes
- Fixed a bug where, if you used a production placement (
/sites/<site_id>/positions/<position_id>
) in a workspace modification (/sites/<site_id>/workspaces/<workspace_id>/messages/<message_id>
), and then removed the workspace without first explicitly removing the modification from it, the placement could no longer be removed.
Graniitti API 0.43.15 (2019-09-16)
Frosmo Platform main release: Goodnews Bay
Improvements
Added the
is_all_frosmo_off
field to sites (/sites
,/sites/<site_id>
,/companies/<company_id>/sites
,/users/<user_id>/monitoring-sites
) for getting sites based on whether they have the Frosmo Platform enabled or disabled. Ifis_all_frosmo_off
is set totrue
for a site, the platform is disabled for that site, while ifis_all_frosmo_off
is set tofalse
, the platform is enabled. The field only works in GET requests.To enable or disable the platform for a site, send a PATCH request to
/companies/<company_id>/settings/is_all_frosmo_off
.
Graniitti API 0.43.14 (2019-09-09)
Frosmo Platform main release: Goodnews Bay
Improvements
- Removed the deprecated
contexts.segments
andcontexts.segment_criteria
properties from the modification object (/sites/<site_id>/messages
). For more information about the change where these properties were deprecated, see the changelog entry for version 0.43.0.
Graniitti API 0.43.12 (2019-08-05)
Frosmo Platform main release: Goodnews Bay
Improvements
- Added the
model_updated_at
field to recommendations (/sites/<site_id>/recommendations
) for tracking when the recommendation data was last successfully generated. The platform automatically updates this field.
Graniitti API 0.43.2 (2019-05-20)
Frosmo Platform main release: Goodnews Bay
Improvements
- Migrated all existing production modifications to use the
segment_rules
field in place of thecontexts.segments
andcontexts.segment_criteria
properties for defining their segment rules. Thecontexts.segments
andcontexts.segment_criteria
properties are no longer used by any production modification. For more information about this change, see the changelog entry for version 0.43.0.
Graniitti API 0.43.0 (2019-05-06)
Frosmo Platform main release: Goodnews Bay
Improvements
- Added support for the segment selection feature for modifications, which combines selecting segments and defining a segment combination into a single workflow in the Frosmo Control Panel:
- All new modifications must define their segment rules in the
segment_rules
field of the modification object (/sites/<site_id>/messages
). Previously, only cached modifications used thesegment_rules
field, while other types of modifications used thecontexts.segments
andcontexts.segment_criteria
properties. - The
contexts.segments
andcontexts.segment_criteria
properties, which store segment and segment combination data, respectively, are now effectively deprecated. Existing production modifications that use these properties will be gradually migrated to use thesegment_rules
field.
- All new modifications must define their segment rules in the
Graniitti API 0.42.3 (2019-04-08)
Frosmo Platform main release: Funny River
Bug fixes
- Fixed parameter details for
DELETE /sites/<site_id>/workspaces/<workspace_id>/positions/<position_id>
. Theworkspace_id
parameter was incorrectly namedsite_id
and described asSite ID
.
Graniitti API 0.42.2 (2019-03-11)
Frosmo Platform main release: Funny River
Improvements
- Increased the maximum size of template content (
/sites/<site_id>/templates
) to 512 KB (524 288 characters). If you try to create or update a template with atemplate
field whose value exceeds the size limit, the API returns an error.
Graniitti API 0.42.0 (2018-12-03)
Frosmo Platform main release: Funny River
Feature updates
- Added support for Frosmo Recommendations. Frosmo Recommendations is an end-to-end solution for generating recommendations in the Frosmo Platform. This feature is implemented as follows:
- Added the
/recommendations
endpoint for getting all recommendations for all sites to which you have access. - Added the
/sites/<site_id>/recommendations
endpoint for managing recommendations per site. You can get and create recommendations. - Added the
/sites/<site_id>/recommendations/<recommendation_id>
endpoint for managing individual recommendations per site. You can get, update, and delete recommendations.
- Added the
Graniitti API 0.41.5 (2018-11-05)
Frosmo Platform main release: Elephant Point
Bug fixes
- Fixed an issue where the
segment_changes.all
report (/sites/<site_id>/statistics
) returned incorrect data for segments other than_all
. The report now returns data only for the_all
segment, which is a built-in summary of all segments.
Graniitti API 0.41.3 (2018-10-01)
Frosmo Platform main release: Elephant Point
Feature updates
- Updated the error tracking feature to retrieve Frosmo Core errors from a new log.
Graniitti API 0.41.2 (2018-09-03)
Frosmo Platform main release: Elephant Point
Improvements
- Improved the response time for
GET /sites/<site_id>/js?custom_code
requests by caching the returned custom script contents.
Graniitti API 0.41.1 (2018-08-23)
Frosmo Platform main release: Elephant Point
Bug fixes
- Fixed an issue where the API always expected workspace custom code when building a workspace custom script. If a workspace did not have dedicated custom code, which is usually the case when you create a new workspace, for example, the API failed to default to the production custom code. This resulted in the workspace custom script missing the custom code for the site. This issue has now been fixed, and the API correctly uses the production custom code for the workspace custom script if there's no workspace custom code available. For more information about workspace custom code and workspace custom scripts, see Adding custom code to a workspace and Updating the custom script for a workspace.
Graniitti API 0.41.0 (2018-08-20)
Frosmo Platform main release: Elephant Point
Feature updates
- Added support for add-ons (
/companies/<company_id>/addons
) - Added support for custom extensions (
/companies/<company_id>/custom-addons
). - Added support for plans:
- Added the following new company settings (
/companies/<company_id>/settings
) for enabling and disabling feature access based on a company's plan:graniitti_api
for Graniitti API accessmulti_arm_band
for the multi-armed bandit featuresecurity_settings
for security settings
- Added target groups to activities (
/sites/<site_id>/activities
). Whenever a target group is added, edited, or removed, the API now logs the action as an activity for the first site of the company. This is required for tracking target group usage against plans.
- Added the following new company settings (
Improvements
- Added the
custom_code
query parameter toGET /sites/<site_id>/js
. The parameter allows you to replace the custom code in the returned custom script with the parameter value. Use the parameter when you only want to retrieve the site configuration and module parts of the custom script. For example,GET /sites/1234/js?custom_code=PLACEHOLDER
returns the full contents of the custom script but with the custom code replaced by the text "PLACEHOLDER". - Added size validation for templates (
/sites/<site_id>/templates
). Template content cannot exceed 65 535 characters in length. - Improved API request performance by caching routes.
- Improved error reporting by reclassifying selected errors and warnings as critical errors.
Graniitti API 0.40.0 (2018-06-18)
Frosmo Platform main release: Diamond Ridge
Feature updates
- Added support for the error handling and logging functionality provided by Frosmo Core. Custom scripts exported by the API now use the new error handling and logging features (namely
easy.guard()
and theeasy.log
module).
Improvements
- When you export a custom script to the CDN (
/sites/<site_id>/js/export
), the API now excludes theprofile
field from cached modification objects in cases where the site does not have selective profiling enabled. Previously, the API exported theprofile
field for cached modifications regardless of whether or not the site used selective profiling.
Graniitti API 0.39.1 (2018-05-21)
Frosmo Platform main release: Coldfoot (patch)
Feature updates
- Improved the workspaces feature:
- Added support for placements (
/sites/<site_id>/workspaces/<workspace_id>/positions
). - Added support for triggers (
/sites/<site_id>/workspaces/<workspace_id>/triggers
).
- Added support for placements (
Graniitti API 0.39.0 (2018-04-23)
Frosmo Platform main release: Coldfoot
Feature updates
- Added support for the selective profiling feature. If enabled for a site, selective profiling forces you to define for each modification separately whether the modification is for visitors who have opted in to profiling, visitors who have opted out of profiling, or all visitors. This feature is implemented as follows:
- Added the
profile
field to modifications (/sites/<site_id>/messages
) for defining the profiling setting for a modification. You can set the field toopt-in
,opt-out
, orall
. - Added the
mod_profile
field to site settings (/companies/<company_id>/settings
) for enabling and disabling selective profiling for a site. You can set the field totrue
(1
) orfalse
(0
).
- Added the
- Added support for the temporary password feature. When you create a new Frosmo Control Panel user and define a password for them, or when you change the password of an existing user, the password is set to expire in 30 days. The user is prompted to change the password when they log in to the Control Panel.
Improved the error tracking feature:
- When a Frosmo Control Panel user is removed from a company, the user's error tracking settings for the company are archived.
- When a Frosmo Control Panel user is added back to a company from which they were previously removed, the user's error tracking settings for the company are restored.
The error tracking settings consist of:
- Monitored sites (
/users/<user_id>/monitoring-sites
) - Subscribed error services (
/users/<user_id>/error-services
)
- Improved the workspaces feature:
- Added support for templates (
/sites/<site_id>/workspaces/<workspace_id>/templates
). - Added support for workspace-specific custom code.
- Added support for deleting the workspace custom script from the CDN (
/sites/<site_id>/workspaces/<workspace_id>/js/export
).
- Added support for templates (
Improvements
- Added time zone information to the date and time values in paginated results. Previously, the API returned the date and time values without the time zone, which prevented client applications from adjusting the date and time accordingly.
- When you export a custom script to the CDN (
/sites/<site_id>/js/export
), the API now automatically sets the minimum Frosmo Core version supported by the script to two minor versions behind the current Frosmo Core version. For example, if the current Frosmo Core version is 8.29.0, the API sets the minimum supported version to 8.27.0.
Graniitti API 0.38.0 (2018-03-19)
Frosmo Platform main release: Big Delta
Feature updates
- Added support for the workspaces feature. Workspaces allow you to safely develop both new and existing modifications in the Frosmo Control Panel without affecting the live content of the site. This feature is implemented as follows:
- Added the
/sites/<site_id>/workspaces
endpoint for managing workspaces. You can get, create, update, and delete workspaces. - Added the
/sites/<site_id>/workspaces/<workspace_id>/js
endpoint for managing the custom script of a workspace. You can trigger an update that builds and deploys the latest custom script to the content delivery network (CDN). You can also get the full contents or just the site configuration part of the custom script. - Added the
/sites/<site_id>/workspaces/<workspace_id>/messages
endpoint for managing the modifications within a workspace. You can get, create, update, and delete workspace modifications.
- Added the
- Improved the error tracking feature:
- Added the
/users/<user_id>/error-services
endpoint for getting the error tracking services from the sites the user is monitoring. The endpoint only returns services whose status is "Warning" or "Critical". - Opened the feature to all users. Any user can now track site errors from the Frosmo Control Panel or through the Graniitti API.
- Added the
Improvements
- Removed support for Internet Explorer 9. You can no longer configure a site as supporting IE9.
- In the API reference, added dedicated endpoint sections for each statistics report (
/sites/<site_id>/statistics/report/<report_name>
). Instead of selecting the report with thereport
parameter in the shared endpoint section (/sites/<site_id>/statistics
), you can now refer to the report's dedicated section instead (for example,/sites/<site_id>/statistics/report/all_conversions.daily
). The dedicated sections have the advantage of providing only the parameters valid for the current report.
Graniitti API 0.37.0 (2018-01-15)
Frosmo Platform main release: Abyss Lake
Feature updates
- Added support for the advanced tracking feature. This feature extends the basic tracking functionality of the Frosmo Platform (clicks, displays, true displays) by allowing you to send additional tracking data from a site to the Frosmo back end. This feature is implemented as follows:
- Added the
/companies/<company_id>/settings/mod_advanced_tracking
endpoint for enabling and disabling advanced tracking for a site. - Added the
/sites/<site_id>/statistics/report/tracking_events_summary
endpoint for getting thetracking_events_summary
report for custom events. This report returns the total event counts and unique visitor counts for tracked custom events over the selected time period. - Added the
/sites/<site_id>/statistics/report/tracking_events_summary.daily
endpoint for getting thetracking_events_summary.daily
report for custom events. This report returns the daily event counts and unique visitor counts for tracked custom events over the selected time period. - Added the
tracking_events_summary.daily
report as a possible parameter value toGET /sites/<site_id>/statistics
. You can also get this report directly with the dedicated endpoint.
- Added the
- Removed the
/companies/<company_id>/settings/messages_before_context
endpoint, since this company setting is no longer needed. - Removed the
counterId
field for segment triggers from the site configuration part of the custom script (/sites/<site_id>/js/config
). This field was replaced by thecounterIds
field already in the Frosmo Tarzana release, and has since been supported only for backward compatibility. - Previously, for a modification using the multi-armed bandit, variation distributions were recalculated every time the modification was saved. This meant that the distributions were recalculated even when there was no change to the data (clicks, displays) used for the calculations. This has now been changed so that distributions are recalculated only when:
- Modification is activated
- Variation is activated
- Variation is deactivated
- Multi-armed bandit reward is changed
- Multi-armed bandit algorithm is changed
Improvements
- In the API reference, updated the method descriptions, request parameter descriptions, response descriptions, response status code reasons, and selected endpoint names for improved clarity and usability.
Bug fixes
- For the multi-armed bandit, fixed an error where the Thompson sampling algorithm did not work when there were more rewards (clicks) than trials (displays), which resulted in a negative beta distribution value. The minimum beta distribution value is now 1.
- For the multi-armed bandit, fixed an error where the UCB algorithms returned 100% distribution for multiple variations in the same calculation, because there were multiple winning variations with the same upper confidence bound. Only one variation can now get 100% distribution.
Graniitti API 0.36.0 (2017-11-20)
Frosmo Platform main release: Yucca Valley
Feature updates
- Improved pagination support:
- Added pagination based on the
page
andper_page
query parameters to all resources. You must always specify thepage
parameter if you want to paginate results. Paginated results are embedded inside a paginator object, which provides the necessary metadata about the pagination. For more information, see Managing results. - Updated the pagination for activities (
/sites/<site_id>/activities
) and products (/sites/<site_id>/products
) to use thepage
andper_page
query parameters. - Limited requests that do not use pagination to 10 000 results. If a request finds more than 10 000 results, the API returns an error. In this case, to get the results, use pagination.
- Added pagination based on the
- If you use an invalid date format in a
GET /sites/<site_id>/statistics
orGET /sites/<site_id>/statistics/export
request, the response now provides instructions for using the correct date format.
Bug fixes
- Template names must now be unique per site (
/sites/<site_id>/templates
). - The API now correctly distinguishes between a space and an underscore in template names (
/sites/<site_id>/templates
). For example, if you try to delete a template named "Product_Recommendation", the API now correctly targets that name rather than "Product Recommendation". - Previously, if a user had a site on the Error Tracking > Overview page in the Frosmo Control Panel, and if the user was then removed from the corresponding company through the User Management Tool, the user still saw the site on the Overview page. This has now been fixed, so that the user no longer sees the site.
- Previously, if a user was getting error notifications for a service, and if the user was then removed from the company to whose site the service belonged, the user still got error notifications for the service. This has now been fixed, so that the user no longer gets the error notifications.
Graniitti API 0.35.1 (2017-10-23)
Frosmo Platform main release: Xanadu
Feature updates
- The
message_conversions_products.daily
andmessage_conversions_relevant_products.daily
reports now also return theproduct_id_string
field (/sites/<site_id>/statistics
). The field provides an additional way of identifying a product to the standardproduct_id
field.
Graniitti API 0.35.0 (2017-09-25)
Frosmo Platform main release: Xanadu
Feature updates
- Added the
/sites/<site_id>/messages/<message_id>/products
endpoint for products relevant to a modification. You can get, attach, and remove relevant products for a modification. - Added the
/sites/<site_id>/messages/<message_id>/non-relevant-products
endpoint for getting the products that are not relevant to a modification. - Added pagination support for products (
/sites/<site_id>/products
). For more information, see Managing results.
Bug fixes
- Fixed an issue where a service alert (
/sites/<site_id>/service-alerts
) failed to update the corresponding service (/sites/<site_id>/services
) if the alert did not change the service status, description, or data. The API now correctly updates theupdated_at
field of a service even in cases where an alert changes nothing about the service. - Fixed an issue where temporarily disabling a service blocked service alerts to that service even after the disable period had expired. If you tried to POST a new alert after the disable period had expired, the API returned an error, meaning the service was still effectively disabled. This has now been fixed, and new alerts work normally after the disable period.
- For cached modifications using the multi-armed bandit, fixed an issue where recalculated variation distributions were not updated to the custom script.
- For cached modifications using the multi-armed bandit, if a variation is assigned a 0% distribution, the data for that variation is no longer included in the custom script. This helps reduce the file size of the custom script.
Graniitti API 0.34.0 (2017-08-28)
Frosmo Platform main release: Watts
Feature updates
- Updated the Laravel framework to version 5.4.
- Updated the error tracking feature:
- Added the
disabled_by
,disabled_due_to
, anddisabled_until
fields to services (/sites/<site_id>/services
). These fields allow you to temporarily disable all error notifications for a service for all users (meaning the service itself is disabled). - Limited the feature to Frosmo users. Only Frosmo users can now access the endpoints for this feature.
- Added the
Graniitti API 0.33.0 (2017-07-31)
Frosmo Platform main release: Venice
Feature updates
- Added support for the error tracking feature. This feature allows Frosmo developers and project managers to monitor their sites for errors and troubleshoot problems in the Frosmo Control Panel. This feature is implemented with the following new endpoints:
/sites/<site_id>/services
/sites/<site_id>/service-alerts
/users/<user_id>/service-settings/<service_id>
/users/<user_id>/monitoring-sites
- Added the
/users/<user_id>/site-settings/<site_id>
endpoint for getting and updating site settings specific to a Frosmo Control Panel user. Currently, this endpoint is only used for the error tracking feature to get and update monitored sites. - Added the
/sites/<site_id>/custom-files
endpoint for getting and adding custom script files. The files are stored in the Frosmo back end. This improves the Amazon export feature by replacing the Amazon CDN with the Frosmo back end as the intermediary script storage before the final export.
Bug fixes
- If no templates are exportable, the API now exports an empty object. Previously, the API exported an empty array.
- In Swagger, for the
/users/<user_id>/companies
endpoint, fixed the POST and PUT request data models from an array of strings to an array of integers (array of company IDs).
Graniitti API 0.32.0 (2017-06-05)
Frosmo Platform main release: Upland
Feature updates
- Added support for the Amazon export feature. This feature allows Graniitti to fully control custom script updates to the Amazon CDN.
- Added the
export
field to templates (/sites/<site_id>/templates
). This field allows you to define whether or not a template is exported to the Amazon CDN along with the custom script. Previously, if you wanted to export a template, you had to append its name with a space followed by "EXPORT".
Graniitti API 0.31.0 (2017-05-08)
Frosmo Platform main release: Tarzana
Feature updates
- Added the
alias
field to triggers (/sites/<site_id>/triggers
). This field allows you to define an alias for a trigger. - Added the
messages_summary
report to statistics (/sites/<site_id>/statistics
). This report provides summary statistics for modifications. - For trigger rules, added support for referencing nested JavaScript arrays and objects with dot notation (
/sites/<site_id>/triggers
). For example, you can now define a trigger rule that checks the value of a nested object's property using the syntaxobject.object.property
. - Improved performance when retrieving the
message_conversion_data_summary
andrevisions_summary
reports (/sites/<site_id>/statistics
).
Bug fixes
- Fixed a bug in segmentation rule validation where the API would return an error even though the segmentation rule was valid.
Graniitti API 0.30.0 (2017-04-10)
Frosmo Platform main release: Skid Row
Breaking changes
- In statistics, in the
segment_statistics.daily
report, renamed thedaily_paying_users
field topaying_users
(/sites/<site_id>/statistics
).
Feature updates
- Added support for new multi-armed bandit algorithms (
/sites/<site_id>/messages
). For more information about the new algorithms, see the Skid Row release notes and Multi-armed bandit optimization. - Added support for new trigger events (
/sites/<site_id>/triggers
). For more information about the new events, see the Skid Row release notes.
Bug fixes
- The API now trims leading and trailing spaces from all string fields in a request body. This affects all resources that support the POST, PUT, and/or PATCH methods, except modifications (
/sites/<site_id>/messages
). - Fixed activities filtering by activity type (
/sites/<site_id>/activities
). Previously, filtering activities by theitem_type
field did not work correctly. - Fixed statistics filtering by invalid field name (
/sites/<site_id>/statistics
). Previously, if you used an invalid field name in thefields
query parameter of a statistics request, the API returned the valid field names as thefields
object. Now, the API correctly returns the valid field names as thefields
array. - Fixed the
performance_summary
reports when there are no conversions (/sites/<site_id>/statistics
). Previously, if a site had no conversions during a given time period, requesting aperformance_summary
report for that period returned no data. Now, the API correctly returns segmentation-related data for the period.
Graniitti API 0.29.0 (2017-03-13)
Frosmo Platform main release: Rosemead
Feature updates
- Improved segmentation rule validation for segments (
/sites/<site_id>/segments
). When creating (POST) or updating (PUT) a segment, the API now applies a more strict validation on the rules defined for the segment (therules
object in the request body).
Graniitti API 0.28.0 (2017-02-13)
Frosmo Platform main release: Quartz Hill
Breaking changes
- Removed the
revision_counter
field from modifications (/sites/<site_id>/messages
). - Renamed the field names of the
message_conversion_data_summary
report to match the field names in other reports (/sites/<site_id>/statistics
).
Feature updates
- Added the
revisions_bandit
field to modifications (/sites/<site_id>/messages
). This field provides support for the multi-armed bandit feature. - Added four
revisions_summary
reports to statistics (/sites/<site_id>/statistics
). This report provides summary statistics for modification variations. - Conversion statistics for a modification are now listed by variation. Previously, conversions were listed for the modification as a whole with no separation by variation.
- Improved performance when retrieving modification content.
Graniitti API 0.27.0 (2017-01-16)
Frosmo Platform main release: Palmdale
Feature updates
- Added the
revisions_lock
field to modifications (/sites/<site_id>/messages
). This field provides support for unlocking the variations of a modification for visitors.
Graniitti API 0.26.0 (2016-12-19)
Frosmo Platform main release: Old Bank
Feature updates
- Added the target group resource (
/companies/<company_id>/target-groups
). You can get, create, update, and delete target groups. - Added the JavaScript export endpoint for updating the custom script for a site (
/sites/<site_id>/js/export
). - For the custom action resource, added support for POST, PUT, and DELETE methods (
/sites/<site_id>/custom-actions
). - Merged the custom action value resource to the custom action resource. The values are now represented as an array of objects (
values
) within the custom action object.
Bug fixes
- For
PUT /sites/<site_id>/messages/<message_id>
requests, the API now applies a more strict validation on thedisplay_options
object in the request body.