---
title: "POST /v2/{+parent}/appProfiles"
method: POST
path: "/v2/{+parent}/appProfiles"
tags: ["projects"]
---

# POST /v2/{+parent}/appProfiles

`POST /v2/{+parent}/appProfiles`

Creates an app profile within an instance.

## Path parameters

- `parent` string, required

## Query parameters

- `appProfileId` string
- `ignoreWarnings` boolean

## Request body

- AppProfile — A configuration object describing how Cloud Bigtable should treat traffic from a particular end user application.
  - `dataBoostIsolationReadOnly` DataBoostIsolationReadOnly — Data Boost is a serverless compute capability that lets you run high-throughput read jobs and queries on your Bigtable data, without impacting the performance of the clusters that handle your application traffic. Data Boost supports read-only use cases with single-cluster routing.
    - `computeBillingOwner` 'COMPUTE_BILLING_OWNER_UNSPECIFIED' | 'HOST_PAYS' — The Compute Billing Owner for this Data Boost App Profile.
  - `name` string — The unique name of the app profile, up to 50 characters long. Values are of the form `projects/{project}/instances/{instance}/appProfiles/_a-zA-Z0-9*`.
  - `singleClusterRouting` SingleClusterRouting — Unconditionally routes all read/write requests to a specific cluster. This option preserves read-your-writes consistency but does not improve availability.
    - `clusterId` string — The cluster to which read/write requests should be routed.
    - `allowTransactionalWrites` boolean — Whether or not `CheckAndMutateRow` and `ReadModifyWriteRow` requests are allowed by this app profile. It is unsafe to send these requests to the same table/row/column in multiple clusters.
  - `priority` 'PRIORITY_UNSPECIFIED' | 'PRIORITY_LOW' | 'PRIORITY_MEDIUM' | 'PRIORITY_HIGH' — This field has been deprecated in favor of `standard_isolation.priority`. If you set this field, `standard_isolation.priority` will be set instead. The priority of requests sent using this app profile.
  - `description` string — Long form description of the use case for this AppProfile.
  - `multiClusterRoutingUseAny` MultiClusterRoutingUseAny — Read/write requests are routed to the nearest cluster in the instance, and will fail over to the nearest cluster that is available in the event of transient errors or delays. Clusters in a region are considered equidistant. Choosing this option sacrifices read-your-writes consistency to improve availability.
    - `clusterIds` string[] — The set of clusters to route to. The order is ignored; clusters will be tried in order of distance. If left empty, all clusters are eligible.
    - `rowAffinity` RowAffinity — If enabled, Bigtable will route the request based on the row key of the request, rather than randomly. Instead, each row key will be assigned to a cluster, and will stick to that cluster. If clusters are added or removed, then this may affect which row keys stick to which clusters. To avoid this, users can use a cluster group to specify which clusters are to be used. In this case, new clusters that are not a part of the cluster group will not be routed to, and routing will be unaffected by the new cluster. Moreover, clusters specified in the cluster group cannot be deleted unless removed from the cluster group.
  - `standardIsolation` StandardIsolation — Standard options for isolating this app profile's traffic from other use cases.
    - `priority` 'PRIORITY_UNSPECIFIED' | 'PRIORITY_LOW' | 'PRIORITY_MEDIUM' | 'PRIORITY_HIGH' — The priority of requests sent using this app profile.
    - `memoryConfig` MemoryConfig — If set, eligible single-row requests (currently limited to ReadRows) using this app profile will be routed to the memory layer. All eligible writes populate the memory layer. MemoryConfig can only be set if the AppProfile uses single cluster routing and the configured cluster has a memory layer enabled.
  - `etag` string — Strongly validated etag for optimistic concurrency control. Preserve the value returned from `GetAppProfile` when calling `UpdateAppProfile` to fail the request if there has been a modification in the meantime. The `update_mask` of the request need not include `etag` for this protection to apply. See [Wikipedia](https://en.wikipedia.org/wiki/HTTP_ETag) and [RFC 7232](https://tools.ietf.org/html/rfc7232#section-2.3) for more details.

## Response `200`

Successful response

---

[API](https://skmtc.net/google/apis/bigtableadmin.md) · [All operations](https://skmtc.net/google/apis/bigtableadmin/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/google/bigtableadmin/versions/d59c83bbbf1e/schema)
