Why is there a limit of 18 for custom attributes in CPS enabled orgs

Custom attributes capture interesting information about developers, apps, companies etc., and sometimes serve as single source of truth. With CPS enabled orgs this is limited to 18 entries.

18 is probably an arbitrary number but what are the guidelines to qualify a piece data as suitable or unsuitable to be tracked using custom attributes. Especially how to identify red flags in custom attributes.

Solved Solved
0 2 763
1 ACCEPTED SOLUTION

I don't know why there is a limit; there just is.

If there is a need to exceed that limit, a handy trick is to serialize a set of attributes as a consolidated string. Your serialization format can be whatever you like. JSON, or a comma-separated series of name=value pairs, or whatever you like. That would allow you to store multiple pieces of information in a single "attribute".

As far as How to qualify a data item as suitable.... I suppose you need to consider how often or how frequently the apiproxy runtime will use that data item when handling requests made by an app for that {developer, app, product}. If it is "rare", then possibly you could store the data item externally, and perform a lookup when you need it. If it is "always" then it is more convenient to have the data item as a custom attribute.

As always, it's a judgement call. You'll have to see what seems most effective in your scenario.

View solution in original post

2 REPLIES 2

I don't know why there is a limit; there just is.

If there is a need to exceed that limit, a handy trick is to serialize a set of attributes as a consolidated string. Your serialization format can be whatever you like. JSON, or a comma-separated series of name=value pairs, or whatever you like. That would allow you to store multiple pieces of information in a single "attribute".

As far as How to qualify a data item as suitable.... I suppose you need to consider how often or how frequently the apiproxy runtime will use that data item when handling requests made by an app for that {developer, app, product}. If it is "rare", then possibly you could store the data item externally, and perform a lookup when you need it. If it is "always" then it is more convenient to have the data item as a custom attribute.

As always, it's a judgement call. You'll have to see what seems most effective in your scenario.

Thanks for the guideline. This makes sense.