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

# POST /v2/{+name}:modifyColumnFamilies

`POST /v2/{+name}:modifyColumnFamilies`

Performs a series of column family modifications on the specified table. Either all or none of the modifications will occur before this method returns, but data requests received prior to that point may see a table where only some modifications have taken effect.

## Path parameters

- `name` string, required

## Request body

- ModifyColumnFamiliesRequest — Request message for google.bigtable.admin.v2.BigtableTableAdmin.ModifyColumnFamilies
  - `modifications` Modification[] — Required. Modifications to be atomically applied to the specified table's families. Entries are applied in order, meaning that earlier modifications can be masked by later ones (in the case of repeated updates to the same family, for example).
    - `create` ColumnFamily — A set of columns within a table which share a common configuration.
      - `gcRule` GcRule — Rule for determining which cells to delete during garbage collection.
        - `union` Union — A GcRule which deletes cells matching any of the given rules.
          - `rules` GcRule[] — Delete cells which would be deleted by any element of `rules`.
        - `intersection` Intersection — A GcRule which deletes cells matching all of the given rules.
          - `rules` GcRule[] — Only delete cells which would be deleted by every element of `rules`.
        - `maxNumVersions` integer — Delete all cells in a column except the most recent N.
        - `maxAge` string, google-duration — Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity.
      - `valueType` Type — `Type` represents the type of data that is written to, read from, or stored in Bigtable. It is heavily based on the GoogleSQL standard to help maintain familiarity and consistency across products and features. For compatibility with Bigtable's existing untyped APIs, each `Type` includes an `Encoding` which describes how to convert to or from the underlying data. Each encoding can operate in one of two modes: - Sorted: In this mode, Bigtable guarantees that `Encode(X) <= Encode(Y)` if and only if `X <= Y`. This is useful anywhere sort order is important, for example when encoding keys. - Distinct: In this mode, Bigtable guarantees that if `X != Y` then `Encode(X) != Encode(Y)`. However, the converse is not guaranteed. For example, both `{'foo': '1', 'bar': '2'}` and `{'bar': '2', 'foo': '1'}` are valid encodings of the same JSON value. The API clearly documents which mode is used wherever an encoding can be configured. Each encoding also documents which values are supported in which modes. For example, when encoding INT64 as a numeric STRING, negative numbers cannot be encoded in sorted mode. This is because `INT64(1) > INT64(-1)`, but `STRING("-00001") > STRING("00001")`.
        - `float64Type` GoogleBigtableAdminV2TypeFloat64 — Float64 Values of type `Float64` are stored in `Value.float_value`.
        - `dateType` GoogleBigtableAdminV2TypeDate — Date Values of type `Date` are stored in `Value.date_value`.
        - `structType` GoogleBigtableAdminV2TypeStruct — A structured data value, consisting of fields which map to dynamically typed values. Values of type `Struct` are stored in `Value.array_value` where entries are in the same order and number as `field_types`.
          - `fields` GoogleBigtableAdminV2TypeStructField[] — The names and types of the fields in this struct.
            - `fieldName` string — The field name (optional). Fields without a `field_name` are considered anonymous and cannot be referenced by name.
            - `type` Type — recursive
          - `encoding` GoogleBigtableAdminV2TypeStructEncoding — Rules used to convert to or from lower level types.
            - `delimitedBytes` GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes — Fields are encoded independently and concatenated with a configurable `delimiter` in between. A struct with no fields defined is encoded as a single `delimiter`. Sorted mode: - Fields are encoded in sorted mode. - Encoded field values must not contain any bytes <= `delimiter[0]` - Element-wise order is preserved: `A < B` if `A[0] < B[0]`, or if `A[0] == B[0] && A[1] < B[1]`, etc. Strict prefixes sort first. - This encoding does not support `DESC` field ordering. Distinct mode: - Fields are encoded in distinct mode. - Encoded field values must not contain `delimiter[0]`.
              - …
            - `singleton` GoogleBigtableAdminV2TypeStructEncodingSingleton — Uses the encoding of `fields[0].type` as-is. Only valid if `fields.size == 1`. This encoding does not support `DESC` field ordering.
            - `orderedCodeBytes` GoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes — Fields are encoded independently, then escaped and delimited by appling the following rules in order: - While the last remaining field is `ASC` or `UNSPECIFIED`, and encodes to the empty string "", remove it. - In each remaining field, replace all null bytes `0x00` with the fixed byte pair `{0x00, 0xFF}`. - If any remaining field encodes to the empty string "", replace it with the fixed byte pair `{0x00, 0x00}`. - Append the fixed byte pair `{0x00, 0x01}` to each remaining field, except for the last remaining field if it is `ASC`. - Bitwise negate all `DESC` fields. - Concatenate the results, or emit the fixed byte pair `{0x00, 0x00}` if there are no remaining fields to concatenate. Examples: ``` - STRUCT() -> "\00\00" - STRUCT("") -> "\00\00" - STRUCT("", "") -> "\00\00" - STRUCT("", "B") -> "\00\00" + "\00\01" + "B" - STRUCT("A", "") -> "A" - STRUCT("", "B", "") -> "\00\00" + "\00\01" + "B" - STRUCT("A", "", "C") -> "A" + "\00\01" + "\00\00" + "\00\01" + "C" ``` Examples for struct with `DESC` fields: ``` - STRUCT("" DESC) -> "\xFF\xFF" + "\xFF\xFE" - STRUCT("" DESC, "") -> "\xFF\xFF" + "\xFF\xFE" - STRUCT("" DESC, "", "") -> "\xFF\xFF" + "\xFF\xFE" - STRUCT("" DESC, "A") -> "\xFF\xFF" + "\xFF\xFE" + "A" - STRUCT("A", "" DESC, "") -> "A" + "\00\01" + "\xFF\xFF" + "\xFF\xFE" - STRUCT("", "A" DESC) -> "\x00\x00" + "\x00\x01" + "\xBE" + "\xFF\xFE" ``` Since null bytes are always escaped, this encoding can cause size blowup for encodings like `Int64.BigEndianBytes` that are likely to produce many such bytes. Sorted mode: - Fields are encoded in sorted mode. - All values supported by the field encodings are allowed. - Fields with unset or `UNSPECIFIED` order are treated as `ASC`. - Element-wise order is preserved: `A < B` if `A[0] < B[0]`, or if `A[0] == B[0] && A[1] < B[1]`, etc. Strict prefixes sort first. Distinct mode: - Fields are encoded in distinct mode. - All values supported by the field encodings are allowed.
        - `protoType` GoogleBigtableAdminV2TypeProto — A protobuf message type. Values of type `Proto` are stored in `Value.bytes_value`.
          - `schemaBundleId` string — The ID of the schema bundle that this proto is defined in.
          - `messageName` string — The fully qualified name of the protobuf message, including package. In the format of "foo.bar.Message".
        - `bytesType` GoogleBigtableAdminV2TypeBytes — Bytes Values of type `Bytes` are stored in `Value.bytes_value`.
          - `encoding` GoogleBigtableAdminV2TypeBytesEncoding — Rules used to convert to or from lower level types.
            - `raw` GoogleBigtableAdminV2TypeBytesEncodingRaw — Leaves the value as-is. Sorted mode: all values are supported. Distinct mode: all values are supported.
              - …
        - `int64Type` GoogleBigtableAdminV2TypeInt64 — Int64 Values of type `Int64` are stored in `Value.int_value`.
          - `encoding` GoogleBigtableAdminV2TypeInt64Encoding — Rules used to convert to or from lower level types.
            - `bigEndianBytes` GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes — Encodes the value as an 8-byte big-endian two's complement value. Sorted mode: non-negative values are supported. Distinct mode: all values are supported. Compatible with: - BigQuery `BINARY` encoding - HBase `Bytes.toBytes` - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
              - …
            - `orderedCodeBytes` GoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes — Encodes the value in a variable length binary format of up to 10 bytes. Values that are closer to zero use fewer bytes. Sorted mode: all values are supported. Distinct mode: all values are supported.
        - `arrayType` GoogleBigtableAdminV2TypeArray — An ordered list of elements of a given type. Values of type `Array` are stored in `Value.array_value`.
          - `elementType` Type — recursive
        - `int32Type` GoogleBigtableAdminV2TypeInt32 — Int32 Values of type `Int32` are stored in `Value.int_value`.
          - `encoding` GoogleBigtableAdminV2TypeInt32Encoding — Rules used to convert to or from lower level types.
            - `bigEndianBytes` GoogleBigtableAdminV2TypeInt32EncodingBigEndianBytes — Encodes the value as a 4-byte big-endian two's complement value. Sorted mode: non-negative values are supported. Distinct mode: all values are supported. Compatible with: - BigQuery `BINARY` encoding - HBase `Bytes.toBytes` - Java `ByteBuffer.putInt()` with `ByteOrder.BIG_ENDIAN`
            - `orderedCodeBytes` GoogleBigtableAdminV2TypeInt32EncodingOrderedCodeBytes — Encodes the value in a variable length binary format of up to 5 bytes. Values that are closer to zero use fewer bytes. Sorted mode: all values are supported. Distinct mode: all values are supported.
        - `mapType` GoogleBigtableAdminV2TypeMap — A mapping of keys to values of a given type. Values of type `Map` are stored in a `Value.array_value` where each entry is another `Value.array_value` with two elements (the key and the value, in that order). Normally encoded Map values won't have repeated keys, however, clients are expected to handle the case in which they do. If the same key appears multiple times, the _last_ value takes precedence.
          - `valueType` Type — recursive
          - `keyType` Type — recursive
        - `aggregateType` GoogleBigtableAdminV2TypeAggregate — A value that combines incremental updates into a summarized value. Data is never directly written or read using type `Aggregate`. Writes provide either the `input_type` or `state_type`, and reads always return the `state_type` .
          - `inputType` Type — recursive
          - `hllppUniqueCount` GoogleBigtableAdminV2TypeAggregateHyperLogLogPlusPlusUniqueCount — Computes an approximate unique count over the input values. When using raw data as input, be careful to use a consistent encoding. Otherwise the same value encoded differently could count more than once, or two distinct values could count as identical. Input: Any, or omit for Raw State: TBD Special state conversions: `Int64` (the unique count estimate)
          - `sum` GoogleBigtableAdminV2TypeAggregateSum — Computes the sum of the input values. Allowed input: `Int64` State: same as input
          - `stateType` Type — recursive
          - `max` GoogleBigtableAdminV2TypeAggregateMax — Computes the max of the input values. Allowed input: `Int64` State: same as input
          - `min` GoogleBigtableAdminV2TypeAggregateMin — Computes the min of the input values. Allowed input: `Int64` State: same as input
        - `stringType` GoogleBigtableAdminV2TypeString — String Values of type `String` are stored in `Value.string_value`.
          - `encoding` GoogleBigtableAdminV2TypeStringEncoding — Rules used to convert to or from lower level types.
            - `utf8Raw` GoogleBigtableAdminV2TypeStringEncodingUtf8Raw — Deprecated: prefer the equivalent `Utf8Bytes`.
            - `utf8Bytes` GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes — UTF-8 encoding. Sorted mode: - All values are supported. - Code point order is preserved. Distinct mode: all values are supported. Compatible with: - BigQuery `TEXT` encoding - HBase `Bytes.toBytes` - Java `String#getBytes(StandardCharsets.UTF_8)`
              - …
        - `enumType` GoogleBigtableAdminV2TypeEnum — A protobuf enum type. Values of type `Enum` are stored in `Value.int_value`.
          - `schemaBundleId` string — The ID of the schema bundle that this enum is defined in.
          - `enumName` string — The fully qualified name of the protobuf enum message, including package. In the format of "foo.bar.EnumMessage".
        - `boolType` GoogleBigtableAdminV2TypeBool — bool Values of type `Bool` are stored in `Value.bool_value`.
          - `encoding` GoogleBigtableAdminV2TypeBoolEncoding — Defines rules used to convert to or from lower level types.
        - `timestampType` GoogleBigtableAdminV2TypeTimestamp — Timestamp Values of type `Timestamp` are stored in `Value.timestamp_value`.
          - `encoding` GoogleBigtableAdminV2TypeTimestampEncoding — Rules used to convert to or from lower level types.
            - `unixMicrosInt64` GoogleBigtableAdminV2TypeInt64Encoding — Rules used to convert to or from lower level types.
              - …
        - `geographyType` GoogleBigtableAdminV2TypeGeography — A geography type, representing a point or region on Earth. The value is stored in `Value.bytes_value` as Well-Known Binary (WKB) bytes.
        - `float32Type` GoogleBigtableAdminV2TypeFloat32 — Float32 Values of type `Float32` are stored in `Value.float_value`.
      - `stats` ColumnFamilyStats — Approximate statistics related to a single column family within a table. This information may change rapidly, interpreting these values at a point in time may already preset out-of-date information. Everything below is approximate, unless otherwise specified.
        - `averageCellsPerColumn` number, double — How many cells are present per column qualifier in this column family, averaged over all rows containing any column in the column family. e.g. For column family "family" in a table with 3 rows: * A row with 3 cells in "family:col" and 1 cell in "other:col" (3 cells / 1 column in "family") * A row with 1 cell in "family:col", 7 cells in "family:other_col", and 7 cells in "other:data" (8 cells / 2 columns in "family") * A row with 3 cells in "other:col" (0 columns in "family", "family" not present) would report (3 + 8 + 0)/(1 + 2 + 0) = 3.66 in this field.
        - `averageColumnsPerRow` number, double — How many column qualifiers are present in this column family, averaged over all rows in the table. e.g. For column family "family" in a table with 3 rows: * A row with cells in "family:col" and "other:col" (1 column in "family") * A row with cells in "family:col", "family:other_col", and "other:data" (2 columns in "family") * A row with cells in "other:col" (0 columns in "family", "family" not present) would report (1 + 2 + 0)/3 = 1.5 in this field.
        - `logicalDataBytes` string, int64 — How much space the data in the column family occupies. This is roughly how many bytes would be needed to read the contents of the entire column family (e.g. by streaming all contents out).
    - `drop` boolean — Drop (delete) the column family with the given ID, or fail if no such family exists.
    - `updateMask` string, google-fieldmask — Optional. A mask specifying which fields (e.g. `gc_rule`) in the `update` mod should be updated, ignored for other modification types. If unset or empty, we treat it as updating `gc_rule` to be backward compatible.
    - `id` string — The ID of the column family to be modified.
    - `update` ColumnFamily — A set of columns within a table which share a common configuration.
      - `gcRule` GcRule — Rule for determining which cells to delete during garbage collection.
        - `union` Union — A GcRule which deletes cells matching any of the given rules.
          - `rules` GcRule[] — Delete cells which would be deleted by any element of `rules`.
        - `intersection` Intersection — A GcRule which deletes cells matching all of the given rules.
          - `rules` GcRule[] — Only delete cells which would be deleted by every element of `rules`.
        - `maxNumVersions` integer — Delete all cells in a column except the most recent N.
        - `maxAge` string, google-duration — Delete cells in a column older than the given age. Values must be at least one millisecond, and will be truncated to microsecond granularity.
      - `valueType` Type — `Type` represents the type of data that is written to, read from, or stored in Bigtable. It is heavily based on the GoogleSQL standard to help maintain familiarity and consistency across products and features. For compatibility with Bigtable's existing untyped APIs, each `Type` includes an `Encoding` which describes how to convert to or from the underlying data. Each encoding can operate in one of two modes: - Sorted: In this mode, Bigtable guarantees that `Encode(X) <= Encode(Y)` if and only if `X <= Y`. This is useful anywhere sort order is important, for example when encoding keys. - Distinct: In this mode, Bigtable guarantees that if `X != Y` then `Encode(X) != Encode(Y)`. However, the converse is not guaranteed. For example, both `{'foo': '1', 'bar': '2'}` and `{'bar': '2', 'foo': '1'}` are valid encodings of the same JSON value. The API clearly documents which mode is used wherever an encoding can be configured. Each encoding also documents which values are supported in which modes. For example, when encoding INT64 as a numeric STRING, negative numbers cannot be encoded in sorted mode. This is because `INT64(1) > INT64(-1)`, but `STRING("-00001") > STRING("00001")`.
        - `float64Type` GoogleBigtableAdminV2TypeFloat64 — Float64 Values of type `Float64` are stored in `Value.float_value`.
        - `dateType` GoogleBigtableAdminV2TypeDate — Date Values of type `Date` are stored in `Value.date_value`.
        - `structType` GoogleBigtableAdminV2TypeStruct — A structured data value, consisting of fields which map to dynamically typed values. Values of type `Struct` are stored in `Value.array_value` where entries are in the same order and number as `field_types`.
          - `fields` GoogleBigtableAdminV2TypeStructField[] — The names and types of the fields in this struct.
            - `fieldName` string — The field name (optional). Fields without a `field_name` are considered anonymous and cannot be referenced by name.
            - `type` Type — recursive
          - `encoding` GoogleBigtableAdminV2TypeStructEncoding — Rules used to convert to or from lower level types.
            - `delimitedBytes` GoogleBigtableAdminV2TypeStructEncodingDelimitedBytes — Fields are encoded independently and concatenated with a configurable `delimiter` in between. A struct with no fields defined is encoded as a single `delimiter`. Sorted mode: - Fields are encoded in sorted mode. - Encoded field values must not contain any bytes <= `delimiter[0]` - Element-wise order is preserved: `A < B` if `A[0] < B[0]`, or if `A[0] == B[0] && A[1] < B[1]`, etc. Strict prefixes sort first. - This encoding does not support `DESC` field ordering. Distinct mode: - Fields are encoded in distinct mode. - Encoded field values must not contain `delimiter[0]`.
              - …
            - `singleton` GoogleBigtableAdminV2TypeStructEncodingSingleton — Uses the encoding of `fields[0].type` as-is. Only valid if `fields.size == 1`. This encoding does not support `DESC` field ordering.
            - `orderedCodeBytes` GoogleBigtableAdminV2TypeStructEncodingOrderedCodeBytes — Fields are encoded independently, then escaped and delimited by appling the following rules in order: - While the last remaining field is `ASC` or `UNSPECIFIED`, and encodes to the empty string "", remove it. - In each remaining field, replace all null bytes `0x00` with the fixed byte pair `{0x00, 0xFF}`. - If any remaining field encodes to the empty string "", replace it with the fixed byte pair `{0x00, 0x00}`. - Append the fixed byte pair `{0x00, 0x01}` to each remaining field, except for the last remaining field if it is `ASC`. - Bitwise negate all `DESC` fields. - Concatenate the results, or emit the fixed byte pair `{0x00, 0x00}` if there are no remaining fields to concatenate. Examples: ``` - STRUCT() -> "\00\00" - STRUCT("") -> "\00\00" - STRUCT("", "") -> "\00\00" - STRUCT("", "B") -> "\00\00" + "\00\01" + "B" - STRUCT("A", "") -> "A" - STRUCT("", "B", "") -> "\00\00" + "\00\01" + "B" - STRUCT("A", "", "C") -> "A" + "\00\01" + "\00\00" + "\00\01" + "C" ``` Examples for struct with `DESC` fields: ``` - STRUCT("" DESC) -> "\xFF\xFF" + "\xFF\xFE" - STRUCT("" DESC, "") -> "\xFF\xFF" + "\xFF\xFE" - STRUCT("" DESC, "", "") -> "\xFF\xFF" + "\xFF\xFE" - STRUCT("" DESC, "A") -> "\xFF\xFF" + "\xFF\xFE" + "A" - STRUCT("A", "" DESC, "") -> "A" + "\00\01" + "\xFF\xFF" + "\xFF\xFE" - STRUCT("", "A" DESC) -> "\x00\x00" + "\x00\x01" + "\xBE" + "\xFF\xFE" ``` Since null bytes are always escaped, this encoding can cause size blowup for encodings like `Int64.BigEndianBytes` that are likely to produce many such bytes. Sorted mode: - Fields are encoded in sorted mode. - All values supported by the field encodings are allowed. - Fields with unset or `UNSPECIFIED` order are treated as `ASC`. - Element-wise order is preserved: `A < B` if `A[0] < B[0]`, or if `A[0] == B[0] && A[1] < B[1]`, etc. Strict prefixes sort first. Distinct mode: - Fields are encoded in distinct mode. - All values supported by the field encodings are allowed.
        - `protoType` GoogleBigtableAdminV2TypeProto — A protobuf message type. Values of type `Proto` are stored in `Value.bytes_value`.
          - `schemaBundleId` string — The ID of the schema bundle that this proto is defined in.
          - `messageName` string — The fully qualified name of the protobuf message, including package. In the format of "foo.bar.Message".
        - `bytesType` GoogleBigtableAdminV2TypeBytes — Bytes Values of type `Bytes` are stored in `Value.bytes_value`.
          - `encoding` GoogleBigtableAdminV2TypeBytesEncoding — Rules used to convert to or from lower level types.
            - `raw` GoogleBigtableAdminV2TypeBytesEncodingRaw — Leaves the value as-is. Sorted mode: all values are supported. Distinct mode: all values are supported.
              - …
        - `int64Type` GoogleBigtableAdminV2TypeInt64 — Int64 Values of type `Int64` are stored in `Value.int_value`.
          - `encoding` GoogleBigtableAdminV2TypeInt64Encoding — Rules used to convert to or from lower level types.
            - `bigEndianBytes` GoogleBigtableAdminV2TypeInt64EncodingBigEndianBytes — Encodes the value as an 8-byte big-endian two's complement value. Sorted mode: non-negative values are supported. Distinct mode: all values are supported. Compatible with: - BigQuery `BINARY` encoding - HBase `Bytes.toBytes` - Java `ByteBuffer.putLong()` with `ByteOrder.BIG_ENDIAN`
              - …
            - `orderedCodeBytes` GoogleBigtableAdminV2TypeInt64EncodingOrderedCodeBytes — Encodes the value in a variable length binary format of up to 10 bytes. Values that are closer to zero use fewer bytes. Sorted mode: all values are supported. Distinct mode: all values are supported.
        - `arrayType` GoogleBigtableAdminV2TypeArray — An ordered list of elements of a given type. Values of type `Array` are stored in `Value.array_value`.
          - `elementType` Type — recursive
        - `int32Type` GoogleBigtableAdminV2TypeInt32 — Int32 Values of type `Int32` are stored in `Value.int_value`.
          - `encoding` GoogleBigtableAdminV2TypeInt32Encoding — Rules used to convert to or from lower level types.
            - `bigEndianBytes` GoogleBigtableAdminV2TypeInt32EncodingBigEndianBytes — Encodes the value as a 4-byte big-endian two's complement value. Sorted mode: non-negative values are supported. Distinct mode: all values are supported. Compatible with: - BigQuery `BINARY` encoding - HBase `Bytes.toBytes` - Java `ByteBuffer.putInt()` with `ByteOrder.BIG_ENDIAN`
            - `orderedCodeBytes` GoogleBigtableAdminV2TypeInt32EncodingOrderedCodeBytes — Encodes the value in a variable length binary format of up to 5 bytes. Values that are closer to zero use fewer bytes. Sorted mode: all values are supported. Distinct mode: all values are supported.
        - `mapType` GoogleBigtableAdminV2TypeMap — A mapping of keys to values of a given type. Values of type `Map` are stored in a `Value.array_value` where each entry is another `Value.array_value` with two elements (the key and the value, in that order). Normally encoded Map values won't have repeated keys, however, clients are expected to handle the case in which they do. If the same key appears multiple times, the _last_ value takes precedence.
          - `valueType` Type — recursive
          - `keyType` Type — recursive
        - `aggregateType` GoogleBigtableAdminV2TypeAggregate — A value that combines incremental updates into a summarized value. Data is never directly written or read using type `Aggregate`. Writes provide either the `input_type` or `state_type`, and reads always return the `state_type` .
          - `inputType` Type — recursive
          - `hllppUniqueCount` GoogleBigtableAdminV2TypeAggregateHyperLogLogPlusPlusUniqueCount — Computes an approximate unique count over the input values. When using raw data as input, be careful to use a consistent encoding. Otherwise the same value encoded differently could count more than once, or two distinct values could count as identical. Input: Any, or omit for Raw State: TBD Special state conversions: `Int64` (the unique count estimate)
          - `sum` GoogleBigtableAdminV2TypeAggregateSum — Computes the sum of the input values. Allowed input: `Int64` State: same as input
          - `stateType` Type — recursive
          - `max` GoogleBigtableAdminV2TypeAggregateMax — Computes the max of the input values. Allowed input: `Int64` State: same as input
          - `min` GoogleBigtableAdminV2TypeAggregateMin — Computes the min of the input values. Allowed input: `Int64` State: same as input
        - `stringType` GoogleBigtableAdminV2TypeString — String Values of type `String` are stored in `Value.string_value`.
          - `encoding` GoogleBigtableAdminV2TypeStringEncoding — Rules used to convert to or from lower level types.
            - `utf8Raw` GoogleBigtableAdminV2TypeStringEncodingUtf8Raw — Deprecated: prefer the equivalent `Utf8Bytes`.
            - `utf8Bytes` GoogleBigtableAdminV2TypeStringEncodingUtf8Bytes — UTF-8 encoding. Sorted mode: - All values are supported. - Code point order is preserved. Distinct mode: all values are supported. Compatible with: - BigQuery `TEXT` encoding - HBase `Bytes.toBytes` - Java `String#getBytes(StandardCharsets.UTF_8)`
              - …
        - `enumType` GoogleBigtableAdminV2TypeEnum — A protobuf enum type. Values of type `Enum` are stored in `Value.int_value`.
          - `schemaBundleId` string — The ID of the schema bundle that this enum is defined in.
          - `enumName` string — The fully qualified name of the protobuf enum message, including package. In the format of "foo.bar.EnumMessage".
        - `boolType` GoogleBigtableAdminV2TypeBool — bool Values of type `Bool` are stored in `Value.bool_value`.
          - `encoding` GoogleBigtableAdminV2TypeBoolEncoding — Defines rules used to convert to or from lower level types.
        - `timestampType` GoogleBigtableAdminV2TypeTimestamp — Timestamp Values of type `Timestamp` are stored in `Value.timestamp_value`.
          - `encoding` GoogleBigtableAdminV2TypeTimestampEncoding — Rules used to convert to or from lower level types.
            - `unixMicrosInt64` GoogleBigtableAdminV2TypeInt64Encoding — Rules used to convert to or from lower level types.
              - …
        - `geographyType` GoogleBigtableAdminV2TypeGeography — A geography type, representing a point or region on Earth. The value is stored in `Value.bytes_value` as Well-Known Binary (WKB) bytes.
        - `float32Type` GoogleBigtableAdminV2TypeFloat32 — Float32 Values of type `Float32` are stored in `Value.float_value`.
      - `stats` ColumnFamilyStats — Approximate statistics related to a single column family within a table. This information may change rapidly, interpreting these values at a point in time may already preset out-of-date information. Everything below is approximate, unless otherwise specified.
        - `averageCellsPerColumn` number, double — How many cells are present per column qualifier in this column family, averaged over all rows containing any column in the column family. e.g. For column family "family" in a table with 3 rows: * A row with 3 cells in "family:col" and 1 cell in "other:col" (3 cells / 1 column in "family") * A row with 1 cell in "family:col", 7 cells in "family:other_col", and 7 cells in "other:data" (8 cells / 2 columns in "family") * A row with 3 cells in "other:col" (0 columns in "family", "family" not present) would report (3 + 8 + 0)/(1 + 2 + 0) = 3.66 in this field.
        - `averageColumnsPerRow` number, double — How many column qualifiers are present in this column family, averaged over all rows in the table. e.g. For column family "family" in a table with 3 rows: * A row with cells in "family:col" and "other:col" (1 column in "family") * A row with cells in "family:col", "family:other_col", and "other:data" (2 columns in "family") * A row with cells in "other:col" (0 columns in "family", "family" not present) would report (1 + 2 + 0)/3 = 1.5 in this field.
        - `logicalDataBytes` string, int64 — How much space the data in the column family occupies. This is roughly how many bytes would be needed to read the contents of the entire column family (e.g. by streaming all contents out).
  - `ignoreWarnings` boolean — Optional. If true, ignore safety checks when modifying the column families.

## 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)
