Repository navigation
Align the 2.17 and Preview audience and dynamic content endpoints with what the API does - #755
Conversation
…API does Corrects the role predicate examples and the predicate value type, documents the error responses as the API sends them, notes the PATCH route and HTML-escaped names, and adds the accepted OAuth scopes to each operation. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
cathalging
left a comment
There was a problem hiding this comment.
Approving: the 2.17 changes match how the API behaves. Preview (descriptions/0) still has the old Audiences and Dynamic Content text, though, including predicate.value as a string, the eq/user role example and the read-only scope lines. The next version cut would undo this fix, so a Preview change is needed as a follow-up. Once Preview is updated, Predicate.value stops being typed as a string in the Preview SDK, which is worth noting in the release notes.
Optional: per_page on list dynamic contents now has maximum: 50, which contradicts "values above 50 are reduced".
~ Automated via Claude (about: https://github.com/intercom/claude-plugins/blob/main/plugins/base/docs/external-message-attribution.md)
Ports the 2.17 changes to the same operations and schemas in the Preview spec, so Preview matches what the API does too. In the Preview SDK, `Predicate.value` becomes `unknown` because the API accepts and returns strings, numbers, booleans, arrays and null. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
cathalging
left a comment
There was a problem hiding this comment.
Re-approving: the Preview changes match 2.17 and how the API behaves. Still optional: per_page with maximum: 50 suggests larger values are rejected, but they're reduced to 50.
~ Automated via Claude (about: https://github.com/intercom/claude-plugins/blob/main/plugins/base/docs/external-message-attribution.md)
Why?
The 2.17 and Preview specs for the audience and dynamic content endpoints didn't match the API. The role predicate examples showed values the API never returns,
predicate.valuewas typed as a string, and several error responses were missing or worded differently from what the API sends. The Preview SDK is generated from the Preview spec, so its next regeneration changesPredicate.valuefrom a string tounknown, because the API accepts and returns strings, numbers, booleans, arrays and null.Predicatealso gains an optionalpredicateslist, and deleteAudience, createDynamicContent and updateDynamicContent gain a 400 error. The stable SDKs aren't generated from 2.17, so they are unaffected.How?
Applies the same edit to 2.17 and Preview. Corrects the audience and dynamic content endpoints and schemas to match the API's current behaviour, and adds the OAuth scopes each endpoint accepts to its description.
Generated with Claude Code