openapi: 3.0.1 info: title: App Store Connect AccessibilityDeclarations SubscriptionIntroductoryOffers API version: 4.3.1 x-platforms: app_store_connect_api: App Store Connect API description: The App Store Connect API is the standards-based REST API Apple provides to automate tasks across App Store Connect, Xcode, and Certificates, Identifiers & Profiles. It covers apps, builds, TestFlight, in-app purchases, subscriptions, Game Center, Xcode Cloud, provisioning, pricing and availability, and the full reporting surface (analytics, sales and trends, financial reports, power and performance). This spec is the official OpenAPI 3.0 document published by Apple at https://developer.apple.com/app-store-connect/api/ — mirrored here unmodified except for title-cased operation summaries. servers: - url: https://api.appstoreconnect.apple.com/ security: - itc-bearer-token: [] tags: - name: SubscriptionIntroductoryOffers paths: /v1/subscriptionIntroductoryOffers: post: tags: - SubscriptionIntroductoryOffers operationId: subscriptionIntroductoryOffers_createInstance requestBody: description: SubscriptionIntroductoryOffer representation content: application/json: schema: $ref: '#/components/schemas/SubscriptionIntroductoryOfferCreateRequest' required: true responses: '400': description: Parameter error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Unprocessable request entity error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '201': description: Single SubscriptionIntroductoryOffer content: application/json: schema: $ref: '#/components/schemas/SubscriptionIntroductoryOfferResponse' '409': description: Request entity error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Create Subscription Introductory Offers /v1/subscriptionIntroductoryOffers/{id}: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true patch: tags: - SubscriptionIntroductoryOffers operationId: subscriptionIntroductoryOffers_updateInstance requestBody: description: SubscriptionIntroductoryOffer representation content: application/json: schema: $ref: '#/components/schemas/SubscriptionIntroductoryOfferUpdateRequest' required: true responses: '400': description: Parameter error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Unprocessable request entity error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '200': description: Single SubscriptionIntroductoryOffer content: application/json: schema: $ref: '#/components/schemas/SubscriptionIntroductoryOfferResponse' '409': description: Request entity error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Update Subscription Introductory Offers delete: tags: - SubscriptionIntroductoryOffers operationId: subscriptionIntroductoryOffers_deleteInstance responses: '400': description: Parameter error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '401': description: Unauthorized error(s) content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Forbidden error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Not found error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '204': description: Success (no content) '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Delete Subscription Introductory Offers components: schemas: DocumentLinks: type: object properties: self: type: string format: uri-reference required: - self SubscriptionOfferDuration: type: string enum: - THREE_DAYS - ONE_WEEK - TWO_WEEKS - ONE_MONTH - TWO_MONTHS - THREE_MONTHS - SIX_MONTHS - ONE_YEAR SubscriptionOfferMode: type: string enum: - PAY_AS_YOU_GO - PAY_UP_FRONT - FREE_TRIAL SubscriptionIntroductoryOfferResponse: type: object title: SubscriptionIntroductoryOfferResponse properties: data: $ref: '#/components/schemas/SubscriptionIntroductoryOffer' included: type: array items: oneOf: - $ref: '#/components/schemas/SubscriptionPricePoint' - $ref: '#/components/schemas/Subscription' - $ref: '#/components/schemas/Territory' discriminator: propertyName: type mapping: subscriptions: '#/components/schemas/Subscription' territories: '#/components/schemas/Territory' subscriptionPricePoints: '#/components/schemas/SubscriptionPricePoint' links: $ref: '#/components/schemas/DocumentLinks' required: - data - links RelationshipLinks: type: object properties: self: type: string format: uri-reference related: type: string format: uri-reference ResourceLinks: type: object properties: self: type: string format: uri-reference SubscriptionIntroductoryOffer: type: object title: SubscriptionIntroductoryOffer properties: type: type: string enum: - subscriptionIntroductoryOffers id: type: string attributes: type: object properties: startDate: type: string format: date endDate: type: string format: date duration: $ref: '#/components/schemas/SubscriptionOfferDuration' offerMode: $ref: '#/components/schemas/SubscriptionOfferMode' numberOfPeriods: type: integer relationships: type: object properties: subscription: type: object properties: data: type: object properties: type: type: string enum: - subscriptions id: type: string required: - id - type territory: type: object properties: data: type: object properties: type: type: string enum: - territories id: type: string required: - id - type subscriptionPricePoint: type: object properties: data: type: object properties: type: type: string enum: - subscriptionPricePoints id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type Subscription: type: object title: Subscription properties: type: type: string enum: - subscriptions id: type: string attributes: type: object properties: name: type: string productId: type: string familySharable: type: boolean state: type: string enum: - MISSING_METADATA - READY_TO_SUBMIT - WAITING_FOR_REVIEW - IN_REVIEW - DEVELOPER_ACTION_NEEDED - PENDING_BINARY_APPROVAL - APPROVED - DEVELOPER_REMOVED_FROM_SALE - REMOVED_FROM_SALE - REJECTED subscriptionPeriod: type: string enum: - ONE_WEEK - ONE_MONTH - TWO_MONTHS - THREE_MONTHS - SIX_MONTHS - ONE_YEAR reviewNote: type: string groupLevel: type: integer relationships: type: object properties: subscriptionLocalizations: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - subscriptionLocalizations id: type: string required: - id - type appStoreReviewScreenshot: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' data: type: object properties: type: type: string enum: - subscriptionAppStoreReviewScreenshots id: type: string required: - id - type group: type: object properties: data: type: object properties: type: type: string enum: - subscriptionGroups id: type: string required: - id - type introductoryOffers: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - subscriptionIntroductoryOffers id: type: string required: - id - type promotionalOffers: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - subscriptionPromotionalOffers id: type: string required: - id - type offerCodes: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - subscriptionOfferCodes id: type: string required: - id - type prices: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - subscriptionPrices id: type: string required: - id - type pricePoints: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' promotedPurchase: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' data: type: object properties: type: type: string enum: - promotedPurchases id: type: string required: - id - type subscriptionAvailability: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' data: type: object properties: type: type: string enum: - subscriptionAvailabilities id: type: string required: - id - type winBackOffers: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - winBackOffers id: type: string required: - id - type images: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - subscriptionImages id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type PagingInformation: type: object properties: paging: type: object properties: total: type: integer limit: type: integer nextCursor: type: string required: - limit required: - paging ErrorLinks: type: object properties: about: type: string format: uri-reference associated: oneOf: - type: string format: uri-reference - type: object properties: href: type: string format: uri-reference meta: type: object properties: source: type: string ErrorSourceParameter: type: object title: Parameter properties: parameter: type: string required: - parameter ErrorResponse: type: object properties: errors: type: array items: type: object properties: id: type: string status: type: string code: type: string title: type: string detail: type: string source: oneOf: - $ref: '#/components/schemas/ErrorSourcePointer' - $ref: '#/components/schemas/ErrorSourceParameter' links: $ref: '#/components/schemas/ErrorLinks' meta: type: object additionalProperties: {} required: - code - detail - status - title ErrorSourcePointer: type: object title: JsonPointer properties: pointer: type: string required: - pointer Territory: type: object title: Territory properties: type: type: string enum: - territories id: type: string attributes: type: object properties: currency: type: string links: $ref: '#/components/schemas/ResourceLinks' required: - id - type SubscriptionPricePoint: type: object title: SubscriptionPricePoint properties: type: type: string enum: - subscriptionPricePoints id: type: string attributes: type: object properties: customerPrice: type: string proceeds: type: string proceedsYear2: type: string relationships: type: object properties: territory: type: object properties: data: type: object properties: type: type: string enum: - territories id: type: string required: - id - type equalizations: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' links: $ref: '#/components/schemas/ResourceLinks' required: - id - type SubscriptionPricePointInlineCreate: type: object properties: type: type: string enum: - subscriptionPricePoints id: type: string required: - type SubscriptionIntroductoryOfferUpdateRequest: type: object title: SubscriptionIntroductoryOfferUpdateRequest properties: data: type: object properties: type: type: string enum: - subscriptionIntroductoryOffers id: type: string attributes: type: object properties: endDate: type: string format: date nullable: true required: - id - type required: - data SubscriptionIntroductoryOfferCreateRequest: type: object title: SubscriptionIntroductoryOfferCreateRequest properties: data: type: object properties: type: type: string enum: - subscriptionIntroductoryOffers attributes: type: object properties: startDate: type: string format: date nullable: true endDate: type: string format: date nullable: true duration: $ref: '#/components/schemas/SubscriptionOfferDuration' offerMode: $ref: '#/components/schemas/SubscriptionOfferMode' numberOfPeriods: type: integer required: - duration - numberOfPeriods - offerMode relationships: type: object properties: subscription: type: object properties: data: type: object properties: type: type: string enum: - subscriptions id: type: string required: - id - type required: - data territory: type: object properties: data: type: object properties: type: type: string enum: - territories id: type: string required: - id - type subscriptionPricePoint: type: object properties: data: type: object properties: type: type: string enum: - subscriptionPricePoints id: type: string required: - id - type required: - subscription required: - relationships - attributes - type included: type: array items: $ref: '#/components/schemas/SubscriptionPricePointInlineCreate' required: - data securitySchemes: itc-bearer-token: type: http scheme: bearer bearerFormat: JWT