[GH-ISSUE #197] Add Accessibility Declarations CLI support #59

Closed
opened 2026-02-26 21:33:04 +03:00 by kerem · 0 comments
Owner

Originally created by @rudrankriyam on GitHub (Jan 26, 2026).
Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/197

Overview

Add CLI support for Accessibility Declarations so we can manage the accessibility nutrition labels per device family.

Docs (API)

Scope (Endpoints)

  • GET /v1/apps/{id}/accessibilityDeclarations
  • GET /v1/apps/{id}/relationships/accessibilityDeclarations
  • GET /v1/accessibilityDeclarations/{id}
  • POST /v1/accessibilityDeclarations
  • PATCH /v1/accessibilityDeclarations/{id}
  • DELETE /v1/accessibilityDeclarations/{id}

Proposed CLI

Top-level group (suggested): asc accessibility <subcommand> [flags]

Subcommands:

  • accessibility list --app APP_ID
  • accessibility get --id DECL_ID
  • accessibility create --app APP_ID --device-family IOS [flags for attributes]
  • accessibility update --id DECL_ID [flags for attributes]
  • accessibility delete --id DECL_ID --confirm

Flags

Common:

  • --output json|table|markdown
  • --pretty

Create/update:

  • --device-family (required on create; use DeviceFamily enum)
  • Individual boolean flags for each accessibility feature (default false when absent)

Delete:

  • --confirm required

Output

  • JSON (minified) by default
  • Table/markdown for list/get

Acceptance Criteria

  • asc accessibility --help is available
  • CRUD works against live App Store Connect
  • Validates device family values
  • Delete requires --confirm
  • JSON/table/markdown output

Tests

  • CLI validation tests (missing --app, missing --device-family, invalid enum)
  • HTTP client tests for list/get/create/update/delete
  • Output tests for table/markdown

Manual Test Plan (using real apps)

  1. asc apps --paginate → choose APP_ID
  2. List:
    • asc accessibility list --app APP_ID
  3. Create (example flags):
    • asc accessibility create --app APP_ID --device-family IOS --supports-voiceover true --supports-voice-control true
  4. Get:
    • asc accessibility get --id DECL_ID
  5. Update:
    • asc accessibility update --id DECL_ID --supports-reduce-motion true
  6. Delete:
    • asc accessibility delete --id DECL_ID --confirm

Implementation Notes

  • Add cmd/accessibility.go
  • Add internal/asc/accessibility.go + output helpers
  • Register command in cmd/root.go
  • Use existing enum validation patterns (see platforms, device types)
Originally created by @rudrankriyam on GitHub (Jan 26, 2026). Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/197 # Overview Add CLI support for **Accessibility Declarations** so we can manage the accessibility nutrition labels per device family. # Docs (API) - Accessibility Declarations: https://sosumi.ai/documentation/appstoreconnectapi/accessibility-declarations - Device family enum: https://sosumi.ai/documentation/appstoreconnectapi/devicefamily # Scope (Endpoints) - `GET /v1/apps/{id}/accessibilityDeclarations` - `GET /v1/apps/{id}/relationships/accessibilityDeclarations` - `GET /v1/accessibilityDeclarations/{id}` - `POST /v1/accessibilityDeclarations` - `PATCH /v1/accessibilityDeclarations/{id}` - `DELETE /v1/accessibilityDeclarations/{id}` # Proposed CLI Top-level group (suggested): `asc accessibility <subcommand> [flags]` Subcommands: - `accessibility list --app APP_ID` - `accessibility get --id DECL_ID` - `accessibility create --app APP_ID --device-family IOS [flags for attributes]` - `accessibility update --id DECL_ID [flags for attributes]` - `accessibility delete --id DECL_ID --confirm` # Flags Common: - `--output json|table|markdown` - `--pretty` Create/update: - `--device-family` (required on create; use DeviceFamily enum) - Individual boolean flags for each accessibility feature (default false when absent) Delete: - `--confirm` required # Output - JSON (minified) by default - Table/markdown for list/get # Acceptance Criteria - [ ] `asc accessibility --help` is available - [ ] CRUD works against live App Store Connect - [ ] Validates device family values - [ ] Delete requires `--confirm` - [ ] JSON/table/markdown output # Tests - CLI validation tests (missing --app, missing --device-family, invalid enum) - HTTP client tests for list/get/create/update/delete - Output tests for table/markdown # Manual Test Plan (using real apps) 1) `asc apps --paginate` → choose `APP_ID` 2) List: - `asc accessibility list --app APP_ID` 3) Create (example flags): - `asc accessibility create --app APP_ID --device-family IOS --supports-voiceover true --supports-voice-control true` 4) Get: - `asc accessibility get --id DECL_ID` 5) Update: - `asc accessibility update --id DECL_ID --supports-reduce-motion true` 6) Delete: - `asc accessibility delete --id DECL_ID --confirm` # Implementation Notes - Add `cmd/accessibility.go` - Add `internal/asc/accessibility.go` + output helpers - Register command in `cmd/root.go` - Use existing enum validation patterns (see platforms, device types)
kerem closed this issue 2026-02-26 21:33:04 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/App-Store-Connect-CLI#59
No description provided.