mirror of
https://github.com/rudrankriyam/App-Store-Connect-CLI.git
synced 2026-04-25 15:45:48 +03:00
[GH-ISSUE #159] Add device management (list/get/register/update) #41
Labels
No labels
bug
bug
documentation
enhancement
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/App-Store-Connect-CLI#41
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @rudrankriyam on GitHub (Jan 25, 2026).
Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/159
Summary
Add device management support via App Store Connect API
devicesendpoints. Provide CLI commands to list, get, register, and update devices. No delete support (API does not provide DELETE).Background / Docs
API Details (from OpenAPI)
Endpoints:
GET /v1/devices->DevicesResponsePOST /v1/devices->DeviceResponse(201)GET /v1/devices/{id}->DeviceResponsePATCH /v1/devices/{id}->DeviceResponseDELETE /v1/devices(confirmed in OpenAPI)Query params for list (
GET /v1/devices):filter[name](string[])filter[platform](enumIOS,MAC_OS)filter[status](enumENABLED,DISABLED)filter[udid](string[])filter[id](string[])sort(enumid,-id,name,-name,platform,-platform,status,-status,udid,-udid)fields[devices](enumaddedDate,deviceClass,model,name,platform,status,udid)limit(1-200)Query params for get (
GET /v1/devices/{id}):fields[devices]Schemas:
Deviceattributes:name,platform,udid,deviceClass,status,model,addedDateDeviceCreateRequestattributes:name,udid,platformDeviceUpdateRequestattributes:name,statusProposed CLI
Top-level command:
asc devices(explicit flags, JSON default, no interactive prompts)Subcommands:
asc devices list--name,--platform,--status,--udid,--id(comma-separated)--sort(values above)--fields(comma-separated fields[devices])--limit,--next,--paginate--output,--prettyasc devices get --id DEVICE_ID--fields--output,--prettyasc devices register --name NAME --udid UDID --platform IOS|MAC_OS--output,--prettyasc devices update --id DEVICE_ID [--name NAME] [--status ENABLED|DISABLED]--output,--prettyNotes:
deviceClassis read-only attribute (enum:APPLE_WATCH,IPAD,IPHONE,IPOD,APPLE_TV,MAC).Implementation Tasks
cmd/devices.go: CLI + flag validation + help text/examplescmd/root.go: registerDevicesCommand()internal/asc/devices.go: types, query/options, client methodsinternal/asc/devices_output.go: table/markdown outputinternal/asc/client_options.go: device list optionsinternal/asc/client_queries.go: query builder for device list + optional fieldsinternal/asc/client_pagination.go: includeDevicesResponsein pagination supportinternal/asc/output_core.go: addDevicesResponse+DeviceResponseto PrintTable/PrintMarkdowninternal/asc/client_types.go: addResourceTypeDevicesTests
cmd/commands_test.go:--idfor get/updateinternal/asc/client_http_test.goand/orinternal/asc/client_test.gointernal/asc/output_test.go(table + markdown)Acceptance Criteria
asc devices list/get/register/updatework end-to-end with JSON/table/markdown output--paginateOut of Scope
@rudrankriyam commented on GitHub (Jan 26, 2026):
Closed by #175. Added devices list/get/register/update commands, API client/query/output support, tests (unit + read-only integration), and docs updates. No delete support because App Store Connect has no DELETE devices endpoint.