# App Hub API API

> App Hub API API on Apizie: 24 endpoints (Detaches a service project from a host project. You can call this API from any service project without…, Gets a service project attachment., Updates a Workload in an Application., Deletes a service project attachment., …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://zieapi.vercel.app/v1/analytics:googleapis-apphub/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `analytics:googleapis-apphub`
- Category: Analytics
- Status: byok
- Source: https://cloud.google.com/app-hub/docs/
- Page: https://zieapi.vercel.app/api/analytics/googleapis-apphub
- OpenAPI: https://zieapi.vercel.app/api/analytics/googleapis-apphub/openapi.json

App Hub lets you build, operate, and manage applications on Google Cloud.

## Endpoints

### Detaches a service project from a host project. You can call this API from any service project without…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-detach-service-project-attachment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Service project id and location to detach from a host project. Only global location is supported. Expected format:… |
| body | object | yes | JSON request body |

### Gets a service project attachment.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-service-project-attachments-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Fully qualified name of the service project attachment to retrieve. Expected format:… |

### Updates a Workload in an Application.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-applications-workloads-patch` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Identifier. The resource name of the Workload. Format:… |
| requestId | string | no | Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will… |
| updateMask | string | no | Optional. Field mask is used to specify the fields to be overwritten in the Workload resource by the update. The fields specified in the… |
| body | object | yes | JSON request body |

### Deletes a service project attachment.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-service-project-attachments-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Fully qualified name of the service project attachment to delete. Expected format:… |
| requestId | string | no | Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will… |

### Lists information about the supported locations for this service. This method lists locations based on the…
`GET https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| extraLocationTypes | string | no | Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. |
| filter | string | no | A filter to narrow down results to a preferred subset. The filtering language accepts strings like `"displayName=tokyo"`, and is… |
| name | string | yes | The resource that owns the locations collection, if applicable. |
| pageSize | integer | no | The maximum number of results to return. If not set, the service selects a default. |
| pageToken | string | no | A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page. |

### Lists a service project attachment for a given service project. You can call this API from any project to…
`GET https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-lookup-service-project-attachment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | Required. Service project ID and location to lookup service project attachment for. Only global location is supported. Expected format:… |

### Lists Applications in a host project and location.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-applications-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | no | Optional. Filtering results. |
| orderBy | string | no | Optional. Hint for how to order the results. |
| pageSize | integer | no | Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. |
| pageToken | string | no | Optional. A token identifying a page of results the server should return. |
| parent | string | yes | Required. Project and location to list Applications on. Expected format: `projects/{project}/locations/{location}`. |

### Creates an Application in a host project and location.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-applications-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| applicationId | string | no | Required. The Application identifier. Must contain only lowercase letters, numbers or hyphens, with the first character a letter, the last… |
| parent | string | yes | Required. Project and location to create Application in. Expected format: `projects/{project}/locations/{location}`. |
| requestId | string | no | Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will… |
| body | object | yes | JSON request body |

### Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not…
`GET https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-applications-get-iam-policy` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| options.requestedPolicyVersion | integer | no | Optional. The maximum policy version that will be used to format the policy. Valid values are 0, 1, and 3. Requests specifying an invalid… |
| resource | string | yes | REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names)… |

### Sets the access control policy on the specified resource. Replaces any existing policy. Can return…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-applications-set-iam-policy` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| resource | string | yes | REQUIRED: The resource for which the policy is being specified. See [Resource names](https://cloud.google.com/apis/design/resource_names)… |
| body | object | yes | JSON request body |

### Returns permissions that a caller has on the specified resource. If the resource does not exist, this will…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-applications-test-iam-permissions` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| resource | string | yes | REQUIRED: The resource for which the policy detail is being requested. See [Resource… |
| body | object | yes | JSON request body |

### Lists Services in an Application.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-applications-services-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | no | Optional. Filtering results |
| orderBy | string | no | Optional. Hint for how to order the results |
| pageSize | integer | no | Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. |
| pageToken | string | no | Optional. A token identifying a page of results the server should return. |
| parent | string | yes | Required. Fully qualified name of the parent Application to list Services for. Expected format:… |

### Creates a Service in an Application.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-applications-services-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. Fully qualified name of the parent Application to create the Service in. Expected format:… |
| requestId | string | no | Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will… |
| serviceId | string | no | Required. The Service identifier. Must contain only lowercase letters, numbers or hyphens, with the first character a letter, the last a… |
| body | object | yes | JSON request body |

### Lists Workloads in an Application.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-applications-workloads-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | no | Optional. Filtering results. |
| orderBy | string | no | Optional. Hint for how to order the results. |
| pageSize | integer | no | Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. |
| pageToken | string | no | Optional. A token identifying a page of results the server should return. |
| parent | string | yes | Required. Fully qualified name of the parent Application to list Workloads for. Expected format:… |

### Creates a Workload in an Application.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-applications-workloads-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. Fully qualified name of the Application to create Workload in. Expected format:… |
| requestId | string | no | Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will… |
| workloadId | string | no | Required. The Workload identifier. Must contain only lowercase letters, numbers or hyphens, with the first character a letter, the last a… |
| body | object | yes | JSON request body |

### Lists Discovered Services that can be added to an Application in a host project and location.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-discovered-services-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | no | Optional. Filtering results. |
| orderBy | string | no | Optional. Hint for how to order the results. |
| pageSize | integer | no | Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. |
| pageToken | string | no | Optional. A token identifying a page of results the server should return. |
| parent | string | yes | Required. Project and location to list Discovered Services on. Expected format: `projects/{project}/locations/{location}`. |

### Lists a Discovered Service in a host project and location, with a given resource URI.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-discovered-services-lookup` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. Host project ID and location to lookup Discovered Service in. Expected format: `projects/{project}/locations/{location}`. |
| uri | string | no | Required. Resource URI to find DiscoveredService for. Accepts both project number and project ID and does translation when needed. |

### Lists Discovered Workloads that can be added to an Application in a host project and location.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-discovered-workloads-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | no | Optional. Filtering results. |
| orderBy | string | no | Optional. Hint for how to order the results. |
| pageSize | integer | no | Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. |
| pageToken | string | no | Optional. A token identifying a page of results the server should return. |
| parent | string | yes | Required. Project and location to list Discovered Workloads on. Expected format: `projects/{project}/locations/{location}`. |

### Lists a Discovered Workload in a host project and location, with a given resource URI.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-discovered-workloads-lookup` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. Host project ID and location to lookup Discovered Workload in. Expected format: `projects/{project}/locations/{location}`. |
| uri | string | no | Required. Resource URI to find Discovered Workload for. Accepts both project number and project ID and does translation when needed. |

### Lists Extended Metadata Schemas available in a host project and location.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-extended-metadata-schemas-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| pageSize | integer | no | Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. |
| pageToken | string | no | Optional. A token identifying a page of results the server should return. |
| parent | string | yes | Required. Project and location to list Extended Metadata Schemas on. Expected format: `projects/{project}/locations/{location}`. |

### Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the…
`POST https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-operations-cancel` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| name | string | yes | The name of the operation resource to be cancelled. |
| body | object | yes | JSON request body |

### Lists operations that match the specified filter in the request. If the server doesn't support this method,…
`GET https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-operations-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | no | The standard list filter. |
| name | string | yes | The name of the operation's parent resource. |
| pageSize | integer | no | The standard list page size. |
| pageToken | string | no | The standard list page token. |
| returnPartialSuccess | boolean | no | When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the… |

### Lists service projects attached to the host project.
`GET https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-service-project-attachments-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| filter | string | no | Optional. Filtering results. |
| orderBy | string | no | Optional. Hint for how to order the results. |
| pageSize | integer | no | Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default. |
| pageToken | string | no | Optional. A token identifying a page of results the server should return. |
| parent | string | yes | Required. Host project ID and location to list service project attachments. Only global location is supported. Expected format:… |

### Attaches a service project to the host project.
`POST https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-service-project-attachments-create` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| parent | string | yes | Required. Host project ID and location to which service project is being attached. Only global location is supported. Expected format:… |
| requestId | string | no | Optional. An optional request ID to identify requests. Specify a unique request ID so that if you must retry your request, the server will… |
| serviceProjectAttachmentId | string | no | Required. The service project attachment identifier must contain the project id of the service project specified in the… |
| body | object | yes | JSON request body |

## Example
```
curl "https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-detach-service-project-attachment" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the App Hub API API?
Create a free Apizie key, then send POST https://zieapi.vercel.app/v1/analytics:googleapis-apphub/apphub-projects-locations-detach-service-project-attachment with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the App Hub API API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. App Hub API itself also needs your own key from googleapis.com.

### Can AI agents use the App Hub API API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key analytics:googleapis-apphub.

### What is the status of the App Hub API API?
Needs your own provider key (bring your own key)
