AppGallery Connect, mapped for the terminal

Move every release through one red line.

A Go command center for discovering, dry-running, and invoking AppGallery Connect APIs—with stable JSON for people, CI, and coding agents.

13 API families156 registered interfaces3 output formats
agc / productionreference mode
agcTerminalJSONAgentScript
One command surface. Your workflow.
AUTHPS256 / OAuth
PROFILEproject-bound
PACKAGEupload + status
RELEASEinvoke by choice

$ agc auth check --pretty

{
  "data": {
    "name": "production",
    "mode": "service-account",
    "active": true
  },
  "affordances": {
    "next": "agc publishing endpoints"
  }
}

project profile resolved · dry-run on

Dry-run firstNothing is sent until you opt in.
Agent-readableJSON envelopes include next actions.
One surfaceCLI, local REST, and web share a registry.

Install agc CLI

Use the package manager for your system.

macOS installs through the Createitv Homebrew tap with brew tap createitv/tap && brew install agc-cli. Windows installs through Scoop from the Createitv bucket.

macOS Homebrew command
$ brew tap createitv/tap && brew install agc-cli && agc version
Windows Scoop command
PS> if (!(Get-Command scoop -ErrorAction SilentlyContinue)) { Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force; irm get.scoop.sh | iex }; scoop bucket add createitv https://github.com/Createitv/scoop-bucket; scoop install agc-cli; agc version
Homebrew formula: agc-cli Versioned GitHub Release binary Winget PR submitted for Microsoft review

The release rail

Context flows forward. Secrets do not.

Each stage owns one job. Credentials remain local, project context remains portable, and destructive API calls require an explicit switch.

01

AUTH

PS256 / OAuth

02

PROFILE

project-bound

03

PACKAGE

upload + status

04

RELEASE

invoke by choice

Automatic profile binding

Choose once per project. Override only when you mean it.

Bind production in .agc/project.json. Commands resolve the profile in a predictable order, while --profile staging remains available for one-off work.

  1. 1CLI override--profile staging
  2. 2Project default.agc/project.json
  3. 3Active account~/.agc/credentials.json
.agc/project.json project safe
{
  "appId": "123456789",
  "projectId": "987654321",
  "packageName": "com.example.app",
  "profile": "production"
}
No client keys or private keys are stored here.

Interface registry

Discover the API before writing the request.

Every entry carries its method, path, parameter locations, CLI command, REST route, and dry-run path.

Selected family / testing

Testing

registered

Test versions, packages, groups, invitations, feedback, and open testing links.

DISCOVERagc testing endpoints --output table
STATUSagc testing status --pretty
LOCAL REST/api/v1/testing
27 typed interface entries

All endpoints 27

Expand an endpoint for registered parameters and commands. Consult its reference for full schemas, responses, and permissions.

POST生成邀请码test-api-add-invite-code/api/app-test/v1/invitation-code

此接口用于邀请测试生成邀请码。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Request body: json

Inspect definition

agc testing test-api-add-invite-code --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-add-invite-code

Dry run (supply required parameters first)

agc testing test-api-add-invite-code --invoke --dry-run=true --body body.json
Read endpoint reference ↗
POST新增测试群组test-api-add-test-group/api/app-test/v1/test-group

此接口用于邀请测试创建内外部测试群组。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Request body: json

Inspect definition

agc testing test-api-add-test-group --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-add-test-group

Dry run (supply required parameters first)

agc testing test-api-add-test-group --invoke --dry-run=true --body body.json
Read endpoint reference ↗
POST新增测试群组成员test-api-add-test-group-user/api/publish/v2/test/user

此接口用于邀请测试新增测试群组成员。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Request body: json

Inspect definition

agc testing test-api-add-test-group-user --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-add-test-group-user

Dry run (supply required parameters first)

agc testing test-api-add-test-group-user --invoke --dry-run=true --body body.json
Read endpoint reference ↗
POST添加软件包test-api-add-test-package/api/publish/v2/test/version/pkg

此接口用于测试版本上传软件包。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Request body: json

Inspect definition

agc testing test-api-add-test-package --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-add-test-package

Dry run (supply required parameters first)

agc testing test-api-add-test-package --invoke --dry-run=true --body body.json
Read endpoint reference ↗
POST新建测试版本test-api-add-test-version/api/publish/v2/test/app/version

此接口用于创建HarmonyOS应用/元服务的测试版本。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Request body: json

Inspect definition

agc testing test-api-add-test-version --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-add-test-version

Dry run (supply required parameters first)

agc testing test-api-add-test-version --invoke --dry-run=true --body body.json
Read endpoint reference ↗
POST创建公开链接test-api-create-open-test-link/api/app-test/v1/test-group/public-link

此接口用于创建群组级公开测试链接。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Request body: json

Inspect definition

agc testing test-api-create-open-test-link --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-create-open-test-link

Dry run (supply required parameters first)

agc testing test-api-create-open-test-link --invoke --dry-run=true --body body.json
Read endpoint reference ↗
DELETE删除测试问题反馈test-api-delete-feedback/api/app-test/v1/mgmt/tester-feedback

此接口用于删除测试问题反馈。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Inspect definition

agc testing test-api-delete-feedback --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-delete-feedback

Dry run (supply required parameters first)

agc testing test-api-delete-feedback --invoke --dry-run=true
Read endpoint reference ↗
DELETE删除邀请码test-api-delete-invite-code/api/app-test/v1/invitation-code

此接口用于邀请测试删除邀请码。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Inspect definition

agc testing test-api-delete-invite-code --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-delete-invite-code

Dry run (supply required parameters first)

agc testing test-api-delete-invite-code --invoke --dry-run=true
Read endpoint reference ↗
DELETE删除测试群组test-api-delete-test-group/api/app-test/v1/publish-api/test-group

此接口用于邀请测试删除测试群组。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Inspect definition

agc testing test-api-delete-test-group --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-delete-test-group

Dry run (supply required parameters first)

agc testing test-api-delete-test-group --invoke --dry-run=true
Read endpoint reference ↗
DELETE删除测试群组成员test-api-delete-test-group-user/api/publish/v2/test/user

此接口用于邀请测试删除测试群组中的成员。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Inspect definition

agc testing test-api-delete-test-group-user --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-delete-test-group-user

Dry run (supply required parameters first)

agc testing test-api-delete-test-group-user --invoke --dry-run=true
Read endpoint reference ↗
DELETE删除测试版本test-api-delete-test-version/api/publish/v2/test/app/version

此接口用于删除测试版本。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Inspect definition

agc testing test-api-delete-test-version --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-delete-test-version

Dry run (supply required parameters first)

agc testing test-api-delete-test-version --invoke --dry-run=true
Read endpoint reference ↗
PUT修改公开链接test-api-edit-open-test-link/api/app-test/v1/test-group/public-link

此接口用于编辑群组级公开测试链接。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Request body: json

Inspect definition

agc testing test-api-edit-open-test-link --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-edit-open-test-link

Dry run (supply required parameters first)

agc testing test-api-edit-open-test-link --invoke --dry-run=true --body body.json
Read endpoint reference ↗
PUT修改测试群组test-api-edit-test-group/api/app-test/v2/test-group

此接口用于邀请测试修改测试群组。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Request body: json

Inspect definition

agc testing test-api-edit-test-group --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-edit-test-group

Dry run (supply required parameters first)

agc testing test-api-edit-test-group --invoke --dry-run=true --body body.json
Read endpoint reference ↗
GET查询上架自检报告信息test-api-get-detect-task/api/publish/v2/test/app/version/detect-report

此接口用于查询邀请测试进行上架自检的报告信息。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Inspect definition

agc testing test-api-get-detect-task --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-get-detect-task

Dry run (supply required parameters first)

agc testing test-api-get-detect-task --invoke --dry-run=true
Read endpoint reference ↗
GET查询测试群组邀请码test-api-get-invite-code/api/app-test/v1/test-group/invitation-code

此接口用于邀请测试查询测试群组邀请码信息。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Inspect definition

agc testing test-api-get-invite-code --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-get-invite-code

Dry run (supply required parameters first)

agc testing test-api-get-invite-code --invoke --dry-run=true
Read endpoint reference ↗
GET查询测试群组列表test-api-get-test-grouplist/api/app-test/v1/test-group/list

此接口用于邀请测试查询已创建的内外部测试群组列表。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription
appIdheaderYes—Huawei application ID

Inspect definition

agc testing test-api-get-test-grouplist --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-get-test-grouplist

Dry run (supply required parameters first)

agc testing test-api-get-test-grouplist --invoke --dry-run=true
Read endpoint reference ↗
PUT更新测试版本test-api-modify-test-version/api/publish/v2/test/app/version

此接口用于更新已创建的测试版本。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Request body: json

Inspect definition

agc testing test-api-modify-test-version --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-modify-test-version

Dry run (supply required parameters first)

agc testing test-api-modify-test-version --invoke --dry-run=true --body body.json
Read endpoint reference ↗
POST发送邀请测试通知test-api-post-test-notify/api/publish/v1/test/user/action/notify

此接口用于给内外部群组的测试用户发送邀请测试的通知。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Request body: json

Inspect definition

agc testing test-api-post-test-notify --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-post-test-notify

Dry run (supply required parameters first)

agc testing test-api-post-test-notify --invoke --dry-run=true --body body.json
Read endpoint reference ↗
POST查询测试问题反馈test-api-query-feedback/api/app-test/v1/mgmt/tester-feedback/action/query

此接口用于查询测试问题反馈列表。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Request body: json

Inspect definition

agc testing test-api-query-feedback --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-query-feedback

Dry run (supply required parameters first)

agc testing test-api-query-feedback --invoke --dry-run=true --body body.json
Read endpoint reference ↗
POST查询测试问题反馈维度test-api-query-feedback-dimension/api/app-test/v1/mgmt/tester-feedback-dimension/action/query

此接口用于查询测试反馈维度。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Request body: json

Inspect definition

agc testing test-api-query-feedback-dimension --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-query-feedback-dimension

Dry run (supply required parameters first)

agc testing test-api-query-feedback-dimension --invoke --dry-run=true --body body.json
Read endpoint reference ↗
GET查询公开链接test-api-query-open-test-link/api/app-test/v1/test-group/public-link

此接口用于查询群组级公开测试链接。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Inspect definition

agc testing test-api-query-open-test-link --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-query-open-test-link

Dry run (supply required parameters first)

agc testing test-api-query-open-test-link --invoke --dry-run=true
Read endpoint reference ↗
GET查询测试群组成员test-api-query-test-user/api/app-test/v1/test-user

此接口用于查询测试群组成员。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription
appIdheaderYes—Huawei application ID
groupIdheaderYes—Test group ID

Inspect definition

agc testing test-api-query-test-user --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-query-test-user

Dry run (supply required parameters first)

agc testing test-api-query-test-user --invoke --dry-run=true
Read endpoint reference ↗
PUT更新测试生效版本test-api-release-test-version/api/publish/v2/test/version/release

此接口用于将公开测试版本转为全网版本或者分阶段版本。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Request body: json

Inspect definition

agc testing test-api-release-test-version --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-release-test-version

Dry run (supply required parameters first)

agc testing test-api-release-test-version --invoke --dry-run=true --body body.json
Read endpoint reference ↗
POST停止邀请码test-api-stop-invite-code/api/app-test/v1/invitation-code/action/stop

此接口用于邀请测试停止邀请码。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Request body: json

Inspect definition

agc testing test-api-stop-invite-code --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-stop-invite-code

Dry run (supply required parameters first)

agc testing test-api-stop-invite-code --invoke --dry-run=true --body body.json
Read endpoint reference ↗
POST停止测试版本test-api-stop-test-version/api/publish/v2/test/version/stop

此接口用于停止测试版本。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Request body: json

Inspect definition

agc testing test-api-stop-test-version --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-stop-test-version

Dry run (supply required parameters first)

agc testing test-api-stop-test-version --invoke --dry-run=true --body body.json
Read endpoint reference ↗
POST提交测试版本test-api-submit-test-version/api/publish/v2/test/app/version/submit

此接口用于测试版本提交审核。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Request body: json

Inspect definition

agc testing test-api-submit-test-version --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-submit-test-version

Dry run (supply required parameters first)

agc testing test-api-submit-test-version --invoke --dry-run=true --body body.json
Read endpoint reference ↗
PUT更新有效期内的测试版本信息test-api-update-test-version-opentest/api/publish/v2/test/version/open-test

此接口用于更新有效期内测试版本的测试时间和下载安装次数。

Developer-to-Huawei API

Registered parameters
ParameterLocationRequiredTypeDescription

Parameters are not listed in the registry. See the reference.

Request body: json

Inspect definition

agc testing test-api-update-test-version-opentest --pretty

Local REST definition

/api/v1/testing/endpoints/test-api-update-test-version-opentest

Dry run (supply required parameters first)

agc testing test-api-update-test-version-opentest --invoke --dry-run=true --body body.json
Read endpoint reference ↗

What is agc-cli, and who is it for?

agc-cli is an open-source Go command-line tool for Huawei AppGallery Connect, maintained by Createitv. Its installed command is agc. It organizes API discovery, credential profiles, request previews, and API invocation into reusable commands for HarmonyOS and Huawei app developers who manage app metadata, testers, products, and reports.

Project and guides: GitHub · Usage guide · Issues

Frequently asked questions

Is agc-cli an official Huawei tool?

No. agc-cli is an independent open-source project maintained by Createitv under the MIT license. It organizes endpoints using Huawei AppGallery Connect API references and is not an official Huawei product or support service.

How do I install agc-cli on macOS, Windows, or Linux?

On macOS, run brew tap createitv/tap, then brew install agc-cli. On Windows, run scoop bucket add createitv https://github.com/Createitv/scoop-bucket, then scoop install agc-cli. On Linux, download a binary for your architecture from GitHub Releases. Run agc version to verify installation.

Is agc-cli free, and do I need an account?

agc-cli is free to use and modify under the MIT license. Calling Huawei APIs requires your own AppGallery Connect account, credentials, and permissions. Huawei service pricing and limits remain subject to Huawei terms. Browsing the endpoint reference or inspecting CLI definitions does not require login.

How do I query app information for the first time?

Save credentials with agc auth login --service-account-file ~/.agc/service-account.json --name production, then bind the project with agc init --app-id YOUR_APP_ID --default-profile production. Preview with agc publishing app-info-query --invoke --query appId=YOUR_APP_ID --query lang=en-US. Add --dry-run=false after checking the request. Supply a client_id header explicitly when required.

Are all 156 endpoints production-verified?

No. The registry contains 156 entries across 13 API families; this is registry coverage, not production verification of every endpoint. Registered parameters and command surfaces are shown here. Consult each endpoint reference for full request and response schemas, permissions, and business prerequisites.

Does the default dry run change my app?

No. Endpoint commands with --invoke preview the request without sending it by default. Real invocation requires --dry-run=false. Check the target app, credential profile, and parameters before executing.

Can I use agc-cli with scripts or AI agents?

Yes. JSON output supports script processing. agc capabilities and agc endpoints expose discovery; agc web-server provides local REST routes, and agc openapi exports the contract. Command templates support navigation but do not replace business-state checks or review decisions.

Does a project profile fill all endpoint parameters automatically?

A project configuration can select its default credential profile, with --profile for explicit overrides. App IDs, languages, headers, and request bodies still need to be supplied according to each endpoint. Keep Service Account private keys and credential files out of Git.

Browse the complete API reference by family

Content updated:

Quick start

Three commands to a bound, inspectable workspace.

Use placeholders for your AppGallery Connect values. The second command is what makes the profile automatic for this project.

01

Save a credential profile

Service Account is the preferred route. Secrets stay in ~/.agc/credentials.json with restricted permissions.

$ agc auth login --service-account-file ~/.agc/service-account.json --name production
02

Bind it to the project

Save project metadata and choose a default credential profile. Supply endpoint parameters explicitly when invoking APIs.

$ agc init --app-id <app-id> --project-id <project-id> --package-name com.example.app --default-profile production
03

Inspect before invoking

Endpoint commands are dry-run first. Review the exact method and URL, then opt into the real request.

$ agc publishing app-info-query --invoke --query appId=<app-id> --dry-run=false

Local command center

The browser is a window into the same registry.

Start the local REST server when you want live capability data. Without it, this site stays useful as a complete reference surface.

agc web-server --addr :8421
GET/api/v1/capabilitiesfamilies + affordances
GET/api/v1/endpointsall interface entries
GET/api/v1/openapi.jsonmachine-readable contract
POST/api/v1/:family/endpoints/:id/invokedry-run by default