> ## Documentation Index
> Fetch the complete documentation index at: https://docs.appeeky.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Full App Store Connect API coverage

> Every App Store Connect API endpoint as a named, validated operation generated from Apple's OpenAPI spec, reachable from the CLI, MCP, and REST.

Besides the 168 curated operations, every operation in Apple's App Store Connect OpenAPI spec is available as a **generated operation**: one per path and method, **1,303** in spec 4.5.1 (GET 826, POST 180, PATCH 162, DELETE 135). Xcode Cloud, Game Center, App Clips, custom product pages, in-app events, offer codes, price schedules, webhooks, and everything else in the spec is reachable by name, with validated arguments.

| | Curated | Generated |
| - | - | - |
| Count | 168 | 1,303 (one per spec operation) |
| Names | `appstore_list_builds` | `appstore_api_<operationId in snake_case>` |
| Arguments | Friendly (`appId`, `platform`, `rating`…) | Apple's own: path `id`, `filter[…]`, `fields[…]`, `include`, `sort`, `limit`, JSON:API `body` |
| MCP | One tool each | Through `appstore_search_operations`, `appstore_describe_operation`, `appstore_call_operation` |
| CLI | Dedicated commands, `appstore ops call` | `appstore api list / describe / call` |

Use a curated operation when one exists: it hides JSON:API and resolves bundle ids. Use a generated one for everything else.

## Names

`appstore_api_` + the snake\_case `operationId` from Apple's spec:

| Apple operationId | Operation | Endpoint |
| - | - | - |
| `apps_getCollection` | `appstore_api_apps_get_collection` | `GET /v1/apps` |
| `apps_appStoreVersions_getToManyRelated` | `appstore_api_apps_app_store_versions_get_to_many_related` | `GET /v1/apps/{id}/appStoreVersions` |
| `betaGroups_betaTesters_createToManyRelationship` | `appstore_api_beta_groups_beta_testers_create_to_many_relationship` | `POST /v1/betaGroups/{id}/relationships/betaTesters` |

The group is the first path segment (`apps`, `betaGroups`, `ciProducts`…). Anything but `GET` is a write.

## Find, describe, call

**1. Search**

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
appstore api list --search "app store version localizations"
appstore api list --group betaGroups --method POST
```

MCP: `appstore_search_operations` with `query`, `group`, `method`, `limit`. Every word must match the name, path, group, or summary.

**2. Describe**

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
appstore api describe appstore_api_app_store_versions_create_instance
```

MCP: `appstore_describe_operation`. Returns every path and query parameter with its type, enum values, and maximum, and for writes the request body (attributes and relationships, required ones flagged) with a minimal example.

**3. Call**

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
appstore api call appstore_api_apps_app_store_versions_get_to_many_related \
  --param id=1234567890 --param filter[platform]=IOS --param limit=5
```

MCP: `appstore_call_operation` with `name` and `args`.

More CLI examples:

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
appstore api call appstore_api_apps_get_collection --param filter[bundleId]=com.example.app --all
appstore api call appstore_api_beta_groups_create_instance --body @group.json --confirm
appstore api GET /v1/apps/1234567890/appClips      # raw request by method and path
```

| `api list` flag | Description |
| - | - |
| `-s, --search <query>` | Words matched against name, path, group, and summary |
| `-g, --group <group>` | Resource group, e.g. `apps`, `builds`, `betaGroups` |
| `-m, --method <method>` | `GET`, `POST`, `PATCH`, or `DELETE` |
| `--curated` / `--generated` | Only one kind |
| `--limit <n>` | Max rows |

| `api call` flag | Description |
| - | - |
| `-p, --param <key=value...>` | Argument, repeatable: `id=123`, `filter[platform]=IOS`, `limit=50` |
| `-b, --body <jsonOrFile>` | JSON:API request body, inline or `@file.json` |
| `--all` | GET collections: follow pagination (capped) |
| `--max-items <n>` | With `--all`: stop after this many items |

## Arguments

| Kind | How to pass it |
| - | - |
| Path | By name: `{"id": "1234567890"}`. Must be one segment; `/`, `..`, `?`, and `#` are rejected. |
| Query | Apple's bracket names: `{"filter[platform]": "IOS", "fields[apps]": ["name", "bundleId"], "include": "builds", "limit": 50}` |
| Query, grouped | Same as objects: `{"filter": {"platform": "IOS"}, "fields": {"apps": ["name"]}}` |
| Lists | Arrays or comma-separated strings: `["IOS","MAC_OS"]` or `"IOS,MAC_OS"` |
| Body | `body`: the JSON:API document. `data.type` is filled in when missing; for updates `data.id` defaults to the path `id`. |
| Pagination | `all: true` on GET collections follows `links.next`, up to `maxItems` (default 1,000, max 20,000) and 100 pages |

Arguments are validated before any request: enum values, required parameters, page-size maximums, unknown names (with the list of valid ones), and the body's resource type. Responses that are not JSON (report files, CSV exports) come back as text.

## Over MCP

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "name": "appstore_call_operation",
  "arguments": {
    "name": "appstore_api_apps_app_clips_get_to_many_related",
    "args": { "id": "1234567890", "limit": 10 }
  }
}
```

## Writes

| Where | Rule |
| - | - |
| CLI | Writes need `--confirm`; `--read-only` refuses them |
| `appstore-mcp --read-only` | `appstore_call_operation` refuses writes before any request |
| Hosted | Generated writes are listed and callable only with `X-ASC-Allow-Writes: true` |

## Over REST

```bash theme={"theme":{"light":"github-light","dark":"github-dark"}}
curl "https://asc-api.appeeky.com/v1/ops?q=app%20clips&method=GET" -H "Authorization: Bearer $APPEEKY_API_KEY"
curl https://asc-api.appeeky.com/v1/ops/appstore_api_apps_get_collection -H "Authorization: Bearer $APPEEKY_API_KEY"
```

See [REST API](/docs/store-cli-app-store-connect-rest-api.md).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.