Tables

Update a table

Renames a table by setting a new display name. With async=true the rename is enqueued as a storage job (202). The synchronous variant is deprecated and returns the updated table directly. Linked copies of the table in other projects are renamed as well.

Initial response returns job details JobResponse. The result of the asynchronous job can be fetched via /v2/storage/jobs/{id}. When the job completes, final result is TableUpdateJobResult.

Parameters of job will be TableUpdateJobParams.

[Deprecated] This endpoint can be used synchronously as well. In that case, the final result is returned directly in the response TableUpdateResponse.

put/v2/storage/branch/{branchId}/tables/{tableId}

Request

Path parameters

tableIdstring required

Table string id (e.g. in.c-main.orders).

branchIdstring required

Query parameters

asyncboolean

When true, the update is performed asynchronously as a job.

Request body

displayNamestring required

The name of a bucket or a table.

  • Allowed characters: A-Z, a-z, 0-9, dash - and underscore _. Anything else — a space, a dot, an accented letter — is rejected, not transliterated.
  • 1 to 96 characters.
  • Cannot start with an underscore. A dash or a digit as the first character is fine.
  • Registered (external) buckets follow this same rule, dashes included.
  • Uniqueness is case-insensitive within a stage: creating MyBucket next to mybucket fails with storage.buckets.alreadyExists, and for tables with storage.buckets.tableAlreadyExists or storage.validation.tableAlreadyExists.
  • To turn arbitrary user input into a name that satisfies this rule, call POST /v2/storage/webalize/display-name instead of reimplementing the transformation. It unaccents the input, replaces every run of disallowed characters with a single -, trims - from both ends, strips leading underscores, and truncates to 96 characters.

Example request

{
  "displayName": "my-bucket"
}

Response

The updated table (synchronous, deprecated).

uristring required

Table API URI

idstring required

Table ID

namestring required

Table name

displayNamestring required

Table display name

transactionalboolean required

Is transactional

primaryKeystring[] required

Primary key columns

indexTypestring nullable required

Index type

indexKeystring[] required

Index key columns

distributionTypestring nullable required

Distribution type

distributionKeystring[] required

Distribution key columns

syntheticPrimaryKeyEnabledboolean required

Synthetic primary key enabled

createdstring nullable required

Created timestamp, ISO 8601 with a +hhmm offset.

lastImportDatestring nullable required

Last import date, ISO 8601 with a +hhmm offset.

lastChangeDatestring nullable required

Last change date, ISO 8601 with a +hhmm offset.

rowsCountinteger nullable required

Rows count (null for a filtered alias)

dataSizeBytesinteger nullable required

Data size in bytes (null for a filtered alias)

isAliasboolean required

Is alias

isAliasableboolean required

Is aliasable

isTypedboolean required

Is typed table

isDescriptionSystemManagedboolean required

Whether the description is managed by the system

timestampTypestring required

Timestamp column type

tableTypestring required

Table type

pathstring required

Table path

columnsstring[] required

Column names

columnMetadataobject required

Metadata entries per column, keyed by column name

attributesobject[] required

Always an empty array, kept for backward compatibility

aliasColumnsAutoSyncboolean

Alias columns auto sync. Present only for simple aliases.

selectSqlstring

The alias SQL. Present only for custom SQL aliases.

isPersistedboolean

Whether the alias is persisted. Present only for aliases.

Example response

{
  "created": "2017-02-13T12:01:05+0100",
  "lastImportDate": "2017-02-13T12:01:05+0100",
  "lastChangeDate": "2017-02-13T12:01:05+0100",
  "metadata": [
    {
      "id": "19509",
      "key": "some-key",
      "value": "Some value",
      "provider": "test-component",
      "timestamp": "2017-02-13T23:36:10+0100"
    }
  ],
  "bucket": {
    "uri": "https://connection.keboola.com/v2/storage/buckets/in.c-my-new-bucket",
    "id": "in.c-my-new-bucket",
    "name": "c-my-new-bucket",
    "displayName": "my-new-bucket",
    "idBranch": 1234,
    "stage": "in",
    "description": "Some Description",
    "tables": "https://connection.keboola.com/v2/storage/buckets/in.c-my-new-bucket",
    "created": "2017-02-13T12:01:05+0100",
    "updated": "2024-11-28T13:03:13+0100",
    "backend": "snowflake",
    "path": "database_name.c-my-new-bucket",
    "bucketSharingAllowed": true,
    "sharingParameters": {
      "projects": [
        {
          "id": 321,
          "name": "Some Project"
        }
      ],
      "users": [
        {
          "id": 5,
          "name": "Jan Developer",
          "email": "jan.dev@keboola.com"
        }
      ]
    },
    "sharedBy": {
      "id": 5,
      "name": "dev@keboola.com",
      "date": "2020-02-03T14:58:29+0100"
    },
    "owner": {
      "id": 123,
      "name": "Jan Developer",
      "email": "jan.dev@keboola.com"
    },
    "sourceBucket": {
      "id": "in.c-main",
      "name": "c-main",
      "displayName": "main",
      "stage": "in",
      "description": "Organization shared data",
      "sharing": "organization-project",
      "created": "2020-01-12T18:28:31+0100",
      "lastChangeDate": "2020-01-12T18:31:49+0100",
      "dataSizeBytes": 1536,
      "rowsCount": 32,
      "backend": "snowflake",
      "path": "database_name.c-main",
      "project": {
        "id": 123,
        "name": "Project name"
      },
      "tables": [
        {
          "id": "in.c-main.languages",
          "name": "languages",
          "displayName": "languages-display-name",
          "path": "/1234-languages"
        }
      ],
      "sharingParameters": {
        "projects": [
          {
            "id": 321,
            "name": "Some Project"
          }
        ],
        "users": [
          {
            "id": 5,
            "name": "Jan Developer",
            "email": "jan.dev@keboola.com"
          }
        ]
      },
      "sharedBy": {
        "id": 5,
        "name": "dev@keboola.com",
        "date": "2020-02-03T14:58:29+0100"
      },
      "owner": {
        "id": 123,
        "name": "Jan Developer",
        "email": "jan.dev@keboola.com"
      },
      "metadata": [
        {
          "id": "19509",
          "key": "some-key",
          "value": "Some value",
          "provider": "test-component",
          "timestamp": "2017-02-13T23:36:10+0100"
        }
      ]
    },
    "backendPath": [
      "KBC_PRJ_123",
      "in.c-my-new-bucket"
    ],
    "metadata": [
      {
        "id": "19509",
        "key": "some-key",
        "value": "Some value",
        "provider": "test-component",
        "timestamp": "2017-02-13T23:36:10+0100"
      }
    ]
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.