iOS

iOS AppCategories API

The AppCategories API from iOS — 6 operation(s) for appcategories.

OpenAPI Specification

ios-appcategories-api-openapi.yml Raw ↑
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