Conversation
Add parent_ids (array of integers) to create_article_request and update_article_request schemas, and include parent_ids in the POST and PUT /articles request examples. This complements PR #448 which added parent_ids to response schemas, and reflects the write-side changes from intercom/intercom#499615 (gated on RemoveArticleParentIdAndParentType versioned change). Existing parent_id/parent_type fields are retained — they still function as inputs when parent_ids is not provided.
bhavishnadar
approved these changes
Apr 24, 2026
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?
intercom#499615 made
parent_idsa writable field on the Articles API (Unstable), but the Preview OpenAPI spec only reflected the response side (via #448). Without documentingparent_idson create/update requests, customers saw the field in responses with no documented way to write it.How?
Add
parent_ids(array of integers) tocreate_article_requestandupdate_article_requestin the Preview spec, mirroring the existing response schema shape, and extend the POST/PUT/articlesrequest examples to demonstrate its usage.Decisions
parent_id/parent_typein request schemas since they still function as inputs whenparent_idsis omittedparent_idsshape and example values already used in thearticle_list_itemresponse schema for consistencyarticle_not_founderror example untouchedReview Guidance
░░░░░░░░░░ 0.8Why
Single-file YAML additions in four well-scoped locations with no cross-cutting impact.░░░░░░░░░░ 0.6Why
Diff aligns precisely with the PR description and implementation plan — no surprises.░░░░░░░░░░ 0.9Why
Docs-only change to Preview spec; no auth, billing, data, or runtime behavior touched.Attention: Routine review — Pure OpenAPI Preview-spec documentation addition that mirrors an existing response schema; diff matches plan exactly.
🧪 This AI-generated review guidance is experimental. Share feedback
Implementation Plan
Worker Implementation Plan
Plan: Add
parent_idsto Article Request Schemas in Preview SpecContext
PR intercom/intercom#499615 adds
parent_idsas a writable field on the Articles API (Unstable version). PR #448 already addedparent_idsto response schemas/examples in the Preview spec. This order completes the picture by addingparent_idsto the request schemas and examples, so customers can see how to write the field.Only the Preview spec (
descriptions/0/api.intercom.io.yaml) is affected — the change is gated on theRemoveArticleParentIdAndParentTypeversioned change (Unstable).File to Modify
descriptions/0/api.intercom.io.yaml— the single file for all changes.No other files should be touched. Stable specs (
descriptions/2.7/throughdescriptions/2.15/) must not be changed.Reference: Existing
parent_idsin Response SchemaThe response schema
article_list_item(line ~19280) already definesparent_ids:The request schema definitions should be consistent with this pattern.
Changes
1. Add
parent_idstocreate_article_requestschema (line ~22110)Location: After
parent_type(line 22110), beforetranslated_content(line 22111).Insert:
Exact edit: Replace
parent_typeblock ending +translated_contentstart:translated_content:at line 22111parent_idsblock followed bytranslated_content:Keep
parent_idandparent_type— they still work as inputs.2. Add
parent_idstoupdate_article_requestschema (line ~28254)Location: After
parent_type(line 28254), beforetranslated_content(line 28255).Insert the same
parent_idsblock:Exact edit: Replace
parent_typeblock ending +translated_contentstart:translated_content:at line 28255parent_idsblock followed bytranslated_content:3. Update POST
/articlesrequest example (line ~1357)Location: Lines 1357-1358 in the
article_createdexample.The current example uses
parent_idandparent_type. Addparent_idsalongside them (both old and new fields are valid inputs).After
parent_type: collection(line 1358), insert:This shows the array equivalent of the
parent_id: 145already in the example.4. Update PUT
/articles/{id}request example (line ~1547)Location: Lines 1543-1547 in the
successfulexample.The current example is minimal (title + body only). Add
parent_idsto demonstrate usage:After
body: "<p>New gifts in store for the jolly season</p>"(line 1547), insert:Only update the
successfulexample, not thearticle_not_foundexample (which is an error case).Verification
python3 -c "import yaml; yaml.safe_load(open('descriptions/0/api.intercom.io.yaml'))"to validate YAML syntaxexport PATH="$HOME/.nvm/versions/node/v24.10.0/bin:$PATH" && npx fern-api check(if fern is available) to validate the specgit diff --name-onlyand confirm onlydescriptions/0/api.intercom.io.yamlappearsCommit
Single commit:
Add parent_ids to article request schemas in Preview specMessage should reference the source PR (intercom#499615) and companion PR (#448).
Parthas Order (task/issue)
Add parent_ids to article request schemas in Preview spec (reflecting intercom#499615)
Problem
PR intercom/intercom#499615 makes
parent_idsa writable field on the Articles API for the Unstable version — customers can now sendparent_idson create and update to place articles in collections. The OpenAPI Preview spec does not reflect this yet, so the new write path is invisible in documentation and SDKs.Why This Matters
PR #448 already removed
parent_id/parent_typefrom article responses in the Preview spec. Without addingparent_idsto the request schemas, customers see the field in responses but have no documented way to write it — the deprecation looks like a pure removal with no replacement.Goal
The Preview OpenAPI spec should document
parent_idsas an accepted field on article create and update requests, matching the write behavior added in intercom#499615.Context
RemoveArticleParentIdAndParentTypeversioned change (Unstable), so only the Preview spec (descriptions/0/api.intercom.io.yaml) should be updatedparent_idsalready exists in the response schemaarticle_list_item(line ~19280) as an array of integers — the request schema definition should be consistent with itparent_id/parent_typefields should remain in request schemas — they still work as inputs even on the Unstable version (whenparent_idsis not provided)generate-openapi-from-prskill — use/generate-openapi-from-pr https://github.com/intercom/intercom/pull/499615to analyze the PR and generate the spec changesConstraints
parent_id/parent_typefrom request schemas — they still function as inputsAcceptance Criteria
create_article_requestschema includes aparent_idsproperty (array of integers) with description and exampleupdate_article_requestschema includes aparent_idsproperty (array of integers) with description and example/articlesincludeparent_idsusagefern checkpasses (or YAML validation if fern unavailable)Generated with Claude Code, zen coded with Parthas