Search documentation
karat

+

K

User Documentation ↗
Version 2.0

Add Primary Key

POST/api/v2/datasets/views/{viewDatasetRid}/addPrimaryKey
Warning

This endpoint is in preview and may be modified or removed at any time. To use this endpoint, add preview=true to the request query parameters.

Adds a primary key to a View that does not already have one. Primary keys are treated as guarantees provided by the creator of the dataset.

Third-party applications using this endpoint via OAuth2 must request the following operation scope: api:datasets-write.

Path parameters

viewDatasetRid
string

The rid of the View.

Query parameters

preview
boolean
optional

Enables the use of preview functionality.

Request body

AddPrimaryKeyRequest
object
Hide child attributes

Hide child attributes

branch
string
optional

The name of a Branch.

primaryKey
object

The primary key of the dataset. Primary keys are treated as guarantees provided by the creator of the dataset.

Show child attributes

Show child attributes

Response body

View
object
Hide child attributes

Hide child attributes

viewName
string
datasetRid
string

The rid of the View.

parentFolderRid
string

The unique resource identifier (RID) of a Folder.

branch
string
optional

The branch name of the View. If not specified, defaults to master for most enrollments.

backingDatasets
list<ViewBackingDataset>
optional
Show child attributes

Show child attributes

primaryKey
object
optional

The primary key of the dataset. Primary keys are treated as guarantees provided by the creator of the dataset.

Show child attributes

Show child attributes

Examples

Request

Copied!
1 2 3 4 5 curl -X POST \ -H "Content-type: application/json" \ -H "Authorization: Bearer $TOKEN" \ "https://$HOSTNAME/api/v2/datasets/views/ri.foundry.main.dataset.c26f11c8-cdb3-4f44-9f5d-9816ea1c82da/addPrimaryKey?preview=true" \ -d '{"branch":"master","primaryKey":{"columns":["colA"],"resolution":{"type":"duplicate","deletionColumn":"deletionCol","resolutionStrategy":{"type":"latestWins","columns":["colB","colC"]}}}}'

Response

Copied!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 { "datasetRid": "ri.foundry.main.dataset.c26f11c8-cdb3-4f44-9f5d-9816ea1c82da", "parentFolderRid": "ri.compass.main.folder.c410f510-2937-420e-8ea3-8c9bcb3c1791", "viewName": "My Dataset", "backingDatasets": [ { "datasetRid": "ri.foundry.main.dataset.c26f11c8-cdb3-4f44-9f5d-9816ea1c82da", "branch": "master" } ], "branch": "master", "primaryKey": { "columns": [ "order_id" ] } }

Error responses

Error Name
ViewPrimaryKeyCannotBeModifiedError CodeCONFLICT
Status Code409
DescriptionA primary key already exits.
Parameters
ViewNotFoundError CodeNOT_FOUND
Status Code404
DescriptionThe requested View could not be found. Either the view does not exist, the branch is not valid or the client token does not have access to it.
ParametersviewDatasetRid, branch
ViewPrimaryKeyMustContainAtLeastOneColumnError CodeINVALID_ARGUMENT
Status Code400
DescriptionNo columns were provided as part of the primary key
Parameters
ViewPrimaryKeyRequiresBackingDatasetsError CodeINVALID_ARGUMENT
Status Code400
DescriptionCannot add a primary key to a View that does not have any backing datasets.
Parameters
AddPrimaryKeyPermissionDeniedError CodePERMISSION_DENIED
Status Code403
DescriptionCould not addPrimaryKey the View.
ParametersviewDatasetRid