apple_create_subscription_group
Create a subscription group in App Store Connect by providing the app ID and a reference name to organize subscription offerings.
Instructions
Create a subscription group
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| appId | Yes | App ID | |
| referenceName | Yes | Reference name |
Implementation Reference
- src/apple/tools.ts:1173-1195 (handler)The handler function for the tool. Sends a POST request to /subscriptionGroups with the subscription group name and app relationship.
const createSubscriptionGroup: ToolDef = { name: 'apple_create_subscription_group', description: 'Create a subscription group', schema: z.object({ appId: z.string().describe('App ID'), referenceName: z.string().describe('Reference name'), }), handler: async (client, args) => { const { appId, ...attributes } = args; return client.request('/subscriptionGroups', { method: 'POST', body: { data: { type: 'subscriptionGroups', attributes, relationships: { app: { data: { type: 'apps', id: appId } }, }, }, }, }); }, }; - src/apple/tools.ts:1176-1179 (schema)Zod schema defining the two required inputs: appId and referenceName, both strings.
schema: z.object({ appId: z.string().describe('App ID'), referenceName: z.string().describe('Reference name'), }), - src/apple/tools.ts:1213-1252 (registration)The tool is exported as part of the appleTools array (line 1251), which is registered in src/index.ts via the server.tool() loop (lines 59-74).
export const appleTools: ToolDef[] = [ // App Management listApps, getApp, getAppInfo, updateAppInfoCategory, // Bundle IDs listBundleIds, createBundleId, // Versions & Localizations listVersions, createVersion, listVersionLocalizations, createVersionLocalization, updateVersionLocalization, // App Info Localizations (name, subtitle) listAppInfoLocalizations, updateAppInfoLocalization, // Screenshots listScreenshotSets, createScreenshotSet, uploadScreenshot, deleteScreenshot, // Builds listBuilds, assignBuild, // Age Rating & Review Info getAgeRating, updateAgeRating, updateReviewDetail, // Submission submitForReview, cancelSubmission, // Pricing & Availability getAppPricing, setAppPrice, listTerritoryAvailability, // Customer Reviews listCustomerReviews, respondToReview, // Bundle ID Capabilities listBundleIdCapabilities, enableCapability, disableCapability, // Certificates listCertificates, createCertificate, revokeCertificate, // Provisioning Profiles listProfiles, createProfile, deleteProfile, // Devices listDevices, registerDevice, updateDevice, // TestFlight - Beta Groups listBetaGroups, createBetaGroup, deleteBetaGroup, addBetaTestersToGroup, removeBetaTestersFromGroup, // TestFlight - Beta Testers listBetaTesters, inviteBetaTester, deleteBetaTester, // In-App Purchases listIAP, createIAP, getIAP, deleteIAP, // Subscription Groups listSubscriptionGroups, createSubscriptionGroup, deleteSubscriptionGroup, ]; - src/apple/tools.ts:5-10 (helper)The ToolDef interface that defines the shape of each tool (name, description, schema, handler).
interface ToolDef { name: string; description: string; schema: z.ZodObject<any>; handler: (client: AppleClient, args: any) => Promise<any>; }