openapi: 3.0.1 info: title: App Store Connect AccessibilityDeclarations SubscriptionOfferCodeCustomCodes 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: SubscriptionOfferCodeCustomCodes paths: /v1/subscriptionOfferCodeCustomCodes: post: tags: - SubscriptionOfferCodeCustomCodes operationId: subscriptionOfferCodeCustomCodes_createInstance requestBody: description: SubscriptionOfferCodeCustomCode representation content: application/json: schema: $ref: '#/components/schemas/SubscriptionOfferCodeCustomCodeCreateRequest' 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 SubscriptionOfferCodeCustomCode content: application/json: schema: $ref: '#/components/schemas/SubscriptionOfferCodeCustomCodeResponse' '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 Offer Code Custom Codes /v1/subscriptionOfferCodeCustomCodes/{id}: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - SubscriptionOfferCodeCustomCodes operationId: subscriptionOfferCodeCustomCodes_getInstance parameters: - name: fields[subscriptionOfferCodeCustomCodes] in: query description: the fields to include for returned resources of type subscriptionOfferCodeCustomCodes schema: type: array items: type: string enum: - customCode - numberOfCodes - createdDate - expirationDate - active - offerCode style: form explode: false required: false - name: fields[subscriptionOfferCodes] in: query description: the fields to include for returned resources of type subscriptionOfferCodes schema: type: array items: type: string enum: - name - customerEligibilities - offerEligibility - duration - offerMode - numberOfPeriods - totalNumberOfCodes - productionCodeCount - sandboxCodeCount - active - autoRenewEnabled - subscription - oneTimeUseCodes - customCodes - prices style: form explode: false required: false - name: include in: query description: comma-separated list of relationships to include schema: type: array items: type: string enum: - offerCode style: form explode: false required: false 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' '200': description: Single SubscriptionOfferCodeCustomCode content: application/json: schema: $ref: '#/components/schemas/SubscriptionOfferCodeCustomCodeResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Get Subscription Offer Code Custom Codes patch: tags: - SubscriptionOfferCodeCustomCodes operationId: subscriptionOfferCodeCustomCodes_updateInstance requestBody: description: SubscriptionOfferCodeCustomCode representation content: application/json: schema: $ref: '#/components/schemas/SubscriptionOfferCodeCustomCodeUpdateRequest' 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 SubscriptionOfferCodeCustomCode content: application/json: schema: $ref: '#/components/schemas/SubscriptionOfferCodeCustomCodeResponse' '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 Offer Code Custom Codes components: schemas: DocumentLinks: type: object properties: self: type: string format: uri-reference required: - self RelationshipLinks: type: object properties: self: type: string format: uri-reference related: type: string format: uri-reference SubscriptionOfferMode: type: string enum: - PAY_AS_YOU_GO - PAY_UP_FRONT - FREE_TRIAL SubscriptionOfferCodeCustomCodeResponse: type: object title: SubscriptionOfferCodeCustomCodeResponse properties: data: $ref: '#/components/schemas/SubscriptionOfferCodeCustomCode' included: type: array items: $ref: '#/components/schemas/SubscriptionOfferCode' links: $ref: '#/components/schemas/DocumentLinks' required: - data - links SubscriptionOfferDuration: type: string enum: - THREE_DAYS - ONE_WEEK - TWO_WEEKS - ONE_MONTH - TWO_MONTHS - THREE_MONTHS - SIX_MONTHS - ONE_YEAR ResourceLinks: type: object properties: self: type: string format: uri-reference ErrorSourceParameter: type: object title: Parameter properties: parameter: type: string required: - parameter 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 SubscriptionOfferEligibility: type: string enum: - STACK_WITH_INTRO_OFFERS - REPLACE_INTRO_OFFERS SubscriptionOfferCodeCustomCode: type: object title: SubscriptionOfferCodeCustomCode properties: type: type: string enum: - subscriptionOfferCodeCustomCodes id: type: string attributes: type: object properties: customCode: type: string numberOfCodes: type: integer createdDate: type: string format: date-time expirationDate: type: string format: date active: type: boolean relationships: type: object properties: offerCode: type: object properties: data: type: object properties: type: type: string enum: - subscriptionOfferCodes id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type 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 SubscriptionCustomerEligibility: type: string enum: - NEW - EXISTING - EXPIRED SubscriptionOfferCodeCustomCodeCreateRequest: type: object title: SubscriptionOfferCodeCustomCodeCreateRequest properties: data: type: object properties: type: type: string enum: - subscriptionOfferCodeCustomCodes attributes: type: object properties: customCode: type: string numberOfCodes: type: integer expirationDate: type: string format: date nullable: true required: - numberOfCodes - customCode relationships: type: object properties: offerCode: type: object properties: data: type: object properties: type: type: string enum: - subscriptionOfferCodes id: type: string required: - id - type required: - data required: - offerCode required: - relationships - attributes - type required: - data SubscriptionOfferCode: type: object title: SubscriptionOfferCode properties: type: type: string enum: - subscriptionOfferCodes id: type: string attributes: type: object properties: name: type: string customerEligibilities: type: array items: $ref: '#/components/schemas/SubscriptionCustomerEligibility' offerEligibility: $ref: '#/components/schemas/SubscriptionOfferEligibility' duration: $ref: '#/components/schemas/SubscriptionOfferDuration' offerMode: $ref: '#/components/schemas/SubscriptionOfferMode' numberOfPeriods: type: integer totalNumberOfCodes: type: integer productionCodeCount: type: integer sandboxCodeCount: type: integer active: type: boolean autoRenewEnabled: type: boolean relationships: type: object properties: subscription: type: object properties: data: type: object properties: type: type: string enum: - subscriptions id: type: string required: - id - type oneTimeUseCodes: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - subscriptionOfferCodeOneTimeUseCodes id: type: string required: - id - type customCodes: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - subscriptionOfferCodeCustomCodes 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: - subscriptionOfferCodePrices 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 SubscriptionOfferCodeCustomCodeUpdateRequest: type: object title: SubscriptionOfferCodeCustomCodeUpdateRequest properties: data: type: object properties: type: type: string enum: - subscriptionOfferCodeCustomCodes id: type: string attributes: type: object properties: active: type: boolean nullable: true required: - id - type required: - data securitySchemes: itc-bearer-token: type: http scheme: bearer bearerFormat: JWT