In the documentation, there is a limit of 20,480 on this resource: api/v2/conversation/participants/attributes/search
But it doesn't say anything about what limit. Is this a limit on the # of bytes in the result set when this endpoint is queried or a limit on the size of the query itself or a limit on the data stored in the object(s) that are being queried? A prospective customer is trying if there large amounts of IVR data that will probably get stored in participant attributes will creating reporting/analytics problems based on seeing this limit so I'm looking for clarification. Thank you.
It will store partial data, but not partial attributes. When ingesting updates to the attributes, it will add them to the index as long as the indexed data remains under 20KB. If adding an attribute would exceed the limit, it's ignored. The size calculation considers the full size when stored on disk, which is approximately the data represented as key-value pairs in a JSON object then serialized.
The data is stored on a first-come first-serve basis as updates happen, so knowingly exceeding the size limit can cause consistency issues since a collection of conversations with the same attributes may have different attributes written to the search index.
If you expect to be storing data in excess of 20KB, an external indexing solution will be necessary if you require guaranteed data integrity. As stated in the other thread, I understand that's not desirable but the limit is the limit and you have to either work within it or work around it using an external tool. Suggestions to change the limit have to go to the ideas site and complaints about it to your TAM.
That's super helpful, Tim. Thank you! knowing the limits will help us advise our prospective customer on the best way to utilize attributes within the constraints laid out here.
Regarding the PD data which exceeded 20kb. Our PS team told they are cleaning up the data and optimizing the IVR Flows to not exceed 20kb. But don't know what exactly they are doing