From bf2bea37b60edfd095ee7463c687cc70c78cf45e Mon Sep 17 00:00:00 2001 From: Brandon Estrella Date: Wed, 9 Sep 2026 16:38:52 -0700 Subject: [PATCH] fix(links): send the store-URL field names the API accepts (SIT-423) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit create_link and update_link declared iosUrl and androidUrl and forwarded args verbatim. The Cloud API accepts iosAppStoreUrl and androidAppStoreUrl, and its schema strips unknown keys rather than rejecting them — so every call carrying store URLs returned success and created a link with none. bulk_create_links reuses linkInputSchema, so it was affected too and is fixed by the same change. The rest of the tool surface was diffed against createLinkSchema: nothing else MCP sends is discarded. Templates already nest their defaults under settings and the UTM schemas already use bare keys, both correctly. --- src/tools/links.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/tools/links.ts b/src/tools/links.ts index cdd0ee0..0dc6d2d 100644 --- a/src/tools/links.ts +++ b/src/tools/links.ts @@ -25,8 +25,8 @@ const targetingSchema = z const linkInputSchema = z.object({ title: z.string().optional(), description: z.string().optional(), - iosUrl: z.string().url().optional(), - androidUrl: z.string().url().optional(), + iosAppStoreUrl: z.string().url().optional(), + androidAppStoreUrl: z.string().url().optional(), webFallbackUrl: z.string().url().optional(), customSchemeUrl: z.string().optional(), customCode: z.string().optional(), @@ -100,8 +100,8 @@ export const updateLinkTool = defineTool({ id: z.string().uuid().describe('Link UUID to update'), title: z.string().optional(), description: z.string().optional(), - iosUrl: z.string().url().optional(), - androidUrl: z.string().url().optional(), + iosAppStoreUrl: z.string().url().optional(), + androidAppStoreUrl: z.string().url().optional(), webFallbackUrl: z.string().url().optional(), customSchemeUrl: z.string().optional(), projectId: z.string().uuid().optional(),