Conversation
Reflects intercom/intercom#491162 which deprecates these fields from article API responses. The denormalized parent_id/parent_type fields are frequently out of sync; consumers should use parent_ids instead. Changes: - Remove parent_id and parent_type from article_list_item schema - Remove parent_id and parent_type from all article response examples (list, create, retrieve, update, search) - Request schemas unchanged (still accept parent_id/parent_type as input) - Stable versions (2.7-2.15) unchanged - Collection parent_id fields unchanged (different resource)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why?
The
parent_idandparent_typefields on article responses are derived from a denormalized column that is frequently out of sync (~835K affected articles). Theparent_idsfield (introduced in v2.10) already returns correct data and supersedes them. The OpenAPI Preview spec must reflect their removal.How?
Remove
parent_idandparent_typefrom thearticle_list_itemresponse schema and from all five inline article response examples indescriptions/0/api.intercom.io.yaml. Stable version specs (2.7–2.15) are left unchanged.Decisions
define_is_ready_for_release false(Unstable), so only the Preview spec is updated; stable specs retain the fields for backwards compatibility.parent_id/parent_typeare kept in request schemas (create_article_request,update_article_request) and request examples because the monolith PR only changes the response presenter, not input handling.parent_id/parent_typeoncollectionschemas and collection endpoint examples represent a separate hierarchy concept and are not affected by this change.Review Guidance
█░░░░░░░░░ 1.2Why
Single-file YAML edit with surgical line removals; no cross-cutting concerns.███░░░░░░░ 3.1Why
The Order description describes adding a locale parameter, which is the opposite of what the diff does — removal of two fields — though the plan and PR description both correct this explicitly.█░░░░░░░░░ 1.8Why
Preview spec only; stable specs untouched, and request schemas are correctly left alone — low risk for existing consumers.Attention: Normal review — The diff itself is clean and straightforward.
🧪 This AI-generated review guidance is experimental. Share feedback
Implementation Plan
Worker Implementation Plan
Plan: Deprecate parent_id and parent_type from Article API Responses (Preview Spec)
Context
PR intercom/intercom#491162 removes
parent_idandparent_typefrom article response payloads. These fields are derived from a denormalizedarticle_group_idcolumn that is frequently out of sync (835K affected articles). Theparent_idsfield (added in v2.10) already returns correct data by reading from GroupMembership directly.The change is registered in the Unstable version with
define_is_ready_for_release false. For this OpenAPI spec update, we apply the change to the Preview spec (descriptions/0/api.intercom.io.yaml) only. Stable versions (2.7–2.15) remain unchanged.Note: The order description incorrectly states this is about a
localeparameter. The actual PR deprecatesparent_id/parent_typefrom article responses.Target File
descriptions/0/api.intercom.io.yaml— the Preview spec (~28K lines)Changes
1. Remove
parent_idandparent_typefromarticle_list_itemschema (response schema)File:
descriptions/0/api.intercom.io.yamlLines: 19027–19046
Remove these two property blocks from the
article_list_itemschema:Keep
parent_ids(line 19033) — this is the correct replacement field.2. Remove
parent_idandparent_typefrom inline response examplesThese are in article endpoint response examples. Remove the
parent_idandparent_typelines from each:successfulparent_id: 143, 1226:parent_type: collectionarticle createdparent_id: 145, 1281:parent_type: collectionArticle foundparent_id: 148, 1395:parent_type: collectionsuccessfulparent_id: 151, 1480:parent_type: collectionSearch successfulparent_id:, 1664:parent_type:3. DO NOT change request schemas or request examples
The PR only modifies the response presenter. These stay unchanged:
create_article_requestschema (line 21843–21851) — still acceptsparent_id/parent_typeas inputupdate_article_requestschema (line 27659–27667) — sameparent_id: 145,parent_type: collection4. DO NOT change collection-related
parent_idfieldsThese are unrelated to articles and must stay:
collectionschema (line 19664) — collection hierarchyupdate_collection_requestschema (line 27719) — collection hierarchyImplementation Steps
descriptions/0/api.intercom.io.yaml:parent_id+parent_typefromarticle_list_itemschema properties (lines ~19027–19046)parent_id+parent_typefrom each of the 5 response examples listed abovepython3 -c "import yaml; yaml.safe_load(open('descriptions/0/api.intercom.io.yaml'))" && echo "YAML valid"fern checkif available (install withnpm install -g fern-apiif needed; useexport PATH="$HOME/.nvm/versions/node/v24.10.0/bin:$PATH"first)Verification
fern checkpasses (or manual validation)parent_idorparent_typeremain in article response schemas/examples:article_list_itemschema to confirmparent_idsis still present and the surrounding properties are intactNon-changes (explicit)
descriptions/2.7/throughdescriptions/2.15/) — untouched, these versions still includeparent_id/parent_typeparent_id/parent_typeas input (PR only changes responses)Parthas Order (task/issue)
Generate OpenAPI spec changes for locale parameter on article creation
Problem
PR intercom/intercom#491162 adds the
localeparameter to the article creation API in the intercom monolith, but the public OpenAPI spec in this repo does not reflect it yet. API consumers have no documented way to specify the locale when creating articles.Why This Matters
Customers with multi-Help-Center workspaces need to control the locale of articles created via the API. The parameter will exist in production once the monolith PR merges, but will be invisible in documentation and SDKs until the spec is updated here.
Goal
The OpenAPI spec should reflect the
localeparameter changes from intercom/intercom#491162, covering the correct API versions with proper schema definitions and inline examples.Context
generate-openapi-from-prskill — use/generate-openapi-from-pr https://github.com/intercom/intercom/pull/491162to analyze the PR and generate the spec changesAcceptance Criteria
localefield on the create article request for the correct API version(s)fern checkpasses (or YAML validation if fern unavailable)Non-Goals
Generated with Claude Code, zen coded with Parthas