openapi: 3.0.1 info: title: App Store Connect AccessibilityDeclarations AppCategories 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: AppCategories paths: /v1/appCategories: get: tags: - AppCategories operationId: appCategories_getCollection parameters: - name: filter[platforms] in: query description: filter by attribute 'platforms' schema: type: array items: type: string enum: - IOS - MAC_OS - TV_OS - VISION_OS style: form explode: false required: false - name: exists[parent] in: query description: filter by existence or non-existence of related 'parent' schema: type: boolean style: form explode: false required: false - name: fields[appCategories] in: query description: the fields to include for returned resources of type appCategories schema: type: array items: type: string enum: - platforms - subcategories - parent style: form explode: false required: 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: - subcategories - parent style: form explode: false required: false - name: limit[subcategories] in: query description: maximum number of related subcategories 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' '200': description: List of AppCategories content: application/json: schema: $ref: '#/components/schemas/AppCategoriesResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: List App Categories /v1/appCategories/{id}: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppCategories operationId: appCategories_getInstance parameters: - name: fields[appCategories] in: query description: the fields to include for returned resources of type appCategories schema: type: array items: type: string enum: - platforms - subcategories - parent 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: - subcategories - parent style: form explode: false required: false - name: limit[subcategories] in: query description: maximum number of related subcategories 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 AppCategory content: application/json: schema: $ref: '#/components/schemas/AppCategoryResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Get App Categories /v1/appCategories/{id}/relationships/parent: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppCategories operationId: appCategories_parent_getToOneRelationship parameters: [] 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: Related linkage content: application/json: schema: $ref: '#/components/schemas/AppCategoryParentLinkageResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Get Related App Categories / Parent /v1/appCategories/{id}/parent: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppCategories operationId: appCategories_parent_getToOneRelated parameters: - name: fields[appCategories] in: query description: the fields to include for returned resources of type appCategories schema: type: array items: type: string enum: - platforms - subcategories - parent 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: Single AppCategory with get content: application/json: schema: $ref: '#/components/schemas/AppCategoryWithoutIncludesResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: Get Related App Categories / Parent /v1/appCategories/{id}/relationships/subcategories: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppCategories operationId: appCategories_subcategories_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/AppCategorySubcategoriesLinkagesResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: List Related App Categories / Subcategories /v1/appCategories/{id}/subcategories: parameters: - name: id in: path description: the id of the requested resource schema: type: string style: simple required: true get: tags: - AppCategories operationId: appCategories_subcategories_getToManyRelated parameters: - name: fields[appCategories] in: query description: the fields to include for returned resources of type appCategories schema: type: array items: type: string enum: - platforms - subcategories - parent style: form explode: false - 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 AppCategories with get content: application/json: schema: $ref: '#/components/schemas/AppCategoriesWithoutIncludesResponse' '429': description: Rate limit exceeded error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' summary: List Related App Categories / Subcategories 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 AppCategoriesResponse: type: object title: AppCategoriesResponse properties: data: type: array items: $ref: '#/components/schemas/AppCategory' included: type: array items: $ref: '#/components/schemas/AppCategory' links: $ref: '#/components/schemas/PagedDocumentLinks' meta: $ref: '#/components/schemas/PagingInformation' required: - data - links ResourceLinks: type: object properties: self: type: string format: uri-reference AppCategoryWithoutIncludesResponse: type: object title: AppCategoryWithoutIncludesResponse properties: data: $ref: '#/components/schemas/AppCategory' links: $ref: '#/components/schemas/DocumentLinks' required: - data - links ErrorSourceParameter: type: object title: Parameter properties: parameter: type: string required: - parameter 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 AppCategorySubcategoriesLinkagesResponse: type: object properties: data: type: array items: type: object properties: type: type: string enum: - appCategories id: type: string required: - id - type links: $ref: '#/components/schemas/PagedDocumentLinks' meta: $ref: '#/components/schemas/PagingInformation' required: - data - links AppCategoriesWithoutIncludesResponse: type: object title: AppCategoriesWithoutIncludesResponse properties: data: type: array items: $ref: '#/components/schemas/AppCategory' links: $ref: '#/components/schemas/PagedDocumentLinks' meta: $ref: '#/components/schemas/PagingInformation' required: - data - links AppCategory: type: object title: AppCategory properties: type: type: string enum: - appCategories id: type: string attributes: type: object properties: platforms: type: array items: $ref: '#/components/schemas/Platform' relationships: type: object properties: subcategories: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' meta: $ref: '#/components/schemas/PagingInformation' data: type: array items: type: object properties: type: type: string enum: - appCategories id: type: string required: - id - type parent: type: object properties: links: $ref: '#/components/schemas/RelationshipLinks' data: type: object properties: type: type: string enum: - appCategories 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 AppCategoryResponse: type: object title: AppCategoryResponse properties: data: $ref: '#/components/schemas/AppCategory' included: type: array items: $ref: '#/components/schemas/AppCategory' links: $ref: '#/components/schemas/DocumentLinks' required: - data - links AppCategoryParentLinkageResponse: type: object properties: data: type: object properties: type: type: string enum: - appCategories id: type: string required: - id - type links: $ref: '#/components/schemas/DocumentLinks' required: - data - links Platform: type: string enum: - IOS - MAC_OS - TV_OS - VISION_OS securitySchemes: itc-bearer-token: type: http scheme: bearer bearerFormat: JWT