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