---
title: "Get a dataset table config"
method: GET
path: "/v1/datasets/{id}/{tableKey}/config"
tags: ["Datasets"]
---

# Get a dataset table config

`GET /v1/datasets/{id}/{tableKey}/config`

## Request

- Base URL: `https://docs.grepr.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://docs.grepr.ai/v1/datasets/{id}/{tableKey}/config`
- Auth: one of:
  - API key in header `GREPR-API-KEY`
  - OpenID Connect (`https://grepr-prod.us.auth0.com/.well-known/openid-configuration`)

Returns the configuration for one of the dataset's tables (e.g. logs_raw), including the system-controlled effective partition spec. Without an override, the spec's editable rows are the table's defaults.

## Path parameters

- `id` string, required
- `tableKey` string, required

## Response `200`

The table config, with effectiveSpec always populated.

- TableConfigRead
  - `effectiveSpec` EffectivePartitionField[], required: Full effective partition spec, including system-controlled rows.
    - `column` string, required: Logical column the row partitions by (built-in name or bare tag key).
    - `systemControlled` boolean, required: Whether this row is system-controlled and cannot be edited.
    - `transform` PartitionTransform: An Iceberg partition transform applied to a column: a time transform (hour/day/month/year) or a hash bucket transform with a fixed bucket count. Discriminated by the 'type' property (time/bucket).
      - `type` string, required
  - `promotedAttributes` PromotedAttribute[]: Attribute paths the table indexes, with the policy applied to each.
    - `excluded` boolean, required: Whether the stored policy leaves this path's columns NULL.
    - `numeric` boolean, required: Whether the path also has an n_ numeric index column.
    - `path` string, required: The attribute path this column indexes.
    - `valueColumn` string, required: The a_ value index column for the path.
  - `promotedTagKeys` string[]: The promotion policy's tags.include, verbatim: the tag keys a partition field may name besides the built-ins. Discovery alone does not add a key to this list, and service or host is listed only when included explicitly.
  - `promotedTags` PromotedTag[]: Tag keys the table indexes, with the policy applied to each.
    - `column` string, required: The t_ index column for the key.
    - `excluded` boolean, required: Whether the stored policy leaves this key's column NULL.
    - `key` string, required: The tag key this column indexes.
    - `protection` 'REQUIRED' | 'PARTITION_SOURCE': Why the key cannot be excluded: REQUIRED for service and host, PARTITION_SOURCE for a key the live partition spec buckets on. Absent when it can be.
  - `promotion` PromotionPolicy, required
    - `attributes` PromotionPolicyAttributes, required
      - `cap` integer, required
      - `exclude` PromotionPolicyAttributeExclude[]
        - `path` string, required
        - `prefix` boolean
        - `scheduledRemovalAt` string, date-time: When the columns this entry excludes are removed from the table, assigned by the server. Taking the entry off the exclude list before then keeps them.
      - `excludeAllByDefault` boolean: Whether every path no include covers is excluded. Writers stop filling the existing columns no include covers, and they are removed from the table at excludeAllScheduledRemovalAt.
      - `excludeAllScheduledRemovalAt` string, date-time: When the columns excludeAllByDefault excludes are removed from the table, assigned by the server. Turning excludeAllByDefault off before then keeps them.
      - `include` PromotionPolicyAttributeInclude[]
        - `numeric` boolean: Whether the path gets a numeric index column when the policy is stored, without waiting for a number. Exact entries only: refused when prefix is true.
        - `path` string, required
        - `prefix` boolean
    - `columnRemovalDelay` string, ISO-8601: How long after a path or key is excluded its index columns are removed from the table, as an ISO-8601 duration. Defaults to 6 hours when absent.
    - `revision` integer: Which store of the table's policy this is, assigned by the server: 0 when the table has none. Echo it on a PUT to be refused with 409 if the policy changed since it was read; omit it to replace whatever is stored.
    - `tags` PromotionPolicyTags, required
      - `cap` integer, required
      - `exclude` string[]
      - `include` string[]
      - `scheduledRemovalAt` object: When each excluded key's column is removed from the table, assigned by the server. Taking the key off the exclude list before then keeps the column.
    - `v` integer, required: Promotion policy document version.
  - `sortFields` SortFieldConfig[]: Effective sort fields, in precedence order.
    - `column` string, required: Built-in column or an attribute key to sort by.
    - `direction` 'ASC' | 'DESC': Sort direction for this field.
  - `unreadableAttributeColumns` string[]: Attribute index columns whose name could not be decoded to a path.

## Other responses

- `400`: Unsupported table key.
- `404`: Dataset not found.

---

[API](https://skmtc.dev/grepr/apis/grepr-api.md) - [All operations](https://skmtc.dev/grepr/apis/grepr-api/llms.txt) - [OpenAPI document](https://skmtc.dev/grepr/apis/grepr-api/revisions/2a5ce03a0bf0?raw)
