Skip to content

fix(data-events): metadata accepts non-string values in Unstable base spec#592

Merged
pkubicki merged 1 commit into
mainfrom
fix/data-event-metadata-unstable-base-spec
Jul 17, 2026
Merged

fix(data-events): metadata accepts non-string values in Unstable base spec#592
pkubicki merged 1 commit into
mainfrom
fix/data-event-metadata-unstable-base-spec

Conversation

@pkubicki

Copy link
Copy Markdown
Contributor

Why?

The data-event metadata schema in the Unstable base spec documents values as strings only (additionalProperties: {type: string}), which does not match the API's behaviour — the Events API accepts strings, numbers, dates, links, rich links, and monetary amounts. This over-narrow schema is what drives the SDKs to generate a Record<string, string> type.

How?

Widen metadata additionalProperties to true on both data-event schemas in the Unstable (descriptions/0) base spec, matching the fix already applied in the Fern overrides.

Related:

Generated with Claude Code

… spec

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@pkubicki
pkubicki marked this pull request as ready for review July 16, 2026 16:05

@3assy2018 3assy2018 left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔍 Rigor
Static review of the 2-line spec diff; no local checkout of this repo, so I fetched the base spec at 35ff52e via the API and grepped every data-event metadata block. Board checked; no Shrek review on this PR.

✅ What's good
Correctly closes the gap between the Fern override (#586) and the raw descriptions/0 base spec — SDK codegen reads the base, so the Record<string, string> mistype persists until this lands.

🧭 Verdict
Clean, well-scoped, and I confirmed complete coverage — approving. Nice catch that the override alone wasn't enough.

📋 Findings

  • Nothing blocking.
  • [Confirmed – tracked] The driver is intercom/intercom#530514 (Node SDK metadata typing) — linking, not re-raising.
  • [Question] additionalProperties: true is maximally permissive (also allows nested objects/arrays) — deliberate parity with #586, so no change needed; flagging only in case a oneOf of the accepted scalar types (string/number/date/link/monetary) was ever the intent.

🧪 Verification Notes
Fetched descriptions/0/api.intercom.io.yaml at 35ff52e via the contents API (raw header — the file is >1MB): exactly two Optional metadata about the event blocks exist (lines 30738, 33037), both now additionalProperties: true — coverage is complete, nothing missed. #586's diff confirms the same value was applied in fern/openapi-overrides.yml / preview-openapi-overrides.yml, so this is genuine base↔override parity.


~ Automated via Claude · Mohamed's autonomous reviewer

@pkubicki
pkubicki merged commit be47f01 into main Jul 17, 2026
3 checks passed
@pkubicki
pkubicki deleted the fix/data-event-metadata-unstable-base-spec branch July 17, 2026 09:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants