You Asked for It: PAPI Enhancements

March 10, 2017 by Jay Sikkeland

Greetings Property Manager API (PAPI) developers. We've listened to your feedback and made some important enhancements to PAPI. Briefly:


  • You should upgrade to the new rule format "v2016-11-15"
  • You have four more built-in variables to use
  • We're making significant performance enhancements to PAPI



Update to New Rule Format "v2016-11-15"


In order to keep your code from breaking when Akamai makes changes to the Property Manager features, we introduced the concept of rule formats. This allows you to freeze the Akamai feature set to a specific point in time.

Rule format "v2016-11-15" is now available and since the previous one "v2015-08-17" was pretty old, we recommend you upgrade your code to get the latest features and bug fixes. Changing to the new rule format may trigger new validation warnings/errors, so please allow time for some regression testing and code refactoring.

See rule format documentation for more details.


Future Rule Formats


Our plan is to release a new rule format every 6 months, at the end of February and at the end of August. This strikes a reasonable balance between having access to the latest features and bug fixes, while not having to change your code too often.

We will officially support four rule formats and deprecate any older ones. What this means is we will never delete any older rule formats, so your code won't break, but we will stop running regression tests on the older rule formats. Configs using deprecated rule formats will receive a validation warning asking you to upgrade to a newer rule format.


Additional Built-in Variables


Property Manager variables allows you to implement complex use cases, some of which I covered in my previous blog. We had some great feedback, and based on popular demand, we just added four more built-in variables:


  • AK_CURRENT_TIME - The epoch time when edge metadata is applied to the request.
  • AK_GHOST_SERVICE_IP - The edge server IP address used to forward a request, also commonly known as the machine IP. This is the IP address the origin server sees as the client IP when it receives a request from the edge.
  • AK_REQUEST_ID - This is the unique identifier for each request on the edge server, the same as reported in logs.
  • AK_CPCODE - The CP code associated with the request.


These and all the other built-in variables are covered in the PAPI documentation. If you've got suggestions for more, add a comment to this blog post, post a question on the Developer Community, or send an email to your account team and we'll consider your requests for future releases.


Upcoming Performance Enhancements


We are fully aware that PAPI can be rather slow, especially for larger configs.

To make things better, we are rolling out some performance improvements that should significantly improve the response times for retrieving the property details (rule tree), as well as uploading a new rule tree.

We expect to see at least a 2X improvement, but larger configs should see even more. The roll-out will take place over the next few weeks, starting this week.

Even more significant performance improvements are coming in the next few months, so stay tuned.