openapi: 3.2.0 info: title: App Store Connect App Categories 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. servers: - url: https://api.appstoreconnect.apple.com/ security: - itc-bearer-token: [] tags: - name: App Categories paths: /v1/appCategories: get: tags: - App Categories 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: - App Categories 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: - App Categories 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: - App Categories 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: - App Categories 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: - App Categories 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: PagedDocumentLinks: type: object properties: self: type: string format: uri-reference first: type: string format: uri-reference next: type: string format: uri-reference required: - self RelationshipLinks: type: object properties: self: type: string format: uri-reference related: type: string format: uri-reference ErrorSourceParameter: type: object title: Parameter properties: parameter: type: string required: - parameter ResourceLinks: type: object properties: self: type: string format: uri-reference 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 PagingInformation: type: object properties: paging: type: object properties: total: type: integer limit: type: integer nextCursor: type: string required: - limit required: - paging DocumentLinks: type: object properties: self: type: string format: uri-reference required: - self 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 AppCategoryWithoutIncludesResponse: type: object title: AppCategoryWithoutIncludesResponse properties: data: $ref: '#/components/schemas/AppCategory' links: $ref: '#/components/schemas/DocumentLinks' required: - data - links 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 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 ErrorSourcePointer: type: object title: JsonPointer properties: pointer: type: string required: - pointer 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 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 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 securitySchemes: itc-bearer-token: type: http scheme: bearer bearerFormat: JWT