openapi: 3.0.1 info: title: App Store Connect AccessibilityDeclarations AppInfoLocalizations 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: AppInfoLocalizations paths: /v1/appInfoLocalizations: post: tags: - AppInfoLocalizations operationId: appInfoLocalizations_createInstance requestBody: description: AppInfoLocalization representation content: application/json: schema: $ref: '#/components/schemas/AppInfoLocalizationCreateRequest' 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 AppInfoLocalization content: application/json: schema: $ref: '#/components/schemas/AppInfoLocalizationResponse' '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 Info Localizations /v1/appInfoLocalizations/{id}: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppInfoLocalizations operationId: appInfoLocalizations_getInstance parameters: - name: fields[appInfoLocalizations] in: query description: the fields to include for returned resources of type appInfoLocalizations schema: type: array items: type: string enum: - locale - name - subtitle - privacyPolicyUrl - privacyChoicesUrl - privacyPolicyText - appInfo style: form explode: false required: false - name: fields[appInfos] in: query description: the fields to include for returned resources of type appInfos schema: type: array items: type: string enum: - appStoreState - state - appStoreAgeRating - australiaAgeRating - brazilAgeRating - brazilAgeRatingV2 - franceAgeRating - koreaAgeRating - kidsAgeBand - app - ageRatingDeclaration - appInfoLocalizations - primaryCategory - primarySubcategoryOne - primarySubcategoryTwo - secondaryCategory - secondarySubcategoryOne - secondarySubcategoryTwo - territoryAgeRatings 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: - appInfo 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 AppInfoLocalization content: application/json: schema: $ref: '#/components/schemas/AppInfoLocalizationResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Get App Info Localizations patch: tags: - AppInfoLocalizations operationId: appInfoLocalizations_updateInstance requestBody: description: AppInfoLocalization representation content: application/json: schema: $ref: '#/components/schemas/AppInfoLocalizationUpdateRequest' 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 AppInfoLocalization content: application/json: schema: $ref: '#/components/schemas/AppInfoLocalizationResponse' '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 App Info Localizations delete: tags: - AppInfoLocalizations operationId: appInfoLocalizations_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 App Info Localizations components: schemas: AppInfoLocalizationResponse: type: object title: AppInfoLocalizationResponse properties: data: $ref: '#/components/schemas/AppInfoLocalization' included: type: array items: $ref: '#/components/schemas/AppInfo' links: $ref: '#/components/schemas/DocumentLinks' required: - data - links DocumentLinks: type: object properties: self: type: string format: uri-reference required: - self BrazilAgeRating: type: string enum: - L - TEN - TWELVE - FOURTEEN - SIXTEEN - EIGHTEEN RelationshipLinks: type: object properties: self: type: string format: uri-reference related: type: string format: uri-reference AppInfoLocalizationCreateRequest: type: object title: AppInfoLocalizationCreateRequest properties: data: type: object properties: type: type: string enum: - appInfoLocalizations attributes: type: object properties: locale: type: string name: type: string subtitle: type: string nullable: true privacyPolicyUrl: type: string nullable: true privacyChoicesUrl: type: string nullable: true privacyPolicyText: type: string nullable: true required: - name - locale relationships: type: object properties: appInfo: type: object properties: data: type: object properties: type: type: string enum: - appInfos id: type: string required: - id - type required: - data required: - appInfo required: - relationships - attributes - type required: - data AppInfoLocalizationUpdateRequest: type: object title: AppInfoLocalizationUpdateRequest properties: data: type: object properties: type: type: string enum: - appInfoLocalizations id: type: string attributes: type: object properties: name: type: string nullable: true subtitle: type: string nullable: true privacyPolicyUrl: type: string nullable: true privacyChoicesUrl: type: string nullable: true privacyPolicyText: type: string nullable: true required: - id - type required: - data 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 AppInfo: type: object title: AppInfo properties: type: type: string enum: - appInfos id: type: string attributes: type: object properties: appStoreState: deprecated: true $ref: '#/components/schemas/AppStoreVersionState' state: type: string enum: - ACCEPTED - DEVELOPER_REJECTED - IN_REVIEW - PENDING_RELEASE - PREPARE_FOR_SUBMISSION - READY_FOR_DISTRIBUTION - READY_FOR_REVIEW - REJECTED - REPLACED_WITH_NEW_INFO - WAITING_FOR_REVIEW appStoreAgeRating: deprecated: true $ref: '#/components/schemas/AppStoreAgeRating' australiaAgeRating: type: string deprecated: true enum: - FIFTEEN - EIGHTEEN brazilAgeRating: deprecated: true $ref: '#/components/schemas/BrazilAgeRating' brazilAgeRatingV2: type: string deprecated: true enum: - SELF_RATED_L - SELF_RATED_TEN - SELF_RATED_TWELVE - SELF_RATED_FOURTEEN - SELF_RATED_SIXTEEN - SELF_RATED_EIGHTEEN - OFFICIAL_L - OFFICIAL_TEN - OFFICIAL_TWELVE - OFFICIAL_FOURTEEN - OFFICIAL_SIXTEEN - OFFICIAL_EIGHTEEN franceAgeRating: type: string deprecated: true enum: - EIGHTEEN koreaAgeRating: type: string deprecated: true enum: - ALL - TWELVE - FIFTEEN - NINETEEN - NOT_APPLICABLE kidsAgeBand: deprecated: true $ref: '#/components/schemas/KidsAgeBand' relationships: type: object properties: app: type: object properties: data: type: object properties: type: type: string enum: - apps id: type: string required: - id - type ageRatingDeclaration: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' data: type: object properties: type: type: string enum: - ageRatingDeclarations id: type: string required: - id - type appInfoLocalizations: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - appInfoLocalizations id: type: string required: - id - type primaryCategory: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' data: type: object properties: type: type: string enum: - appCategories id: type: string required: - id - type primarySubcategoryOne: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' data: type: object properties: type: type: string enum: - appCategories id: type: string required: - id - type primarySubcategoryTwo: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' data: type: object properties: type: type: string enum: - appCategories id: type: string required: - id - type secondaryCategory: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' data: type: object properties: type: type: string enum: - appCategories id: type: string required: - id - type secondarySubcategoryOne: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' data: type: object properties: type: type: string enum: - appCategories id: type: string required: - id - type secondarySubcategoryTwo: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' data: type: object properties: type: type: string enum: - appCategories id: type: string required: - id - type territoryAgeRatings: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' links: $ref: '#/components/schemas/ResourceLinks' required: - id - type AppInfoLocalization: type: object title: AppInfoLocalization properties: type: type: string enum: - appInfoLocalizations id: type: string attributes: type: object properties: locale: type: string name: type: string subtitle: type: string privacyPolicyUrl: type: string privacyChoicesUrl: type: string privacyPolicyText: type: string relationships: type: object properties: appInfo: type: object properties: data: type: object properties: type: type: string enum: - appInfos id: type: string required: - id - type links: $ref: '#/components/schemas/ResourceLinks' required: - id - type AppStoreAgeRating: type: string enum: - L - ALL - ONE_PLUS - TWO_PLUS - THREE_PLUS - FOUR_PLUS - FIVE_PLUS - SIX_PLUS - SEVEN_PLUS - EIGHT_PLUS - NINE_PLUS - TEN_PLUS - ELEVEN_PLUS - TWELVE_PLUS - THIRTEEN_PLUS - FOURTEEN_PLUS - FIFTEEN_PLUS - SIXTEEN_PLUS - SEVENTEEN_PLUS - EIGHTEEN_PLUS - NINETEEN_PLUS - TWENTY_PLUS - TWENTY_ONE_PLUS - UNRATED KidsAgeBand: type: string enum: - FIVE_AND_UNDER - SIX_TO_EIGHT - NINE_TO_ELEVEN 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 AppStoreVersionState: type: string enum: - ACCEPTED - DEVELOPER_REMOVED_FROM_SALE - DEVELOPER_REJECTED - IN_REVIEW - INVALID_BINARY - METADATA_REJECTED - PENDING_APPLE_RELEASE - PENDING_CONTRACT - PENDING_DEVELOPER_RELEASE - PREPARE_FOR_SUBMISSION - PREORDER_READY_FOR_SALE - PROCESSING_FOR_APP_STORE - READY_FOR_REVIEW - READY_FOR_SALE - REJECTED - REMOVED_FROM_SALE - WAITING_FOR_EXPORT_COMPLIANCE - WAITING_FOR_REVIEW - REPLACED_WITH_NEW_VERSION - NOT_APPLICABLE 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