openapi: 3.0.1 info: title: App Store Connect AccessibilityDeclarations AppAvailabilities 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: AppAvailabilities paths: /v2/appAvailabilities: post: tags: - AppAvailabilities operationId: appAvailabilitiesV2_createInstance requestBody: description: AppAvailability representation content: application/json: schema: $ref: '#/components/schemas/AppAvailabilityV2CreateRequest' 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 AppAvailability content: application/json: schema: $ref: '#/components/schemas/AppAvailabilityV2Response' '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 App Availabilities V2 /v2/appAvailabilities/{id}: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppAvailabilities operationId: appAvailabilitiesV2_getInstance parameters: - name: fields[appAvailabilities] in: query description: the fields to include for returned resources of type appAvailabilities schema: type: array items: type: string enum: - availableInNewTerritories - territoryAvailabilities style: form explode: false required: false - name: fields[territoryAvailabilities] in: query description: the fields to include for returned resources of type territoryAvailabilities schema: type: array items: type: string enum: - available - releaseDate - preOrderEnabled - preOrderPublishDate - contentStatuses - territory 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: - territoryAvailabilities style: form explode: false required: false - name: limit[territoryAvailabilities] in: query description: maximum number of related territoryAvailabilities returned (when they are included) schema: type: integer maximum: 50 style: form 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 AppAvailability content: application/json: schema: $ref: '#/components/schemas/AppAvailabilityV2Response' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Get App Availabilities V2 /v2/appAvailabilities/{id}/relationships/territoryAvailabilities: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppAvailabilities operationId: appAvailabilitiesV2_territoryAvailabilities_getToManyRelationship parameters: - name: limit in: query description: maximum resources per page schema: type: integer maximum: 200 style: form 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: List of related linkages content: application/json: schema: $ref: '#/components/schemas/AppAvailabilityV2TerritoryAvailabilitiesLinkagesResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: List Related App Availabilities V2 / Territory Availabilities /v2/appAvailabilities/{id}/territoryAvailabilities: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppAvailabilities operationId: appAvailabilitiesV2_territoryAvailabilities_getToManyRelated parameters: - name: fields[territoryAvailabilities] in: query description: the fields to include for returned resources of type territoryAvailabilities schema: type: array items: type: string enum: - available - releaseDate - preOrderEnabled - preOrderPublishDate - contentStatuses - territory style: form explode: false - name: fields[territories] in: query description: the fields to include for returned resources of type territories schema: type: array items: type: string enum: - currency style: form explode: false - name: limit in: query description: maximum resources per page schema: type: integer maximum: 200 style: form - name: include in: query description: comma-separated list of relationships to include schema: type: array items: type: string enum: - territory style: form explode: 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: List of TerritoryAvailabilities content: application/json: schema: $ref: '#/components/schemas/TerritoryAvailabilitiesResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: List Related App Availabilities V2 / Territory Availabilities 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 PagedDocumentLinks: type: object properties: self: type: string format: uri-reference first: type: string format: uri-reference next: type: string format: uri-reference required: - self ResourceLinks: type: object properties: self: type: string format: uri-reference AppAvailabilityV2CreateRequest: type: object title: AppAvailabilityV2CreateRequest properties: data: type: object properties: type: type: string enum: - appAvailabilities attributes: type: object properties: availableInNewTerritories: type: boolean required: - availableInNewTerritories relationships: type: object properties: app: type: object properties: data: type: object properties: type: type: string enum: - apps id: type: string required: - id - type required: - data territoryAvailabilities: type: object properties: data: type: array items: type: object properties: type: type: string enum: - territoryAvailabilities id: type: string required: - id - type required: - data required: - app - territoryAvailabilities required: - relationships - attributes - type included: type: array items: $ref: '#/components/schemas/TerritoryAvailabilityInlineCreate' required: - data 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 AppAvailabilityV2TerritoryAvailabilitiesLinkagesResponse: type: object properties: data: type: array items: type: object properties: type: type: string enum: - territoryAvailabilities id: type: string required: - id - type links: $ref: '#/components/schemas/PagedDocumentLinks' meta: $ref: '#/components/schemas/PagingInformation' required: - data - links TerritoryAvailabilitiesResponse: type: object title: TerritoryAvailabilitiesResponse properties: data: type: array items: $ref: '#/components/schemas/TerritoryAvailability' included: type: array items: $ref: '#/components/schemas/Territory' links: $ref: '#/components/schemas/PagedDocumentLinks' meta: $ref: '#/components/schemas/PagingInformation' required: - data - links TerritoryAvailabilityInlineCreate: type: object properties: type: type: string enum: - territoryAvailabilities id: type: string attributes: type: object properties: available: type: boolean nullable: true releaseDate: type: string format: date nullable: true preOrderEnabled: type: boolean nullable: true relationships: type: object properties: territory: type: object properties: data: type: object properties: type: type: string enum: - territories id: type: string required: - id - type required: - 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 AppAvailabilityV2: type: object title: AppAvailabilityV2 properties: type: type: string enum: - appAvailabilities id: type: string attributes: type: object properties: availableInNewTerritories: type: boolean relationships: type: object properties: territoryAvailabilities: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - territoryAvailabilities id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type ErrorSourcePointer: type: object title: JsonPointer properties: pointer: type: string required: - pointer AppAvailabilityV2Response: type: object title: AppAvailabilityV2Response properties: data: $ref: '#/components/schemas/AppAvailabilityV2' included: type: array items: $ref: '#/components/schemas/TerritoryAvailability' links: $ref: '#/components/schemas/DocumentLinks' required: - data - links TerritoryAvailability: type: object title: TerritoryAvailability properties: type: type: string enum: - territoryAvailabilities id: type: string attributes: type: object properties: available: type: boolean releaseDate: type: string format: date preOrderEnabled: type: boolean preOrderPublishDate: type: string format: date contentStatuses: type: array items: type: string enum: - AVAILABLE - AVAILABLE_FOR_PREORDER_ON_DATE - PROCESSING_TO_NOT_AVAILABLE - PROCESSING_TO_AVAILABLE - PROCESSING_TO_PRE_ORDER - AVAILABLE_FOR_SALE_UNRELEASED_APP - PREORDER_ON_UNRELEASED_APP - AVAILABLE_FOR_PREORDER - MISSING_RATING - CANNOT_SELL_RESTRICTED_RATING - BRAZIL_REQUIRED_TAX_ID - BRAZIL_GAMBLING_NOT_VERIFIED - MISSING_GRN - UNVERIFIED_GRN - ICP_NUMBER_INVALID - ICP_NUMBER_MISSING - TRADER_STATUS_NOT_PROVIDED - TRADER_STATUS_VERIFICATION_FAILED - TRADER_STATUS_VERIFICATION_STATUS_MISSING - CANNOT_SELL_SEVENTEEN_PLUS_APPS - CANNOT_SELL_SEXUALLY_EXPLICIT - CANNOT_SELL_NON_IOS_GAMES - CANNOT_SELL_SEVENTEEN_PLUS_GAMES - CANNOT_SELL_CASINO - CANNOT_SELL_CASINO_WITHOUT_GRAC - CANNOT_SELL_CASINO_WITHOUT_AGE_VERIFICATION - CANNOT_SELL_ADULT_ONLY - CANNOT_SELL_GAMBLING_CONTESTS - CANNOT_SELL_GAMBLING - CANNOT_SELL_CONTESTS - CANNOT_SELL_NINETEEN_PLUS_WITHOUT_GRAC - CANNOT_SELL - CANNOT_SELL_FREQUENT_INTENSE_GAMBLING - CANNOT_SELL_FREQUENT_INTENSE_ALCOHOL_TOBACCO_DRUGS - CANNOT_SELL_FREQUENT_INTENSE_VIOLENCE - CANNOT_SELL_FREQUENT_INTENSE_SEXUAL_CONTENT_NUDITY - CANNOT_SELL_INFREQUENT_MILD_ALCOHOL_TOBACCO_DRUGS - CANNOT_SELL_INFREQUENT_MILD_SEXUAL_CONTENT_NUDITY - CANNOT_SELL_FREQUENT_INTENSE - CANNOT_SELL_FREQUENT_INTENSE_WITHOUT_GRAC - CANNOT_SELL_FREQUENT_GAMBLING - CANNOT_SELL_FREQUENT_ALCOHOL_TOBACCO_DRUGS - CANNOT_SELL_FREQUENT_VIOLENCE - CANNOT_SELL_FREQUENT_SEXUAL_CONTENT_NUDITY - CANNOT_SELL_INFREQUENT_ALCOHOL_TOBACCO_DRUGS - CANNOT_SELL_INFREQUENT_SEXUAL_CONTENT_NUDITY - CANNOT_SELL_FREQUENT - CANNOT_SELL_FREQUENT_WITHOUT_GRAC relationships: type: object properties: territory: type: object properties: data: type: object properties: type: type: string enum: - territories id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type 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 PagingInformation: type: object properties: paging: type: object properties: total: type: integer limit: type: integer nextCursor: type: string required: - limit required: - paging securitySchemes: itc-bearer-token: type: http scheme: bearer bearerFormat: JWT