iOS

iOS Devices API

The Devices API from iOS — 2 operation(s) for devices.

OpenAPI Specification

ios-devices-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: App Store Connect AccessibilityDeclarations Devices 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: Devices
paths:
  /v1/devices:
    get:
      tags:
      - Devices
      operationId: devices_getCollection
      parameters:
      - name: filter[name]
        in: query
        description: filter by attribute 'name'
        schema:
          type: array
          items:
            type: string
        style: form
        explode: false
        required: false
      - name: filter[platform]
        in: query
        description: filter by attribute 'platform'
        schema:
          type: array
          items:
            type: string
            enum:
            - IOS
            - MAC_OS
            - UNIVERSAL
        style: form
        explode: false
        required: false
      - name: filter[udid]
        in: query
        description: filter by attribute 'udid'
        schema:
          type: array
          items:
            type: string
        style: form
        explode: false
        required: false
      - name: filter[status]
        in: query
        description: filter by attribute 'status'
        schema:
          type: array
          items:
            type: string
            enum:
            - ENABLED
            - DISABLED
        style: form
        explode: false
        required: false
      - name: filter[id]
        in: query
        description: filter by id(s)
        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:
            - name
            - -name
            - platform
            - -platform
            - udid
            - -udid
            - status
            - -status
            - id
            - -id
        style: form
        explode: false
        required: false
      - name: fields[devices]
        in: query
        description: the fields to include for returned resources of type devices
        schema:
          type: array
          items:
            type: string
            enum:
            - name
            - platform
            - udid
            - deviceClass
            - status
            - model
            - addedDate
        style: form
        explode: false
        required: 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'
        '200':
          description: List of Devices
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DevicesResponse'
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: List Devices
    post:
      tags:
      - Devices
      operationId: devices_createInstance
      requestBody:
        description: Device representation
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceCreateRequest'
        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 Device
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceResponse'
        '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 Devices
  /v1/devices/{id}:
    parameters:
    - name: id
      in: path
      description: the id of the requested resource
      schema:
        type: string
      style: simple
      required: true
    get:
      tags:
      - Devices
      operationId: devices_getInstance
      parameters:
      - name: fields[devices]
        in: query
        description: the fields to include for returned resources of type devices
        schema:
          type: array
          items:
            type: string
            enum:
            - name
            - platform
            - udid
            - deviceClass
            - status
            - model
            - addedDate
        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 Device
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceResponse'
        '429':
          description: Rate limit exceeded error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      summary: Get Devices
    patch:
      tags:
      - Devices
      operationId: devices_updateInstance
      requestBody:
        description: Device representation
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DeviceUpdateRequest'
        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 Device
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeviceResponse'
        '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 Devices
components:
  schemas:
    DocumentLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
      required:
      - self
    DeviceCreateRequest:
      type: object
      title: DeviceCreateRequest
      properties:
        data:
          type: object
          properties:
            type:
              type: string
              enum:
              - devices
            attributes:
              type: object
              properties:
                name:
                  type: string
                platform:
                  $ref: '#/components/schemas/BundleIdPlatform'
                udid:
                  type: string
              required:
              - name
              - udid
              - platform
          required:
          - attributes
          - type
      required:
      - data
    PagedDocumentLinks:
      type: object
      properties:
        self:
          type: string
          format: uri-reference
        first:
          type: string
          format: uri-reference
        next:
          type: string
          format: uri-reference
      required:
      - self
    DeviceUpdateRequest:
      type: object
      title: DeviceUpdateRequest
      properties:
        data:
          type: object
          properties:
            type:
              type: string
              enum:
              - devices
            id:
              type: string
            attributes:
              type: object
              properties:
                name:
                  type: string
                  nullable: true
                status:
                  type: string
                  nullable: true
                  enum:
                  - ENABLED
                  - DISABLED
          required:
          - id
          - type
      required:
      - data
    DevicesResponse:
      type: object
      title: DevicesResponse
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Device'
        links:
          $ref: '#/components/schemas/PagedDocumentLinks'
        meta:
          $ref: '#/components/schemas/PagingInformation'
      required:
      - data
      - links
    BundleIdPlatform:
      type: string
      enum:
      - IOS
      - MAC_OS
      - UNIVERSAL
    Device:
      type: object
      title: Device
      properties:
        type:
          type: string
          enum:
          - devices
        id:
          type: string
        attributes:
          type: object
          properties:
            name:
              type: string
            platform:
              $ref: '#/components/schemas/BundleIdPlatform'
            udid:
              type: string
            deviceClass:
              type: string
              enum:
              - APPLE_VISION_PRO
              - APPLE_WATCH
              - IPAD
              - IPHONE
              - IPOD
              - APPLE_TV
              - MAC
            status:
              type: string
              enum:
              - ENABLED
              - DISABLED
            model:
              type: string
            addedDate:
              type: string
              format: date-time
        links:
          $ref: '#/components/schemas/ResourceLinks'
      required:
      - id
      - type
    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
    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
    DeviceResponse:
      type: object
      title: DeviceResponse
      properties:
        data:
          $ref: '#/components/schemas/Device'
        links:
          $ref: '#/components/schemas/DocumentLinks'
      required:
      - data
      - links
    ErrorSourcePointer:
      type: object
      title: JsonPointer
      properties:
        pointer:
          type: string
      required:
      - pointer
    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