iOS

iOS Users API

The Users API from iOS — 4 operation(s) for users.

OpenAPI Specification

ios-users-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: App Store Connect AccessibilityDeclarations Users 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: Users
paths:
  /v1/users:
    get:
      tags:
      - Users
      operationId: users_getCollection
      parameters:
      - name: filter[username]
        in: query
        description: filter by attribute 'username'
        schema:
          type: array
          items:
            type: string
        style: form
        explode: false
        required: false
      - name: filter[roles]
        in: query
        description: filter by attribute 'roles'
        schema:
          type: array
          items:
            type: string
            enum:
            - ADMIN
            - FINANCE
            - ACCOUNT_HOLDER
            - SALES
            - MARKETING
            - APP_MANAGER
            - DEVELOPER
            - ACCESS_TO_REPORTS
            - CUSTOMER_SUPPORT
            - CREATE_APPS
            - CLOUD_MANAGED_DEVELOPER_ID
            - CLOUD_MANAGED_APP_DISTRIBUTION
            - GENERATE_INDIVIDUAL_KEYS
        style: form
        explode: false
        required: false
      - name: filter[visibleApps]
        in: query
        description: filter by id(s) of related 'visibleApps'
        schema:
          type: array
          items:
            type: string
        style: form
        explode: false
        required: false
      - name: sort
        in: query
        description: comma-separated list of sort expressions; resources will be sorted as specified
        schema:
          type: array
          items:
            type: string
            enum:
            - username
            - -username
            - lastName
            - -lastName
        style: form
        explode: false
        required: false
      - name: fields[users]
        in: query
        description: the fields to include for returned resources of type users
        schema:
          type: array
          items:
            type: string
            enum:
            - username
            - firstName
            - lastName
            - roles
            - allAppsVisible
            - provisioningAllowed
            - visibleApps
        style: form
        explode: false
        required: false
      - name: fields[apps]
        in: query
        description: the fields to include for returned resources of type apps
        schema:
          type: array
          items:
            type: string
            enum:
            - accessibilityUrl
            - name
            - bundleId
            - sku
            - primaryLocale
            - isOrEverWasMadeForKids
            - subscriptionStatusUrl
            - subscriptionStatusUrlVersion
            - subscriptionStatusUrlForSandbox
            - subscriptionStatusUrlVersionForSandbox
            - contentRightsDeclaration
            - streamlinedPurchasingEnabled
            - accessibilityDeclarations
            - appEncryptionDeclarations
            - appStoreIcon
            - ciProduct
            - betaTesters
            - betaGroups
            - appStoreVersions
            - appTags
            - preReleaseVersions
            - betaAppLocalizations
            - builds
            - betaLicenseAgreement
            - betaAppReviewDetail
            - appInfos
            - appClips
            - appPricePoints
            - endUserLicenseAgreement
            - appPriceSchedule
            - appAvailabilityV2
            - inAppPurchases
            - subscriptionGroups
            - gameCenterEnabledVersions
            - perfPowerMetrics
            - appCustomProductPages
            - inAppPurchasesV2
            - promotedPurchases
            - appEvents
            - reviewSubmissions
            - subscriptionGracePeriod
            - customerReviews
            - customerReviewSummarizations
            - gameCenterDetail
            - appStoreVersionExperimentsV2
            - alternativeDistributionKey
            - analyticsReportRequests
            - marketplaceSearchDetail
            - buildUploads
            - backgroundAssets
            - betaFeedbackScreenshotSubmissions
            - betaFeedbackCrashSubmissions
            - searchKeywords
            - webhooks
            - androidToIosAppMappingDetails
        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:
            - visibleApps
        style: form
        explode: false
        required: false
      - name: limit[visibleApps]
        in: query
        description: maximum number of related visibleApps 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 Users
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UsersResponse'
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: List Users
  /v1/users/{id}:
    parameters:
    - name: id
      in: path
      description: the id of the requested resource
      schema:
        type: string
      style: simple
      required: true
    get:
      tags:
      - Users
      operationId: users_getInstance
      parameters:
      - name: fields[users]
        in: query
        description: the fields to include for returned resources of type users
        schema:
          type: array
          items:
            type: string
            enum:
            - username
            - firstName
            - lastName
            - roles
            - allAppsVisible
            - provisioningAllowed
            - visibleApps
        style: form
        explode: false
        required: false
      - name: fields[apps]
        in: query
        description: the fields to include for returned resources of type apps
        schema:
          type: array
          items:
            type: string
            enum:
            - accessibilityUrl
            - name
            - bundleId
            - sku
            - primaryLocale
            - isOrEverWasMadeForKids
            - subscriptionStatusUrl
            - subscriptionStatusUrlVersion
            - subscriptionStatusUrlForSandbox
            - subscriptionStatusUrlVersionForSandbox
            - contentRightsDeclaration
            - streamlinedPurchasingEnabled
            - accessibilityDeclarations
            - appEncryptionDeclarations
            - appStoreIcon
            - ciProduct
            - betaTesters
            - betaGroups
            - appStoreVersions
            - appTags
            - preReleaseVersions
            - betaAppLocalizations
            - builds
            - betaLicenseAgreement
            - betaAppReviewDetail
            - appInfos
            - appClips
            - appPricePoints
            - endUserLicenseAgreement
            - appPriceSchedule
            - appAvailabilityV2
            - inAppPurchases
            - subscriptionGroups
            - gameCenterEnabledVersions
            - perfPowerMetrics
            - appCustomProductPages
            - inAppPurchasesV2
            - promotedPurchases
            - appEvents
            - reviewSubmissions
            - subscriptionGracePeriod
            - customerReviews
            - customerReviewSummarizations
            - gameCenterDetail
            - appStoreVersionExperimentsV2
            - alternativeDistributionKey
            - analyticsReportRequests
            - marketplaceSearchDetail
            - buildUploads
            - backgroundAssets
            - betaFeedbackScreenshotSubmissions
            - betaFeedbackCrashSubmissions
            - searchKeywords
            - webhooks
            - androidToIosAppMappingDetails
        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:
            - visibleApps
        style: form
        explode: false
        required: false
      - name: limit[visibleApps]
        in: query
        description: maximum number of related visibleApps 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 User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: Get Users
    patch:
      tags:
      - Users
      operationId: users_updateInstance
      requestBody:
        description: User representation
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserUpdateRequest'
        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 User
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserResponse'
        '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 Users
    delete:
      tags:
      - Users
      operationId: users_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 Users
  /v1/users/{id}/relationships/visibleApps:
    parameters:
    - name: id
      in: path
      description: the id of the requested resource
      schema:
        type: string
      style: simple
      required: true
    get:
      tags:
      - Users
      operationId: users_visibleApps_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/UserVisibleAppsLinkagesResponse'
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: List Related Users / Visible Apps
    post:
      tags:
      - Users
      operationId: users_visibleApps_createToManyRelationship
      requestBody:
        description: List of related linkages
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserVisibleAppsLinkagesRequest'
        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'
        '409':
          description: Request entity error(s)
          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: Add Related Users / Visible Apps
    patch:
      tags:
      - Users
      operationId: users_visibleApps_replaceToManyRelationship
      requestBody:
        description: List of related linkages
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserVisibleAppsLinkagesRequest'
        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'
        '409':
          description: Request entity error(s)
          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: Replace Related Users / Visible Apps
    delete:
      tags:
      - Users
      operationId: users_visibleApps_deleteToManyRelationship
      requestBody:
        description: List of related linkages
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UserVisibleAppsLinkagesRequest'
        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'
        '409':
          description: Request entity error(s)
          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: Remove Related Users / Visible Apps
  /v1/users/{id}/visibleApps:
    parameters:
    - name: id
      in: path
      description: the id of the requested resource
      schema:
        type: string
      style: simple
      required: true
    get:
      tags:
      - Users
      operationId: users_visibleApps_getToManyRelated
      parameters:
      - name: fields[apps]
        in: query
        description: the fields to include for returned resources of type apps
        schema:
          type: array
          items:
            type: string
            enum:
            - accessibilityUrl
            - name
            - bundleId
            - sku
            - primaryLocale
            - isOrEverWasMadeForKids
            - subscriptionStatusUrl
            - subscriptionStatusUrlVersion
            - subscriptionStatusUrlForSandbox
            - subscriptionStatusUrlVersionForSandbox
            - contentRightsDeclaration
            - streamlinedPurchasingEnabled
            - accessibilityDeclarations
            - appEncryptionDeclarations
            - appStoreIcon
            - ciProduct
            - betaTesters
            - betaGroups
            - appStoreVersions
            - appTags
            - preReleaseVersions
            - betaAppLocalizations
            - builds
            - betaLicenseAgreement
            - betaAppReviewDetail
            - appInfos
            - appClips
            - appPricePoints
            - endUserLicenseAgreement
            - appPriceSchedule
            - appAvailabilityV2
            - inAppPurchases
            - subscriptionGroups
            - gameCenterEnabledVersions
            - perfPowerMetrics
            - appCustomProductPages
            - inAppPurchasesV2
            - promotedPurchases
            - appEvents
            - reviewSubmissions
            - subscriptionGracePeriod
            - customerReviews
            - customerReviewSummarizations
            - gameCenterDetail
            - appStoreVersionExperimentsV2
            - alternativeDistributionKey
            - analyticsReportRequests
            - marketplaceSearchDetail
            - buildUploads
            - backgroundAssets
            - betaFeedbackScreenshotSubmissions
            - betaFeedbackCrashSubmissions
            - searchKeywords
            - webhooks
            - androidToIosAppMappingDetails
        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 Apps with get
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AppsWithoutIncludesResponse'
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: List Related Users / Visible Apps
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
    UserVisibleAppsLinkagesRequest:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                - apps
              id:
                type: string
            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
    User:
      type: object
      title: User
      properties:
        type:
          type: string
          enum:
          - users
        id:
          type: string
        attributes:
          type: object
          properties:
            username:
              type: string
            firstName:
              type: string
            lastName:
              type: string
            roles:
              type: array
              items:
                $ref: '#/components/schemas/UserRole'
            allAppsVisible:
              type: boolean
            provisioningAllowed:
              type: boolean
        relationships:
          type: object
          properties:
            visibleApps:
              type: object
              properties:
                links:
                  $ref: '#/components/schemas/RelationshipLinks'
                meta:
                  $ref: '#/components/schemas/PagingInformation'
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                        - apps
                      id:
                        type: string
                    required:
                    - id
                    - type
        links:
          $ref: '#/components/schemas/ResourceLinks'
      required:
      - id
      - type
    UserVisibleAppsLinkagesResponse:
      type: object
      properties:
        data:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                - apps
              id:
                type: string
            required:
            - id
            - type
        links:
          $ref: '#/components/schemas/PagedDocumentLinks'
        meta:
          $ref: '#/components/schemas/PagingInformation'
      required:
      - data
      - links
    UsersResponse:
      type: object
      title: UsersResponse
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/User'
        included:
          type: array
          items:
            $ref: '#/components/schemas/App'
        links:
          $ref: '#/components/schemas/PagedDocumentLinks'
        meta:
          $ref: '#/components/schemas/PagingInformation'
      required:
      - data
      - links
    DocumentLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
      required:
      - self
    UserUpdateRequest:
      type: object
      title: UserUpdateRequest
      properties:
        data:
          type: object
          properties:
            type:
              type: string
              enum:
              - users
            id:
              type: string
            attributes:
              type: object
              properties:
                roles:
                  type: array
                  items:
                    $ref: '#/components/schemas/UserRole'
                  nullable: true
                allAppsVisible:
                  type: boolean
                  nullable: true
                provisioningAllowed:
                  type: boolean
                  nullable: true
            relationships:
              type: object
              properties:
                visibleApps:
                  type: object
                  properties:
                    data:
                      type: array
                      items:
                        type: object
                        properties:
                          type:
                            type: string
                            enum:
                            - apps
                          id:
                            type: string
                        required:
                        - id
                        - type
          required:
          - id
          - type
      required:
      - data
    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
    App:
      type: object
      title: App
      properties:
        type:
          type: string
          enum:
          - apps
        id:
          type: string
        attributes:
          type: object
          properties:
            accessibilityUrl:
              type: string
              format: uri
            name:
              type: string
            bundleId:
              type: string
            sku:
              type: string
            primaryLocale:
              type: string
            isOrEverWasMadeForKids:
              type: boolean
            subscriptionStatusUrl:
              type: string
              format: uri
            subscriptionStatusUrlVersion:
              $ref: '#/components/schemas/SubscriptionStatusUrlVersion'
            subscriptionStatusUrlForSandbox:
              type: string
              format: uri
            subscriptionStatusUrlVersionForSandbox:
              $ref: '#/components/schemas/SubscriptionStatusUrlVersion'
            contentRightsDeclaration:
              type: string
              enum:
             

# --- truncated at 32 KB (52 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/ios/refs/heads/main/openapi/ios-users-api-openapi.yml