---
title: "Get profile"
method: GET
path: "/v2/storage/tables/{tableId}/profile/{uuid}"
tags: ["Tables"]
---

# Get profile

`GET /v2/storage/tables/{tableId}/profile/{uuid}`

## Request

- Base URL: `https://connection.keboola.com`
- URL: `https://connection.keboola.com/v2/storage/tables/{tableId}/profile/{uuid}`
- Auth: one of:
  - API key in header `X-StorageApi-Token`
  - API key in header `X-KBC-ManageApiToken`
  - HTTP bearer
- TypeScript: <https://skmtc.dev/keboola/apis/keboola-storage-api/docs/v2/storage/tables/:tableId/profile/:uuid/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns the latest data profile of the table and its columns. Use `latest` as the profile identifier.
When the table has no profile yet, an empty 200 response is returned.

## Path parameters

- `tableId` string, required
- `uuid` string, required

## Response `200`

Latest table profile, or an empty body when no profile exists.

- ProfileResponse
  - `uuid` string, required: Profile identifier (UUID v7).
  - `bucketId` integer, required: Internal numeric id of the bucket.
  - `tableName` string, required: Table string id.
  - `createdAt` string, required: When the profile was created (`Y-m-d H:i:s`).
  - `profile` object, required: Table-level profile metrics. Produced by the storage driver (`CreateProfileTableCommand`); the metric set is backend-specific and passed through unchanged.
  - `columns` object[], required: Per-column profiles.
    - `name` string, required: Column name.
    - `profile` object, required: Column-level profile metrics. Produced by the storage driver (`CreateProfileTableCommand`); the metric set is backend-specific and passed through unchanged.
  - `profiledByToken` object, required: Token that created the profile.
    - `id` integer, required
    - `name` string, required
  - `actor` ActorResponse, required: Who performed the action and through which credential.
    - `type` 'token' | 'session' | 'pat' | 'system', required: Credential the action came through: a Storage token, a programmatic session, a personal access token, or system work.
    - `id` string, required: Token id as a string, session or personal access token UUID, or the system subject.
    - `name` string, required: Token description, the admin email for a session or personal access token, or the system label, as it was when the action happened.
    - `adminId` integer, nullable, required: Admin behind the credential; null for a token without an admin, for system work, and when the admin was not recorded (an object whose creator is known only from its token columns, including rows backfilled from them).

## Other responses

- `403`: The token has no read access to the bucket (`accessDenied`).
- `404`: Table (`storage.tables.notFound`) or bucket (`storage.buckets.notFound`) was not found.

---

[API](https://skmtc.dev/keboola/apis/keboola-storage-api.md) - [All operations](https://skmtc.dev/keboola/apis/keboola-storage-api/llms.txt) - [OpenAPI document](https://skmtc.dev/keboola/apis/keboola-storage-api/revisions/34b5ceac0317?raw)
